AutoLISP

From Wikipedia, the free encyclopedia

登場時期 1986年1月 (39年前) (1986-01)
設計者 デビッド・ベッツ
開発者 オートデスク、Basis Software
AutoLISP
パラダイム 関数型手続き型リフレクションメタプログラミング
登場時期 1986年1月 (39年前) (1986-01)
設計者 デビッド・ベッツ
開発者 オートデスク、Basis Software
最終リリース 13/ 1995年2月 (30年前) (1995-02)
型付け 動的
方言 Vital-LISP, Visual LISP
影響を受けた言語 LISPXLISP英語版
プラットフォーム Linux
関連言語 LISP
テンプレートを表示

AutoLISPプログラミング言語LISPの方言である。AutoCADとその派生(AutoCAD Civil 3D、AutoCAD Map 3D、AutoCAD Architecture、AutoCAD Mechanicalなど)で使用するために作成された[1]。AutoLISP関数の一部は、ブラウザベースのAutoCAD Webアプリに含まれている。

AutoLISPは、ガベージコレクション、不変リスト構造、設定可能なシンボルを備えた、動的スコープ動的型付けを持つ小型のLISP方言である。マクロシステム、レコード定義機能、配列、可変数の引数を持つ関数、letバインディングなどのLIPSに一般的な機能は備えていない。 コア言語を除けば、プリミティブ関数のほとんどは、ジオメトリ、AutoCADの内部DWGデータベースへのアクセス、またはAutoCADでのグラフィカルエンティティの操作に使用される。これらのグラフィカルエンティティのプロパティは、AutoLISPに連想配列として公開される。連想配列では、定義ポイント、半径、色、レイヤー、線種などのプロパティを示すAutoCADグループコードと値がペアになっている。AutoCADは、.LSPファイルからAutoLISPコードを読み込む[2]

AutoLISPコードは、プリミティブ関数を使用してAutoCADのグラフィカルエディターを通じてユーザーと対話できる。プリミティブ関数を使用すると、ユーザーはポイントを選択したり、画面上でオブジェクトを選択したり、数値やその他のデータを入力したりできる。AutoLISPには、AutoCAD内で自動レイアウトのモーダルダイアログボックスを作成するための、グラフィカルユーザインタフェース(GUI)またはドメイン固有言語(DSL)であるダイアログコントロール言語英語版も組み込まれている[2]

歴史

AutoLISPは、デビッド・ベッツによって作成されたXLISP英語版の初期バージョンから派生したものである[3]。この言語は、1986年1月にAutoCADバージョン2.18で導入され、1995年2月のリリース13まで、リリースごとに機能強化が続けられた。その後、オートデスクVisual Basic for Applications (VBA)、.NET FrameworkObjectARX英語版などのより流行の開発環境を優先し、オートデスクによる開発は放棄された。しかし、AutoLISPはAutoCADの主要なユーザーカスタマイズ言語であり続けている。

統合開発環境(IDE)、デバッガコンパイラ、およびActiveXサポートを含むAutoLISPの大幅に強化されたバージョンであるVital LISPは、サードパーティ開発者のBasis Softwareによって開発および販売された。Vital LISPは、既存のAutoLISP言語を包括しており、AutoCADオブジェクトモデル、リアクター(AutoCADオブジェクトのイベント処理)、一般的なActiveXサポート、およびその他の一般的なLisp関数へのVBAのようなアクセスが追加された。オートデスクはこれを買収し、Visual LISPと改名し、1997年5月にリリースされたAutoCADリリース14のアドオンとして短期間販売した。これは、1999年3月にリリースされたAutoCAD 2000にAutoLISPの代替として組み込まれた。それ以降、オートデスクはVisual LISPへの主要な機能強化を中止し、VBAと.NET、およびC++に注力してきた。2014年現在、オートデスクはユーザーによるカスタマイズのためにVBAから.NETに変更するという長期プロセスの一環として、7.1より前のバージョンのVBAのサポートを終了した[4][5]

AutoLISPは非常に強い支持を得ているため、他のCADアプリケーションベンダーも自社製品にAutoLISPを追加している。BricsCADIntelliCAD、DraftSightなどにはAutoLISP機能があるため、AutoLISPユーザーはAutoCADの代替としてこれらを使用することを検討できる。AutoCAD 2000以降、AutoLISPに関連する開発のほとんどは、元のAutoLISPエンジンがVisual LISPエンジンに置き換えられて以来、Visual LISP内で行われている。AutoLISPまたはVisual LISPを使用して開発されたユーティリティやアプリケーションは数千に上る(LSP、FAS、VLXファイルとして配布)[6][7]

脚注

外部リンク

Related Articles

Wikiwand AI