見出し画像

Inventor / iLogic でパラメータを新規作成

Inventor iLogic でパラメータを新規作成する、素敵な iLogic コードを見つけたので紹介する。

Inventor の iLogic には、数多くのスニペットが提供されている。パラメータに関しても便利なスニペットが用意されているが、パラメータを新規に作成する、というのが無い。XMLを保存、ロードというのがあるがこれはドキュメント中の全てのパラメータを一括して保存、ロードする機能なのでちょっと目的と違う。

 もちろん、Inventor API を使えば iLogic でパラメータを新規作成するルールを作ることはできる。例えば、TEST という名前のパラメータを作り、123.4 という値を入れたければ、

Dim oDoc = ThisDoc.Document
Dim oParams As Inventor.Parameters = oDoc.ComponentDefinition.Parameters
Dim oParam As Inventor.Parameter = oParams.UserParameters.AddByValue("TEST",123.4, "mm")

となる。しかし、実際に使おうとすると相当に面倒な事が分かる。すなわち、以下の内容だ。
・パーツ、アセンブリ、図面の各ドキュメントの使い分け
・パラメータ名が重複していないかの確認
・型(数値、文字、ブーリアン)及び数値の場合の単位系(mm cm Kg ...)
これらの内容をまとめて処理してくれる iLogic コードを オートデスクのサンプルファイルとしてダウンロードできる。

BrewMain_Drawing.zip

画像1

何かの醸造装置の仕様を変更する、iLogicのコードとフォームのサンプルモデルで、iLogic の勉強には大変に良いサンプルだ。このサンプルファイルの中にある、CreateParamsInDoc.vb がパラメータを新規作成するルールだ。

画像2

使用方法

1.CreateParamsInDoc.vb を別名でコピーする。
2.コピーしたルール内の Sub Main を編集する。
3.そのルールを外部ルールとして実行する

Sub Main
	Dim oDrawing As Document = ThisDoc.Document
	Dim nameList As New List(Of String)
	nameList.Add("my_BalloonStyles")
	nameList.Add("my_DimensionStyles")
	nameList.Add("DimensionColor")
	nameList.Add("BalloonColor")
	nameList.Add("TextColor")
	Dim oParam As UserParameter
	For Each item In nameList
		oParam = FindParamUsingName(oDrawing, item)
		If oParam Is Nothing Then
			PutParameter(oDrawing, item, "", "text")
		End If
	Next
End Sub

 PutParameter が実際にパラメータを新規作成するルールだ。このサンプルルールでは、図面ドキュメントに文字型のパラメータを追加するのに、List を使って一括処理をしている。リスト内のパラメータ名を順に、FindParamUsingName で既に使われていないかを確認し、 Nothing が帰ってきたら PutParameter で追加している。

単純に、TEST という名前で 123.4 mm の長さを追加したい場合は、

Sub Main()
	Dim oDoc = ThisDoc.Document
	Dim oParam As Inventor.Parameter 
	oParam = FindParamUsingName(oDoc, "TEST") 
	If oParam Is Nothing Then
	    PutParameter(oDoc, "TEST", 123.4,"length", "mm") 
	End If
End Sub

となる。このiLogic ルールは、冒頭に挙げた面倒くさい処理をしてくれるので、Main ルールだけ注目すればよい。とても楽だ。

どんな時に便利なのか?

 Inventorで作業をしているとき、特定のパラメータを追加したい時がある。都度追加すればよいが、このように外部ルールを作っておけば、簡単についかでき、しかもタイプミスを防止できる。
 このサンプルモデルでは、図面ドキュメントを新規作成した際に、必要なパラメータを自動的に追加する処理に利用している。ちょっと難解だが解読すると大変に勉強になる。


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