Visual LISP

提供:GizmoLabs - だいたい CAD 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 と非互換な部分は報告すると割と早めに対応してくれてる。



関連事項