見出し画像

【ごまかんぱちの挑戦】エクセルでAutoCADの自動作図(その3)

こんにちは。ごまかんぱちです。🐟

AutoCADの自動作図を目指して奮闘しています。
第3回にして、ようやく自動作図が始まります。

それでは スタートです。

3-1. 自動作図のための準備

以下のように書きます。

Sub macro()

Sakuzu = ThisWorkbook.Path & "\CAD_file.scr"
Open Sakuzu For Output As #1
Print #1, "osnap non"

'********↑前処理↑********








'********↓後処理↓********

Print #1, "zoom e"
Print #1, "filedia 1"
Close #1

End Sub

これは、このまま書いてください。

2行目あたりにある「\」半角のバックスラッシュは、半角の円マークのことです。
どちらが表示されても(フォント次第)、気にしないでください。

これからは、この「前処理」と「後処理」の間に コードを書いていきます。

3-2. いざ 自動作図!

・線分(基本編)

🚩「Print #1, "line 100,150 1000,2000 "」と書いて実行する。

すると、エクセルファイルと同じ場所に 「CAD_file.scr」というスクリプトファイルができました。

できました。

続いて、新規AutoCADファイルを開いて(新規でなくてもいいですが)、今できた このスクリプトファイルをCAD上にドラッグアンドドロップすると…

何と! 座標 (100,150) から (1000,2000) までの直線ができました。
ちょっと感激です。😂

これは、AutoCAD上で コマンド「line 100,150 1000,2000 」を入力する という命令です。
スペースが決定の役割を担っているので、スペースの有無、スペースの数も重要です。

ただ これでは折角エクセルを使っている旨味がないので、セルの値を使えるようにしていきます。

セルA1、B1と、A2、B2に 適当な数値を入力します。

A列がX座標、B列がY座標 というイメージです。

続いて、先ほどのコードを 数値とそれ以外に分けると…

🚩「Print #1, "line " & 100 & "," & 150 & " " & 1000 & "," & 2000 & " "」

こうなります。
数値以外のもの(文字やスペースやコンマ)は「"」で挟み、「&」を使ってつなげていきます。

数値「100」「150」「1000」「2000」の部分を セル位置に置き換えると…

🚩「Print #1, "line " & Range("A1") & "," & Range("B1") & " " & Range("A2") & "," & Range("B2") & " "」

こうなります。
これを実行して、スクリプトファイルをCAD上にドラッグアンドドロップすると 線分が作図されます。
(ドラッグアンドドロップ以外にも、CAD上で「SCR 」と入力して スクリプトファイルを選択する方法もあります。)

セルに入力した値を いろいろと変えて、いろいろな線分が描けることを試してみましょう。

3-3. 今回のまとめ

最後に 今回のまとめです。
実は、「前処理」と「後処理」の間の1文しか書いてないです。
この1文だけで、エクセルに入力した値の線分を描いてくれるのです。
スゴいですね。

Sub macro()

    Sakuzu = ThisWorkbook.Path & "\CAD_file.scr"
    Open Sakuzu For Output As #1
    Print #1, "osnap non"

    '********↑前処理↑********

    Print #1, "line " & Range("A1") & "," & Range("B1") & " " & Range("A2") & "," & Range("B2") & " "






    '********↓後処理↓********

    Print #1, "zoom e"
    Print #1, "filedia 1"
    Close #1

End Sub

今回はここまで。👍
次回は応用編です。お楽しみに。

「役に立った!」「助かった!」と感じたらサポートいただけると嬉しいです。😊