Lispが使えるCAD
LISP が使える CAD は多数ありますが、先駆者であった Autodesk社 の AutoCAD で使える AutoLISP で構築された資産を活かすために、後発の CAD が AutoLISP 互換の LISP 言語として実装してきたという歴史があるため、CAD で使える LISP = AutoLISP という感じになっています。
で、AutoLISP は1970年代の初期の LISP 言語的仕様な部分があるため近年の開発言語に比べると見劣りする部分はありますが、それでも LISP 的拡張性やプログラム開発の手軽さなど、CAD 内のデータをいじるには十分すぎる機能が備わっています。
LISP が使える CAD とその特徴
以下が、カスタマイズ用の言語として、 LISP が使える CAD ソフトのリストです。(* 無いのがあったら教えて下さい。)
- AresCAD … PowerCAD の後継製品(ではあるものの作り直しされているので別扱いにしています)。AutoLISP 互換の LISP が使えます。IDE は非搭載。(AutoLISP の互換はそこそこ。Visual Lisp の互換は低い。)
- AutoCAD … AutoLISP という言語が使えます。Visual Lisp という拡張された言語で ActiveX(COM) にも対応。IDE は2000以降で搭載されているが、2021以降は VSCode に移行してる。
- BricsCAD … AutoLISP / Visual Lisp 互換の LISP に独自の拡張された関数が使えます。独自機能に対する拡張もされているのでBricsCADのLISPはAutoCADのLISPと互換もありながら進化したものと言えるレベル。IDE も搭載されていて AutoCAD よりもモダンな実装のため高性能。(AutoLISP / Visual Lisp の互換は高い。)
- GstarCAD … AutoLISP / Visual Lisp 互換の LISP が使えます。IDE は非搭載。(AutoLISP / Visual Lisp の互換は高い。)
- IntelliCAD系 … AutoLISP / Visual Lisp 互換の LISP が使えます。IDE は非搭載。(AutoLISP の互換はそこそこ高い。Visual Lisp の互換は若干使える。)
- IJCAD … AutoLISP / Visual Lisp 互換の LISP が使えます。IDE は非搭載。(AutoLISP / Visual Lisp の互換は高い) * 2013 からは GstarCAD ベースで、それ以前は IntelliCAD ベース。
- NanoCAD … AutoLISP 互換の LISP が使えます。IDE は非搭載。(AutoLISP の互換は低め。)
- PowerCAD(旧 FelixCAD) … FLISP という AutoLISP 互換の LISP が使えました。IDE は非搭載。(AutoLISP の互換は低め。) AresCAD の前身
触ってみた雑感
それぞれのCADについて実際に触ってみて感じた点を列挙します。
- AresCAD : 遅い。ちょっと癖がある。
- AutoCAD : なぜかバージョンが上がるごとに遅くなっていってる傾向にあり 2014 で 30秒で処理できていたものが 2024 では 60秒かかったりする。ナゼナノカ。
- BricsCAD : AutoCAD よりも高性能でよりモダンな実装になっている。ソリューション系のデータにアクセスする関数もわりと整備されている。AutoLisp/VisualLISP の部分は、一部の関数や外部定義関数を除けば、ほぼ同様に利用することが出来る。AutoCADとは逆にバージョンが上がるに連れて早くなる傾向がある。AutoCAD2014で30秒かかっていたものが V23で10秒で終わったりする。チョッパヤ!
- IJCAD : AutoCAD の互換機能として存在し一部の関数や外部定義関数を除けばほぼ同様に利用することが出来る。2015以降、処理がだいぶ遅くなった。(利用可能な関数などの情報については、AutoLisp関数互換表 と 追加・変更された AutoLISP 関数 を参照。)