Se puede hacer referencia a los objetos directamente o a través de una variable definida por el usuario. Para utilizar una referencia directa a un objeto, inclúyalo en la jerarquía de la llamada. Por ejemplo, la siguiente instrucción añade una línea en el espacio modelo. Observe que la jerarquía comienza con ThisDrawing, va al objeto ModelSpace y a continuación llama al método AddLine:
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)
Para hacer referencia a los objetos mediante una variable definida por el usuario, defina la variable con el tipo deseado y, a continuación, establézcala como el objeto adecuado. Por ejemplo, el código siguiente define una variable (moSpace) de tipo AcadModelSpace y la establece como igual al espacio modelo actual:
Dim moSpace As AcadModelSpace
Set moSpace = ThisDrawing.ModelSpace
La siguiente instrucción agrega una línea al espacio modelo mediante la variable definida por el usuario:
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)
Recuperación del primer objeto entidad del espacio modelo
El ejemplo siguiente devuelve el primer objeto entidad del espacio modelo. Este código tendría el mismo efecto en entidades del espacio papel. Tenga en cuenta que todos los objetos del dibujo se pueden definir como objetos AcadEntity:
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