Fusion360歯車切削スクリプト の履歴(No.2)
更新2つのボディーを回したり押したりしながら切削を行うスクリプト†
2つともに回しながら、
あるいは1つを回してもう1つを直動、
いろいろできます。
フェースギアを切り出してみる†
まずは歯末の丈を標準の 1.00 から 1.25 に変更し、バックラッシュに負の値 -0.05 mm を持たせた平歯車を作成します。歯末の丈を長くしているのは、これがフェースギアの歯底を作ることで、通常のギアと組み合わせた際に頂隙が生じるようにする為です。また、切削具側に負のバックラッシュを持たせることで、切られた歯車に正のバックラッシュが付くことを期待しています。
yz面にスケッチを作成して、フェースギアの形を書きます。 ここでは歯数30としてモジュール4mmと合わせて直径120mmを基準円として、 その内外に7.5mmずつ肉を付け合わせて15mmの歯幅とします。
実際に歯を切るのは4ピッチ分程度にして、残りはこれを円周上に並べて全体の形状を作るので、 平歯車の下の 360 deg / 30 x 4 = 48 deg を切り出せるようにしておきます。
その部分を選んで押し出します。フェースギアの歯先は平歯車の基準円半径 4 mm x 12 / 2 = 24 mm から歯末の丈1モジュールを引いて20 mmの位置に来るので、オフセットをこの値にして、歯丈が 2.25 モジュールになるため厚さを 3 モジュール分にしておきました。
平歯車にはスクリプトが作成した回転軸が付いていますが、作りかけのフェースギアにはありませんので、構築メニューから「円柱、円弧、トーラスを通過する線」を選び、フェースギアの円柱状の側面を選んで生成します。
フェースギア断片が平歯車の真下にあると切削時に送りにくいので回転軸を中心にして1ピッチ分 = 12deg だけ回しました。
そうしたらいよいよ切削を行います。
LANG: p5js_live // =============== ここが設定 const gif_url = 'https://dora.bk.tsukuba.ac.jp/~takeuchi/?plugin=attach&refer=%E5%B7%A5%E4%BD%9C%2FFusion360%E6%AD%AF%E8%BB%8A%E5%88%87%E5%89%8A%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88&openfile=face_gear21.gif'; const multi = 10; // スライダーは multi 回ループで最大値になる const fps = 10; // 描画頻度 (frame per second) const maxWidth = 600; // 横幅最大値 // ================ ここから下は汎用コード let gif = null; let frameSlider = null; let w, h; p.preload = () => gif = p.loadImage(gif_url); const draw = () => { let index = frameSlider.value(); gif.setFrame(index % gif.numFrames()); // フレームを選択して p.image(gif, 0, 0, w, h); // 描画 } p.setup = () => { p.frameRate(fps); w = Math.min(maxWidth, gif.width); h = gif.height * w / gif.width; p.createCanvas(w, h + 20); frameSlider = p.createSlider(0, gif.numFrames() * multi - 1); frameSlider.value(0); frameSlider.position(0, h); frameSlider.size(w); frameSlider.input(draw); draw(); } p.draw = () => { if(p.mouseIsPressed) return; frameSlider.value((frameSlider.value() + 1) % (gif.numFrames() * multi)); draw(); }
これを見ていると†
フェースギアは対応する歯数と転位を持った歯形を直線状に伸ばして、さらに円柱に張り付けると作れるような気がしてくる?