从AutoCAD获取ObjectId

时间:2015-10-20 10:57:42

标签: vb.net autocad objectid

我目前正在使用VB在AutoCAD中添加功能。

我正在尝试处理Text对象的ObjectId,我想知道是否有办法让我直接从Autocad查看ObjectId(可能在某些类型的属性查看器中?)

关于我如何做到这一点的任何帮助或建议都会有所帮助,谢谢你。

1 个答案:

答案 0 :(得分:4)

任何AutoCAD实体的ObjectId仅供编程使用,没有用于查看它的UI功能(除非您开发插件)。

此外,实际ID号将从一个会话更改为另一个会话。它只是一个用于更快地打开和操作内存中实体的数字。 ObjectId不保存到.dwg文件中。如果您关闭并打开图纸,则所有ID都将不同。

现在句柄是持久的(保存到.dwg文件中)并且不会在会话之间发生变化。

注意:在某些情况下,Handle也会发生变化,例如BEDIT命令期间块内的实体。

以下是使用VBA / ActiveX

循环实体的快速示例
Public Sub LoopMText()
    For i = 0 To ThisDrawing.ModelSpace.Count - 1
        If TypeOf ThisDrawing.ModelSpace.Item(i) Is AcadMText Then
            Dim t As AcadMText
            Set t = ThisDrawing.ModelSpace.Item(i)
            If t.TextString = "something here" Then
                ' do something...
            End If
        End If
    Next
End Sub