Reference Objects in the Object Hierarchy
 
 
 

You can reference objects directly or through a user-defined variable. To reference the objects directly, include the object in the calling hierarchy. For example, the following statement adds a line in modelspace. Notice that the hierarchy starts with ThisDrawing, goes to the ModelSpace object, and then calls the AddLine method:

Dim startPoint(0 To 2) As Double, endPoint(0 To 2) As Double
Dim LineObj as AcadLine
startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
endPoint(0) = 30: endPoint(1) = 20: endPoint(2) = 0
Set LineObj = ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)

To reference the objects through a user-defined variable, define the variable as the desired type, then set the variable to the appropriate object. For example, the following code defines a variable (moSpace) of typeAcadModelSpace and sets the variable equal to the current model space:

Dim moSpace As AcadModelSpace
Set moSpace = ThisDrawing.ModelSpace

The following statement then adds a line to the model space using the user-defined variable:

Dim startPoint(0 To 2) As Double, endPoint(0 To 2) As Double
Dim LineObj as AcadLine
startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
endPoint(0) = 30: endPoint(1) = 20: endPoint(2) = 0
Set LineObj = moSpace.AddLine(startPoint,endPoint)

Retrieving the first entity in model space

The following example returns the first entity object in model space. Similar code can do the same for paper space entities. Note that all drawing objects can be defined as AcadEntity objects:

Sub Ch2_FindFirstEntity()
	' This example returns the first entity in model space
	On Error Resume Next


	Dim entity As AcadEntity
	If ThisDrawing.ModelSpace.count <> 0 Then
		Set entity = ThisDrawing.ModelSpace.Item(0)
		MsgBox entity.ObjectName + _
			" is the first entity in model space."
	Else
		MsgBox "There are no objects in model space."
	End If
End Sub