解决autocad2006,2007中某个对象获取GeomExtents时,左下角坐标为0,0的方法
本帖最后由 guohq 于 2011-8-29 00:56 编辑在autocad2006,2007 用GeomExtents获取某个对象的左下角坐标时,总是0,0。下面给出在.net中调用com方法,以弥补arx.net在低版本中的不足。
使用前先添加引用 :如下图
代码如下:
Sub TT()
Dim ID As ObjectId = ED.GetEntity("选择一个对象:").ObjectId
Dim cadapp As Autodesk.AutoCAD.Interop.AcadApplication = Application.AcadApplication
Dim Ent As Autodesk.AutoCAD.Interop.Common.AcadEntity = cadapp.ActiveDocument.HandleToObject(ID.Handle.ToString)
Dim ptMin As Object = Nothing, ptMax As Object = Nothing
Ent.GetBoundingBox(ptMin, ptMax)
ED.WriteMessage("x=" & ptMin(0).ToString & ",y=" & ptMin(1).ToString & vbCrLf)
ED.WriteMessage("x=" & ptMax(0).ToString & ",y=" & ptMax(1).ToString & vbCrLf)
End Sub
注:此代码只给出大概方法,没有添加选择对象为空时的判断,没有对xline、xray等对象判断!!!
页:
[1]