Fusion360歯車スクリプト の変更点

更新


#author("2025-04-07T18:37:42+00:00;2025-04-07T14:21:11+00:00","default:administrator","administrator")
#author("2025-04-07T19:05:30+00:00;2025-04-07T14:21:11+00:00","default:administrator","administrator")
[[工作/歯車について勉強する]]

* 歯車について勉強するシリーズ [#dd0be2de]

- [[工作/歯車について勉強する]] 歯車の形状についての基礎
- [[工作/歯車について勉強する2]] 仮想的なラックを使って実用的な歯車形状を切り出す話
- [[工作/歯車について勉強する3]] 歯車に関するいろいろな計算機
- [[工作/歯車について勉強する4]] 転位歯車の中心間距離と逆インボリュート関数
- [[工作/歯車について勉強する5]] ウォームホイールの歯形計算について
- [[工作/歯車について勉強する6]] かさ歯車は球面インボリュート曲線を持つ
- [[工作/歯車について勉強する7]] クラウンギアの歯形について考える
- [[工作/歯車について勉強する/ゼネバ歯車]] 間欠歯車の一種です
- [[工作/Fusion360歯車スクリプト]] 勉強した結果を使って作ってみました
- [[工作/Fusion360歯車切削スクリプト]] Fusion 360 内で歯車の歯切りを行うスクリプトです
- [[工作/Fusion360曲面生成スクリプト]] 歯切り結果の表面をきれいにするスクリプトです
- [[工作/Fusion360ジョイント駆動スクリプト]] ジョイントを動かしてアニメーションさせるスクリプトです

* Fusion360歯車スクリプト [#zef7eb47]

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

今のところ、

- 通常の平歯車(すぐ歯、はす歯)
- 内歯車(すぐ歯、はす歯)
- ラック(すぐ歯、はす歯)
- ウォーム、ウォームホイール
- かさ歯車(すぐ歯、曲がり歯)
- クラウンギア (すぐ歯、はす歯)

を生成可能で、

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

など、細かい設定もできるようになっています。

ウォームホイール、かさ歯車、クラウンギアの歯形は平歯車の歯形を流用したものではなく、
それぞれに特有の歯形を正しく生成しているつもりです。

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

&ref(spur.gif,,33%);
&ref(helical.gif,,33%);
&ref(internal.gif,,33%);
&ref(rack.gif,,33%);
&ref(worm+wheel.gif,,33%);
&ref(bevel.gif,,33%);
&ref(crown.gif,,33%);
&ref(archimedean.gif,,23%);
&ref(工作/Fusion360歯車スクリプト/はすば歯車/screw-gear10.gif,,25%);

** 目次 [#ycb99327]

#contents


** 免責 [#c4eacd06]

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

実のところ、これで作図したものを実際に作って組み合わせてみたこともありません。
(Fusion 360 内のシミュレーションの結果では正しそうではあります)

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

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

** ライセンス [#x7a37b49]

MIT とします。

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

** ダウンロード&更新履歴 [#ca6c41d1]

最新版は Github に公開しています。

[[実行用のファイルは Github の Releases ページからダウンロードしてください>https://github.com/osamutake/fusion360-study-gears/releases]]

"study-gears_202?????.zip" のような名前のものが配布ファイルです

画像・動画を多数含んだドキュメントを同梱しているためサイズが大きいです

インストール方法は下記を参照してください

#collapsible(過去のリリース)

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

#collapsible
*** 不具合&改善点覚書 [#t712aab6]

- Spiral タブのドキュメントが不足
- 各種歯車の計算方法についてドキュメントを追加?
- ソースコードのコメントを拡充(詳細を忘れないうちに)
- Open Document ボタンを押した際、日本語環境ではデフォルトで日本語ページを開くようにする
- かさ歯車の内歯車を作れるか?
- かさ歯車に転位量を指定したい需要はあるか?
- ラックおよびウォームの歯先延長量をフィレット半径ではなく延長距離で指定できるようにする
- ウォームホイール生成時の誤差を減らせないか検討する(スプライン制御点の取り方を工夫する?)

** インストール [#l8f1bb86]

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

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

にコピーします。Mac の場合も、設置先のフォルダー名が異なるだけだと思います。

** 使用方法 [#c533dfae]

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

&ref(script-and-addin.png,,50%);

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

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

&ref(study-gears-dialog1.png,,50%);

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

&ref(spur-gear1.jpg);

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

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


* チュートリアル&動作検証 [#gd316b66]

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

をご覧ください。

これらとほぼ同じ内容をスクリプトダイアログの "Open Document" ボタンからも参照可能です。

- [[工作/Fusion360歯車スクリプト/平歯車]]
- [[工作/Fusion360歯車スクリプト/はすば歯車]]
- [[工作/Fusion360歯車スクリプト/内歯車]]
- [[工作/Fusion360歯車スクリプト/ラック]]
- [[工作/Fusion360歯車スクリプト/ウォーム&ウォームホイール]]
- [[工作/Fusion360歯車スクリプト/かさ歯車]]
- [[工作/Fusion360歯車スクリプト/クラウンギア]]
- [[工作/Fusion360歯車スクリプト/つるまきたが歯車]]

----

#multicolumns

- [[工作/Fusion360歯車スクリプト/平歯車]]~
~
&ref(spur.gif,nolink,33%);

- [[工作/Fusion360歯車スクリプト/はすば歯車]]~
~
&ref(helical.gif,nolink,33%);

- ねじ歯車:[[はすば歯車>工作/Fusion360歯車スクリプト/はすば歯車#d1dcf09a]] の組み合わせで実現可能~
~
&ref(工作/Fusion360歯車スクリプト/はすば歯車/screw-gear10.gif,nolink,25%);


- [[工作/Fusion360歯車スクリプト/内歯車]]~
~
&ref(internal.gif,nolink,33%);

- [[工作/Fusion360歯車スクリプト/ラック]]~
~
&ref(rack.gif,nolink,33%);

#multicolumns

- [[工作/Fusion360歯車スクリプト/ウォーム&ウォームホイール]]~
~
&ref(worm+wheel.gif,nolink,33%);

- [[工作/Fusion360歯車スクリプト/かさ歯車]]~
~
&ref(bevel.gif,nolink,33%);

- [[工作/Fusion360歯車スクリプト/クラウンギア]]~
~
&ref(crown.gif,nolink,33%);

- [[工作/Fusion360歯車スクリプト/つるまきたが歯車]]~
~
&ref(archimedean.gif,nolink,24%);

#multicolumns(end)

~
----

#multicolumns
- クラウンギア(フェースギア)については計算で形状を求めるのが難しいので、以前は [[工作/Fusion360歯車切削スクリプト]] と [[工作/Fusion360曲面生成スクリプト]] を使って作るしかありませんでした。(今は [[歯車生成スクリプト>工作/Fusion360歯車スクリプト]] で生成可能です)

&ref(工作/Fusion360曲面生成スクリプト/smooth_surface27.gif,nolink,33%);

#multicolumns

- ゼネバ歯車はスクリプトがなくても手でパラメトリックに設計できそうです → [[工作/歯車について勉強する/ゼネバ歯車]]

&ref(工作/歯車について勉強する/ゼネバ歯車/geneva1.gif,nolink,33%);

#multicolumns(end)
* パラメータ詳細 [#wc4eaf14]

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

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

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

COLOR(red){※特にクラウンギアは生成に数分の時間を要するためご注意ください。}


#ref(cylinder.png,around,right,66%);

*** Cylinder タブ [#z45fdb41]
平歯車(すぐ歯、はす歯、内歯車)およびウォームホイールを生成できます

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

#ref(rack-worm.png,around,right,66%);

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

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

#clear()

*** Bevel タブ [#w509d793]

#ref(bevel.png,around,right,66%);

かさ歯車(すぐ歯、曲がり歯)を生成します。

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

#clear()

*** Crown タブ [#m8d05f7d]

#ref(tab_crown.png,around,right,66%);

クラウンギアを生成します。
クラウンギアはフェースギアとも呼ばれる歯車です。

COLOR(red){※生成に数分の時間を要するためご注意ください。}

- Module~
  モジュール数(歯のピッチをπで割ったもの)
- Crown Teeth~
  クラウンギアの歯数
- Pinion Teeth~
  相手のピニオンギアの歯数~
  クラウンギアは特定の歯数のピニオンギア用に設計されます
- Outer Extent~
  クラウンギアの基準円から外向き方向の歯幅~
  モジュールを単位として指定する
- Inner Extent~
  クラウンギアの基準円から内向き方向の歯幅~
  モジュールを単位として指定する
- Helix Angle~
  相手のピニオンギアのはすば角
- Helix Direction~
  相手のピニオンギアのはすば回転方向

#clear()
*** Spiral [#l4489a5d]
#ref(spiral.png,around,right,66%);

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

- Total Angle~
  らせんの生成角度~
  360 deg * 4 のように式で入れるといい
- Radii~
  らせんの動径長さをカンマ区切りで入れる~
  たくさん入れると均等に割り当てられる
- Height~
  らせんを高さ方向に伸ばす場合に値を入れる
- Flip~
  らせんの巻き方向を逆転する
- Spline~
  Total Angle = 360 deg であり、Radii の最初と最後が等しく、Radii に 5 つ以上の値が指定されている場合に、指定された半径の間を線形補間ではなくスプライン補間する

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

#clear()
*** Details [#i5870015]
#ref(details.png,around,right,66%);

詳細設定

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

#clear()
** 標準の SpurGear アドインとの違い [#af2bff89]
&katex();
Fusion360 には標準で SpurGear というアドインが付属しており、平歯車形状を出力可能です。

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

&ref(trochoid.jpg,,40%);
&ref(trochoid2.png,,40%);

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

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

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

* コメント・質問 [#r8042aba]

#article_kcaptcha
**Fusion360歯車切削スクリプトのダウンロードについて [#c0af5e3c]
>[[tk]] (&timetag(2025-03-23T12:24:39+00:00, 2025-03-23 (日) 21:24:39);)~
~
公開されているトピック、ツール大変参考になりました。~
Fusion360歯車切削スクリプト気になりダウンロード試みましたが、"Fusion360歯車スクリプトにそのファイルは見つかりません"と表示されます。~
こちらにつきましてはどうなっておりますでしょうか。~

//
- こちらで試すと正しくダウンロードできるようなのですが・・・、下の添付ファイルリストの中から .zip ファイルを探してクリックしていただいてもダウンロードできると期待しています。 -- [[武内(管理人)]] &new{2025-03-26 (水) 09:56:40};
- すみません早とちりしました。切削スクリプトの方、アップロードに失敗していたようでした。アップロードしなおしましたので今は見つかると思います。 -- [[武内(管理人)]] &new{2025-03-26 (水) 10:45:01};
- ご対応していただきありがとうございます。こちらのスクリプトについても参考にさせていただきます。 -- [[tk]] &new{2025-03-26 (水) 20:41:28};

#comment_kcaptcha

Counter: 389 (from 2010/06/03), today: 4, yesterday: 27