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

更新


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

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

Fusion360歯車スクリプト

今のところ、

  • 平歯車(すぐ歯、はす歯)
  • ラック(すぐ歯、はす歯)
  • ウォーム(ウォームホイールは手作業による調整が必要)
  • かさ歯車(すぐ歯、はす歯)

を生成可能です。

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

study-gears.jpg

免責

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

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

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

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

ライセンス

MIT とします。

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

ダウンロード&更新履歴

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

20250218Bはす歯のかさ歯車が作れるようになった
かさ歯車の歯幅計算のバグ修正
20250218すぐ歯のかさ歯車が作れるようになった
ウォームホイールの位置をキャプチャするようにした
ウォームホイールの切削ホブ径倍率を追加した
20250217シフト量をモジュール単位で入力するようにした
ウォームホイールの入力項目を整理した
ウォームはラックを回転させて作るようにした
ウォームホイールを回転&直進するラックで切るようにした
20250214Bピニオンと組み合わせやすいようにラックの生成位置を調整した
ラックにバックラッシュが適用されるようにした
ラック/ウォームの切り替え時の入力値の変化をスムーズにした
20250214はすば歯車形状を間違っていたので修正
はすば歯車を回転スイープで押し出すようにした
歯形を求める際の歯切りラック形状を生成しそこなうことがあったので修正
20250213C転位量を mm で指定するようにした
負のバックラッシュを指定できるようにした(歯当たり検証用)
20250213Bバックラッシュを2倍大きく取っていたので修正
20250213初出

不具合&改善点覚書

  • 平歯車でバックラッシュを負にしたときに歯形がおかしくなる時がある
  • はすばラックの生成位置が y 方向にわずかにずれているように見える
  • 点を指定して円弧を書くのではなく角度を指定した方が間違いがない気がする
  • 非常に短い円弧は直線にしてしまってよい気がする
  • ウォームホイールの出力には注意が必要
  • かさ歯車
    • 軸間角度を 90 度以上にすると失敗することがある?
    • ねじれ角の定義が今のもので正しいか不安
    • 正面モジュールと歯垂直モジュールを混同しているところがありそう
  • オフトピだけど 工作/歯車について勉強する3#ud5c339c について
    • 歯車の図で転位歯車の軸間距離が正しくない
    • 内歯車のエラー検出が正しくないかもしれない

インストール

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

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

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

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

パラメータ詳細

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

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

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

  • Flat Gear タブ
      平歯車(すぐ歯、はす歯、内歯車)およびウォームホイール
    • Module
        モジュール数(歯のピッチをπで割ったもの)
    • Num. Teeth
        歯の数
    • Thickness
        歯車の厚さ
    • Helix Angle
        はす歯およびウォームホイールを作る場合のねじれ角
    • Hole/Outer Diameter
        歯車中心に開ける穴の直径、内歯車では外径
    • Internal Gear
        内歯車を作る場合にチェックを入れる
    • Worm Wheel
        ウォームホイールを作る場合にチェックを入れる
      • Worm Diameter
          ウォームホイールを作る場合の相手のウォーム直径
      • Num. Spirals
          ウォームホイールを作る場合の相手のウォーム条数
      • Hob Diameter Ratio
          ぴったりの値を入れてしまうと歯当たりが生じるので大きめのホブで切るといいみたい
  • Rack/Worm タブ
      ラック(すぐ歯、はす歯)およびウォーム
    • Module
        モジュール数(歯のピッチをπで割ったもの)
    • Thickness
        ラックの厚さ、ウォームの基準円直径
    • Length
        ラック・ウォームの長さ
    • Helix Angle
        はす歯ラックのねじれ角、ウォームのねじれ角は自動計算される
    • Num. Spiral
        ウォームの条数(0 ならラックが生成される)
    • Height
        ラックの高さ(底から基準線までの距離)
  • Bevel タブ
      かさ歯車(すぐ歯、はす歯)
    • Axes Angle
        2つの軸間の角度
    • Module
        モジュール数(歯のピッチをπで割ったもの)
        はすばの場合、ここだけ正面モジュールの指定になっているので注意が必要です
    • Num. Teeth 1
        歯の数
    • Num. Teeth 2
        歯の数
    • Width
        歯の幅
    • Helix Angle
        はす歯のねじれ角
  • Details
      詳細設定
    • Pressure Angle
        圧力角 20度が標準、14度のものも使われることがあるらしい
    • Backlash
        歯を基準線に沿って標準よりこの距離だけ下げて遊びを作る
    • Shift
        転位量(ラックは適用されない)
    • Fillet
        歯切り工具側のフィレット半径(モジュールを単位とした最大値)
    • Addendum
        歯末の高さ(モジュールを単位とする) 標準値は 1.0
    • Dedendum
        歯元の高さ(モジュールを単位としている) 標準値は 1.25

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

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

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

trochoid.jpg trochoid2.png

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

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

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

コメント・質問





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