AutoCAD 雑学:スクリプト実行時のコマンド バージョン

AutoCAD 2004 以降、それまで 2~4 年毎だったリリース サイクルを改め、AutoCAD は 1 年おきに新しいバージョンがリリースされています。

コンピューティング環境の急速な進化もあり、業界の新機軸となるテクノロジーのが追い風になってきたのは言うまでもありません。同時に、古くから存在している機能にも、さまざまな改良が加えられてきています。

A timeline illustrating the history of AutoCAD from 1982 to 2026, highlighting major releases, operating system compatibility, and bit versions.

最もバージョン毎の変化を感じるのが、AutoCAD の標準コマンドが持つコマンド オプションと思います。ただ、頻繁にコマンド オプションが変わってしまうと、内部的に標準コマンドを呼び出すアドイン アプリなどに影響が出てしまいます。

また、標準コマンドには、同じコマンドでもリボンやツールバーなどの AutoCAD のユーザー インターフェースから実行した場合と、アドイン アプリやスクリプトからコマンド実行した場合で異なる振る舞いをするケースもあります。

後者で最も分かりやすい例は、現在の色を指定する COLOR[色設定] コマンドです。最新の AutoCAD 2026 でユーザー インターフェースから COLOR コマンドをて実行すると、[色設定]ダイアログ ボックスを表示します。一方、たとえば、AutoLISP コード内から (command) 関数を使って COLOR コマンドを呼び出すと、コマンド プロントを表示する COLOR コマンドを実行します。

これは、AutoCAD が、状況に応じて実行するコマンド バージョンを自動的に適切に変化させているための違いです。

逆に、このような振る舞いの差をコントロールしたい場合もあるのも事実です。そのような場面では、スクリプト実行時のコマンド バージョンを使い分け出来るようになっています。

コマンドの実行前に AutoLISP の (initcommandversion) 関数、ObjectARX の acedInitCommandVersion() グローバル関数、あるいは .NET API の Editor.InitCommandVersion メソッドを呼び出すことで、次に実行されるコマンドの内部コマンド バージョンを指定することが出来ます。

スクリプト環境の COLOR コマンドでも、次のようにコマンド バージョン 1 と 2 を切り替えることが可能です。

Screenshot of AutoCAD command input showing two versions of a command prompt. Version 1 displays a command for selecting colors, and Version 2 shows a color selection dialog with various color options.

あいにく、標準コマンドに複数のコマンドバージョンが用意されているか、あるいは、どのコマンド バージョンがどのような振る舞いを持つのか、どのバージョンが最新バージョンなのか、といった情報はオンラインヘルプには記載されていません。ただ、スクリプト実行環境下で次にコマンドがどのコマンド バージョが実行されるかを知るために、ObjectARX に acedGetCommandVersion() グローバル関数、.NET API に Editor.GetCommandVersion メソッドが、それぞれ用意されています。

もし、コマンド プロンプト上のコマンドとスクリプト実行時の動作や結果に差異があるような場合は、コマンド バージョンについて思い出していただければと思います。なお、コマンド バージョンがないコマンドもありますのご注意ください。

例:

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading