一下是获取AcDbPolyline多线段的一段代码:
Dim mospace As AcadModelSpace
Dim ent As AcadEntity Dim coord As Object
Dim j As Integer
......
For Each ent In mospace
For j = LBound(PolyLineCoor) To UBound(PolyLineCoor)
If StrComp(ent.ObjectName, "AcDbPolyline", 1) = 0 Then PolyLineCoor = ent.coordinates coord = PolyLineCoor(UBound(PolyLineCoor(j))) Debug.Write(PolyLineCoor(0)) End If
Next j
Next
在执行过程中,出现了问题,用UBound(PolyLineCoor) 可以获取一条多线段的节点总数,但是用Debug.Write(PolyLineCoor(0))只能得到一半的坐标值,例如:
第2个实体信息
实体类型AcDbPolyline 折线第一个点坐标:55066.7190010562
第3个实体信息
实体类型AcDbPolyline 折线第一个点坐标:53138.7851450313
第4个实体信息
实体类型AcDbPolyline 折线第一个点坐标:54286.7667293699
请问原因?