あと数年で 40 年を迎える AutoCAD。その歴史の中で、AutoCAD を拡張するために用意されている API(Application Programming Interface)も継続して進化を続けています。
※ AutoCAD 2021 は誕生から 38 年目の製品です。
カスタムコマンドの作成から業務アプリケーションとのデータ連携まで、設計業務を取り巻く環境で強みを発揮しますが、その習得には少し時間が必要かと思います。なぜなら、プログラム知識の他に、一定程度、AutoCAD の機能や操作上の振る舞いを把握していないと、使いにくいコマンドを作ってしまう原因にもなるためです。
「AutoCAD の機能を知らずに、AutoCAD の標準コマンドと同じ機能を持つカスタムコマンドを API で作ってしまった」、といった例もあります。また、「後年の AutoCAD に使い勝手のよい機能が追加されても、古い時期に API で開発した同等機能のカスタマイズ資産を使い続けている」、といった例も少なからず耳にすることがあります。
例えば、部品表を作図する機能は、データ書き出し(AutoCAD LT では利用不可)で実現することが出来ます。データ書き出しが自社業務に合わない場合には、独自のルールを盛り込むカタチで、API を使って表オブジェクトを作図するカスタムコマンドを作ってしまうことも出来ます。表オブジェクトを使えば、表の編集や更新が容易になったり、計算式を埋め込むなど、高度な運用も可能になります。AutoCAD で API を提供するのは AutoCAD の機能を補っていただくのが目的なので、やはり、定期的な運用の見直しは必要かと思います。
それでは、どういった方法で API を使ったカスタマイズに、習得、着手していけばいいのでしょう?
AutoCAD 自体をあまりご存じない場合には、OPTIONS[オプション] コマンドで AutoCAD の設定項目を確認してみてください。ソフトウェア全般をおおまかに把握したい場合には、どのような設定項目があるのかを理解するのが近道です。
AutoCAD の場合、設定値の多くがシステム変数に格納されています。「システム変数にどのようなものがあるか」、「値を書き込むことで設定が可能なのか」、を確認すると、API でコントロール可能な範囲がおぼろげながら把握できます。同時に、数多く用意されている標準コマンドの内容を見ておくことで、重複する機能の作成の防止につながります。
もちろん、システム変数とコマンドの一覧は、オンラインヘルプからたどり着くことが出来ます。
特定の手順に沿った複雑な処理が必要なら、API の使用を検討すべきです。5 つある AutoCAD API の詳細は、オンライン ヘルプの「開発者用ドキュメント」からアクセス出来ます。
ただ、個々の API の開発者用ガイドに目を通すのは至難の業です。おそらく、次に課題になっていくのは、どの API を使用すべきなのか? という点です。
おすすめの API という意味では、習得が容易な Visual Basic 言語が使える VBA(ActiveX オートメーション、COM API)が適切でしょう。ただし、VBA では マクロ という単位でカスタム コマンドを作成することが出来ません。
カスタム コマンドの作成が可能で、パレットやリボンといったインタフェースも API で利用することをお考えなら、AutoCAD .NET API をお勧めします。
他のアプリケーションやサービスと「接続」することをお考えなら、AutoCAD をインストールしたコンピュータ内の他のソフトウェアとの連携が容易な ActiveX オートメーション/COM API を、インターネットを使ったクラウド連携をカスタム コマンドに取り入れるような場合は AutoCAD .NET API(別名 Managed .NET API)が最適です。
もし、VBA をお使いで、AutoCAD .NET API を使って VB.NET 言語(Visual Basic)で API カスタマイズしてみたい、というご要望をお持ちなら、オンラインヘルプとは別のトレーニング マテリアルも用意されています。
AutoCAD 2022 .NET API トレーニング マテリアル(2021年6月4日追記)
AutoCAD 2021 .NET API トレーニング マテリアル
過去のカスタマイズ資産のうち、業務上、ObjectARX を習得しなければならない、といった場合には、同じくトレーニング マテリアルが利用可能です。
AutoCAD 2022 ObjectARX トレーニング マテリアル(2021年6月4日追記)
AutoCAD 2021 ObjectARX トレーニング マテリアル
少し古いバージョンですが、AutoCAD 2013 時に翻訳した ObjectARX 開発者用ガイドをご参照いただくことも出来ます。基本的な内容は今も変わりないので、ObjectARX の理解を深めるのに役立ちます。
歴史の古い AutoCAD と AutoCAD API。なかなか「とっつきにくい」印象を持たれがちですが、1 つ 1 つの理解と把握が必要なのは製品操作と同じです。
もちろん、開発業務を外部委託する受託開発業務をオートデスク認定販売店にご相談いただく手もあります。自社で開発される場合には、Autodesk Developer Network(ADN)の利用もご検討いただけます。
AutoCAD と AutoCAD API、ぜひ、末永くお付き合いください。 Happy Coding!
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。