Inventor / iLogic : パーツモデルをマルチソリッドで色分け
Inventorのパーツモデルをソリッドで色分けするプログラムを作ってみました。以前にも作って紹介していますが、今回は、その改良版です。
使い道
構想設計をマルチソリッドを活用してパーツモデルで作成する事を推奨しています。パーツ間の連携、位置関係などが作りやすいからです。
ただ、マルチソリッド同士の区別がつきにくくなるので、ソリッド毎に色を付けて区別する様にしています。これが、結構面倒くさい作業です。
ソリッドを選択して、プロパティを表示させて、外観を選択(ここでどれにしようかと悩んだりします)
このプログラムを使うと、パーツ内になるすべてのマルチソリッドを色分けします。つまり、外観が既定のままのマルチソリッドパーツを
適当な色で色分けします。自分の好みの色で配色されるようにしているので、いい感じで色分けされています。もし、気に入らない場合は、プログラムを再度実行すると、別の配色になります。
準備
アドインをインストールする
以下のルールを参考にして、iLogicルールを作成
AddReference "YO_InvTool_for_iLogic.dll"
'クラスライブラリの参照
Sub Main
Dim oClass As New YO_InvTool_for_iLogic.PartColorMap
oClass.InvApp = ThisApplication
oClass.oDoc= ThisApplication.ActiveDocument
oClass.ColorMapByMultiSolid
End Sub
使用方法
ソリッドで色分けしたいパーツを開く
ルールを実行する
結果を確認する
説明
外観は、AutoCADの色番号を基に作成しています。
アドインは、以下の場所から最新版をダウンロードできます。
ソリッドを追加した時
色分けをした後、さらに設計を進めていくと、新しいマルチソリッドが作成されます。図は、カバーを2点追加した状態です。追加のソリッドが、既定の外観になっています。
これは、プログラムを再度実行すれば、追加ソリッドも色分けされます。
ソリッドを半透明にする
カバーなので、当然、内部のソリッドが隠れてしまいます。こういう場合は、半透明の外観にしないと内部が見えません。これも手数がかかってしまうので、指定したソリッドを半透明にするプログラムも作ってみました。
AddReference "YO_InvTool_for_iLogic.dll"
Sub main
Dim oClass As New YO_InvTool_for_iLogic.PartColorMap
oClass.InvApp=ThisApplication
Dim oBody As Inventor.SurfaceBody = ThisApplication.CommandManager.Pick(kPartBodyFilter, "Select Body: ")
oClass.TranslucentThisBody(oBody)
End Sub
選択したボディ(ソリッド)の外観を調べて、その外観を基に半透明にした外観で置き換えるというものです。これを実行すると、内部が見える様になります。
一連の操作は、以下の動画を参照ください。