AutoLISPとは:AutoCAD自動化で使うLisp系言語の特徴と学習判断
AutoLISPは、AutoCADの作図作業や図面処理を自動化するために使われてきたLisp系の言語です。汎用Lispとして単独で学ぶものではなく、AutoCADのコマンド、図形、選択セット、画層、属性、ダイアログ、既存図面資産と一体で理解する必要があります。AutoCAD業務を自動化したい人には価値がありますが、AutoCADに関わらない人が最初に学ぶ言語ではありません。
向く人:AutoCADの繰り返し作業を自動化したい設計者、CAD管理者、図面処理ツールを保守する人。
避ける条件:AutoCADを使わず、一般的なアプリ開発やWeb開発のためにLispを学びたい場合。
- AutoLISPはAutoCAD拡張・自動化のためのLisp系言語です。
- 図形選択、コマンド実行、属性編集、作図補助、図面チェックに使われます。
- 現行AutoCADでの対応範囲、AutoCAD LTでの対応差、Visual LISP機能は利用する製品・版の公式ドキュメントで確認してください。
- 複雑な業務ロジックや外部連携では、.NET APIやObjectARXなども比較対象になります。
- 古いLISP資産を保守する場合は、図面ルール、CAD標準、AutoCADバージョン差を確認します。
| 項目 | 内容 |
|---|---|
| 名称 | AutoLISP |
| 分類 | AutoCAD拡張、Lisp系スクリプト/DSL |
| 主な用途 | 作図自動化、図面チェック、属性編集、コマンド補助 |
| 実行環境 | AutoCADおよび対応製品。対応範囲は製品/版で確認 |
| 関連技術 | Visual LISP、DCL、AutoCAD .NET API、ObjectARX |
| カテゴリ | 関数型・Lisp・配列 |
カタログ補足
Section titled “カタログ補足”- 参考URL: 一次資料候補(確認待ち)
AutoLISPでできること
Section titled “AutoLISPでできること”| 用途 | 例 |
|---|---|
| 作図補助 | 決まった図形や注記を自動配置 |
| 図面チェック | 画層名、線種、文字高、属性値を確認 |
| 属性編集 | ブロック属性や表題欄を一括更新 |
| コマンド短縮 | 複数のAutoCAD操作を1コマンド化 |
| データ抽出 | 図面内の数量や文字情報を取り出す |
| CAD標準化 | 社内ルールに沿った作図を支援 |
AutoLISPと他のAutoCAD拡張
Section titled “AutoLISPと他のAutoCAD拡張”| 選択肢 | 向く用途 | 注意点 |
|---|---|---|
| AutoLISP | 小〜中規模の作図自動化、既存資産保守 | AutoCAD依存が強い |
| Visual LISP | IDE、ActiveX連携、やや高度な処理 | 対応範囲を確認 |
| DCL | AutoLISP用ダイアログ | UI表現は限定的 |
| .NET API | 大規模ツール、外部連携、保守性 | C#などの開発環境が必要 |
| ObjectARX | 高度なネイティブ拡張 | C++とAutoCAD内部知識が必要 |
既存AutoLISPがあるなら、すぐ.NETへ全面移行する必要はありません。処理の規模、保守者、AutoCADバージョン、外部連携、UI要件を見て判断します。
学習する順番
Section titled “学習する順番”- AutoCADの基本操作とコマンド
- AutoLISPの式、リスト、関数呼び出し
- 図形選択とエンティティデータ
- 画層、線種、文字、ブロック属性
- コマンド定義
- エラー処理と戻し方
- Visual LISP/DCL/.NET APIとの役割分担
失敗しやすい点
Section titled “失敗しやすい点”- AutoCADの図面ルールを知らずにコードだけ書く
- 既存図面の単位、画層、ブロック名を固定値で決め打ちする
- バージョン差やAutoCAD LT対応差を確認しない
- 図面を変更する処理にバックアップや戻し方がない
- 文字列処理だけで図形情報を扱おうとする
- 会社固有のCAD標準をドキュメント化しない
次に読む記事
Section titled “次に読む記事”追加調査で押さえる実務ポイント
AutoLISPは、AutoCADのコマンド、図形データ、選択セット、画層、属性、ブロックなどを操作して作図業務を自動化するLisp系言語です。単独の汎用Lisp処理系として選ぶものではなく、AutoCADの版、製品種別、図面仕様、セキュリティ設定と一体で使います。最初に対象AutoCAD 2026で必要な関数が利用できるか確認してください。
向く作業
- 定型作図
- 図形一括変更
- 画層整理
- 属性集計
- ブロック配置
- 図面チェック
- 既存LSP資産の保守
実行モデル
.lspへコードを書き、AutoCADへロードし、コマンドラインやイベントから関数を呼び、図面データベースを操作します。
最小例
(defun c:HELLO ( / )
(princ "\nHello AutoLISP")
(princ)
)
AutoCADでHELLOを実行すると文字列を表示します。Common LispやSchemeの処理系ではそのまま動きません。
主なAPI
entget: 図形データ取得entmod: 図形データ変更ssget: 選択セットcommand: AutoCADコマンド呼び出しgetpoint: 点入力tblsearch: テーブル検索
他の拡張方法
| 方法 | 向く用途 |
|---|---|
| AutoLISP | 小〜中規模の作図自動化 |
| .NET API | 大規模プラグイン |
| ObjectARX | C++による低レベル拡張 |
| スクリプト | 単純なコマンド列 |
| APS | クラウド・Web連携 |
セキュリティ
LSPはコードです。配布元、署名、TRUSTEDPATHS、SECURELOAD、自動ロード、外部EXE、書き込み先を確認します。
既存LSPの保守
AutoCAD版、OS、DCL、VLX、FAS、自動ロード設定、サンプル図面、入力と期待結果を記録します。元図面を複製し、Undo境界とエラー処理を確認します。
よくある失敗
図面の直接上書き、版差の無視、グローバル変数汚染、OS依存パス、空の選択セット、単位・座標系の混同、外部LSPの無検証ロードです。
学習順
S式、リスト、defun、ローカル変数、AutoCADコマンド、点・距離、選択セット、DXFデータ、エラー処理、DCLの順で進みます。
参考リンク
- help.autodesk.com - AutoLISP公式導入
- help.autodesk.com - AutoCAD 2026開発資料
- help.autodesk.com - 公式チュートリアル
AutoLISPとは:AutoCAD自動化で使うLisp系言語の特徴と学習判断 の分類軸
このページ自身のcanonical taxonomyに記録された値を、対象を読み分けるための補助線として示します。
| 分類項目 | この対象の登録値 |
|---|---|
category | 関数型・lisp・配列 |
primary_uses | autocad拡張、関数型・lisp・配列 |
この分類値はcanonical databaseの対象固有スナップショットです。現在の実装仕様、互換性、安全性、可用性、成果を保証するものではありません。