AutoCADで何度も同じ作業を繰り返していると悩み、マクロやスクリプト、APIの活用に難易度の高さを感じている方も多いのではないでしょうか。それなら、AutoCAD専用のプログラミング言語である「AutoLISP」を活用するのがおすすめです。
そこでこの記事では、AutoCADのLISP(AutoLISP)について、基本的な準備や導入手順、構文ルールをわかりやすくまとめました。使い方はもちろん、サンプルコードも掲載しているので、AutoLISPを使いこなす参考にしてみてください。
AutoCADのLISP(AutoLISP)とは
AutoCADのLISP(正式名称はAutoLISP)とは、AutoCAD上で作業を自動化できるスクリプト言語(プログラミング言語)です。自動化の手法としてよく用いられているVBAやスクリプトより軽量で、起動も速いため、建築・設備・土木・製造など幅広い分野で使われています。
AutoCADには、図形を挿入・修正するといったコマンドが搭載されていますが、すべて手作業で繰り返し操作するのは非常に手間です。一方でAutoCADのLISPを使えば、コマンドの連続処理や複雑な設定変更を、ワンクリックで実行できます。
なお、AutoCADのLISPは、ソフト上に標準搭載されているため、外部ツールを追加する必要がありません。初心者からでも学習しやすいプログラミング言語であるため、AutoCADを効率よく利用したい方におすすめです。
また、AutoCADのソフト自体の概要からチェックしたい方は、以下の記事もご参考ください。
AutoCAD LISP(AutoLISP)でできること
AutoCADのLISPでできることは、想像以上に幅広いのが特徴です。
以下に、具体的にできることをシーンに分けてまとめました。
| 作業内容 | 自動化できる処理の例 |
|---|---|
| 図面の修正 | 文字スタイル・線種・寸法の一括変更 |
| 図枠の処理 | 図枠・タイトル欄・印刷設定の自動作成 |
| レイヤー管理 | 指定レイヤーの自動ON/OFF・作成・削除 |
| 属性の編集 | ブロック属性の一括変更・出力 |
| 図面の出力 | 複数ファイルのPDF・DXF出力 |
イメージとしては、「人間が繰り返し行う操作」をすべて自動化できると考えてください。
さらにAutoCADのLISPでは、条件分岐(if)、繰り返し処理(repeat・while)、ユーザー入力(getpoint・getreal)といったプログラミング的な制御も可能です。細かな設定を与えつつ自動化ができるため、判断が必要な作業についても効率化を実現できます。
また、AutoCADを導入したばかりでソフトの操作自体がわからないのなら、AutoCADの基本操作や使い方から学習するのがおすすめです。効率的に使い方をマスターしたい方は、プロの講師から実践的な使い方を学べる以下のセミナー講習を受講してみてください。
| セミナー名 | AutoCAD基礎セミナー講習 |
|---|---|
| 運営元 | GETT Proskill(ゲット プロスキル) |
| 価格(税込) | 27,500円〜 |
| 開催期間 | 2日間 |
| 受講形式 | 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング |
AutoCADのLISPの基本知識(準備・使い方)
AutoCADのLISPをはじめて利用する方向けに、準備や使い方に関する基本知識を紹介します。
- Visual LISP(VLISP)エディタの起動方法
- LISPのロード方法と自動ロード設定
Visual LISP(VLISP)エディタの起動方法

AutoCADのLISPは、ソフト上に標準搭載されている機能であり、以下の手順で簡単に起動できます。
- AutoCADを起動する
- 「管理>アプリケーション>Visual LISP エディタ」をクリックする
- 以下の画面が表示されれば起動完了

また、AutoCADのLISPはコマンドラインに「VLISP」と入力するだけでも起動できます。
LISP(.lsp)のロード方法と自動ロード設定

作成したLISPファイルをAutoCADで使うには、「ロード」する必要があります。
以下にロード方法をまとめました。
- .lsp拡張子をAutoCAD上にドラッグアンドドロップする
- 「管理>アプリケーション>アプリロード」から選択する
また、頻繁にAutoLISPを使う場合には、AutoCAD起動時に自動ロードできるように設定するのがおすすめです。以下に設定手順を整理しました。

- コマンドラインに「APPLOAD」と入力する
- 自動ロードしたい.lspを選択する
- 右下の「内容」をクリックする
- 新しく表示されたウィンドウの「追加」をクリックする
これで、AutoCADを起動するたびに指定した.lspのデータが読み込まれるようになります。
また、AutoCADのLISP以外の方法で自動化ができないか気になっている方は、以下の記事もチェックしてみてください。
AutoCADのLISPの基本文法と構文ルール
AutoLISPを理解するうえで最も大切なのが、「文法(構文)」です。
LISPは独特の丸カッコ構造をもつため、最初は難しく見えますが、一度ルールを掴めば「自動化の仕組みを自分でつくり出せる」ようになります。
以下に、基本構文のポイントを整理しました。
| 記述ルール | 概要・例 |
|---|---|
| すべて「カッコ」で囲む | (function argument1 argument2 … ) |
| 独自の処理をつくるときは「defun」を用いる | (defun c:hello () (princ “\nHello AutoCAD!”) (princ) ) |
| 変数に値を代入する場合は「setq」を用いる | (setq a 100) (setq b 200) (setq sum (+ a b)) (princ sum) |
| 「もし〜なら」「何回も〜する」を設定したいなら「if」「repeat」を用いる | (setq num 5) (if (> num 3) (princ “大きい”) (princ “小さい”) ) |
| コメントを残したい場合には「;」を置く | (princ “test”) ; ここにコメントを書く |
いきなりサンプルコードを見て勉強するのも良いのですが、理解しながらAutoCADのLISPを使いたいのなら、構文の基本を押さえておくことが大切です。ぜひ上記の内容をもとに、後述するサンプル集の内容にも目を向けてみてください。
AutoCADのLISPで使えるコマンド・関数一覧
AutoLISPには、AutoCADの操作を自動化するために設定する数百種類の「コマンド」「関数」が用意されています。以下に、用途別の便利なコマンド・関数を整理しました。
| 用途 | 関数 | 概要 | 使用例 |
|---|---|---|---|
| 図形操作 | (command) | AutoCADの標準コマンドを呼び出す | (command “LINE” p1 p2 “”) |
| (entmake) | 図形を直接生成する | (entmake ‘( (0 . “CIRCLE”) (10 0.0 0.0 0.0) (40 . 10.0) ) ) |
|
| (entdel) | 図形を削除する | (entdel (car (entsel))) | |
| 変数・データ処理 | (setq) | 変数に値を代入する | (setq a 100) |
| (getvar) | システム変数の値を取得 | (getvar “CLAYER”) | |
| (getpoint) | ユーザーから座標を取得 | (setq p1 (getpoint “\n始点を指定: “) ) |
|
| ファイル入出力・外部連携 | (open) | ファイルを開く(読み込み・書き込み) | (open “C:/temp/sample.txt”) |
| (close) | ファイルを閉じる | (close file) |
なお、上記の関数やコマンドはあくまで参考となります。
ほかにも複数の関数などが用意されているため、AutoCADのLISP用に準備されている公式リファレンスなどをチェックするのがおすすめです。
AutoCADのLISPで活用できる実践サンプルコード集
AutoCADのLISPを理解したら、実際に本項で紹介する「サンプルコード」を用いながら、どのように動作するのかをチェックしていきましょう。ここでは、図形の自動挿入・図枠作成・レイヤー設定といった、現場でよく使う3つの自動化コードを紹介します。
- LISPで図形(線分・円など)を挿入する
- LISPで図枠を自動作成する
- LISPでレイヤーを一括設定(追加)する
LISPで図形(線分・円など)を挿入する

以下のLISPのコードを用いれば、任意で座標位置を指定して線分を引くことが可能です。
(setq pt1 (list 100.0 100.0))
(setq pt2 (list 300.0 100.0))
(setq pt3 (list 300.0 200.0))
(setq pt4 (list 100.0 200.0))
(command “LINE” pt1 pt2 pt3 pt4 “C”)
たとえば「setq」で4点の座標を設定し、「command」でLINE(線分)を呼び出して、各線を結ぶという仕組みで、上記のコードが実行されます。
LISPで図枠を自動作成する

前項の応用として、線分で図枠を作成するサンプルコードをまとめました。
;; === 基本パラメータ ===
(setq width 4200) ; A3 横幅
(setq height 2970) ; A3 高さ
(setq margin 300) ; 内側の距離(mm)
;; === 外枠 ===
(setq pt1 (list 0 0))
(setq pt2 (list width 0))
(setq pt3 (list width height))
(setq pt4 (list 0 height))
(command “LINE” pt1 pt2 pt3 pt4 “C”)
;; === 内枠(外枠から300mm内側) ===
(setq ipt1 (list margin margin))
(setq ipt2 (list (- width margin) margin))
(setq ipt3 (list (- width margin) (- height margin)))
(setq ipt4 (list margin (- height margin)))
(command “LINE” ipt1 ipt2 ipt3 ipt4 “C”)
項目を3つに分けましたが、まずは図枠サイズの基本設定(A3横サイズ)を「setq」で準備しました。これに対し、外枠・内枠の情報をそれぞれ「setq」で取り込んでいるのが全体の構造です。
今回、高さ(height)・幅(width)・距離(margin)と分けて準備しており、それぞれ計算にもとづいて位置取りを求めるつくりになっています。数値計算的に位置決めを設定できるため、さらに細かな図枠を用意することも可能です。
LISPでレイヤーを一括設定(追加)する

以下は、AutoCADで用いるレイヤーを追加するためのLISPのコードです。
(command-s “._LAYER”
“N” “追加レイヤー1”
“C” “red” “追加レイヤー1”
“L” “Dashed” “追加レイヤー1”
“LW” “0.50” “追加レイヤー1”
“”
)
(command-s “._LAYER”
“N” “追加レイヤー2”
“C” “blue” “追加レイヤー2”
“L” “Dashed” “追加レイヤー2”
“LW” “0.35” “追加レイヤー2”
“”
)
「追加レイヤー1(赤色・0.50mm)」と「追加レイヤー1(青色・0.35mm)」を読み込ませるサンプルコードであり、このコードを自動設定にしておけば、AutoCADを起動してからレイヤーを設定するといった手間を省けます。
製造・工場系の設計では、レイヤー情報の統一が必要になるケースも多いため、あらかじめレイヤー追加のプログラムを用意しておくのがおすすめです。
AutoCADのLISPをさらに使いこなすテクニック
AutoCADのLISPを基礎から理解したら、次のステップは更なる活用テクニックをマスターしていくことです。以下より紹介する2つの活用法を覚えたら、AutoCADのLISPを「単なる補助」から「完全な業務効率化」に進化できます。
- 外部データと連携する(Excel・CSV・外部 DBなどの読み書き)
- 生成AIでプログラミング言語をコーディングする
外部データと連携する(Excel・CSV・外部 DBなどの読み書き)
AutoCADのLISPで、外部データを読み込む仕組みを加えることで、次の連携が可能になります。
- 設計情報の一括登録
- 図形属性の自動反映
- 設備情報の連動
たとえば「open」の関数を用いれば、csvデータの読み込みなどもでき、数量表や部品表などを図面上に自動反映することも可能です。csvデータを編集すれば、すぐにAutoCAD上でも情報の一括変更ができるため、情報入力の二度手間を減らしたい方におすすめです。
生成AIでプログラミング言語をコーディングする
AutoCADのLISPは、自身の手でひとつずつプログラムを構築していく必要がありますが、最近ではChatGPTやGeminiといった生成AIを用いることで、コードを自動生成できるようになってきました。
たとえば、AutoLISPのマニュアルデータを読み込ませて「○○を動作させるコードを提案して」と指示するだけで、コピペで使えるサンプルコードをつくり出してくれます。
ただし、一度の指示で完全なものをつくるのは簡単ではありません。
何度も問題点を伝えて改良を加えることで、実際に動作するプログラムを組むことが可能です。
AutoCAD初心者がLISPを学習する方法

AutoLISPは、AutoCADを効率化する上で非常に強力なプログラミング言語ですが、「どうやって勉強を始めたらいいかわからない」という声も多いでしょう。
ここでは、初心者がつまずかずにLISPを学ぶためのステップを紹介します。
- 書籍や公式リファレンスなどで仕組みを理解する(文法と関数の基礎)
- 実際に動かしてみる(VLISPエディタで練習)
- 動画コンテンツを活用して苦手部分を克服していく
基本的には、上記の流れでAutoCADのLISPの初心者から中級者へとレベルアップできます。
しかし、独学が苦手な人の場合には、上記の流れを進めることが簡単ではありません。
そこでおすすめなのが、AutoCADのLISPの基礎・応用知識を学べるセミナー講習からスタートする方法です。次のようなセミナー講習でプロの講師から実践的なスキルを学ぶことにより、独学よりも効率よくAutoCADのLISPに関する理解度を深められます。
セミナー名 AutoCAD自動化セミナー 運営元 GETT Proskill(ゲット プロスキル) 価格(税込) 27,500円〜 開催期間 2日間 受講形式 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング
AutoCADのLISPについてよくある質問
AutoCADのLISPについてよくある質問をまとめました。
AutoCADのLISPについてまとめ
AutoCADのLISPは、ソフトを効率化したい人にとって欠かせないプログラミング言語です。
基本的な構文を理解して、サンプルコードを動かすだけで、図面作成のスピードと正確性が格段に上がるため、まずは基礎構文の学習からスタートしてみてはいかがでしょうか。
また、初心者のうちは、「小さな自動化」から始めるのが上達のコツです。
線を引く、図枠を挿入する、レイヤーをまとめるなど、身近な作業から自動化してみましょう。