Fusion360歯車スクリプト の履歴(No.23)

更新


工作/歯車について勉強する

歯車について勉強するシリーズ

Fusion360歯車スクリプト

自作の Fusion360 用歯車生成スクリプトを以下で公開しています。

今のところ、

  • 円筒形歯車(すぐ歯、はす歯、内歯車)
  • ラック(すぐ歯、はす歯)
  • ウォーム、ウォームホイール ← 正しいウォームホイール形状を計算可能です!
  • かさ歯車(すぐ歯、はす歯)

を生成可能。

  • バックラッシュ(負の値も指定可能)
  • 転位量
  • 歯元の丈、歯先の丈
  • 歯先のフィレット

など、細かい設定もできるようになっており、かなりの高機能と自負しています。 恐らく、ウォームホイールを正しく生成できるソフトはなかなかないのでは???

また通常の平歯車の生成においても、小径歯車の歯元にできるトロコイド曲線を正しく計算するところが標準の Spur Gear アドインよりも優れています。

spur-gears2.gif double-helical.gif internal3.gif rack8.gif worm_wheel5.gif bevel2.gif

目次

免責

主に自分の勉強のために作っているものですのでいろいろおかしなところがあると思います。

これで作図したものを実際に作って組み合わせてみたことも実のところありません。

そして、趣味プログラマが初めて python いじって作ったものなのでソースコードの細かい作法にも突っ込みどころ満載と思います。

そのあたり加味してご使用ください。

ライセンス

MIT とします。

利用者の責任の下、ご自由にお使いください。

ダウンロード&更新履歴

まだまだバグバグしています。すみません。

20250319精度向上のためウォームとはすば歯車をロフトで作るようにした
ウォームホイールを正しく作れるようになった
ラックの歯先フィレットを付ける位置を調整した
スケッチの編集時に isComputeDeferred = True して高速化
コマンド入力を保存する際にダブりがあったのを直した
タブごとのコードを切り分けた
ソースコードのフォルダ構造を整理した
20250310ジョイント構造を単純化した
コンポーネントに歯数などの情報を含めた
かさ歯車を90度以上の組み合わせ角度でも生成可能にした
20250308アクティブコンポーネントの下に歯車を作るようにした
コマンド入力値が毎回失われないようにした
らせんを描く機能を追加した(Spiralタブ)
タイムラインのグループ化が失敗しないようにした
20250305平歯車、ラック、ウォームの歯先をフィレット付きで伸ばせるようにした
精度を高めるためウォームの生成方法を変更した
はすば歯車の中央に線が入らないようにした
はすばラックの生成位置がずれていたのを直した
入力コントロールのタブごとにコードを分離した
vector を 3D 対応にした
mypy を通せるようにした
20250220詳細設定で頂隙を指定可能にした
20250222フィレット形状がおかしくなる問題を解決
基準円表示に転位量を加えない
ラックに基準線を入れるようにした
20250220詳細設定で頂隙を指定可能にした
20250218Bはす歯のかさ歯車が作れるようになった
かさ歯車の歯幅計算のバグ修正
20250218すぐ歯のかさ歯車が作れるようになった
ウォームホイールの位置をキャプチャするようにした
ウォームホイールの切削ホブ径倍率を追加した
20250217転位量をモジュール単位で入力するように戻した
ウォームホイールの入力項目を整理した
ウォームはラックを回転させて作るようにした
ウォームホイールを回転&直進するラックで切るようにした
20250214Bピニオンと組み合わせやすいようにラックの生成位置を調整した
ラックにバックラッシュが適用されるようにした
ラック/ウォームの切り替え時の入力値の変化をスムーズにした
20250214はすば歯車形状を間違っていたので修正
はすば歯車を回転スイープで押し出すようにした
歯形を求める際の歯切りラック形状を生成しそこなうことがあったので修正
20250213C転位量を mm で指定するようにした(← 後でモジュール単位に戻した)
負のバックラッシュを指定できるようにした(歯当たり検証用)
20250213Bバックラッシュを2倍大きく取っていたので修正
20250213初出

不具合&改善点覚書

  • かさ歯車
    • 軸間角度によって失敗する場合がある
    • ねじれ角の定義が今のもので正しいか不安
    • 正面モジュールと歯垂直モジュールを混同しているところがありそう

インストール

Windows の場合、上記 .zip ファイルを解凍して出てくる study_gears という名前のフォルダーを

C:\Users\(ユーザー名)\AppData\Roaming\Autodesk\Autodesk Fusion 360\API\Scripts

にコピーします。

使用方法

Fusion360 のデザイン画面で Shift+S を押すと「スクリプトとアドイン」のダイアログが出ます。

script-and-addin.png

study-gears を選択して「実行」、あるいはそのまま名前をダブルクリックします。

すると画面右端に STUDY GEARS というタイトルの付いたダイアログボックスが出ます。

study-gears-dialog1.png

とりあえず何も変更せず OK を押すと・・・

spur-gear1.jpg

入力した通りの平歯車が生成されます。

その際、図のような回転ジョイントも自動的に生成されるため、他の歯車と連動させる際に便利に使えます。

チュートリアル&動作検証

細かい使い方は、

  • 以下のチュートリアル&動作検証の各ページ
  • もう少し下にある入力パラメータ詳細説明

をご覧ください。



smooth_surface27.gif

screw-gear10.gif

tsurumaki.gif

geneva1.gif

パラメータ詳細

値をいろいろ変えながら生成してみると理解しやすいと思います。

その際、小さなものから始めるようにしてください。

大きなものは生成に時間がかかったり、途中で Fusion 360 ごと落ちたりしますので・・・

cylinder.png

Cylinder タブ

平歯車(すぐ歯、はす歯、内歯車)およびウォームホイールを生成できます

  • Module
      モジュール数(歯のピッチをπで割ったもの)
  • Num. Teeth
      歯の数
  • Thickness
      歯車の厚さ
  • Helix Angle
      はす歯およびウォームホイールを作る場合のねじれ角
  • Helix Direction
      はす歯およびウォームホイールを作る場合のねじれ方向
  • Hole/Outer Diameter
      歯車中心に開ける穴の直径、内歯車では外径を指定する
    worm-wheel.png
  • Internal Gear
      内歯車を作る場合にチェックを入れる
  • Worm Wheel
      ウォームホイールを作る場合にチェックを入れる
    • Worm Diameter
        ウォームホイールを作る場合の相手のウォーム直径
    • Num. Spirals
        ウォームホイールを作る場合の相手のウォーム条数

Rack/Worm タブ

rack-worm.png

ラック(すぐ歯、はす歯)およびウォームを生成します。

  • Module
      モジュール数(歯のピッチをπで割ったもの)
  • Thickness
      ラックの厚さ、ウォームの基準円直径
  • Length
      ラック・ウォームの長さ
  • Helix Angle
      はす歯ラックのねじれ角、負の値も入れられる
      ウォームのねじれ角は自動計算される
  • Direction
      はす歯あるいはウォームのねじれ方向
  • Num. Spiral
      ウォームの条数(0 ならラックが生成される)
  • Height
      ラックの高さ(底から基準線までの距離)

Bevel タブ

bevel.png

かさ歯車(すぐ歯、はす歯)を生成します。

  • Axes Angle
      2つの軸間の角度
  • Module
      モジュール数(歯のピッチをπで割ったもの)
      はすばの場合、ここだけ正面モジュールの指定になっているので注意が必要です
  • Num. Teeth 1
      歯の数
  • Num. Teeth 2
      歯の数
  • Width
      歯の幅
  • Helical Angle
      はす歯のねじれ角

Spiral

spiral.png

らせんやカム形状を生成するためのページ。

  • Total Angle
      らせんの生成角度
      360 deg * 4 のように式で入れるといい
  • Radii
      らせんの動径長さをカンマ区切りで入れる
      たくさん入れると均等に割り当てられる
  • Height
      らせんを高さ方向に伸ばす場合に値を入れる
  • Flip
      らせんの巻き方向を逆転する

Radii に2つの値だけ入れれば、初期半径と終了半径でらせんが描かれるが、ここに多数の値を並べ Total Angle を 360 deg にすることでカム形状を生成することもできる。

Details

details.png

詳細設定

  • Pressure Angle
      圧力角へ 20度が標準
      14度が使われることもあるらしい
  • Backlash
      負の値も入れられる
      (歯当たりを確認したり、切削工具を生成するため)
  • Shift
      転位量(ラックには適用されない)
  • Fillet
      歯切り工具側のフィレット半径
      (モジュールを単位とした最大値)
  • Addendum
      歯末の高さ(モジュールを単位とする) 標準値は 1.0
  • Dedendum
      歯元の高さ(モジュールを単位としている) 標準値は 1.25
  • Radial Clearance
      頂隙(モジュールを単位としている) 標準値は 0.25
      通常は Dedendum - Addendum に等しい
      歯車ではなくホブの形状を生成したいときにこの関係が崩れるため別途指定できるようにした
      → 工作/Fusion360歯車切削スクリプト#xf5e3e92 を参照
  • Tip Fillet
      歯先をフィレット付きで延長でする延長量(モジュールを単位)
      歯車ではなくホブとして使う際に利用する
      平歯車(はすば含む)、ラック、ウォームに対してのみ有効

標準の SpurGear アドインとの違い

Fusion360 には標準で SpurGear というアドインが付属しており、平歯車形状を出力可能です。

この SpurGear アドインの出力結果と本スクリプトの出力結果とを比べてみると、下図のような違いが生じます。

trochoid.jpg trochoid2.png

3D図の奥が SpurGear アドインの出力結果で、手前が本スクリプトの出力結果です。歯先に近い部分(歯末部分=インボリュート領域)に目立った違いはありませんが、歯元部分に大きな違いが表れています。

小径歯車では相手の歯先が歯元部分に食い込むのを避けるため、歯元部分にトロコイド曲線が現れるのですが、SpurGear はこれを生成しないため、小径歯車と大径歯車の組み合わせでは引っ掛かりが生じて正しく回転させられません。(平面図で見ると歯底円の直径にも違いがあることが分かります。Spur Gear では準拠する規格が違うためだそうです)

本スクリプトはトロコイド領域を正しく計算するため、小径歯車とラックの組み合わせでも問題なく回ることを期待しています。また歯の形状をスプライン曲線で近似する際、終端の傾きを指定して少数のサンプル点でより正確な形状を導いているつもりです。

コメント・質問





Counter: 350 (from 2010/06/03), today: 1, yesterday: 21