xiaoming_x 发表于 2005-2-23 10:51:00

关于获取多线段AcdbPolyline的坐标的一个问题!

一下是获取AcDbPolyline多线段的一段代码:


Dim mospace As AcadModelSpace


Dim ent As AcadEntity<BR>Dim coord As Object


Dim j As Integer


......


<BR>For Each ent In mospace


                                                                                       For j = LBound(PolyLineCoor) To UBound(PolyLineCoor)                                       


                                                                                                                                                       If StrComp(ent.ObjectName, "AcDbPolyline", 1) = 0 Then<BR>                                                                                                                                                                                                               PolyLineCoor = ent.coordinates<BR>                                                                                                                                                                                                               coord = PolyLineCoor(UBound(PolyLineCoor(j)))<BR>                                                                                                                                                                                                               Debug.Write(PolyLineCoor(0))<BR>                                                                                                                                                               End If


                                                                                                       Next j


Next


在执行过程中,出现了问题,用UBound(PolyLineCoor)                可以获取一条多线段的节点总数,但是用Debug.Write(PolyLineCoor(0))只能得到一半的坐标值,例如:


第2个实体信息


实体类型AcDbPolyline<BR>折线第一个点坐标:55066.7190010562


第3个实体信息


实体类型AcDbPolyline<BR>折线第一个点坐标:53138.7851450313


第4个实体信息


实体类型AcDbPolyline<BR>折线第一个点坐标:54286.7667293699


请问原因?

王咣生 发表于 2005-2-23 13:31:00

reply

coordinates返回的是坐标数组,PolyLineCoor(0)表示第一点的x坐标,PolyLineCoor(1)表示第一点的y坐标,PolyLineCoor(2)表示第二点的x坐标,PolyLineCoor(3)表示第二点的y坐标.

xiaoming_x 发表于 2005-2-23 14:00:00

谢谢!
页: [1]
查看完整版本: 关于获取多线段AcdbPolyline的坐标的一个问题!