如何获得线段的端点?
我需要获得选择线段的端点,首先在屏幕中选取线段(可能是line,也可能是polyline),简要代码如下:dim returnobj as acadentity , basepnt as variant, pnt as variant , line1 as variant
ActiveDocument.Utility.GetEntity returnobj, basepnt, "选择第一根线段:"
select case returnobj.objectname
case "line"
set line1=returnobj
pnt=line1.startpoint
case "polyline"
set line1=returnobj
pnt=line1.coordinates()
end select
这样运行时,如果选取的是line,那么一切正常;如果是polyline,则不能读取line1.coordinates(),虽然在监视窗口可以看到line1.coordinates.如果将line1定义为polyline,则选择polyline可以读取line1.coordinates,但选择line时不能读取startpoint. 总之,二者不可得兼,各位有什么办法吗?不要各自分别定义一个line和polyline. 你的问题在我这里没有出现:Sub GetLinePnt()
Dim returnobj As AcadEntity, basepnt As Variant, pnt As Variant, line1 As Variant
ActiveDocument.Utility.GetEntity returnobj, basepnt, "选择第一根线段:"
Select Case returnobj.ObjectName
Case "AcDbLine"
Set line1 = returnobj
pnt = line1.StartPoint
Case "AcDbLWPolyline", "AcDbPolyline"
Set line1 = returnobj
pnt = line1.Coordinates()
End Select
Debug.Print pnt(0) & " " & pnt(1) & " " & pnt(2)
End Sub 不会吧,我是acad2000,难道是版本的问题?? 注意objectname前面有"AcDb"前缀,且大小写不要错。 莫名发表于2004-2-11 21:29:00static/image/common/back.gif注意objectname前面有\"AcDb\"前缀,且大小写不要错。
<BR>这些方面没问题,我只是将代码的主要意思写了些,并不是真正的代码.
页:
[1]