見出し画像

Inventor / iLogic : 干渉チェックツール(改良版)

干渉チェックツールとは

Inventorコマンドの干渉チェックとほぼ同じで、アセンブリモデル上のすべてのオカレンス同士を対象として干渉チェックを行い、その結果をコンポート化します。コンポーネントにすることで、画面表示を変えても干渉部が消えません。(Inventorコマンドの方は一時的に表示されるだけなので、コマンドを終了すると干渉部は消えてしまいます)

以前に作ったものは、VBAだったりInventorのアドインだったりで、インストールが少し面倒でした。また、Inventorコマンドの方は「サブアセンブリをコンポーネントとして扱う」という機能が追加されて便利になっています。

そこで、干渉チェックツールを iLogic から実行できるようにしました。またサブアセンブリをコンポーネントとして扱えるようにしました。

ShowInterferenceALL

すべてのオカレンス間の干渉をチェックします。iLogic ルールは以下の通りです。

AddReference "YO_InvTool_for_iLogic.dll" 
'アクティブなアセンブリの自己干渉を調べて結果を表示する
'干渉している部分をサーフェスとして新規パーツに複写する
'すべてのオカレンス間の干渉をチェックする

Sub Main
	
	Dim oClass As New YO_InvTool_for_iLogic.InterferenceTool
	oClass.InvApp = ThisApplication
'	oClass.CountForWarning =25	' 指定しない場合は規定値=30 が設定される
	oClass.ShowInterferenceAll
	
End Sub

ShowInterferenceCurrent

直下のコンポーネント間の干渉だけをチェックします。Inventor コマンドの「サブフォルダをコンポーネントとして扱う」と同じ振る舞いです。

AddReference "YO_InvTool_for_iLogic.dll" 
'アクティブなアセンブリの自己干渉を調べて結果を表示する
'干渉している部分をサーフェスとして新規パーツに複写する
'サブフォルダをコンポーネントとして扱う 直下のコンポーネント間の干渉だけをチェックする 

Sub Main
	
	Dim oClass As New YO_InvTool_for_iLogic.InterferenceTool
	oClass.InvApp = ThisApplication
	oClass.CountForWarning =33	' 指定しない場合は規定値=30 が設定される
	oClass.ShowInterferenceCurrent
	
End Sub

「サブフォルダをコンポーネントとして扱う」とは

サブアセンブリを 1 つのコンポーネントとして扱い、サブアセンブリ内の干渉を無視します。サブアセンブリ内に自己干渉があっても、その干渉のチェックを行いません。行わない分だけ、処理が早く終わります。

干渉部分をサーフェスの形状とするために、干渉の数だけジオメトリ作成処理を行っています。干渉が増える分、処理に時間がかかります。サブフォルダをコンポーネントとして扱うことにより処理が早くなります。

サブフォルダをコンポーネントとして扱うと、結果がどうなるか、動画を作成しました。

アドイン

iLogic 用アドインは、以下の記事から入手ください。


役に立った!という記事にはぜひサポートお願いします。サポート頂けると大変に励みになります。