<b>没有错,是没有必要</b>
Dim ss As AcadSelectionSet<BR> ThisDrawing.SelectionSets("TT").Delete<BR> Set ss = ThisDrawing.SelectionSets.Add("TT")<BR> ss.Select acSelectionSetAll<BR> Dim poly As AcadPolyline<BR> For Each elem In ss '对每一条折线提取顶点坐标<BR> If (elem.ObjectName = "AcDb3dPolyline") Then<BR> pnts = elem.Coordinates<BR> MsgBox pnts(0)<BR> End If
Next elem<BR> 这样可以吗?
Sub aa()<BR> On Error Resume Next<BR> Dim SSet As AcadSelectionSet<BR> If Not IsNull(ThisDrawing.SelectionSets.Item("Example")) Then<BR> Set SSet = ThisDrawing.SelectionSets.Item("Example")<BR> SSet.Delete '及时删除不用的选择集非常重要<BR> End If<BR> Set SSet = ThisDrawing.SelectionSets.Add("Example")
SSet.SelectOnScreen<BR> <BR> Dim ent As AcadEntity<BR> Dim objPline As AcadLWPolyline<BR> For Each ent In SSet<BR> If TypeOf ent Is AcadLWPolyline Then<BR> Set objPline = ent<BR> Debug.Print objPline.ObjectName<BR> End If<BR> Next ent
SSet.Delete<BR>End Sub<BR>
实际上,AutoCAD中使用PLINE命令绘制的是轻量多段线。 如果有<b>Set poly = elem 语句则会提示:</b>
《类型不匹配》
没有该语句则不会,那是怎么回事呢? If (elem.ObjectName = "AcDb3dPolyline") Then<BR>先判断elem的类型是不是polyline,然后才能使用 <b>Set poly = elem。</b> Dim elem As AcadEntity<BR>Dim ss As AcadSelectionSet<BR> ThisDrawing.SelectionSets("TT").Delete<BR> Set ss = ThisDrawing.SelectionSets.Add("TT")<BR> <BR> ss.Select acSelectionSetAll<BR> Dim poly As AcadPolyline<BR> For Each elem In ss '对每一条折线提取顶点坐标<BR> If (elem.ObjectName = "AcDbPolyline") Then<BR> Set poly = elem ' 就是如此啊<BR> End If
Next elem
还是提示错 Dim elem As AcadEntity<BR> Dim ss As AcadSelectionSet<BR> ThisDrawing.SelectionSets("TT").Delete<BR> Set ss = ThisDrawing.SelectionSets.Add("TT")<BR> ss.Select acSelectionSetAll<BR> <BR> Dim poly As AcadPolyline<BR> For Each elem In ss '对每一条折线提取顶点坐标<BR> If (elem.ObjectName = "AcDbPolyline") Then<BR> Set poly = elem ' 就是如此啊<BR> pnts = poly.Coordinates<BR> MsgBox pnts(0)<BR> End If<BR> Next elem
Dim poly As AcadPolyline,那elem.ObjectName应该要为AcDb2DPolyline吧,没有安装ACAD,先自己试试它的对象名称。 我怎么不能访问elem.Coordinates,好象没有这个属性,我试了2000,2002,2004都没有,你们的怎么有这个属性呢,奇怪? Set poly = elem ,这句不对吧,老是提示类型不匹配。如何解决 12楼正解 转为相应的实体就有相应的属性咯
页:
1
[2]