第2回目は、AutoCADへの指示の具体的な書き方について解説します。 AutoLISPをマスターする上で非常に重要な「関数」と「引数」のルールになります。基本ですが最も大切な内容ですので、ぜひじっくりと確認してみてください。
動画でも実際のAutoCADの画面を使って実演解説しています。合わせてご参照ください。
【動画での解説はこちら】
前回の復習(リスト形式)
AutoLISPの最も基本的なルールとして、指示は括弧 ( ) で囲む「リスト形式」で記述するというお話をしました。
今回は、この括弧の中に「何をどう書くのか」という2つ目の重要なルールを学びます。
指示の書き方 2つの基本パターン
括弧の中の書き方には、大きく分けて2つのパターンがあります。
(関数 引数)関数と引数の間は「半角スペース」を空けます。カンマではありませんので注意してください。引数が複数ある場合は(関数 引数1 引数2 ...)のように、すべて半角スペースで区切って記述します。(関数)引数がなく、関数のみを記述するパターンです。
「関数」と「引数」とは?
用語が少し難しく感じるかもしれませんが、仕組みはシンプルです。
関数: 決められた処理を行う「箱」のようなものです。AutoCADに「何をさせたいか」という処理の内容そのものになります。
引数(ひきすう): その関数(箱)に入れる「入力データ」のことです。
入力された引数を関数が処理し、その結果が「出力(AutoCADでの実際の動作)」として反映されます。
引数がない場合はどうなるのか?
パターン2の (関数) のように引数がない場合、入力データは「ユーザー入力」として扱われます。
具体的には、作図画面上でのマウスクリックや、キーボードからの数値入力などがこれに該当します。ユーザーの操作(クリックした位置など)によって得られた情報が、関数への入力データになるという仕組みです。
実践例:座標を取得する getpoint 関数
引数を持たない関数の代表例として、クリックした位置の座標を取得する (getpoint) 関数をAutoCADのコマンドラインで実際に動かしてみましょう。
AutoCADのコマンドラインに
(getpoint)と入力し、Enterキーを押します。マウスが入力待ち状態(座標指定のモード)になるので、作図画面上の任意の点(四角形の端点など)をクリックします。
F2キーを押してコマンドラインのテキストウィンドウを開きます。
(200.506 99.5087 0.0)のように、クリックした位置のX、Y、Z座標がAutoCADから返ってきていることが確認できます。
このように、AutoLISPを通じてAutoCADに指示を出し、AutoCADから結果を受け取ることができました。
この「関数と引数」の関係や、括弧を使った記述ルールは、今後のAutoLISP学習のベースとなります。ぜひご自身のAutoCADでも (getpoint) と入力して、実際の動作を確認してみてください。