AutoCADのヘルプでは
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime
<CommandMethod("SendACommandToAutoCAD")> _
Public Sub SendACommandToAutoCAD()
Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
'' Draws a circle and zooms to the extents or
'' limits of the drawing
acDoc.SendStringToExecute("._circle 2,2,0 4 ", True, False, False)
acDoc.SendStringToExecute("._zoom _all ", True, False, False)
End Sub
これだと、マクロを使えません。
私が使っているコードは
''' <summary>LISPコマンド送信</summary>
''' <param name="LISPCmd">送信コマンド</param>
Public Shared Sub ACad_ActiveLISP(LISPCmd As String)
Dim acDoc As Document = Core.Application.DocumentManager.MdiActiveDocument
Using acDoc.LockDocument
'実行した文字を評価します。
Dim cmd As String = Core.Application.EvaluateDiesel(LISPCmd)
Autodesk.AutoCAD.Internal.Utils.SendMenuStringToExecute( acDoc, cmd, False)
End Using
End Sub
上記で私の環境では、マクロ文字列も動作しています。