部品に回転や移動などの動きを持たせた製品を作るため、試作品を作ってみたけど上手く動作しなかった!試作品を作る前にCADで確認する方法を知りたい!と思ったことはありませんか?
Assembly4ワークベンチにはアセンブリを作るだけでなく、アニメーションの機能もあるので、これを使えばアセンブリの動作を確認できます。
そこでこの記事は、Assembly4ワークベンチのアニメーションの作り方について、筆者が自分の力で調べて操作できるようになったことを整理したので、参考にしてください。
この記事でわかること。
- 変数の作成
- アニメーション用のスケッチの作り方
- スケッチに変数を割当てる
- スケッチにローカル座標系を作成する
- アセンブリのアニメーション化
- アニメーションの保存
アニメーションを習得したい方は、是非ともこの記事を読んであなたの「ものづくり」に役立ててください。
アニメーションとは
アセンブリの部品に回転や移動などの動作を付ける機能のことです。
単純な機構であれば静止状態でも、移動前と移動後の位置に部品を配置したりして、動作をイメージできますが、イメージが難しい機構の場合、アニメーションを活用することによって、以下の内容についても視覚化できるようになります。
- 機構の移動前から移動後までの動作
- 可動範囲における動的干渉
- 機構の動く速さの変化
本来、アニメーションは動作のイメージが難しい機構に用いるべきなのですが、作り方をわかりやすくするため、この記事ではシンプルなリンク機構を用いて解説していきます。
執筆時のAssembly4ワークベンチのバージョン情報は「v0.50.2」です。
機構とは、機械の部品が互いに関連して動く仕組みのことです。
アニメーションの流れ
Assembly4でリンク機構などの機構のアニメーションを作成する場合、アセンブリの記事で解説した方法とは異なる部品の組み方が必要になります。
大きく異なる点は、機構の骨格となるスケッチを作成して、そのスケッチに部品を配置するところです。
これを踏まえて部品を作成したら、下記の手順でアセンブリを作成します。
- 新規ドキュメントの作成
- アセンブリコンテナの作成
- 変数の作成
- アニメーション用のスケッチを作成
- スケッチに変数を割当てる
- スケッチにローカル座標系を作成する
- プロジェクトの統合
- 部品のリンクを挿入
- 部品の配置を編集
- アセンブリのアニメーション化
- アニメーションの保存
部品の作成
部品のジョイント間の長さはそれぞれ、50mm、90mm、110mm、130mmとしました。
部品を作成したら3Dモデルの色替えと、ローカル座標系を作成しておきます。
また、ツリーの「Body」と「Local_CS」はアセンブリを作成するときの選択肢に複数出てくるため、わかりやすい名前に変更しておきます。
ここでは名前を下記の様に変更しました。
- 50mm:「Body」→「Body_50mm」、「Local_CS」→「Local_CS_50mm」
- 90mm:「Body」→「Body_90mm」、「Local_CS」→「Local_CS_90mm」
- 110mm:「Body」→「Body_110mm」、「Local_CS」→「Local_CS_110mm」
- 130mm:「Body」→「Body_130mm」、「Local_CS」→「Local_CS_130mm」
新規ドキュメントの作成
「新規」アイコンをクリックしてコンボビューのタブをモデルに切替えると、ツリーに「Unnamed」が追加されているので、部品ファイルと同じ場所に名前を付けて保存しておきます。
ここでは名前を「Animation-Assy」と入力しました。
アセンブリコンテナの作成
ワークベンチをAssembly4に切替えます。
ツールバーの「New Assembly」アイコンをクリックすると、コンボビューのツリーに「Parts」と「Assembly」が追加されます。
変数の作成
部品を回転させるための変数を作成します。
「Add Variable(変数の追加)」アイコンをクリックすると、「Add Variable」ウインドウが表示されるので、Nameにわかりやすい変数の名前と、Valueに初期値を入力して「ok」をクリックします。
ここでは変数名を「Angle_link」、初期値を「60」と入力しました。
変数の初期値を変更したい場合は、ツリーのAssemblyフォルダの「Variables」に追加された「Angle_link」をダブルクリックします。
変数とは、「自由な値を入れられる領域」のことです。
例として、スケッチの角度寸法を変数に置換えた場合、その変数に0~360などの値を指定すれば、スケッチの線を回転できるようになります。
なお、変数は初期値を入力しないとエラーが発生するため、値の入力が必要です。
アニメーション用のスケッチを作成
まず、XY平面に空のスケッチを作成します。
「New Sketch」アイコンをクリックすると、「Create new Sketch」ウインドウが表示されるので、そのまま「ok」をクリックします。
すると、コンボビューに「アタッチメント」が表示されるので、「モデルタブ」に切替えて、ツリーから「LCS_Origin 」を選択したら、タスクタブに戻ります。
次にコンボビューの「アタッチメント」に「LCS_Origin」が選択されていることを確認したら、アタッチメントモードから「オブジェクトのXY」を選択して「ok」をクリックします。
変数の割当て
変数を寸法に割当てます。
まず、ツリーに追加された「Sketch_1」をダブルクリックして編集モードにします。
スケッチに部品の長さと同じ直線を描き、50mmの直線とX軸の間に角度寸法を設定します。
その角度寸法をダブルクリックすると、「角度を挿入」ウインドウが表示されるので、f(x)アイコンをクリックします。
すると、「数式エディター」ウインドウが表示されるので、「Variables.」+「変数名」を入力して「ok」をクリックします。
ここでは「Variables.Angle_link」と入力しました。
「角度を挿入」ウインドウも「ok」をクリックして閉じます。
ローカル座標系を作成
スケッチにローカル座標系を作成します。
「New Coordinate System」アイコンをクリックすると、「Create new LCS」ウインドウが表示されるので、わかりやすい名前を入力して「ok」をクリックします。
ここでは名前を下記の様に入力しました。
- 50mm:「LCS_50mm」
- 90mm:「LCS_90mm」
- 110mm:「LCS_110mm」
- 130mm:「LCS_130mm」
すると、コンボビューに「アタッチメント」が表示されるので、スケッチに描いた直線の端点、直線の順に選択します。
次にアタッチメントモードから「配置O-X-Y」を選択して、3Dビューに表示された座標系がスケッチの線と同一直線に配置されていれば「ok」をクリックします。
すると、ツリーのAssemblyフォルダに先程名前を付けたLCSが追加されています。
同様に他の直線についても同じ作業を繰り返します。
部品の配置
プロジェクトの統合
メニューバーの「ファイル」→「プロジェクトの統合」で、部品の「50mm」を選択します。
ツリーの中にBody_50mmが追加されると共に、3Dビューにも3Dモデルが表示されます。
このBody_50mmをPartsへドラッグしてPartsの要素に入れます。
同様に他の部品についても同じ作業を繰り返します。
部品のリンクを挿入
部品をスケッチのローカル座標系に配置します。
作業を開始する前に、開いているファイルを保存して開き直します。
ツリーのPartsフォルダを選択したら、スペースキーを押して3Dモデルを非表示にします。
ツールバーの「Insert Part」アイコンをクリックすると、「Insert a Part」ウインドウが表示されます。
Select Part to be inserted(挿入する部品を選択)から「Assy#Body_50mm(Body)」を選択して「Insert」をクリックすると、コンボビューに「place linked Part」が表示されます。
Attach to(接続先)は「Please select」→「Parent Assembly(親アセンブリ)」を選択します。
「Select LCS in Parent」は「LCS_50mm」を選択します。
向きの調整が必要な場合、「Rotate X+90°あるいは、Rotate Y+90°、Rotate Z+90°」をクリックして、狙いの位置にできたら「OK」をクリックします。
ツリーの中にBody_50mm001が追加されると共に、3Dビューにも3Dモデルが表示されます。
同様に他の部品についても同じ作業を繰り返します。
部品の配置を編集
アセンブリの部品は干渉しているため、部品を移動させます。
コンボビューのツリーに表示されているBodyのうち、干渉している部品をクリックします。
すると、ツールバーの「Edit Placement of a Part(部品の配置を編集する)」アイコンが選択できるようになるので、クリックするとコンボビューに「place linked Part」が表示されます。
その中から、「X Translationあるいは、Y Translation、Z Translation」の値を変更して「OK」をクリックします。
ここでは「Z Translation」の値を変更しました。
同様に他の干渉している部品についても同じ作業を繰り返します。
アセンブリのアニメーション化
アセンブリの部品を動かします。
「Animate Assembly(アセンブリのアニメーション化)」アイコンをクリックすると、「Animate Assembly」ウインドウが表示されるので、Variableに回転させる変数名を選択します。
ここでは「Angle_link」を選択しました。
すると、下記の項目を指定できるようになります。
- Range Begin 開始値(指定した数値で開始)
- Range End 終了値(指定した数値で終了)
- Step Size 増加値(開始値に指定した数値を足していく)
- Sleep (s) 一時停止(指定した数値で一定の間隔を挟む)
- Loop チェックを入れると、開始値から終了値までの動作が繰り返される
- Pendulum チェックを入れると、開始値から終了値までの動作が往復運動になる
動作範囲をザックリと決めて「Run」をクリックすると、部品が動き出すので動作を確認しながら設定を調整します。
ここでは範囲を「60~420」でStep Sizeを「5」、Loopにチェックを入れてRunをクリックしました。
アニメーションの保存
「Animate Assembly」ウインドウの「Save」をクリックすると、「Animation Export Preview」ウインドウが表示されます。
Outputの「Select」をクリックすると、「Select File」ウインドウが表示されるので、保存したいファイル名とファイル形式の拡張子を入力して保存をクリックします。
拡張子を入力しない場合、MP4が自動で選択されますが、ファイル名に続けて拡張子を入力すれば、「avi mov mkv gif png」でも保存できます。
Backgroundのチェックボックスにチェックを入れると、背景色を変更できます。
Logoの「Select」をクリックすると、「Select File」ウインドウが表示されるので、キャンセルをクリックすると、デフォルトで設定されているFreeCADのロゴを非表示にできます。
「Create and Save」をクリックすると、アニメーションが保存されます。
下記の画像をクリックすると動きます。
部品とスケッチを一度に変更する
機構のアニメーションは部品とスケッチをセットで使用するため、部品のジョイント間の長さのみ変更すると、スケッチとの間に差異が発生してアニメーションが成り立たなくなります。
また、部品の変更のたびにスケッチを修正するのも手間となります。
そこで、部品とスケッチのジョイント間に共通の変数を割当てて、変数で長さを管理すると、部品とスケッチの両方を一度に変更できるようになります。
その結果、部品の長さの変更に対して、アニメーションを追従できるようになります。
まとめ|FreeCAD アニメーション リンク機構の動かし方を解説
アニメーションはアセンブリの記事で解説した方法よりもひと手間かかりますが、「機構の移動前から移動後までの動作」や「可動範囲における動的干渉」「機構の動く速さの変化」などを視覚化できるため、必要に応じて活用してください。
アニメーションを習得したら
アニメーションを習得したら、下記のリンクから学びたい内容の記事に進んでください。