AutoLISP入門

AutoCADを自動化したい人必見【AutoLISPを覚えるべきメリット5選】

※当サイトではアフィリエイトおよびGoogle Adsenseの広告を掲載しています。

merit_eyecatch
  • めんどうな作業を少しでも早く終わらせたい
  • ミスをせずに正確な作図をしたい
  • CADの作業を自動化して楽をしたい

めんどうな作業の繰り返しにストレスを感じていないでしょうか。ミスが許されない細かな作図に神経をすり減らしている方も多いはず。そんな方にはAutoCAD専用のプログラミング言語「AutoLISP」がおすすめです。

はこ
はこ

私はAutoLISPを独学で習得し、業務に役立つプログラムの作成を5年以上続けています。数行の簡単なプログラムから1000行以上の複雑なものまで、さまざまなプログラムを作成してきました。

この記事では、AutoCADを自動化したい人がAutoLISPを覚えるべきメリットを解説します。

この記事を読めば、AutoLISPがAutoCADの自動化に最適なツールであることがわかります。メリットだけでなくデメリットも解説するため、納得してAutoLISPの学習を進めることも。記事の後半ではサンプルのプログラムで実際にAutoLISPを体験できます。

とにかくAutoCADの作業を楽にしたい方は最後まで読んでください。

AutoLISPならAutoCADを無料で自動化できます。Mac版や互換CADでも動作するため環境の変化に強く、作成したプログラムが無駄になりません。AutoLISPの習得には日々の積み重ねが重要です。

AutoLISPとはAutoCAD専用のプログラミング言語

merit_image0

AutoLISPとはAutoCAD専用のプログラミング言語です。LISPと呼ばれる言語の一種なので基本的な関数や構造はLISPと同じ。

LISPはAIにも活用されるプログラミング言語

LISP(List Processer)とは60年以上前にジョン・マッカーシーによって開発されたプログラミング言語のこと。プログラムの構造が適しているためAIや自然言語処理などにも活用されています。
>>人工知能で大活躍!今熱い「LISP」の成り立ちとこれから

AutoLISPはAutoCAD専用の言語のため、LISPにはないAutoLISPオリジナルの関数も充実。

たとえば、図面上で特定の図形を選択する「ssget」やAutoCADコマンドを実行できる「command」など、作図に役立つさまざまな関数があります。

ssgetとcommandについての詳細は以下の記事をご覧ください。
>>【ssget】複数の図形をまとめて編集!選択セットを操作するAutoLISP関数6選
>>【作図を自動化】コマンドを実行するAutoLISP関数「command」を解説

はこ
はこ

AutoLISPはAutoCADで楽するために作られたプログラミング言語です。

AutoLISPを覚えるべきメリット5選

merit_image1

AutoCADを自動化したい人がAutoLISPを覚えるべきメリットは次の5つです。

  • AutoCADを自動化できる
  • 無料で使える
  • 既存の機能をカスタマイズできる
  • AutoCADのさまざまなバージョンで使える
  • 互換CADでも使える

AutoCADを自動化できる

AutoLISPならAutoCADを自動化できます。AutoLISPのプログラムがユーザーに代わって作業をしてくれるからです。

図形を描いたりテキストを入力したり、手間のかかるめんどうな作業もあっという間に片付きます。プログラムなので何度繰り返してもミスをしません。

たとえば、以下のような色が異なる200個の円も一瞬で作図できます。

merit_image1-1
はこ
はこ

上記のプログラムについては後述するのでお楽しみに。

速く正確に作業したい人にとってAutoLISPは心強い味方です。

無料で使える

AutoLISPは無料で使えます。AutoCADの標準機能なので追加の料金は必要ありません。

Windows版のAutoCADには専用のエディタも用意されているので、今すぐAutoLISP開発が始められます。ちなみに、専用のエディタは管理タブの「Visual LISP エディタ」から開けます。
>>【入門】AutoLISP開発をはじめよう!Visual LISP エディタの使い方

merit_image1-2

AutoLISPはお金をかけずにAutoCADで楽をしたい方にとって最適なツールです。

既存の機能をカスタマイズできる

AutoLISPならAutoCADの機能をカスタマイズできます。既存の機能を組み合わせてオリジナルの機能を作成したり、AutoCADの環境設定を変更したりできるからです。

たとえば、円を作図するコマンドと四角を作図するコマンドを組み合わせて、円と四角を同時に作図するコマンドが作成できます。

システム変数を書き換えてAutoCADの環境設定を自在に変更することも。
>>AutoCADの環境設定をお手軽にカスタマイズ!便利なシステム変数4選

はこ
はこ

かゆいところに手が届く機能を作成できます。

AutoCADのさまざまなバージョンで使える

AutoLISPはAutoCADのさまざまなバージョンで使えます。

AutoLISPがはじめてAutoCADに実装されたのは約40年前です。最新のバージョンまで実装され続けてきた実績があるため、今後のAutoCADにも実装されるでしょう。
>>最適な AutoCAD API の選択と移植性

ちなみに、AutoLISPはWindows版とMac版の両方のAutoCADでも使えます。
>>概要 - サポートされるプログラミング インタフェース

AutoCADのバージョンやOSに影響されないのはAutoLISPの大きな強みです。

互換CADでも使える

AutoLISPは互換CADでも使えます。 互換CADとはAutoCADと同等の機能を持ちながら安価でコスパの高いCADのこと。

AutoLISPはAutoCAD独自のプログラミング言語なので移植性が高く、さまざまな互換CADに実装されています。

たとえば、以下の互換CADでは一部の機能をのぞいてAutoLISPが使えます。

はこ
はこ

AutoCAD以外のCADでも使える万能なプログラミング言語です。

AutoLISPの2つのデメリット

merit_image2

AutoLISPには多くのメリットがある一方で次のようなデメリットもあります。

  • ネット上にAutoLISPの情報が少ない
  • 多くのカッコ()が必要

ネット上にAutoLISPの情報が少ない

ネット上にはAutoLISPの情報が少ないです。理由はAutoLISPがAutoCAD専用のマイナーなプログラミング言語だから。

メジャーな言語は学習サイトや書籍、オンラインスクールなどが充実しているため覚える手段が豊富です。しかし、AutoLISPの学習サイトや書籍は数えるほどしかありません。他の言語に比べて覚える手段が少ないです。

AutoLISPはわからないことを調べても解決しにくいデメリットがあります。

はこ
はこ

当サイトではAutoLISPに関するご質問を受け付けています。コメントやメールなどでご連絡ください。

多くのカッコ()が必要

AutoLISPは多くのカッコ()を書く必要があります。AutoLISPの式は下記のように必ず両側をカッコで閉じます。

(関数名 引数1 引数2・・・)

実際のプログラムの書き方は次のとおり。式の中に別の式を書いたり複数の式を並べたりするので、どのカッコとペアなのかわかりにくいです。

(関数a
  (関数b
    (関数c 引数1 引数2)
    (関数d (関数e 引数3 引数4))
  )
)

カッコの数が合わないとエラーとなります。とくに右側のカッコはカッコだけが並びやすいので、エラーの原因を探すのも一苦労。

AutoLISPは記述のミスが起きやすいプログラミング言語です。

はこ
はこ

改行やコメントでプログラムを見やすくする工夫が必要です。

AutoLISPを体験してみよう

merit_image4

AutoLISPのすごさを理解するには体験してみるのが一番です。サンプルのプログラムでAutoLISPを体験してみましょう。

プログラムを実行するまでの手順は次のとおりです。

  1. lspファイルを作成する
  2. lspファイルをロードする
  3. プログラムを実行する

①lspファイルを作成する

下記のプログラムをメモ帳などにコピペしてlspファイルを作成してください。lspファイルとはAutoLISPのプログラムが書かれた拡張子が「.lsp」のテキストファイルです。

はこ
はこ

下記のプログラムでは、中心座標と色が異なる円の作図を行x列の数だけ繰り返します。円と同時に画層も作成されます。

(defun c:test
       (
	/
	;ローカル変数定義
	row column xpitch ypitch n x y center color ent
    )

  ;初期値
  (setq row 10)
  (setq column 20)
  (setq xpitch 2)
  (setq ypitch 2)
  (setq n 0)

  ;処理の繰り返し
  (repeat (* row column)

    ;中心座標の算出
    (setq x (* (rem n column) xpitch))
    (setq y (* (fix (/ n column)) ypitch))
    (setq center (list x y))

    ;円と画層の作成
    (setq color (fix (/ n column)))
    (setq ent (list (cons 0 "circle") (cons 10 center) (cons 40 0.5)
                    (cons 8 (itoa (1+ n))) (cons 62 color)))
    (entmake ent)

    ;繰り返しのカウントを1だけ増やす
    (setq n (1+ n))
  )
)

ファイル名は「test.lsp」として保存してください。メモ帳の場合は「ファイルの種類」を「すべてのファイル」にしておかないと拡張子を「.txt」から変更できません。

merit_image3-1
はこ
はこ

保存先はどこでもかまいませんが、今回はデスクトップに保存します。

②lspファイルをロード

作成したlspファイル(test.lsp)をAutoCADの図面上にドラッグします。次のような警告が出てくるので「1回ロードする」をクリックしてください。

merit_image3-2

信頼できる電子署名がないため警告が出ます。作成者がはっきりしている安全なファイルなので、今回は警告が出ても問題ありません。

はこ
はこ

だれが作成したかわからないファイルはロードしないようにしてください。

③プログラムを実行する

lspファイルをロードしたらコマンドラインに「test」と入力してください。test関数が実行されて、色が異なる200個の円と画層が一瞬で作成されます。

merit_image1-1
merit_image3-3

変数row、columnの数値を変更すると作成される円と画層の数が変わります。ぜひいろいろ試してみてください。

AutoLISPを覚えてAutoCADの作業を楽にしよう

merit_image-last

AutoCADを自動化したい人がAutoLISPを覚えるべきメリットを以下にまとめます。

  • AutoCADを自動化できる
  • 無料で使える
  • 既存の機能をカスタマイズできる
  • AutoCADのさまざまなバージョンで使える
  • 互換CADでも使える

AutoLISPの習得には日々の積み重ねが重要です。AutoLISPにふれる機会を増やして、少しでも早い習得を目指しましょう。

AutoLISPの基礎を書籍で学びたい方には「AutoCAD 自動化攻略読本」がおすすめ。初心者向けに解説されており、AutoLISP以外の自動化方法も学べるお得な一冊。とにかくAutoCADで楽をしたい方はぜひご覧ください。

>>【AutoLISPの教科書】AutoCAD自動化攻略読本のメリット5選|おすすめ活用法も解説

-AutoLISP入門

AutoLISPのおすすめ書籍はコチラ
AutoLISPのおすすめ書籍はコチラ