AutoCADを利用する際に、何度も同じ作業が発生して面倒に感じていないでしょうか。
それなら、繰り返し作業や一連の動作をまとめて自動化できるAutoLISPを活用しましょう。
この記事では、AutoCADに搭載されたAutoLISPの概要や魅力について解説します。
プログラミング言語の仕組みや関数一覧、ファイルの読み込み方も解説しているので、ぜひ参考にしてみてください。
AutoCADのAutoLISPとは?
AutoCADに搭載されているAutoLISPは、ソフトウェア内のコマンドを組み合わせて自動化の機能をつくり出せるプログラミング言語です。
例えば「図面という名称の新規レイヤーを作成して、円形を挿入する」という一連の動作を実施するとき、通常だと次の手順を踏まなければなりません。
- レイヤーコマンドを起動する
- 新規作成ボタンをクリックする
- レイヤー名称や条件を設定する
- レイヤーウィンドウを閉じる
- 円コマンドを起動する
- 円の挿入位置を決めて中心円や半径情報を入力する
ひとつずつ行動を書き出すと、上記のように複数の作業が必要です。
対してAutoCADのAutoLISPを使えば、次の情報が記載されたデータを読み込ませるだけで上記の作業を完結できます。
(command “-layer” “M” “図面” “”)
; 円を作図するコード
(command “circle” center radius)
(setq center (list 0 0))
(setq radius 1000)
このように、作業の手間をショートカットできるのがAutoCADに搭載されたAutoLISPの魅力です。業務で発生するさまざまな作業に適用できるので、ぜひ自動化を実装してみてください。
より詳しくAutoCADのAutoLISPについて知りたい方は、以下の記事がおすすめです。
AutoCADで利用できるプログラミング言語一覧
AutoCADでは、AutoLISP以外にもさまざまなプログラミング言語を利用できます。
主なプログラミング言語の例を整理しました。
- VBA(正しくはビルトイン言語)
- .NET
- ActiveX
- ObjectARX(C++)
主にMicrosoft社が開発したVBA、.NET、ActiveX、また汎用型のプログラミング言語であるC++を利用して自動化の仕組みをつくり出せます。
システム自体からカスタマイズできる機能があるほか、独自のアドインをつくり出すといった作業も可能です。そのなかでもAutoLISPは、一連の動作を構築することに強みがあるので作業を自動化したい場合には、AutoLISPを選択するのがよいでしょう。
AutoCADのAutoLISPでよく使う関数一覧
AutoCADのAutoLISPでは、主に関数と呼ばれる独自の動作を生み出せる要素(キーワード)を用いて自動化の仕組みをつくり出していきます。参考として以下に、よく使う関数をまとめました。
用途 | 関数の例 |
情報を取得する | ・entsel(オブジェクト選択) ・nentsel(複数オブジェクト選択) ・getstring(文字列選択) ・ssget(図形の選択セット) ・ssname(引数の番号の図形名を取得) ・getvar(システム変数の値を取得) |
編集する | ・setq(変数を定義) ・read(文字列からリストを取得) ・strcat (文字列を接続) |
計算する | ・+(和) ・-(差) ・*(積) ・/(商) |
リストにまとめる | ・list(リストの作成) ・car(リストからひとつの要素を取得) |
実行する | ・commandもしくはcommand-s(AutoCADのコマンドを実行) ・if(条件を決めて実行) ・repeat(回数を設定し、繰り返し実行) |
上記の関数はあくまで一例です。
AutoCADのAutoLISPには数十種類もの関数が用意されているため、詳しくはAutodeskの関数リファレンスをチェックすることをおすすめします。
AutoCADのAutoLISPの操作手順
AutoCADのAutoLISPについて、コーディングをしてCAD上に反映するまでの手順を紹介します。
まずは上画像と同じように「管理>アプリケーション>Visual LISPエディタ」を起動してください。
AutoLISPの専用ウィンドウが表示されたら「ファイル>ファイルを新規作成」からコーディング用のウィンドウを表示しましょう。
続いて実際にコーディングを行います。
今回は「001」というレイヤーを追加するシンプルなコードを記述しました。
(command “-layer” “M” “001” “”)
コードの記述が終わったら「ファイル>名前を付けて保存」より、任意の場所・名前で「.lsp」というデータを保存しました。
最後にAutoCADの画面上へ保存したデータをドラッグアンドドロップすれば、設定した自動化のデータが反映されます。
使い方は非常にシンプルですので、ぜひプログラミング言語の学習をスタートしてみてください。
AutoLISPのロードを自動化する方法
AutoCADのAutoLISPはドラッグアンドドロップで読み込めますが、それに手間を感じる人もいるはずです。もしロード自体を自動化したいなら、次の手順でロード作業も自動化しましょう。
- コマンドラインで「APPLOAD」を実行する
- 表示ウィンドウ内の「内容」をクリックする
- 追加ボタンを押してAutoLISPのデータを読み込む
これでロードの自動化が可能です。
AutoCADを起動するたびに読み込むのが面倒だという方は、ぜひ利用してみてください。
また、AutoCADのAutoLISPでできることを詳しく知りたい方は、以下の記事がおすすめです。
AutoCADのAutoLISPを活用するメリット
AutoCADのAutoLISPを活用することで、従来の作業がどのように変化するのでしょうか。
ここでは業務で役立つメリットを3つ紹介します。
フリー(無料)でプログラミングにチャレンジできる
AutoCADのAutoLISPは、ソフト内に初期から搭載されている機能であり無料です。
AutoCADの導入以外に追加費用を払うことなくチャレンジできるため、業務効率化や自動化に取り組みやすいと覚えておきましょう。
時間のかかる作業を一瞬で対応できる
AutoLISPで自動化のコードを準備すれば、時間のかかる作業を一瞬で対応できるようになります。例えば、次の作業はAutoLISPをロードするだけで瞬時に完了します。
- 図枠を準備する
- 納品用のレイヤーを準備する
- 特定の要素をまとめて書き換える
例えば、AutoCADを用いる設計業務では、国や発注者ごとに図面の様式などが決まっています。
またレイヤー設定についても同様であり、通常だと手作業でひとつずつ設定するか過去データからコピーするといった手間が発生します。
対してAutoLISPを活用すれば、データをロードするだけで完了です。
少しでも作業の手間を削減したい人におすすめします。
ほかのCADソフトにも応用できる
AutoCADのAutoLISPは、当ソフトだけではなく次のようなCADソフトにも応用できるのがメリットです。
- IJCAD
- BricsCAD
- ARES
- DraftSight
- ZWCAD
複数のCADソフトを使い分けている会社の場合には、別のソフトについても自動化の設定を適用できます。AutoCAD単体にしか使えないわけではないので、ぜひAutoLISPを学んでみてください。
AutoCADのAutoLISPのデメリット
自動化に役立つAutoCADのAutoLISPですが、2つのデメリットに気を付けなければなりません。
学習に時間がかかる
AutoCADのAutoLISPはプログラミング言語の知識が欠かせません。
すべての使い方をマスターするためには、長い学習時間が必要になると覚えておきましょう。
特に初学者・初心者はファーストステップでつまずくおそれがあります。
挫折したくないという方は、後述するセミナー購入への参加を検討してみてください。
AutoLISPの情報リサーチが難しい
AutoLISPは専門性が高く難しいことから、ネット検索をしても簡単に解決策が見つかりにくいのがデメリットです。自身で試行錯誤しながら解決の糸口を見つけなければなりません。
もし最適なリサーチの方法や、プログラミングで困らないための知識・スキルを身につけたいなら、セミナー講習でプロからノウハウを学びましょう。
AutoCADのAutoLISPの学習はセミナー講習がおすすめ
「AutoLISPの学習は挫折しそうで不安だ」「すぐに活用したいけれど、なかなか覚えられない」とお悩みの方は、AutoCADの自動化機能について学べるセミナー講習に参加してみるのはいかがでしょうか。例えば次のような人たちにおすすめです。
- まずは自動化がどのようなものなのかを知りたい
- AutoLISPの概要から学びたい
- プロの講師からアドバイスをもらいたい
- 自分でコーディングをしながら学びたい
「実践的に学べるAutoCAD自動化セミナー」では、上記の考えにあてはまる自動化のセミナーを受講できます。2日間という短期間でAutoCADのAutoLISPを理解できるので、興味がある方は会場受講・ライブウェビナー・eラーニングで使い方をマスターしてみてください。
AutoCADのAutoLISPについてまとめ
AutoCADに搭載されたAutoLISPは、ソフト操作時に発生する手入力・手作業をまとめて自動化できる便利なプログラミング言語であり、既存のコマンドを組み合わせながら自動化をカスタマイズできます。
ただし、学習に時間がかかるほか、独学が難しいという点に気を付けなければなりません。
そのため最初の学習は、プロから使い方を学べるセミナー講習をおすすめします。
興味がある方は、ぜひセミナー講習で基礎をしっかりと身につけましょう。
