AutoLISPをAutoCADに読み込む方法を紹介するよ。
AutoLISPコマンド
下記の短いプログラムをAutoCADに4種類の方法で読み込んでいきます。
(defun c:Aisatsu () (alert “こんにちは”))
コマンドAisatsuを実行すると、こんにちはと書かれたメッセージボックスが出てくるというだけのコマンドです。
このコマンドの詳細はこちらの記事で書いています。
方法1 コマンドラインに直接入力
方法
AutoLISPは、直接コマンドラインに入力することで読み込ませることができます。
このように、コマンドラインに入力。
エンターキーを押すと読み込まれて、
c:Aisatsu
と、AutoCADがコマンドラインに返してくれます。
これで読み込み完了。コマンド ”Aisatsu”が使えるようになります。
こんな時に便利
この方法でコマンドを作る人はほぼいないと思います。
初めて使う関数がどのように動くのかな。とか、作ったプログラムが上手く動作しないときに、一行づつコピペして確認したいときなど、一部分の動作確認に使うと便利な方法です。
方法2 .lsp ファイルをAutoCADにドラッグ
方法
AutoLISPファイルを作るエディタ、(Windows付属のメモ帳でいいです。)にプログラムを書き込み、拡張子を、メモ帳の .txt ではなく、LISPファイルの .lsp で保存します。
拡張子は、ファイル名の最後の .txt の部分のこと。
例えば、PDFなら、.pdf とか、写真なら .jpg とか、ファイルの形式を表していています。
メモ帳の拡張子.txtを.lsp にすると、LISPファイルになります。
そして、LISPファイルを保存したフォルダを開き、アイコンをAutoCAD上にドラッグしてください。
正常に読み込まれると、コマンドラインに
c:Aisatsu
と、AutoCADが返してくれます。
これで読み込み完了。コマンド ”Aisatsu”が使えるようになります。
こんな時に便利
毎回は使わないコマンドで、使いたいときだけに読み込みたい場合に便利な方法です。
コマンドごとにLISPファイルを用意し、使う時だけAutoCADにドラッグして読み込ませることができます。
何かコマンドを実行している途中だと読み込まれないので注意してね。
ドラッグしても読み込まれないときは、ESCキーを2回押して、何も実行していない状態にしてからドラッグしましょう。
方法3 自動読み込み
方法
- Lispファイルを保存。
- コマンド”APPLOAD”と入力し、ダイアログボックスを出す。
- 右下の [スタートアップ登録]の下にある[コンテンツ]ボタンをクリック 。
- [追加]ボタンをクリック 。
- 毎回読み込みをしたいLISPファイルを追加。
- [閉じる]で終了。
これで、追加したLISPファイルは図面ファイルを開く度に自動的に読み込まれます。
セキュアモードが設定してある場合、”信頼できる場所”の設定が必要です。
セキュア モードで動作している場合、プログラムはコードを含むファイルを信頼する場所からロードおよび実行するように制限されます
Autodesk ヘルプページ
Autodesk Japan のYoutubeでAutoLISPの信頼できる場所への保存、自動読み込みについて紹介されていました。動画なのでこちらの方がわかりやすいと思います。
こんな時に便利
頻繁に使うコマンドは、この設定で自動読み込みをしておくと便利です。
AutoCAD既存のコマンドと同じように図面ファイルを開いたときに毎回使えます。
方法4 サポートフォルダに入れて他のLispから読み込む
方法
サポートファイルの設定
- 自分がわかる場所に、Lisp関連のファイルを保存するフォルダを作成。
- コマンド”OPTIONS”と入力し、オプションダイアログボックスを出す。
- ダイアログボックスの、”ファイル”タブをクリック。
- 一番上のサポートファイルの検索パス、+をクリックしてを開く。
- 右側の、追加ボタンをクリック。
- 参照をクリック。
- ”フォルダを参照”のダイアログボックスで、AutoLISP関連のファイルを保存するフォルダを選択
- OK で終了。
読み込み方
このサポートファイルの検索パスに登録したフォルダ内にあるLISPファイルは、AutolISP関数のloadを使って、
(load “ファイル名”)
で、読み込むことができます。
(load “JagaimoLISP”)
検索パスにあるフォルダから探して読み込みます!
こんな時に便利
好みに寄りますが、AutoLISPプログラムの数が増えてきたら、すべてのファイルを自動読み込みにするよりも、自動読み込み用のLISPファイルを1つ作っておいて、そこから (load “ファイル名”)で複数のファイルを読み込む方が簡単に管理できます。
また、AutoLISPプログラムの中に(load “ファイル名”)を組み込んで、コマンドを実行するだけ、そのコマンドに必要なAutoLISPプログラムを読み込むということができます。
ダイアログボックス付きのコマンドを作るときには、実行時に.dcl ファイルを読み込む必要があります。同じように検索パスにあるフォルダに入れておき、AutoLISPで読み込むので、ダイアログボックスを作るとき、サポートファイルの検索パスのフォルダがは必須です。
さらに、ブロック挿入の自作コマンドを作るときにも、ブロックを書き出してサポートファイルに入れておけば、図面内にブロックが無い場合でもブロック挿入ができます。
まとめ
- コマンドラインに直接入力
- Lispファイルを(拡張子が.lsp)AutoCAD上にドラッグ
- 起動時に自動読み込み
- AutoLISPのプログラムで呼び出す。
Comments