コンテンツにスキップ
PR

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・配列
用途
作図補助決まった図形や注記を自動配置
図面チェック画層名、線種、文字高、属性値を確認
属性編集ブロック属性や表題欄を一括更新
コマンド短縮複数のAutoCAD操作を1コマンド化
データ抽出図面内の数量や文字情報を取り出す
CAD標準化社内ルールに沿った作図を支援
選択肢向く用途注意点
AutoLISP小〜中規模の作図自動化、既存資産保守AutoCAD依存が強い
Visual LISPIDE、ActiveX連携、やや高度な処理対応範囲を確認
DCLAutoLISP用ダイアログUI表現は限定的
.NET API大規模ツール、外部連携、保守性C#などの開発環境が必要
ObjectARX高度なネイティブ拡張C++とAutoCAD内部知識が必要

既存AutoLISPがあるなら、すぐ.NETへ全面移行する必要はありません。処理の規模、保守者、AutoCADバージョン、外部連携、UI要件を見て判断します。

  1. AutoCADの基本操作とコマンド
  2. AutoLISPの式、リスト、関数呼び出し
  3. 図形選択とエンティティデータ
  4. 画層、線種、文字、ブロック属性
  5. コマンド定義
  6. エラー処理と戻し方
  7. Visual LISP/DCL/.NET APIとの役割分担
  • AutoCADの図面ルールを知らずにコードだけ書く
  • 既存図面の単位、画層、ブロック名を固定値で決め打ちする
  • バージョン差やAutoCAD LT対応差を確認しない
  • 図面を変更する処理にバックアップや戻し方がない
  • 文字列処理だけで図形情報を扱おうとする
  • 会社固有のCAD標準をドキュメント化しない

最終更新日:

追加調査で押さえる実務ポイント

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大規模プラグイン
ObjectARXC++による低レベル拡張
スクリプト単純なコマンド列
APSクラウド・Web連携

セキュリティ

LSPはコードです。配布元、署名、TRUSTEDPATHS、SECURELOAD、自動ロード、外部EXE、書き込み先を確認します。

既存LSPの保守

AutoCAD版、OS、DCL、VLX、FAS、自動ロード設定、サンプル図面、入力と期待結果を記録します。元図面を複製し、Undo境界とエラー処理を確認します。

よくある失敗

図面の直接上書き、版差の無視、グローバル変数汚染、OS依存パス、空の選択セット、単位・座標系の混同、外部LSPの無検証ロードです。

学習順

S式、リスト、defun、ローカル変数、AutoCADコマンド、点・距離、選択セット、DXFデータ、エラー処理、DCLの順で進みます。

参考リンク

AutoLISPとは:AutoCAD自動化で使うLisp系言語の特徴と学習判断 の分類軸

このページ自身のcanonical taxonomyに記録された値を、対象を読み分けるための補助線として示します。

分類項目この対象の登録値
category関数型・lisp・配列
primary_usesautocad拡張、関数型・lisp・配列

この分類値はcanonical databaseの対象固有スナップショットです。現在の実装仕様、互換性、安全性、可用性、成果を保証するものではありません。