poncelet 发表于 2011-9-22 11:07:18

创建类似于 pline 命令的 acadlwpolyline

您好,
我想创建一个子集,该子集创建类似于pline命令的lwpolyline
也就是说:
我拾取第一个点
我选取第二个点(创建一条线段)
然后拾取第三个点(生成第二条线段)
等等……
可以创建一个对象数组来放置所有这些线段(acadline)并将它们删除在子线段的末端。
之后,使用拾取点的坐标创建我的多段线
但是有没有更简单的方法来进行相同的操作<谢谢
**** Hidden Message *****

ketxu 发表于 2011-9-22 20:25:24

Sendcommand应始终是最后一个选项

poncelet 发表于 2011-9-23 06:03:19


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__W 发表于 2011-9-23 08:58:06

appendVertex
谢谢Matt
整洁多了!

poncelet 发表于 2011-9-23 09:31:54

不客气。
页: [1]
查看完整版本: 创建类似于 pline 命令的 acadlwpolyline