梁を描くLISP 1|点を取得して線を描く
要点
梁の作図を題材に、式の入力、getpoint、変数、commandの基本を復習します。最初は2点を選び、1本の線を描く処理から始めます。
始める前に
先に確認すると読み進めやすい記事:
確認の手順
- 練習用図面で、文字を表示する短い式を試します。
- getpointで始点と終点を取得します。
- 変数へ保存した点を確認します。
- commandで線を描き、取得した2点と端点が一致するか確認します。
まずは「Hello」から
AutoCADのコマンドラインに、次のコードを入力してみましょう:
(alert "Hello and welcome to AutoLISP!")
Enterキーを押すと、ダイアログボックスが表示されます。
これだけで、AutoLISPが動いたことになります!
「AutoCADに命令を出せる」って、ちょっと感動しませんか?
座標を取得してみよう
次は、画面上の点を取得してみましょう:
(setq a (getpoint))Enterを押すと、画面上で点を選ぶように求められます。クリックすると、こんな感じの座標が表示されます:
(496.0 555.06 0.0)これは選んだ点の X, Y, Z座標。この情報は変数 a に格納されます。
コメントを入れるには?
コードに説明を加えたいときは、セミコロン ; を使います:
(setq a (getpoint)) ; ユーザーから点を取得コメントは実行されず、メモとして残せます。
変数の中身を確認する
変数 a の中身を見たいときは、次のように入力します:
!a! を使うと、変数の値が表示されます。ちょっとしたデバッグにも便利です。
ユーザーにメッセージを表示する
ユーザーにわかりやすく指示を出したいときは、こんな風に書きます:
(setq a (getpoint "\nChoose a Point : "))\n は改行を意味します。より親切なインターフェースになりますね。
線を描いてみよう
最後に、2点間に線を描く簡単なプログラムを紹介します:
(setq a (getpoint "\nEnter First Point : "))
(setq b (getpoint "\nEnter Second Point : "))
(command "Line" a b "")commandはAutoCADのコマンドを実行する関数"Line"は線を描くコマンドaとbは始点と終点""はEnterキーの代わり
これで、画面上に線が引かれます!
ここでは、AutoLISPの基本操作を紹介しました。
結果の確認
クリックした点と作成した線の端点を照合します。ファイルへの保存とコマンド化は「梁を描くLISP 2」で扱います。
参照資料
対象環境・動作確認
AutoLISP対応環境(関数・OSごとの対応は要確認)。内容更新:2026年10月5日。掲載コードのCAD実機検証は未実施です。図形を変更する例は、コピーした図面で結果を確認してください。