AutoCADのスクリプトを使う(2) line

CADの基本は線を引くこと。スクリプトの解説を進める上で、まずは線を引くコマンド”line”を取り上げる。

line x1,y1 x2,y2, ・・・ x,y

単純に線分を描く場合は始点座標x1,y1 終点座標x2,y2を入力するのみ。座標を続ければ、連続の線分を描くことができる。

ここで、AutoCADで用いられる座標には絶対座標と相対座標がある。Autodesk Knowledge Networkの説明は以下にあるが、ようは絶対座標はCAD図面上の座標で表し、相対座標は最後に指定した座標からの位置となる。

https://knowledge.autodesk.com/ja/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2021/JPN/AutoCAD-Core/files/GUID-F64F8008-E1C0-49CC-A268-A6B8C6E9B566-htm.html?st=%E7%B5%B6%E5%AF%BE%E5%BA%A7%E6%A8%99

相対座標を用いるには座標前に@をつければ良い。

line 100,100 200,100 150,200 100,100 '絶対座標表現
line 100,100 @100,0 @-50,100 @-50,-100 '相対座標表現

上記、2つは同じ三角形を書く。どちらを使うかは個人の好みによるだろうが、私は絶対座標派です。

ここで、注意。Excel VBAで上記スクリプトを吐き出すと

Print #1, "line 100,100 200,100 150,200 100,100"

となりますが、これではAutoCADはlineコマンドは終了せず、次の座標入力待ちになってしまいます。コマンドウィンドウではEnterを押せば終わりますが、スクリプトでは最後に半角スペースを入れる必要があります

Print #1, "line 100,100 200,100 150,200 100,100 "
;分かりにくいので強調してかくと
Print #1, "line 100,100 200,100 150,200 100,100" & " "

となります。実際VBAで書くときは関数と組み合わせて書くので、& ” “を最後に持ってくる方が多くなるかと思います。

ちなみに”;”以下はスクリプトではコメントとして扱われます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.