Inventor / iLogic : 寸法数字の先頭に直径記号を付ける
来月、3DCADによる設計について話をする機会をもらいました。そのためのデータセットを作っているのですが、3DCADで2D図面を作成するのがやはりネックです。随分と楽になったのですが。ちょっとの面倒も何とかならないかと考えるたちなので、またルールを作りました。
円筒形状に直径記号を付けるとき、エッジのに取り方よっては直径記号がついてくれません。1か所だけダイアログから編集すれば、残りはプロパティコピーすればよいのですが、最初の1か所もルールで何とかならないかか調べてみました。
FormattedText というプロパティを操作すれば良い事が分かったので、以下のように作ってみました。前回のルールをちょっと直しただけで完成です。
'選択した寸法の先頭に直径記号を付ける
Sub Main
'図面ドキュメントオブジェクトを取得
Dim oDrawDoc As DrawingDocument = Nothing
Dim invApp As Inventor.Application = ThisApplication
Try
' oDrawDoc = ThisDrawing.Document
oDrawDoc = invApp.ActiveDocument
Catch Ex As Exception
MsgBox("現在のドキュメントが図面ドキュメントではありません", , "Sample")
Exit Sub
End Try
Dim oDim As Object=Nothing
Do
Try
oDim = invApp.CommandManager.Pick(SelectionFilterEnum.kDrawingDimensionFilter, "Select Dimmension (ESC to quit)")
If oDim Is Nothing Then Exit Do
If TypeOf oDim Is LinearGeneralDimension Then
Dim MyFormattedText As String = oDim.Text.FormattedText
oDim.Text.FormattedText = "<StyleOverride Font='AIGDT'>n</StyleOverride>" + MyFormattedText
End If
Catch ex As Exception
Exit Do
End Try
Loop
End Sub
"<StyleOverride Font='AIGDT'>n</StyleOverride>" とフォント指定するやり方を発見したのが今日の成果です。
サンプルモデルと図面を作りつつ、API を調べながら、図面作成用の iLogicルール集を作りたいと思います。
役に立った!という記事にはぜひサポートお願いします。サポート頂けると大変に励みになります。