LISP カスタマイズにチャレンジ #1:はじめに・・・LISPって何?どういうことができるの?

この「LISP カスタマイズにチャレンジ」シリーズでは、AutoCADで使えるプログラム言語であるLISPについて、初心者向けに解説します。

 

LISPとは

LISPというワード、「よく聞くけどなんだか分からない」

「カスタマイズに便利だというけれど、なんか難しそう」

こう感じる人は、多いかもしれません。

LISPとは、AutoCADが理解できる言葉です。この言葉を使って、AutoCADとやり取りすることで、通常のコマンドよりもさらに使いやすいカスタマイズコマンドを作ることができます。

 

LISPを使うメリット

「カスタマイズはマクロで十分」そう考えている人もいるでしょう。

マクロは、AutoCAD側で用意されたコマンドを「組み合わせて」作ります。基本的に作図操作はコマンドの連続で行うので、マクロで十分なのでは?と思われるかもしれません。しかし、マクロにできるのは、コマンドラインで扱うことのできるコマンドに限られます。つまり、ダイアログが表示されるコマンドは使えないことになります。また、マクロを実行するには必ずアイコンに割り当てる必要があります。

それに対して、LISPの場合はAutoCADから自分が欲しいオブジェクトや情報を選んで取り出したり、通常のコマンドではできない処理を可能にしたりします。アイコンに割り当てる以外に、他のコマンドと同じようにキーボードで実行することもできますし、ショートカットキーに割り当てることもできます。

いきなり複雑な処理をしようとすると難しいので、簡単なことからLISPの便利さを試してみませんか?

 

LISPを作成するには

LISPってプログラムだから、それなりの開発環境が必要なのでは?と思う方もいるでしょう。

でも、そんなことありません。テキストエディタ(Windowsのメモ帳やMacのTextEditなど)があれば、作ることができます。

ここで、簡単なLISPを試してみましょう。

(defun c:doko ()
(princ (strcat "あなたが開いているのは" (getvar "ctab") "タブです"))
(princ)
)

まず事前準備として、ファイルの拡張子を表示する設定に変更します。エクスプローラーを開き、表示タブの表示/非表示グループにある、ファイル拡張子のチェックボックスにチェックを入れてください。

メモ帳を開きます。上記の文字列をコピー&ペーストします。名前を付けて保存を選び、「DOKO.lsp」という名前でデスクトップに保存しましょう。

次に、AutoCADの管理タブのアプリケーションパネルにある、アプリロードを選択します。ファイルの場所でデスクトップを選び、先ほど作成したDOKO.lspを選択して、ロードをクリックします。

 

 

 

 

 

 

 

 

 

 

 

 

それでは、現在開いているファイルのコマンドラインに、「DOKO」と入力してみてください。小文字でも大丈夫です。

コマンドラインに、「あなたが開いているのは○○タブです」と表示されましたか?

モデルタブを開いている場合は、「あなたが開いているのはModelタブです」と表示されたはずです。レイアウトタブの場合は、そのレイアウトの名前が表示されます。

 

でも、何もわからない状態で、テキストエディタで作成するのはちょっと難しいので、Visual LISPを使ってみましょう。Windowsのみになりますが、Visual LISPとは、AutoCADに付属している、AutoLISPの開発環境です。Visual LISP for AutoCADでは、以下のようなことができます。

・ソース コードの作成や修正

・作成したプログラムのテスト

・デバッグ

急に専門的な用語が出てきて、戸惑ってしまった人もいるでしょうか。

そんなに難しいことではないので、安心してください。

ソースコード:プログラミング言語で書かれたプログラムの文字列、要はこれから作ろうとしているLISPの本体のことです。

デバッグ:プログラムの誤りを見つけ、手直しすることです。誰もが最初から間違いのない完璧なプログラムを書けるわけではありません。ちゃんと書いたはずなのにうまく動かない、ということが多々あります。それを意図通りに動くように誤りを見つけ、修正することをデバッグと言います。通常のテキストエディタを使うとこの作業が難しいのですが、Visual LISP for AutoCADなら、デバッグ作業もサポートしてくれます。

Visual LISP for AutoCADは、管理タブのアプリケーションタブにある、Visual LISP エディタから開きます。

 

 

 

 

では、次回からLISPの入門編、Visual LISP for AutoCADを使って、LISPに挑戦してみましょう!

著者について

AUG-JP (ユーザー会)

AUG-JPはAutodesk製品のユーザーで構成された独立したコミュニティです。 ユーザ同士の助け合いの場として、ウェブサイト、コミュニティ(SNS)などを運営しています。 多くの企業様にご協力を頂きながら全国各地でユーザ参加型の「学びと交流」を目的としたイベント 「AUG-JP WorkShop」を開催したり勉強会をサポートしています。

Twitterでフォローする ウェブサイトを見る このライターによる他のコンテンツ
前の記事
カスタマイズの基本1:リボン(前編)
カスタマイズの基本1:リボン(前編)

皆さんはカスタマイズというとどういったイメージを描きますか?プログラム経験のある方がカスタムコマンドを作成して、複雑な図面を簡単に書いたり、Excelやデータベース等と連携し、特殊な機能等を思い浮かべる方もいらっし...

行き止まり