Polymorphism

AutoCAD をプログラムによってカスタマイズする方法についてご紹介!

AutoLISP
AutoLISP


ホーム > 技術情報 > 開発・カスタマイズ情報 > プログラムによるカスタマイズ > AutoLISP


 概要
AutoLISPはAutoCADを使いやすくするためのAPI(アプリケーション プログラム インターフェース)です。図形やシンボルテーブルをプログラムで操作できることはもちろん、コマンド実行やAutoCADに特化したユーザ入力の制御なども行なえます。特に、ユーザインターフェースの制御の種類は多く、AutoCADのユーザ入力環境と同様の入力方式が実現できるような多くの関数を提供しています。



特徴:
 ・簡単にご利用できます
 ・安全な運用が可能です
 ・便利なデータ形式があります
 ・高度な設計や開発が可能です
 ・ObjectARXとの連携ができます
 ・他のシステムとの連携は苦手です




簡単にご利用できます
AutoLISPはコンパイルやリンクが不要のインタプリタ形式です。そのため、各AutoLISP関数はAutoCADのコマンド行からも実行できるので開発作業を簡単に進められ、メンテナンスや編集作業が手軽に行なえます。


安全な運用が可能です
AutoLISPはその性質上、AutoCADのコマンドと変わらない位置付けで内部的に動作しています。そのため、プログラムがエラーを起こしてもAutoCADのシステムに支障をきたすことはまずありません。


便利なデータ形式があります
プログラム内で変数を使用する場合、面倒な宣言や手続きは一切不要です。そのためメモリ管理に関するわずらわしい考えをする必要はありません。さらに、同じ変数に異なる型のデータを格納することも可能です。思いついた変数名を直感的に使用することができます。
また、AutoLISPによる図形等の管理はLISP言語特有の「リスト」形式のデータを採用しています。「リスト」形式のデータは、複数のデータをまとめて1つのデータとして扱うことができます。さらに、「リスト」の中に格納できるデータの形式や数に制限がないため、どのようなデータ形式もこの「リスト」形式で表現することができます。もちろん、「リスト」形式データもメモリ管理は不要です。


高度な設計や開発が可能です
基本的なAutoCADのユーザインターフェースを制御する関数が多く用意され、AutoCADと同じ入力の形式を簡単に実現できます。また、低レベルのグラフィック描画や、カーソルの動きをリアルタイムに取得するなど特殊なユーザインターフェースの制御まで可能です。


ObjectARXとの連携ができます
ObjectARXとの連携が密に可能です。ObjectARXプログラムの特定の機能(ユーザ定義関数)を呼び出し、AutoLISP上で使用することができます。このとき、データの受け渡しの形式や数も設計できます。「特徴4」で説明した機能制限はこの手法ですべて解決できます。


他のシステムとの連携は苦手です
AutoLISPによるAutoCAD以外の外部とのアクセスは、テキストファイルの読み書きだけになります。OSに依存した機能の利用やWindowsのAPIなどを利用することはできません。AutoLISPはあくまでもAutoCADの中でのみ利用するAPIです。そのため、AutoCAD以外のシステムとの連携は苦手です。