创建类似pline命令的acadlwpolyline
您好,我想创建一个子对象,该子对象创建类似于pline命令的LWDOLYLINE
也就是说:
我拾取第一个点(创建线段)我拾取第二个点(已创建线段)然后拾取第三个点(已经创建第二个线段),依此类推…
可以创建一个对象数组,将所有这些线段(acadline)放置在子段的末尾,并将其删除。然后使用拾取点的坐标创建我的LWD多段线
但是有没有更简单的方法来进行同样的手术呢
谢谢
您应该尝试使用Sendcommand来使用内置Pline命令^^ Sendcommand应该始终是最后一个选项
Public Sub Main()
Dim startPnt As Variant
Dim returnPnt As Variant
Dim returnPntList(0 To 5) As Double
Dim plineObj As AcadPolyline
startPnt = ThisDrawing.Utility.GetPoint(, "Pick starting point: ")
' Return a point using a prompt
On Error Resume Next
returnPnt = ThisDrawing.Utility.GetPoint(startPnt, "Pick the next point: ")
If Err Then GoTo SubEnd
returnPntList(0) = startPnt(0)
returnPntList(1) = startPnt(1)
returnPntList(2) = startPnt(2)
returnPntList(3) = returnPnt(0)
returnPntList(4) = returnPnt(1)
returnPntList(5) = returnPnt(2)
Set plineObj = ThisDrawing.ModelSpace.AddPolyline(returnPntList)
While IsNull(returnPnt) = False
returnPnt = ThisDrawing.Utility.GetPoint(returnPnt, "Pick the next point: ")
If Err Then GoTo SubEnd
plineObj.AppendVertex returnPnt
ThisDrawing.Regen (acActiveViewport)
Wend
SubEnd:
' Exit the command
End Sub
谢谢Matt,整洁多了
你';欢迎再次光临。
页:
[1]