环境与引用步骤同:AutoCAD二次开发教程(1)-通过VB6绘制直线
1:绘制整圆
绘制代码如下:
On Error Resume Next
' 连接至 AutoCAD 应用程序
Dim acadApp As AcadApplication
Dim docObj As AcadDocument
Set acadApp = GetObject(, "AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
MsgBox ("无法运行AutoCAD2008,请检查是否安装了AutoCAD2008")
Exit Sub
End If
End If
' 连接至 AutoCAD 图形
Dim acadDoc As AcadDocument
Set acadDoc = acadApp.ActiveDocument
acadApp.Visible = True
' 绘制圆
Dim circleObj As AcadCircle
Dim centerPoint(0 To 2) As Double
Dim radius As Double
' 定义圆心与半径
centerPoint(0) = 0
centerPoint(1) = 0
centerPoint(2) = 0
radius = 100
' 绘制圆
Set circleObj = acadDoc.ModelSpace.AddCircle(centerPoint, radius)
ZoomAll
绘制一个圆形在(0,0,0),半径为100的圆,图形如下:
2:绘制圆弧
要绘制圆弧的话除了要定义圆心与半径,还需要定义起点角度与终止角度,代码如下:
On Error Resume Next
' 连接至 AutoCAD 应用程序
Dim acadApp As AcadApplication
Dim docObj As AcadDocument
Set acadApp = GetObject(, "AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
MsgBox ("无法运行AutoCAD2008,请检查是否安装了AutoCAD2008")
Exit Sub
End If
End If
' 连接至 AutoCAD 图形
Dim acadDoc As AcadDocument
Set acadDoc = acadApp.ActiveDocument
acadApp.Visible = True
' 绘制圆弧
Dim ArcObj As AcadArc
Dim centerPoint(0 To 2) As Double
Dim radius As Double
Dim StartAngle As Double
Dim EndAngle As Double
' 定义圆心、半径与起始角度
centerPoint(0) = 100
centerPoint(1) = 100
centerPoint(2) = 0
radius = 100
StartAngle = -90 * (3.14159 / 180)
EndAngle = 90 * (3.14159 / 180)
' 绘制圆弧
Set ArcObj = acadDoc.ModelSpace.AddArc(centerPoint, radius, StartAngle, EndAngle)
ZoomAll
绘制的图形如下:
3:绘制椭圆
代码如下:
On Error Resume Next
' 连接至 AutoCAD 应用程序
Dim acadApp As AcadApplication
Dim docObj As AcadDocument
Set acadApp = GetObject(, "AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
MsgBox ("无法运行AutoCAD2008,请检查是否安装了AutoCAD2008")
Exit Sub
End If
End If
' 连接至 AutoCAD 图形
Dim acadDoc As AcadDocument
Set acadDoc = acadApp.ActiveDocument
acadApp.Visible = True
' 绘制椭圆
Dim ellObj As AcadEllipse
Dim majAxis(0 To 2) As Double
Dim center(0 To 2) As Double
Dim radRatio As Double
' 创建椭圆
center(0) = 0
center(1) = 0
center(2) = 0
majAxis(0) = 10
majAxis(1) = 0
majAxis(2) = 0
radRatio = 0.5
Set ellObj = acadDoc.ModelSpace.AddEllipse(center, majAxis, radRatio)
ZoomExtents
绘制一个中心点center(0,0,0),长半轴majAxis(0)为10(相对于中心的增量),长短轴比值radRatio为0.5的椭圆。效果如下:
4:绘制椭圆弧
代码如下:
On Error Resume Next
' 连接至 AutoCAD 应用程序
Dim acadApp As AcadApplication
Dim docObj As AcadDocument
Set acadApp = GetObject(, "AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application.17.1")
Set docObj = acadApp.Application.Documents.Add
If Err Then
MsgBox ("无法运行AutoCAD2008,请检查是否安装了AutoCAD2008")
Exit Sub
End If
End If
' 连接至 AutoCAD 图形
Dim acadDoc As AcadDocument
Set acadDoc = acadApp.ActiveDocument
acadApp.Visible = True
' 绘制椭圆弧
Dim ellObj As AcadEllipse
Dim majAxis(0 To 2) As Double
Dim center(0 To 2) As Double
Dim radRatio As Double
'创建椭圆弧,起始角度0°,终止角度180°
center(0) = 0
center(1) = 0
center(2) = 0
majAxis(0) = 10
majAxis(1) = 0
majAxis(2) = 0
radRatio = 0.5
Set ellObj = acadDoc.ModelSpace.AddEllipse(center, majAxis, radRatio)
ellObj.StartAngle = 0 * (3.14159 / 180)
ellObj.EndAngle = 180 * (3.14159 / 180)
ZoomExtents
绘制一个中心点center(0,0,0),长半轴majAxis(0)为10(相对于中心的增量),长短轴比值radRatio为0.5的椭圆,起点角度0°,终止角度180°。效果如下:
5:绘制样条曲线
代码如下:
' 本例在模型空间中创建样条曲线对象。 ' 声明所需的变量 Dim splineObj As AcadSpline Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim fitPoints(0 To 8) As Double ' 定义变量 startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0 endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0 fitPoints(0) = 1: fitPoints(1) = 1: fitPoints(2) = 0 fitPoints(3) = 5: fitPoints(4) = 5: fitPoints(5) = 0 fitPoints(6) = 10: fitPoints(7) = 0: fitPoints(8) = 0 ' 创建样条曲线 Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan) ZoomAll







