見出し画像

Inventor / 断面表示用の作業平面をiLogicで作成する

Inventorのフォーラムで、「断面表示をするとき、切断面の位置を正確に指示するのが面倒くさい。」との意見がありました。軸・円筒の中心を通る面でカットしたいのに、その位置を簡単に指示することが出来ないとのこと。切断面の位置を作業平面にしておけば良いのですが、その作業平面を作るのが面倒のようです。

調べてみると、アセンブリモデル上では作業平面の作成が面倒でした。パーツモデルよりも機能が貧弱です。さらに調べてみると、APIレベルで作業平面作成機能が実装されていません。

画像1

本当は、ジオメトリに関連付けがされた作業平面が良いのですが、ここでは割り切って、アセンブリモデル上で選択した平面に平行で、同じく選択した円筒面を通過する作業平面を作成する iLogic プログラムを作ってみました。


Sub Main
	
	' 指定した面に平行で、円筒面の軸を通る作業平面を作成する
	' Ver 1.0 By YOJI.TANAK AT 20/12/28 
	
	Dim invAPP = ThisApplication
	Dim oDoc = ThisDoc.Document

	Dim oFace As Inventor.Face = invAPP.CommandManager.Pick(kAllPlanarEntities, "平面を選択")
	Dim oCYL As Inventor.Face = invAPP.CommandManager.Pick(kPartFaceCylindricalFilter, "円筒面を選択")
	
   Dim VecNormal As Inventor.UnitVector = oFace.Geometry.Normal
   Dim VecAxis As Inventor.UnitVector = oCYL.Geometry.AxisVector
   Dim VecPerpendicular As Inventor.UnitVector = VecNormal.CrossProduct(VecAxis)
   
	' 作業平面
   Try
       Dim oWPL As Inventor.WorkPlane = oDoc.ComponentDefinition.WorkPlanes.AddFixed(oCYL.Geometry.BasePoint, VecAxis, VecPerpendicular)
   Catch ex As Exception

   End Try	 
	
End Sub

作業平面の作成は、WorkPlanes.AddFixed というメソッドを使います。面や軸との関連付けはありませんが、切断面の指示用には問題なく使えます。操作手順は、以下の動画を参照ください。


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