見出し画像

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ルール集を作りたいと思います。

 ​

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