我感觉应该是变量未定义好的关系,如下:
Dim lineobj As AcadLine Dim pnt1(0 To 2) As Double pnt1(0) = lineobj.StartPoint(0) pnt1(1) = lineobj.StartPoint(1) pnt1(2) = lineobj.StartPoint(2)
简单问题总是复杂化。 请注意起点、终点、圆心均返回变体。所以直接定义变体就可以了。如 Dim StartPnt as Variant StartPnt = LineObj.StartPoint 这样,StartPnt就是起点的坐标了,X坐标为StartPnt(0),Y坐标为StartPnt(1),Z坐标为StartPnt(2)。