AutoCADの繰り返し作業を省略したい、自動化の仕組みをつくりたいと考えているなら、AutoCADに搭載されているプログラミング言語「LISP」を活用しましょう。しかし、LISPの機能のことがよくわからない人も多いのではないでしょうか。
そこでこの記事では、AutoCADに搭載されているLISPについてわかりやすくまとめました。
入門者が覚えておきたい使い方やサンプル集も紹介しているので、LISPの基礎知識を身につける参考にしてみてください。
AutoCADのLISP(AutoLISP)とは
AutoCADのLISPとは、作図や修正、設定作業を効率化するために搭載されているプログラミング言語です。正式名称を「AutoLISP」と言い、AutoCADのアプリ上で使えるのはもちろん、専用のソースコードを書き込むことによって特定の動作を自動で実行できます。
またAutoCADのLISPは、AutoCAD専用に開発されたプログラミング言語です。
AutoCADで使えるコマンドを網羅してソースコードに反映できることから、痒い所に手が届く自動化の仕組みをつくり出せます。
なお、AutoCADのLISPはExcelなどで利用されているマクロと似ています。
仕組み化のためのプログラミング言語に触れたことがある人なら、すぐに使い方を理解できるのが魅力です。
VBA・スクリプト・アクションマクロとの違い
AutoCADには、LISP以外にも次のような仕組み化の機能が備わっています。
- VBA
- スクリプト
- アクションマクロ
どれも同じように作図作業を効率化できる機能ですが、そのなかでもLISPは、AutoCADのコマンドに広く対応できる点、詳細な動作を構築できる点が魅力です。
例えば、VBAやスクリプトはAutoCAD以外のソフトでも利用できることから、一部AutoCADのコマンドに対応していません。またアクションマクロは一連の作業を記録して繰り返す機能ですので、詳細な設定ができない点がデメリットです。
対してAutoCADのLISPはコマンドの反映を網羅しつつ、細かな設定に対応できます。
上記のような仕組み化の機能がもつデメリットをカバーできることから、AutoCADユーザーにおすすめの機能だと言えます。
AutoCADのLISPで実現できること

(command “pline” pt1 pt2 pt3 pt4 “C”)
(setq pt1 (list 30 30))
(setq pt2 (list 30 -30))
(setq pt3 (list -30 -30))
(setq pt4 (list -30 30))
(command “pline” pt5 pt6 “C”)
(setq pt5 (list 30 30))
(setq pt6 (list -30 -30))
AutoCADのLISPを使えば、通常のAutoCADでは実施できない次のような作業を一度にまとめて実施できます。
- 特定のサイズのオブジェクトを挿入する(上画像参照)
- 作成した図形に寸法を掲載する
- 線がはみ出ている部分を自動でトリムする
- ワンクリックで納品データ用のレイヤーを設定する
AutoCADでの操作をすべて自動化できるので、繰り返し作業が多い場合にはLISPを活用するのがおすすめです。
なお、複雑な自動化になるほど記述するソースコードの行数が増えます。
これからAutoCADのLISPを使い始める方は、まずどのような内容を記述していく必要があるのか、計画を立てることからスタートしましょう。
またAutoCADの自動化について詳しく知りたい方は、以下の記事がおすすめです。
AutoCADのLISPの使い方の手順
AutoCADのLISPに初めて触れる入門者向けに、使い方の手順をまとめました。
全体の流れを覚えてしまえばあとはソースコードの書き方を覚えるだけですので、ぜひLISPの全容をチェックしてみてください。
LISPの専用ウィンドウを開く

LISPはAutoCADの「管理>アプリケーション>Visual LISP エディタ」から起動できます。
またコマンドラインに「VLISP」と入力しても同じ画面が開きます。
クリックしてAutoCADのLISPの専用ウィンドウを開きましょう。
プロジェクトを新規作成する

AutoCADのLISPの専用ウィンドウを開いたら、上画像と同じファイルマークをクリックして、プロジェクトを新規作成してください。
また別の方法として「ファイル>ファイルを新規作成」からでも、同じようにプロジェクトを新規作成できます。
ソースコードを書き込む

(setq center (list 300 400))
(setq radius 500)
新規プロジェクトのウィンドウが表示されたら、白枠のなかにLISPの構文などを記述していきます。参考として以下に、ソースコードを書き込む際のルールをまとめました。
- ソースコードは半角括弧である「()」で囲む
- コマンドを記述するときは「””」で囲む
また、決められている関数や、自身で設定した関数などを入力しなければ、うまく動作してくれません。
なお今回記述しているのは、後述するサンプル集にも掲載している円形を表示するLISPのプログラムです。はじめてAutoCADのLISPを利用する人は、上画像と同じ文章を書き、保存コマンドのフロッピーディスクボタンをクリックして、任意の場所に.lspデータを保存してください。
データを保存してAutoCADで読み込む

用意した.lspのデータをAutoCADに反映したい場合には、ワークスペースを開いて保存した.lspのデータをドラッグアンドドロップしましょう。
基本的には、このシンプルな動作だけで設定した動作を実行できます。
参考として、前項で用意したソースコードが反映された画面を以下に掲載しました。

全体の流れさえ覚えていれば、後はソースコードを覚えるだけです。
ぜひさまざまなソースコードを書いてチャレンジしてみてください。
AutoCADのLISP入門者向けのサンプル集

AutoCADのLISPに記述するソースコードの例を知りたいという方向けに、サンプル集をまとめました。
| 用途 | 記述のイメージ | ソースコードの例 |
| 作図ツールを起動して挿入する | (command “コマンド名” 挿入の条件) ※コマンドを起動する (setq 挿入の条件(サイズ等の条件)) ※コマンドのサイズや設定条件を記入する |
座標x300、y400の地点に半径500mmの中心円を挿入する
(command “circle” center radius)(setq center (list 300 400)) |
| レイヤーを編集する | (command “コマンド名” “設定条件”) ※コマンドを起動して条件を決める |
「Layer01」というレイヤーを削除する
(command “-laydel” “N” “layer01” “” “Y”) |
上記のサンプルはあくまで一例ですが、コマンド名の部分を書き換えることにで実行内容を変えられます。
またコマンドを起動したら、数値情報の入力が必要なもの、YES・NOなどの返答が必要なものなど、種類によって対応が変化します。各コマンドの設定内容は、Autodeskの関数リファレンスに掲載されているので、ぜひ上記の例を参考に独学をスタートしてみましょう。
またAutoCADの自動化について興味がある方は、以下の記事で紹介している書籍情報をチェックしてみてください。
AutoCADのLISPのトラブル解決策
AutoCADのLISPを操作するとき、エラーが起きてしまうとお悩みの人も多いでしょう。
参考として、AutoCADのLISPでよく起こるトラブルと解決策をまとめました。
AutoCADのLISPで作成したファイルをロードできない

AutoCADのLISPで作成した.lspのファイルをAutoCADのワークスペースに読み込もうとしたとき、なぜかファイルがロードできない場合があります。
もしかするとそれは、PCのセキュリティ機能が効いているからかもしれません。
もしファイルをドラッグアンドドロップした際に、上画像と同じポップアップが表示されたら「常にロードする」をクリックしてください。
「1回ロードする」「ロードしない」を選ぶと、AutoCADに反映されない場合があります。
日本語文字をコピペすると文字化けする

AutoCADのLISPを作成するときに、ネットなどで参考となるソースコードを見つけて、コピーアンドペーストする人もいます。しかし、そのままコピーアンドペーストすると、なぜか日本語部分だけ文字化けしてしまいます。
これはAutoCADのLISPが日本語に対応していないためです。
日本語にしようとしてもうまく対応できない点に注意してください。
なお日本語入力に対応させたい場合は、AutoCADのLISPのウィンドウで「ツール>ウィンドウの属性>フォント」をクリックし、日本語フォントの設定に変更しましょう。初期設定は海外フォントの設定ですので、最初に変更が必要になると覚えておきましょう。
セミナー講習でAutoCADのLISPを学ぼう

AutoCADのLISPは、作図や設定の自動化に役立つ便利な機能ですが、使い方を覚えなければ最大限に活用できません。また、Autodeskで公開されているリファレンスが難しく、独学ができないという人も多いでしょう。
それならまずは、AutoCADのLISPを学ぶために、セミナー講習に参加してみてはいかがでしょうか。例えば「実践的に学べるAutoCAD自動化セミナー」では、次のようなことを学べます。
- AutoLISPを利用した図面作成の自動化
(変数・AutoCADコマンド実行・ユーザー入力など) - AutoLISPを利用したプロパティの自動編集
(関数作成・AutoCADコマンド作成・DXFコードなど) - AutoLISPを利用した図面要素の自動配置
(フォルダのユーザー選択・複数配列・パターン分け・算術演算など)
基礎知識を学習したのちに応用知識を学べるため、入門者でも気軽に参加できます。
ほかにもAutoCADのアクションレコーダ・スクリプト・VBAを使った自動化についても学べるので、ぜひ参加を検討してみてください。
AutoCADのLISPについてまとめ
AutoCADのLISPは作業を効率化する際や、自動化の仕組みを導入したい場合に役立つ機能です。
ただし、活用するためにはLISPの書き方を覚える必要があるほか、仕組みを理解することが欠かせません。
もしAutoCADのLISPをマスターしたいなら、独学をスタートするかセミナー講習でスキルを身につけましょう。AutoCADの操作に手間を感じている方は、ぜひ本記事をきっかけにLISPにチャレンジしてみてください。