- AutoCADの面倒な作業を楽にしたい
- VisualLISPエディタの使い方を知りたい
- CADオペレーターとしてスキルアップしたい
AutoLISPでプログラムを作りたいけど、方法が分からなくてお困りではないでしょうか。マイナーなプログラミング言語なため、情報が見つからずお手上げな方も多いはず。
そもそもAutoLISPってなに?という方はこちらの記事をご覧ください。
>>AutoCADユーザー必見!【AutoLISPを覚えるべきメリット5選】デメリットも解説
私はAutoLISPを独学し、5年以上業務で活用しています。当記事ではAutoLISP開発に必要なエディタである「Visual LISP エディタ」の使い方を解説。
AutoLISPプログラムの作り方や実行方法も分かるため、AutoCAD自動化への土台が出来上がります。AutoLISPでワンランク上のCADオペレーターを目指しましょう。
Visual LISP エディタは「管理」タブ→「アプリケーション」パネルの「Visual LISP エディタ」をクリックすると起動。「ファイル」タブ→「ファイルを新規作成」でプログラムを記述する画面が表示されます。
「デバッグ」メニューの機能を活用しながらプログラムを作成し、拡張子「.lsp」のテキストファイルとして保存してください。作成したファイルをロードして、コマンドラインに関数名を入力するとプログラムが実行できます。
あなたに代わってAutoLISPプログラムを作成します
AutoLISPで作業を自動化したいけど、プログラミングに詳しくないのでツールが作れずにお悩みの方へ。5年以上のAutoLISP経験を活かしてAutoCADを自動化するツールを作成します。既にお持ちのAutoLISPプログラム修正も対応可能です。
AutoCADの面倒くさい作業から解放されたい方は、下記リンク先の「ココナラ」からお気軽にご相談ください。
>>AutoCADが楽になるプログラムを作成します|ココナラ
最短2日で納品します
Visual LISP エディタの使い方
Visual LISP エディタとはAutoCADに標準で搭載されているエディタのこと。プログラムの記述やエラーのチェックなど、プログラム作成において必須な機能が使用できます。
テキストファイルの拡張子を「.lsp」にすれば、メモ帳などの簡易的なテキストエディタでもプログラムの作成が可能。簡単なプログラムなら無理にVisual LISP エディタを使う必要はありません。
Visual LISP エディタを起動する
Visual LISP エディタを起動するには、「管理」タブ→「アプリケーション」パネルの「Visual LISP エディタ」をクリックして「VLISP」コマンドを実行します。
コマンドラインに直接「VLISP」と入力してもかまいません。
初めてVLISPを実行した場合は、以下の画面が表示されます。今回は下側の「AutoCAD Visual LISP」を選択してください。
次の画面が表示されてシステム変数「LISPSYS」の値が0に変わります。メッセージのとおりAutoCADを再起動して、再びVLISPを実行してください。
LISPSYSとは、VLISPコマンドで起動されるエディタをコントロールするシステム変数のこと。値を0にすると、Visual LISP エディタを既定の開発環境に設定できます。
>>LISPSYS (システム変数) | AutoCAD 2021 | Autodesk Knowledge Network
システム変数とは?
システム変数とは特定のコマンドの動作をコントロールする設定のこと。コマンドの動作や、操作の既定値、ユーザ インタフェースの外観などをコントロールできます。
>>AutoCAD 2021 ヘルプ | 概要 - システム変数とビットコード
便利なシステム変数を知りたい方には、こちらの記事がおすすめ。
>>AutoCADの環境設定をお手軽にカスタマイズ!便利なシステム変数4選
VLISPを実行して「Visual LISP for AutoCAD」ウィンドウを表示してください。下部の「Visula LISP Console」ウィンドウ(コンソールウィンドウ)では、コマンドラインと同じようにコマンドを入力して実行できます。
Visual LISP エディタの環境設定を変更する
Visual LISP エディタは環境設定を自由に変更できます。色々な設定を試しながら、使い心地の良い設定を見つけてください。
フォントの設定
フォントの設定は「ツール」メニュー→「ウィンドウの属性」→「フォント」を選択してください。「フォント」のダイアログボックスが表示されます。
デフォルトのままだとエラーメッセージが文字化けするので「フォント名」は必ず変更してください。今回は「フォント名」を「MS ゴシック」、「サイズ」は「14」を選択しています。
色の設定
文字や背景の色を変更したい場合は、対象のウィンドウをアクティブにして「ツール」メニュー→「ウィンドウの属性」→「現在の環境設定」を選択してください。
次の図では新規作成した「エディタウィンドウ」をアクティブにしています。
エディタウィンドウについては、後述するのでお楽しみに。
プルダウンから変更対象を選び、変更したい色をクリックしてください。
字下げの設定
字下げの設定を変更するときは「ツール」メニュー→「環境オプション」→「Visual LISP 整形オプション」を選択してください。
Visual LISP 整形オプションのデフォルト設定は次のとおり。特にこだわりがなければ、変更の必要はありません。
字下げできれいに整えたプログラムは、動作が理解しやすいので修正も楽です。ちなみに、字下げをしなくてもプログラムの動作には影響しません。
lspファイルを作成する
Visual LISP エディタの準備がととのったら、「lspファイル」を作成してみましょう。lspファイルとはAutoLISPプログラムが記述されたテキストファイルのこと。ファイルの拡張子は「.lsp」です。
プログラムを記述する
「ファイル」メニュー→「ファイルを新規作成」を選択するか、「新しいファイルを作成」のアイコンをクリックしてください。
<Untitled-0>というタイトルの「エディタウィンドウ」が開きます。
エディタウィンドウではプログラムの記述が可能。次のプログラムをエディタウィンドウにコピペしてみてください。
(defun c:test ()
(setq center (list 0 0))
(setq diameter 10)
(command "circle" center "D" diameter)
)
座標(0,0)に直径10の円を作成するプログラムです。
エディタウィンドウに記述された関数名や数値は、自動で文字色が変化。文字色は前述した環境設定で変更できます。
エディタからプログラムをロードする(実行する)
ロードしたいエディタウィンドウを選択してから、「ツール」→「エディタ内のテキストをロード」または「アクティブな編集ウィンドウをロード」のアイコンを選択してください。
ロードが完了すると、コンソールウィンドウに次のメッセージが表示されます。
試しにロードしたプログラムを実行してみましょう。
一旦、AutoCADのウィンドウに戻ってコマンドラインに「test」と入力してください。コマンドラインに関数名を入力して「Enter」キーを押すと、ロードしたプログラムの実行が可能。
ちなみに「test」は先ほどロードしたプログラムの関数名です。
test関数を実行して、座標(0,0)に直径10の円が作成されることを確認してください。
プログラムをデバッグする
プログラムを記述したらデバックを行います。
デバッグとは?
デバッグとは不具合の原因を探して直すこと。プログラム作成において一番苦労する作業です。
>>「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
「ツール」メニュー→「エディタ内のテキストをチェック」を選択するか、「編集ウィンドウをチェック」のアイコンをクリックしてください。
プログラムの記述が誤っていると、<作成出力>というタイトルのウィンドウにエラーメッセージが表示されます。
プログラムが正しければエラーメッセージは表示されません。エラーが消えるまでプログラムの修正を繰り返してください。
「デバッグ」メニューでは、デバッグに役立つ機能が使用できます。特によく使う機能は以下の3つ。
- ブレークポイントを切り替え
- ステップイン
- ウォッチを追加
ブレークポイントを切り替え
ブレークポイントとは、プログラムの処理を一時的に停止する場所のこと。実行しているプログラムの状態を確認できます。
処理を止めたい場所にカーソルを置き、「デバッグ」メニュー→「ブレークポイントを切り替え」を選択するか「F9」キーを押してください。
カーソルを置いた場所が赤く表示されて、ブレークポイントを設定できます。
ブレークポイントを設定できるのは関数名の直前のみ。
ブレークポイントを置いた状態でプログラムを実行すると、ブレークポイント以降の1文が青く反転してプログラムは一時的に停止します。
ステップイン
ステップインとは、プログラムを1ステップずつ実行する機能です。ブレークポイントで一時停止した場所から処理の確認が可能。
「デバッグ」メニュー→「ステップイン」を選択するか「F8」キーを押すごとに処理が1ステップずつ進みます。
ウォッチを追加
ウォッチとは、変数や関数の現在値を表示する機能のこと。ステップインで処理を進めていくと、値の変化が分かる便利な機能です。
まず、ウォッチに追加したい変数または関数の一文をハイライトさせてください。次に「デバッグ」メニュー→「ウォッチを追加」を選択するか、ハイライトした箇所で右クリックして「ウォッチを追加」を選択します。
ハイライトした箇所が「ウォッチ」ウィンドウへ追加されます。
ウォッチに追加した変数または関数をダブルクリックすると、「検査」ウィンドウが表示されて現在値の確認が可能。
何もハイライトせずに「ウォッチを追加」を選択すると次のウィンドウが表示され、プルダウンから「*LAST-VALUE*」をウォッチに追加できます。
「*LAST-VALUE*」 とは名前のとおり、最後に評価した値のこと。ステップインで1ステップずつ進めていくときに、処理の現在値が分かるため非常に便利です。
lspファイルとして保存する
ファイルを保存するときは「ファイル」メニュー→「名前を付けて保存」を選択します。
「ファイルの種類」が「LISP ソース ファイル」になっていることを確認してください。「保存」をクリックすると、拡張子が「.lsp」のlspファイルとして保存されます。
lspファイルをロードする3つの方法
プログラムを実行するためにはlspファイルのロードが必要です。デバッグ機能以外でロードする方法は主に次の3つ。
- lspファイルを画面上にドラッグする
- 「load」関数を実行する
- スタートアップに登録する
lspファイルを画面上にドラッグする
lspファイルをAutoCADの画面上にドラッグするとロードが可能。最も簡単なlspファイルのロード方法です。
ドラッグ後のコマンドラインは次のとおり。後述するload関数が自動的に実行され、ロードしたlspファイルのパスが表示されます。
ロード時の警告を表示させない方法
「常にロードする」を選択していないlspファイルや、「信頼できる場所」に登録されていないlspファイルをロードすると次のような警告が出ます。 デバッグ機能からロードした場合は警告が出ません。
警告を出したくない場合は「常にロードする」を選択するか、「オプション」ダイアログボックスの「信頼できる場所」にlspファイルの保存先を追加してください。
「オプション」ダイアログボックスは画面左上のAutoCADのマークをクリックして「オプション」を選択するか、コマンドラインに「OPTIONS」と入力すると表示されます。
「オプション」ダイアログボックス が開いたら、「ファイル」タブ→「信頼できる場所」を選択して右側の「追加」を押してください。表示されるボックスに登録したいパスを入力して、「OK」または「適用」をクリックします。
load関数を実行する
load関数とはAutoCADにファイルをロードする関数です。引数にはlspファイルのフルパス(保存先)を記述してください。
例えば、デスクトップの「test.lsp」をロードする場合は次のように記述します。
(load "C:/Users/デスクトップ/test.lsp")
上記のプログラムをコマンドラインにコピペして、「Enter」キーを押したときの表示は次のとおり。
load関数の引数は文字列なので、パスの両側には「"」を付けてください。フォルダ名を区切る「¥」または「\」は「/」に置き換えないと、lspファイルのロードはできません。
「サポート ファイルの検索パス」に登録されている保存先であれば、ファイル名だけでload関数の実行できます。「サポート ファイルの検索パス」への登録は前述した「オプション」ダイアログボックスから行ってください。
「作業サポート ファイルの検索パス」ではありません。
デスクトップを「サポート ファイルの検索パス」に登録した場合、前述した「test.lsp」はファイル名だけでロードが可能です。
(load "test.lsp")
スタートアップに登録する
スタートアップに登録してlspファイルをロードする方法です。一度登録すればAutoCADの起動時に毎回自動でロードが可能。
「管理」タブ→「アプリロード」パネルを選択するか、コマンドラインに「APPLOAD」と入力すると「アプリケーションのロード/ロード解除」ダイアログが開きます。
「アプリケーションのロード/ロード解除」ダイアログの右下にある「内容」をクリックして、「スタートアップ登録」ダイアログを表示してください。
「追加」を押して登録したいlspファイルを選択します。以下のように表示されたらスタートアップへの登録は完了。登録を解除したい場合は、解除したいファイルを選択してから「除去」を押してください。
AutoLISPのプログラムを実行する
コマンドラインに関数名を入力すると、作成したプログラムを実行できます。以下のように、実行したい関数名をかっこでくくってください。
関数名の先頭に「c:」を付けてコマンド化している場合はかっこが不要。関数名をそのまま記述して実行できます。
関数のコマンド化について知りたい方は、こちらの記事をご覧ください。
>>プログラミングの必需品!AutoLISPの関数ついて解説
エディタの使い方を覚えてAutoLISP開発を楽しもう!
Visual LISP エディタの使い方とプログラムの作成~実行までを以下にまとめます。
- 「管理」タブ→「VisualLISPエディタ」からエディタを起動
- 「ファイル」メニュー→「ファイルの新規作成」でプログラムを記述する画面が表示
- VisualLISPエディタの「デバッグ」メニューでデバッグ機能を使用できる
- 「AutoCADの画面上へドラッグ」「load関数の実行」「スタートアップに登録」のいずれかでlspファイルをロードできる
- コマンドラインに関数名を記述して実行する
エディタの使い方を覚えたら、次はAutoLISPの関数を覚えましょう。
AutoLISP初心者が最初に覚えるべき関数を以下の記事でご紹介しています。AutoCADの面倒な作業から解放されたい方はぜひご覧ください。
>>【入門】AutoLISP初心者が最初に覚えるべき関数5種!
AutoLISPの基礎を書籍で学びたい方には「AutoCAD 自動化攻略読本」がおすすめ。初心者向けに解説されており、AutoLISP以外の自動化方法も学べるお得な一冊。とにかくAutoCADで楽をしたい方はぜひご覧ください。