AutoLISP入門 関数紹介

【AutoLISP】線分を作図するコマンド「line」

line-1
はこ
はこ

こんにちは!はこです。
AutoLISPを独学し、5年以上業務で使用しています。

AutoLISPってなに?という方はまずこちらの記事をご覧ください。
AutoCADユーザーがAutoLISPを覚えるべきメリット3選

今回の記事ではAutoCADの標準コマンド「line」について解説していきます。

通常通りにlineを実行すると必要な情報の入力をユーザーに求めてきます。複数の線分を作図したい場合は何度もlineを実行するため、その都度ユーザー入力の手間がかかり面倒です。

AutoLISPではAutoCADのコマンドを自動で実行できるため、線分の作図を効率化できます。使用例と作図のモード毎に必要なオプションについても解説していきますのでぜひご覧ください。

【AutoLISP】線分を作図するコマンド「line」

line-2

lineの動作

lineは線分を作図できるコマンドです。circleなどの作図コマンドと同様で、コマンドを呼び出す関数commandにより実行することができます。また、指定するオプションによって作図のモードを変更することも可能です。

line以外の作図コマンドについてはこちらの記事で解説していますのでよろしければご覧ください。
【AutoLISP】円を作図するコマンド「circle」
【AutoLISP】ポリラインを作成するコマンド「pline」
【AutoLISP】四角を作成するコマンド「rectang」

commandについて知りたい方はこちらの記事をご覧ください。
【AutoLISP】コマンドを呼び出す関数「command」

使用例① 始点と終点を指定する

始点と終点を指定して作図する場合は次のように記述します。

(command "line" (list 0 0) (list 1 1))

左側の座標が始点、右側が終点として扱われます。座標には変数を指定することも可能です。

(setq pt1 (list 0 0))
(setq pt2 (list 1 1))
(command "line" pt1 pt2)

使用例② 始点および始点からの角度と長さを指定する

線分の終点を座標で指定するのではなく、始点からの角度と長さで指定する例を解説します。下記の例は(0,0)から45度の角度で長さ10の線分を作図する例です。

;角度を先に指定
(command "line" (list 0 0) "A" 45 10 "") 
;長さを先に指定
(command "line" (list 0 0) "L" 10 45 "")

まずはじめに始点を記述しますが、次に記述するのは"A"または"L"です。"A"にすると角度を入力するモードに切り替わるので角度を記述したあとに終点までの長さを記述します。

"L"の場合は長さを入力するモードに切り替わりので長さを先に記述したあとに角度を記述します。ちなみに、引数の最後に「""」を記述しているのは図形を閉じずにコマンドを終了するためです。

使用例③ 3点を指定して三角形を作図

座標を3点指定すると1点目→2点目、2点目→3点目に線分が作図されて、引数の最後に"C"と記述することで1点目と3点目が接続されるので三角形が出来上がります。

(setq p1 (list 10 10))
(setq p2 (list 15 15))
(setq p3 (list 15 30))
(command "line" p1 p2 p3 "C")

lineの書式

lineを実行するときの構文と引数は次のとおりです。

構文
(command "line" startpoint option point …)
引数
startpoint
線分の1番最初(始点)の座標。
option
作図のモードを表す文字。指定できる文字は下表参照。次の点への角度や長さを設定できる。3点目以降であれば始点と終点を接続する設定も可能
point
始点以降(終点)の座標。option次第では省略可能。
作図のモードstartpointoptionpoint
始点と終点を指定する始点の座標省略終点の座標
3点以上指定して始点と終点を接続する始点の座標"C"
※下表参照
始点以降の座標
角度と長さを指定する始点の座標”C” / "A" / "L"
※下表参照
省略
optionのモード内容
"C"始点と終点を接続する(閉じる)。3点目以降に指定できる。
"A"次の点への角度を指定。単位は度(°)
"L"次の点への距離

まとめ

今回のまとめ

  • lineは関数commandで実行できる
  • 指定するオプションによって作図のモードを変更できる

-AutoLISP入門, 関数紹介

独学おすすめ書籍はコチラ
独学おすすめ書籍はコチラ