Gets the object ID.
Supported platforms: Windows only
VBA:
object.ObjectID
Type: All drawing objects, AttributeReference, Block, Blocks, Dictionary, Dictionaries, Dimension, DimStyle, DimStyles, Group, Groups, Layer, Layers, Layout, Layouts, Linetype, Linetypes, Material, Materials, MLeaderStyle, ModelSpace, PaperSpace, PlotConfiguration, PlotConfigurations, RegisteredApplication, RegisteredApplications, SectionManager, SectionSettings, SortentsTable, TableStyle, TextStyle, TextStyles, UCS, UCSs, View, Views, Viewport, Viewports, XRecord
The objects this property applies to.
Read-only: Yes
Type: Long_PTR
The object ID of an object.
An object ID and a unique handle are both ways of referencing an object.
In general, use a handle unless you plan to work with certain ObjectARX functions that require an object ID.
VBA:
Sub Example_ObjectID() ' This example creates several objects in model space. ' It then iterates through model space and displays the ' ObjectID for each object found. ' Create a Ray object in model space Dim rayObj As AcadRay Dim basePoint(0 To 2) As Double Dim SecondPoint(0 To 2) As Double basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0# SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0# Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint) ' Create a Polyline object in model space Dim plineObj As AcadLWPolyline Dim points(0 To 5) As Double points(0) = 3: points(1) = 7 points(2) = 9: points(3) = 2 points(4) = 3: points(5) = 5 Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) plineObj.Closed = True ' Create a Line object in model space Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ' Create a Circle object in model space Dim circObj As AcadCircle Dim centerPt(0 To 2) As Double Dim radius As Double centerPt(0) = 5: centerPt(1) = 3: centerPt(2) = 0 radius = 3 Set circObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius) ' Create an Ellipse object in model space Dim ellObj As AcadEllipse Dim majAxis(0 To 2) As Double Dim center(0 To 2) As Double Dim radRatio As Double center(0) = 5#: center(1) = 5#: center(2) = 0# majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0# radRatio = 0.3 Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio) ZoomAll ' Iterate through the model space collection and display ' the ObjectID of each object found. Dim entObjectID As Long Dim entry As AcadEntity For Each entry In ThisDrawing.ModelSpace entObjectID = entry.ObjectID entry.Highlight (True) MsgBox "The ObjectID of this object is " & entObjectID, vbInformation, "ObjectID Example" entry.Highlight (False) Next End Sub
Visual LISP:
(vl-load-com) (defun c:Example_ObjectID() ;; This example creates several objects in model space. ;; It then iterates through model space and displays the ;; ObjectID for each object found. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) ;; Create a Ray object in model space (setq basePoint (vlax-3d-point 3 3 0) secondPoint (vlax-3d-point 1 3 0)) (setq rayObj (vla-AddRay modelSpace basePoint SecondPoint)) ;; Create a Polyline object in model space (setq points (vlax-make-safearray vlax-vbDouble '(0 . 5))) (vlax-safearray-fill points '(3 7 9 2 3 5 ) ) (setq plineObj (vla-AddLightWeightPolyline modelSpace points)) (vla-put-Closed plineObj :vlax-true) ;; Create a Line object in model space (setq startPoint (vlax-3d-point 0 0 0) endPoint (vlax-3d-point 2 2 0)) (setq lineObj (vla-AddLine modelSpace startPoint endPoint)) ;; Create a Circle object in model space (setq centerPt (vlax-3d-point 5 3 0) radius 3) (setq circObj (vla-AddCircle modelSpace centerPt radius)) ;; Create an Ellipse object in model space (setq center (vlax-3d-point 5 5 0) majAxis (vlax-3d-point 10 20 0) radRatio 0.3) (setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio)) (vla-ZoomAll acadObj) ;; Iterate through the model space collection and display ;; the ObjectID of each object found. (vlax-for entry (vla-get-ModelSpace doc) (setq entObjectID (vla-get-objectID entry)) (vla-Highlight entry :vlax-true) (alert (strcat "The ObjectID of this object is " (itoa entObjectID))) (vla-Highlight entry :vlax-false) ) )