Referencias a objetos de la jerarquía de objetos

AutoCAD ActiveX

 
Referencias a objetos de la jerarquía de objetos
 
 
 

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