【FreeCAD使い方講座】Assembly4ワークベンチを使った機構アニメーション作成の基礎


※ 当ページには【広告/PR】を含む場合があります。
2024/06/22
【FreeCAD初心者ガイド】Curvesワークベンチ・テクニック集①〜曲線エッジで囲われた領域に曲面を張る
【FreeCAD使い方講座】FreeCADでのオブジェクトのアタッチメント
蛸壺の中の工作室|Assembly4ワークベンチを使った機構アニメーションの作成

話を以前の記事に遡りますが、FreeCADで部品の組立を行う際に便利なワークベンチの紹介をしたことがあります。

合同会社タコスキングダム|タコツボの中の工作室
【FreeCAD初心者ガイド】FreeCADで部品の組立〜『Assembly4』と『A2plus』を導入する

FeeCADの高機能な部品組立系の拡張ワークベンチである『Assembly4』と『A2plus』の導入方法や機能の概要などを簡単に紹介

特に
「Assembly4」ワークベンチを使えば、組み立てたパーツ同士の動的な位置関係を確認するための機構アニメーションを作成することが可能です。

そこで今回はAssembly4ワークベンチを使った簡単なアニメーション作成の手順を簡単なモデルを使って解説していきます。


基礎からのFreeCAD 三訂版 (I/O BOOKS)

FreeCAD入門

FreeCADの使い方 いろんな物を作りながら3DCADを学ぼう!: 3Dプリンターでの印刷も掲載

図面の描き方がやさしくわかる本

FreeCADにAssembly4ワークベンチをインストールする

まずはFreeCADにAssembly4ワークベンチを導入していきます。

導入はアドオンマネージャから行い、
[ツール] > [Addon Manager]で起動します。

ワークベンチの項目から、
「Assembly4」を選択し、インストールを行いましょう。

合同会社タコスキングダム|蛸壺の中の工作室

インストール後にFreeCADを再起動するとAssembly4ワークベンチが利用できるようになります。


基礎からのFreeCAD 三訂版 (I/O BOOKS)

FreeCAD入門

FreeCADの使い方 いろんな物を作りながら3DCADを学ぼう!: 3Dプリンターでの印刷も掲載

図面の描き方がやさしくわかる本

Assembly4ワークベンチの使い方の基本

適当なFreeCADプロジェクトを新規作成し、Partワークベンチでサッと長板と円柱をマージさせただけのソリッドを作成してみます。

合同会社タコスキングダム|蛸壺の中の工作室

ここからAssembly4ワークベンチに切り替えて作業します。

合同会社タコスキングダム|蛸壺の中の工作室

ツールボックスから
[New Assembly]アイコンをクリックすると、コンボビューに登録する部品を保管しておくPartsグループと、アッセンブリ(組立)プロジェクト本体のAssemblyオブジェクトが追加されました。

合同会社タコスキングダム|蛸壺の中の工作室

この時点ではAssemblyオブジェクトの中身は何もないため、部品を一つ一つ手順を追って組み立てていく必要があります。

変数(variables)の定義

Assembly4によるパーツの可動範囲の与える際に、
変数(variables)の定義と設定がユーザーの手で必要になります。

まずは簡単な軸回転の動作を行わせるための角度の変数を定義してみます。

ツールボックスから
[Add Variable]アイコンをクリックすることで、[Add Variable]ダイアログが立ち上がります。

合同会社タコスキングダム|蛸壺の中の工作室

変数の定義には最低限として、変数名(Name)と初期値(Value)の入力が必要です。

ここでは以下のように定義しましょう。

            Name: theta_0
Value: 0
        
パラメーターを入力したら[OK]で変数の設定を確定させます。

追加した変数はツリービューの中の
Assemblyオブジェクトのグループに追加されています。

合同会社タコスキングダム|蛸壺の中の工作室

Assemblyスケッチの作成

Assemmbly4では、可動範囲を空間に作成するために「スケッチ」を必要とします。

ということで、まずスケッチを一つ新規作成してみます。

ツリービューより、
PartsAssemblyを選択した状態で、ツールバーより[New Sketch]アイコンをクリックし、[Create new Sketch]ダイアログを開き、そのままの名前で[OK]ボタンを押します。

合同会社タコスキングダム|蛸壺の中の工作室

作成直後はスケッチの設定がまっさらの状態なので、スケッチのアタッチ先のオブジェクトを指定します。

合同会社タコスキングダム|蛸壺の中の工作室

3Dビューからだと原点(Origin)オブジェクトが掴みにくいので、アタッチメント設定の
[選択...]が有効になった状態で、[コンボビュー] > [モデル]タグ > [LCS_Origin]を選択したら、再び[タスク]タブに戻り、モードオブジェクトが選択されていることを確認します。

また、アタッチメントメントモードは(相対的な)
オブジェクトのXY平面で拘束しておきます。

[OK]ボタンを押すと、スケッチにアタッチメント設定が行われていることが分かります。

合同会社タコスキングダム|蛸壺の中の工作室

スケッチでボーンオブジェクトを編集する

それではスケッチにパーツを動かすのに必要なワイヤー形状を準備し、そこに変数を割り入れていきます。

先程作成したスケッチをツリービューからダブルクリックしてSketcherワークベンチで作業していきます。

適当な長さの線分の端点を原点に合わせ、ついでに角度拘束をつけてるだけのスケッチを作成します。

合同会社タコスキングダム|蛸壺の中の工作室

次に角度拘束の上でダブルクリックし、角度の入力フィールドの端にある
数式エディタアイコンをクリックします。

合同会社タコスキングダム|蛸壺の中の工作室

数式エディターダイアログが立ち上がるので、ここで変数リスト(Variables)からtheta_0を入力して、[OK]ボタンを押します。

これでスケッチの角度拘束に
Variables.theta_0の値が紐付けされたことが分かります。

合同会社タコスキングダム|蛸壺の中の工作室

ローカル座標系の設定

スケッチにローカル座標系を作成します。

[New Coordinate System]アイコンをクリックし、[Create new LCS]ダイアログで新しいローカル座標系(LCS)を適当な追加しましょう。

合同会社タコスキングダム|蛸壺の中の工作室

アタッチメント設定が表示されるので、スケッチで描いた直線の端点、直線の順にアタッチメント、O-X-Yモードを指定しましょう。

合同会社タコスキングダム|蛸壺の中の工作室

パーツをAssemblyオブジェクトへ登録する

Assembly4ではプロジェクトの「Assembly」オブジェクトに紐づく「Parts」グループ以下に部品モデルを配置することによって、先程の設定したボーンオブジェクトとパーツを連動させて動かすことができます。

注意すべきはPartsグループに配置する部品要素は何でも良いわけではないという点です。

例えば下のようにソリッドを入れてもそのまま使えそうですが、Assembly4にはパーツとして認識されません。

合同会社タコスキングダム|蛸壺の中の工作室

ソリッドはローカル座標系情報を内部で持たないため、動きを定義できないためです。

つまり、Partsグループには必ずローカル座標系を埋め込むことのできる
「Body」を部品として配置する必要があります。

ということで、この場合、ソリッドをボディに変換する作業を挟みます。

Partsグループを選択しつつ、メニューボックスから
[New Body]アイコンをクリックし、[Create a new Body]ダイアログで名前を決定し、[OK]ボタンを押すと空のボディがPartsへ新規作成できます。

合同会社タコスキングダム|蛸壺の中の工作室

次にツリービュー上で、ボディ化したいソリッドをマウスで選択し、そのまま空のボディにドラックアンドドロップします。

合同会社タコスキングダム|蛸壺の中の工作室

するとボディに
BaseFeatureが作られ、BodyからSolidへのリンクが置かれます。

これで、部品の実体はソリッドですが、Assembly4の認識できるボディへと変換することができました。

早速、Assemblyオブジェクトにこのパーツを登録させてみましょう。

ツールメニューから
[Insert Part]アイコンをクリックし、[Insert a Part]ダイアログを開きます。

合同会社タコスキングダム|蛸壺の中の工作室

先程作ったボディが登録可能となっているので、
[Select Part to be inserted]リストから選択し、[Insert]ボタンをクリックします。

コンボビューのタスクタブに
[Place linked Part]の設定が表示されるので、ここではパーツのアタッチ先をParent Assembly、パーツの使うローカル座標系を先程追加したLCS_1(親アッセンブリのローカル座標系ではない)を選択します。

合同会社タコスキングダム|蛸壺の中の工作室

設定を確定すると、Assemblyオブジェクトに登録したパーツにローカル座標系がアタッチされていることが分かります。

合同会社タコスキングダム|蛸壺の中の工作室

なお、Assemblyに登録したいパーツが複数ある場合には、この一連の作業を繰り返してすべてのパーツを登録していきます。


基礎からのFreeCAD 三訂版 (I/O BOOKS)

FreeCAD入門

FreeCADの使い方 いろんな物を作りながら3DCADを学ぼう!: 3Dプリンターでの印刷も掲載

図面の描き方がやさしくわかる本

Assemblyでアニメーションの作成

Assemblyワークベンチを利用する大きな目的は、パーツの可動動作・領域の確認と、パーツごとに干渉しないかどうかをアニメーションを作成してチェックすることにあります。

では先程のAssemblyオブジェクトを使って、簡単なアニメーションを作成してみます。

ツールボックスから
[Animate Assembly]アイコンをクリックし、[Animate Assembly]ダイアログを開きます。

合同会社タコスキングダム|蛸壺の中の工作室

Variableの項目から、アニメーションさせたいパラメーター(ここでは
theta_0)を選択し、パラメーター値の変化範囲(ここでは0 ~ 360)に設定後、[Run]ボタンを押してみましょう。

合同会社タコスキングダム|蛸壺の中の工作室

ここでは回転運動が開始されていることが分かります。

パーツの回転軸が少しズレているようなので、回転軸の位置を修正します。

動作位置の修正を行うには、まずAssemblyオブジェクトの中の位置を動かしたいリンク付きボディのプロパティから、
[Assembly] > [Attachment Offset]を右端のボタンをクリックします。

合同会社タコスキングダム|蛸壺の中の工作室

するとリンクボディの配置のオフセット設定ができるので、所望の回転軸位置になるように移動させます。

合同会社タコスキングダム|蛸壺の中の工作室

再度アニメーションでチェックすると回転軸が狙った位置に来ていることが確認できます。

合同会社タコスキングダム|蛸壺の中の工作室

FreeCADのOpenCVで動画として保存する

アニメーションを動画として残したい場合、
[Animate Assembly] > [Save]から動画ファイルとして保存することもできます。

注意が必要なのは、Linuxユーザーなど、FreeCADを公式から提供されているインストーラー以外からインストールした場合に、FreeCAD内部の組み込みPythonにOpenCVが除外されている場合があります。

FlatPakからインストールしたり、FreeCADのベータをソースコードビルドしたりして利用すると、

合同会社タコスキングダム|蛸壺の中の工作室

FreeCAD内部の動画保存ができないようなので、その際には外部の画面録画系アプリケーションを利用して動画化するとよいでしょう。


基礎からのFreeCAD 三訂版 (I/O BOOKS)

FreeCAD入門

FreeCADの使い方 いろんな物を作りながら3DCADを学ぼう!: 3Dプリンターでの印刷も掲載

図面の描き方がやさしくわかる本

まとめ

以上、今回はFreeCADで組み立て部品の機構アニメーションを設定するためのAssembly4ワークベンチの使い方の基礎を一通り解説していきました。

Assembly4を利用するとFreeCADでも素朴なパラメトリック動作であれば動かすことが可能ですが、よほど複数なアニメーションを作成する必要がある場合、Blenderなどの高機能レンダラーを使うと良いでしょう。

参考サイト

FreeCAD アニメーション リンク機構の動かし方を初心者向けに解説