tfyyf 发表于 2003-12-16 11:09:00

请问如何获得被切断实体的句柄?

一个实体被修剪或切断后变为两个实体,其中一个实体的句柄和原实体相同,请问如何获得另一个实体的句柄?

efan2000 发表于 2003-12-16 11:37:00

如何修剪或切断,是使用ACAD的内部命令还是使用VBA程序。
如果是使用内部命令来操作,可以记录操作前图纸中的实体数目,操作之后的实体数目,如果没有变化,说明没有增加新的实体,否则两次相减就是新增加的实体。

tfyyf 发表于 2003-12-19 10:29:00

谢谢efan2000回答我的问题,我的问题可能没写清,我的问题是:
在VB中用sendcommand "break"在一固定点把实体(一般是直线)断开,我已知断开后的两个实体之一的句柄是原实体的,我想知道如何得到断开后的另一实体的句柄。

mccad 发表于 2003-12-19 10:47:00

最后新增的实体就是另一个实体

tfyyf 发表于 2003-12-19 11:33:00

明白,我想知道如何得到另一实体的句柄。

tfyyf 发表于 2003-12-19 11:35:00

最后新增的实体的句柄是什么?

mccad 发表于 2003-12-19 12:09:00

你可以通过当前对象用OwnerID获得上层对象的ID,再用ObjectIDToObject 方法获得上层对象的对象,这个对象也就是你所处的空间。
然后取这个空间下的最后一个对象,如:
    Dim SpaceId As Long
    Dim Space As AcadObject
    SpaceId = BreakEnt.OwnerID
    Set Space = ThisDrawing.ObjectIdToObject(SpaceId)
    Dim NewEnt As AcadEntity
    Set NewEnt = Space(Space.Count - 1)
    Debug.Print NewEnt.ObjectName

tfyyf 发表于 2003-12-21 15:37:00

谢谢!
我试试
页: [1]
查看完整版本: 请问如何获得被切断实体的句柄?