はじめに
円を描けるようになったら、次に気になるのは「円弧」ではないでしょうか。 円弧は円の一部ですが、図面の中では独立した意味を持つ重要な要素です。 例えば、断面図の曲線や構造物の輪郭など、円弧が使われる場面は意外と多くあります。 本記事では、Excel VBAを使ってAutoCADに円弧を描く方法を、コマンドベースで解説します。 「円は描けるけど、円弧はちょっと…」という方も、この記事で一歩先へ進んでみましょう。
円(Arc)を描くコマンド
まずはAutoCADのコマンドラインに以下のように入力してみましょう。最後にエンターキーを押すのを忘れずに。
ARC C 50,50 100,50 50,100
このコマンドは、中心が (50,50)、始点が(100,50)、終点が(50,100)の円弧を描きます。
途中でカーソルが自動でコマンドラインから移りスムーズに入力できない場合があります。その時はコマンドラインに「DYNMODE」と入力し、値を「0」にしましょう。試行後、いつもの操作にも戻したい場合はDYNMODEの値を戻すことを忘れずに。
円弧(Arc)を描くサンプルコード
それでは、Excelに入力した座標と半径を使って円を描くVBAコードを紹介します。以下のようなExcelシートを準備してください。

A2からF2が入力セルになっています。
次にVBAコードです。次のコードをコピーしてエクセルのVBAエディタに貼り付けてください。
VB
Sub DrawArcByCommand()
'AutoCADアプリケーションオブジェクトを宣言
Dim acadApp As Object
'AutoCADドキュメントオブジェクトを宣言
Dim acadDoc As Object
'描画に必要な変数の宣言
Dim centerX As Double '中心のX座標
Dim centerY As Double '中心のY座標
Dim startX As Double '始点のX座標
Dim startY As Double '始点のY座標
Dim endX As Double '終点のX座標
Dim endY As Double '終点のY座標
Dim commandText As String
'AutoCADが起動していなければ起動し、すでに開いていたら取得する。
On Error Resume Next
Set acadApp = GetObject(,"AutoCAD.Application")
If acadApp Is Nothing Then
Set acadApp = CreateObject("AutoCAD.Application")
End If
On Error GoTo 0
'AutoCADドキュメントを新規作成、または取得する。
On Error Resume Next
Set acadDoc = acadApp.ActiveDocument
If acadDoc Is Nothing Then
Set acadDoc = acadApp.Documents.Add
End If
On Error GoTo 0
'エクセルから値を取得する
centerX = Cells(2, 1)
centerY = Cells(2, 2)
startX = Cells(2, 3)
startY = Cells(2, 4)
endX = Cells(2, 5)
endY = Cells(2, 6)
'コマンド文の作成
commandText = "ARC C " & centerX & "," & centerY & " " & startX & "," & startY & " " & endX & "," & endY & " "
'コマンドの送信
acadDoc.SendCommand commandText & vbCr
'AutoCADを表示
acadApp.Visible = True
'メッセージを表示
MsgBox ”円弧を描きました!”
End Sub
- 2~5行目でAutoCADのオブジェクトを準備します。
- 7~14行目が作図に必要な変数です。
- 16~22行目で、AutoCADオブジェクトをセットします。すでにAutoCADを立ち上げていれば、それをセットし、立ち上げていなければ新規で立ち上げます。
- 24~30行目で、AutoCADのファイルをセットします。すでに図面を立ち上げていれば、それをセットし、立ち上げていなければ新規でファイルを作成します。
- 32~38行目でエクセルからの値を取得します。
- 41行目でコマンド文を作成しています。本コードの肝となる部分です。
- 44行目でコマンドをAutoCADに送信しています。本コードの肝となる部分その2です。コマンドを確定するため、改行(vbCr)を付け加えます。
おわりに
円弧は、円よりも少しだけ自由で、少しだけ複雑。 でもその分、図面に表情を与える力があります。今回の方法を応用すれば、さらに高度な図形にも挑戦できます。 ぜひ日常業務に取り入れて、AutoCADの自動化を楽しんでください!

円弧は円の冒険心。あなたの図面にも、ちょっとした冒険を。
コメント