見出し画像

AutoCAD / AutoLISP : VLISP と VS Code を比べてみた

AutoCAD 2021 から Auto LISP プログラムの開発に Visual Studio Code が使える様になった。最近はAutoCADのカスタマイズをすることが無く、この機能を試す機会がなかった。AutoCAD Forum でカスタマイズに関する質問があったので、ちょうど良い機会と試してみた。

Visual Studio Code での AutoLISP 開発

これは、オートデスク社のBlog の記事が詳しい。

Visual Studio Code を使った経験があれば、AutoCAD AutoLISP Extension を実装するのは簡単だと思う。実装手順は、Blogの記事内でも説明をしているので参考にするのが良い。ただ、実際にコーディングしてAutoCAD上で走らせるには、AutoLispの開発経験があったほうが良いと思う。でないと、プログラムをAutoCADにLoadするのが、ピンと来ないかもしれない。その場合、チュートリアル: AutoLISP ファイルを作成、ロード、開く(AutoLISP) が用意されているので、それを参照すると良い。

今まで何を使っていたかというと、Visual LISP という開発環境だ。こちらは、AutoCADに組み込まれている。

Visual LISP

こちらは、Auto LISPを使った開発専用のIDE ( Integrated Development Environment/統合開発環境 ) だ。最初は慣れないが、特にLISPでの開発で必要な、文法チェック、対応する括弧の表示とか、コードの整形、コードの色分けなどの機能がちゃんと用意されている。

画像1

唯一残念なのが、日本語だ。デフォルトではフォントが日本語に対応していないので、文字化けをおこす。対応方法はこちら

VS Code と VLISP の比較

画像2

まず、VS Code。文法チェック、対応する括弧の表示とか、コードの整形、コードの色分けなど、一通りの機能はついている。ただ、コードの整形は図の通りで、括弧ごとに改行するような整形オプションは用意されていない。

デバッグも、ブレイクポイントの設定、ウォッチとかも特に悩まずに作業ができる。当たり前だが、日本語も普通に入力できる。

こちらは、VLISP。VS Codeで書いたプログラムをそのまま開いたら、日本語が文字化け。ただ、注釈だけなので実際のコードには問題は無い。

画像4

整形結果が違う。個人的には、VLISPの方が分かりやすくて好き。特に

  (setq	FilterList
	 '((-4 . "<OR")
	   (0 . "LWPOLYLINE")
	   (0 . "LINE")
	   (-4 . "OR>")
	  )

と、いう部分。これで、LWPOLYLINとLINEのどちらか、というフィルタを表しているが、VS Codeだと意識して改行しておかないといけない。些細な手間だが。

結論

ビジュアルはVS Codeの方が映えるのが良いが、使い勝手はほぼ同じ。自分としては、従来通りVLISPで良いと思った。ただ、VS Codeに慣れている人だったら、わざわざVLISPにする必要も無いと思う。

※元のVLISPの環境に戻そうと思ったら、戻し方を忘れていた。開発環境を開くのはどちらも VLISP コマンドだった。違うコマンドにすれば良いのに。

環境を変更するには、LISPSYS (システム変数)  (また忘れると思うのでここに書いておく)

おまけ

AutoLISP について深く調べたい人は、こちらのサイトをお勧めする。

Manual Chair というちょっと皮肉なネーミングだけれど、参考になる。


役に立った!という記事にはぜひサポートお願いします。サポート頂けると大変に励みになります。