【FreeCAD】遊星歯車を作る方法【遊星歯車マクロ,使い方】

3DCG
スポンサーリンク

はじめに

今回はFreeCADで遊星歯車を作る方法を紹介します。
↓こちらのマクロ(拡張機能)を使います。

個人利用なら無料、商業利用なら「1000円」の拡張機能です。

このマクロの強みはねじれたような歯車が作れることです。(はすば歯車、ヘリカルギア)
↓このような形の歯車を生成してくれるのはすごく便利。

遊星歯車自体の計算ですら大変なのに…
そこに「ねじれ」まで入れるとなるとツールを使う方が早いとなります。

FREECADの導入や基本操作ができることを前提に進めます。
↓基本操作はこちらをご覧ください。

マクロの入手

こちらのページにアクセス。

Just a moment...

「FreeCAD用遊星歯車作成&アニメーションスクリプト」の作者の方が作ったWEBサイトのようです。

利用用途に合わせたツールを選択。
一般的なお試し用途であれば無料で使えます。

VRChat向け販売モデルを作ろうとしたので法人向けにしました。
「カートに入れる」を選択。

ログイン or ゲストかを選んで購入するを選択。

支払いは下図のフォーマットで対応してます。
そしたら「内容のご確認へ」を選択。

これでダウンロード画面が出てきます。

こちらをDLすればマクロの入手が完了です。

「FreeCAD用遊星歯車作成&アニメーションスクリプト」の作者の方が作ったWEBサイトのようです。

マクロの導入

DLした.zipを展開。
展開したファイルに入ります。

中に2つのデータが入ってます。
「.FCMACRO」がマクロ本体です。

「README.md」はマクロの説明文です。
.mdは何のアプリで開くか決まってないので右クリック。
プログラムから開くを選択。

任意のテキストエディターを選択。(メモ帳など)
ここでは「Sublime Text」を使いました。

Sublime Textの導入や使い方はこちらで解説。

「README.md」を開くとブログとほぼ同じような文章が書かれてます。

そしたらマクロ本体を下記のフォルダーの位置に移動します。

C:\Users\ <ユーザー名> \AppData\Roaming\FreeCAD\Macro

AppDataは隠しフォルダーです。
↓表示されてない方はこちらを見ながら表紙させてください。

次はこのマクロを動かすために必要な「Gearワークベンチ」を入れていきます。

Gearワークベンチの導入

FreeCADを立上げ。
ツール → 「拡張機能の管理」を選択。

アドオンマネージャーで「gear」と検索。
「freecad.gears workbench」を選択。

これを「インストール済み」の状態にします。

↓「freecad.gears workbench」の使い方はこちらで解説。

以上でマクロの導入が完了です。

マクロの実行

FreeCADを立上げ。
マクロ → マクロ…を選択。

ここで導入したマクロを選択。
「実行」をクリック。

すると下図のようなUIが出てきます。
上部の方で造形関係のパラメーターを設定。
「優勢歯車の作成」を実行。

プリセットを使うと公式が用意したパラメーターが使えます。

これで歯車が生成されます。

あとは固定モード選択でアニメーションの種類を設定。
「アニメーション開始」で歯車が正しく動くか確認できます。

こんな感じで動きます。

あと自分が設定した値を保存したい場合は「設定を追加」を選択。

以上がマクロの実行についての解説です。

エラーが出た時の対処法

私はこのマクロリリース日に購入しました。
そしていくつかの動作エラーに遭遇したので、その時の対処法も残しておきます。

こちらで確認したエラーはすでに開発者にお問合せして修正してもらってます。

主なエラー発生要因は下記の2つ。

・ソフトのバーションが古い
・アップデートで依存関係が崩れる

この2つの対処法を見ていきます。

ソフトの更新+再インストールを試す

まず「ソフトウェアの更新再インストール」を試してください。
この記事執筆時点では最新のFree CADのバージョンを1.0.2に更新。

あとはFreeCADのGearワークベンチも更新します。
(執筆時点ではv1.3.0)

以上が真っ先に試す「ソフトの更新」です。

以降はこの処理で動かなかった場合の対処法になります。

エラーログを確認する

FREE CADを立上げ。
表示 → パネル → レポートビューを開きます。

この状態でマクロを実行。
すると動かなかった場合にエラーが表示されます。
↓こちらは「Tkinter」関係の何かが動いてない様子。

tclの依存関係が崩れた場合(再発しにくい)

調べたところ「tcl8.6」が私のFree CADにはないということが分かりました。
出たエラー文をChatGPTにコピペして質問すると解決が早いです。

Free CADのバージョン差で付属Pythonに「tcl8.6」が入らなくなったようです。

こちら開発者にお問合せしたところ「tcl」の使用をやめ、FreeCADのベースで使われている「pyside2」に書き換えたらしいです。

ありがたい話…。

Pythonを入れてると「tcl8.6」と「tk8.6」をが入ってます。
開発者様の修正が入るまではこれをFree CADに移植してました。

Free CADのlibに入れて対処してましたが…
それも不要になったようです。(ありがたい話)

ちなみに「tcl8.6」と「tk8.6」を移植しただけでは「tk.tcl8.6」のバージョン差の問題が発生。

なのでtcl8.6の中にあるinit.tclを開き、Tclの参照バージョンを手動で書き換え。
tk8.6の中にあるtk.tclを開き、Tclの参照バージョンを手動で書き換え。
みたいなことををやってました。

このあたりの問題が発生した方は、Chat GPTあたりと相談しながら調整してください。

ただ「tcl」の使用をやめてFreeCADのベースで使われている「pyside2」に変えたのでこのエラーは再発しにくいと思います。

(なので、あまり細かくは書いてません)

以上がtclの依存関係が崩れた場合の対処法です。

Gears workbenchの依存関係が崩れた場合(再発の可能性あり)

Gears workbenchはアップデートで「変数の名前」がちょくちょく変わるようです。

変数 = プログラム内部にある処理を動かすための名前のようなモノ。
たとえば歯図はプログラム内だと「gear.num_teeth = teeth」で処理されてたりします。

旧バージョンでは「gear.teeth = teeth」だったのが…
新バージョンでは「gear.num_teeth = teeth」になってたりしました。

これに関してはマクロではなくGears workbenchの開発者側の問題になるので再発する可能性があります。

変数の名前が違うと下記のようなエラーが出ます。

'FeaturePython' object has no attribute 'teeth'

「 = teeth」に入れられた情報が何らかの理由で欠落したようです。

このエラーの場合、Free CAD上にはエラーログが出ませんでした。
そこでマクロ製作者から教わった下記の処理を「Python」コンソールで実行。

import freecad.gears.commands
gear = freecad.gears.commands.CreateInvoluteGear.create()

↓正しく動く場合はこのような挙動になります。

上手く動かなかった場合は何かしらのエラー文が出力されます。
こちらをChat GPTなどにコピペして相談。

Chat GPTなどを含め、色々試したところ下記の問題だと分かりました。

【原因】
Gear Workbench のバージョン差で変数名が一部変わった。


18行目を下記の文章に書き換え
×旧 → gear.teeth = teeth
〇新 → gear.num_teeth = teeth


20行目を下記の文章に書き換え
×旧 → gear.beta = beta
〇新 → gear.helix_angle = beta

変数名の調整は入手したマクロを任意のテキストエディターで展開。

そして問題が起こってるか所を確認。

Chat GPTから教わった変数名に設定。
(私はなぜこの名前で治ったかは分かってないです)

保存して実行すると、別の変数名でもエラーがあることが分かりました。

なので同じくChat GPTに相談しながら変数名を確認。

gear.betaを「helix_angle」にすると治りました。

謎なのが開発者様の方では旧変数名で動くようです。
ただGears workbenchのGit Hub上では新しい方の変数名になってました。

→ 対策として「新」と「旧」の両方の変数名に対応したようです。
ありがたい。

ただ… Gears workbenchの気まぐれで同じエラーが起こる可能性があります。
なので、もし同じ変数問題が起こった場合は手動で修正 or 開発者様にお問合せしてください。

以上がエラーが出た時の対処法です。

まとめ

今回はFreeCadで遊星歯車を作る方法を紹介しました。

・遊星歯車マクロを使えば遊星歯車が作れる
・動かすために事前にGears workbenchを入れておく
・マクロ情報の.FCMACROは ~~~~\AppData\Roaming\FreeCAD\Macroに入れる
・FreeCAD上でマクロ → 実行で動作可能
・正しく動かない場合はエラーログなどを確認

また他にもFREE CADや3DCGについて解説してます。

ぜひ、こちらもご覧ください。

コメント

タイトルとURLをコピーしました