AutoLISP入門 関数紹介

【AutoLISP】ポリラインを作成するコマンド「pline」

pline-1
はこ
はこ

こんにちは!はこです。

業務で5年以上AutoLISPを使用しています。

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

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

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

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

【AutoLISP】ポリラインを作成するコマンド「pline」

pline-2

plineの動作

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

pline以外の作図コマンドについてはこちらの記事で解説していますのでよろしければどうぞ。
【AutoLISP】円を作図するコマンド「circle」
【AutoLISP】線分を作図するコマンド「line」
【AutoLISP】四角を作成するコマンド「rectang」

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

使用例① ポリラインの座標を指定する

ポリラインの各座標を直接指定して作図する例です。

変数に格納した3つの座標を頂点に持つポリラインが作図されます。引数の最後は「""」としているので図形を閉じずに終了します。閉じて終了したい場合は最後に"C"と記述してください。

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

使用例② 幅付きのポリラインで閉じた三角形を作図する

座標間の線幅を変更して閉じた三角形を作図する例です。

座標の後ろに"H"を記述することで2分の1幅(幅の片側)の数値を指定できます。"H"のあとに開始点での2分の1 幅、次に終了点での2分の1 幅を記述します。引数の最後に"C"と記述しているので、変数p1とp3の座標で接続されて閉じた図形となります。

(setq p1 (list 10 0))
(setq p2 (list 15 15))
(setq p3 (list 0 20))
(command "pline" p1 "H" 1 1 p2 "H" 2 2 p3 "C")
はこ
はこ

結果はこんな感じになります。

example-pline

「AutoCADとなんか違う?」と思われた方、実は上図では「ZWCAD」という互換CADを使用しています。互換CADとはAutoCADと互換性を持ち、低価格でコスパを優先したCADのことです。

ZWCADは互換CAD業界でなんと世界シェアNo1。興味をお持ちの方はこちらの記事をご覧ください。
世界シェアNo1!AutoCAD互換ソフト「ZWCAD」のメリット5選

plineの書式

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

構文
(command "pline" startpoint option point ...)
引数
startpoint
ポリラインの1番最初(始点)の座標。
option
作図のモードを表す文字。指定できる文字は下表参照。始点以降の座標を指定する前にオプションを変更することができる。変更した内容は次に入力する座標にも引き継がれるため注意が必要
point
始点以降の座標
optionのモード内容
"A"頂点を円弧にする。円弧の作図方法は
下表のモードを記述することで変更可能。
"C" / ”CL”始点と終点を接続する(閉じる)。
"C"は円弧を含む場合使用できない。
"H"開始点と終了点の2分の1幅(片側の幅)を設定する。
"L"開始点から終了点までの長さと角度を設定する。
"W"開始点と終了点の幅を設定する。
"U"1つ前の点を削除する。

optionが”A"のとき頂点を円弧にするモードに切り替わります。また、円弧を作図する方法は様々なモードを指定することが可能です。

はこ
はこ

指定できるモードと内容は次のとおりです。

円弧作図のモード内容
"A"円弧の中心角を入力した後、円弧の中心(C)または
半径(R)を入力して終了点を決める。
"CE"円弧の中心座標を指定した後、終了点までの角度(A)
または円弧の長さ(L)を入力する。
長さ(L)を指定した場合は弦の方向を指定する。
"CL"円弧の終点と始点を接続する(3点目以降に設定可能)
"D"円弧の接線方向を決めた後、終了点を指定する。
"H"開始点と終了点の2分の1幅(片側の幅)を設定する。
"L" 円弧の作図から線分の作図に変更する。
"R"円弧の半径を指定する。
"S"終了点を3点目とした、円弧上の2点目を指定する。
"W"開始点と終了点の幅を設定する。
"U"1つ前の点を削除する。

まとめ

今回のまとめ

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

-AutoLISP入門, 関数紹介

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