Visual LISP
Visual LISPは、AutoCAD(と一部の互換CAD)で使用可能なプログラミング言語。
素のAutoLISP(バニラLISPともいわれたりする)に比べ以下の点が強化されている。
- AutoCAD においては、Visual LISP の総合開発環境(IDE)が提供されている。(R2000以降、2023以降は Stusio Code が標準。)
 - BricsCAD においては、LISP の総合開発環境(IDE)が提供されている。(V18.2 以降)* Visual LISP のIDEより良いが、日本語対応がいまいちできてない部分がある。
 - AutiveX オブジェクトやリアクターイベントへアクセスできる。
 - ソースコードのコンパイル対応。高速化&高度な暗号化(.fas、.vlx ファイルの生成)* BricsCADでは .des
 - OS のファイルやレジストリ操作系の関数追加。
 - LISP関数の拡張(CommonLisp的関数などが追加されている。)
 - でも &rest も &optional もないけど。
 - 互換CADでも結構使えるようになってきてる。>> AutoLISP#AutoLISP が使えるCADソフト
 
コンパイルの種類は以下のとおり。
- .fas … LISPコードのコンパイル
 - .vlx … LISPやDCLなどファイルセットのコンパイル。
 
Visual LISP の関数は、接頭辞として "vl" が付けられている。
分類すると概ね以下のようになる。
- 接頭辞 … 内容
 - vl- … 拡張されたLISP関数
 - vla- … ActiveX からのトランスポート関数
 - vlax- … ActiveX 関連の関数
 - vlr- … リアクタ関連の関数
 
memo
- ActiveX 関連の関数は、Windows環境のみでサポートされているため、AutoCAD for Mac では使えない(2021時点)
 - ただし、BricsCAD では、マルチOS対応用に VLE-関数や FastCOM 、統合LISPオプティマイザが整備されていて使えるようになっていきている。
 - 互換CADで .fas、.vlx のコンパイルはできるものはない。(2025年3月時点)ので、互換CADに移植する際は元のソースコードが必要。
 - BricsCAD は .des ファイルにコンパイルできる。(コードの効率化も行える。)
 - IJCAD は2013以降 .lsp ファイルでAES暗号化したものにコンパイルできる。(コードの効率化はされない。ベースになっている GstarCAD の機能。)
 
- AutoCAD 2000 より標準搭載された、Visual LISP はサードパーティである Basis Software によって開発・販売されていた Vital-LISP を買収して組み入れたもの。(標準搭載される前に AutoCAD R14 時にアドオンとして販売されていたらしい。)
 - BricsCADのLISPは、OpenLISP をベースに実装されており、AutoCAD の LISP より高性能。VisualLISP と非互換な部分は報告すると割と早めに対応してくれてる。
 
関連事項