[AutoCAD]作業効率が確実にアップする「Lisp」とは
AutoCADの機能で「Lisp」というツールがあります。こちらの機能はAutoCAD LTにはなくレギュラー版のみ使用出来るツールですが、まだ知らない方も多い機能です。「Lisp」とは、正式には「AutoLisp」と言って、「Lisp」をベースとしたプログラミング言語です。作業を高速化するシステムを自分で作成できるコマンドのようなものとも言えます。
「Lisp」の長所
「Lisp」の長所としては、テキストエディタ(メモ帳など)で作成できる点でしょう。プログラミング言語に全く知識がない方でもわかりやすく、インターネットで検索すると便利なコマンドのソースを発見できます。そのソースを貼り付けて保存(拡張子は.lsp)するだけで使う事が出来るため、知識がなくても手軽に使うことができます。
テキストエディタは様々なものがありますが、「Lisp」を使用している方の中でよく選ばれているのが「秀丸」です。Lispに対応しているのはもちろんのこと、AutoCADへドラッグ&ドロップする事でファイルロードの手間を省くことができます。
「Lisp」の書き方
Lispの書き方を説明します。下記のような形になります。
(defun C:○○[])
[]プログラムの内容を書けば動きます。
「○○」については、CADのコマンドラインに「○○」とコマンドを入力すれば、実行するコマンド名になります。
作成したLispファイルは、一度CADにロードさせる必要があります。
ロード方法は、画面左上の赤いマークをクリックし、その中の「オプション」の中から「アドイン」のメニューを選択して下さい。次に、「新規(N)」のボタンをクリックしてファイルを読み込ませると登録(インストール)が完了します。
まず、実際のCADの組み込みコマンドについて説明します。
例えば、線分を描く場合、「線分」コマンドを実行します。その際に、コマンドラインに「_line」と表示されます。この文字が組み込みコマンドです。線分の起点を指示して、最後に終点を指示して、Enterキーもしくは右クリックで作図が終了します。
この動作をLispで書くと
(defun C:Test();線分を引く。
(command “_line” pause pause “”)
)
となります。「;」以降(1行)の文字はプログラムに実行されません。メモ書き(コメントや説明)に使います。
(command “_line” pause pause “”)の部分に注目すると、commandはコマンドラインにコマンドを送る関数です。それ以降の文は、先ほどのCADで線分を引いた手順と同じです。コマンドラインに送る文字は”で囲む必要があり、2つ連続で並んでいる””はEnterキーを意味しています。
この内容を理解できると、使用したいコマンドを一度CADで確認して、その手順通りLispに書くと同じ動作を行うことができます。
インターネットでLispについて検索すると、様々なLispを見つけることができます。動作を繋げてひとつのコマンドとして使えることができますので、よく使う内容は自動的に動作するようにすると作業が高速化します。是非挑戦してみましょう。