【AutoCAD】.NETで開発を行おう – パート1 – 10分 –

その他

概要

AutoCADを.NETを用いて、カスタマイズします。今回は、サンプルアプリを作成する入門編です。

AutoCADのコマンドでHellowを打ち込むと “Hellow  World”と表示されるアプリを作成します。

参考にするのは以下の資料です。

VisualStudio 2019でプロジェクトを作成

(1)vbの空のクラスライブラリを作ります

(2)参照には”C:\Program Files\Autodesk\AutoCAD 2022”のacmgd.dll、acdbmgd.dll、accoremgd.dllの3つを指定します。

(3)コードを記入

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime
Public Class Class1
    <CommandMethod (“Hello")>
    Public Sub MyCommand
        Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(
            vbCrLf + "Hello World")
    End Sub
End Class

(4)コンパイル

  • 構成マネージャーで64ビット用のコンパイル環境を作ります。(作らないとワーニングなどが出力されます)
 warning MSB3270: 構築されているプロジェクトのプロセッサ アーキテクチャ "MSIL" と、参照 "accoremgd" のプロセッサ アーキテクチャ "AMD64" の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロセッサ アーキテクチャとの依存関係を参照で設定することを検討してください。
  • コンパイルします。

NETLOADコマンドでdllの読み込み

コンパイルで作成されたdllは、私の場合、以下の場所にあります。

AutoCADを立ち上げて、コマンドでNETLOADコマンドを打ちます。

ダイアログが開くので、作成されたdllを指定します。

HELLOコマンドを実行すると、”Hello World”が表示されます。

補足

dllを再コンパイルしてアップデートしたい場合には、AutoCADを再起動しなければならないようです。

NETUNLOADみたいなアンロードするコマンドはないようです。