お知らせ

--------------------------------------------------

プログラム作成/コンサルティングの申し込みはこちら

--------------------------------------------------

2010年4月30日金曜日

.NET の勉強 「AutoCAD コマンド ラインへのアクセス」(AutoCAD 2011)

金曜日なので、.NET の勉強をしました。


AutoLISP では、(command "._LINE" "0,0" "100,100" "") みたいに、COMMAND 関数を使って、コマンド ラインに入力するのと同じ手順を書くことによってコマンドを実行することができますが、同じようなことを .NET でできないか調べてみました。


すると、サンプルにこんなのがありました。

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



さっそくこれをカット&ペーストして確認してみたところ、CRCLE コマンドと ZOOM コマンドが無事実行されました。


SendStringToExecute ってやつで実行するんですね。


試しに、

acDoc.SendStringToExecute("._line 0,0 100,100  ", True, False, False)

を追記してみたら、問題なく線分を作成することができました。

0 件のコメント:

コメントを投稿