Cálculo de un área definida

AutoCAD ActiveX

 
Cálculo de un área definida
 
 
 

Cálculo del área definida por los puntos introducidos por el usuario Obtiene el área especificada por los puntos introducidos por el usuario. Puede medir una región cerrada arbitraria delimitada por los puntos 2D o 3D especificados por el usuario. Los puntos deben ser coplanares.

Para obtener el área designada por puntos del usuario

  1. Utilice el método GetPoint en un bucle para obtener los puntos del usuario.
  2. Cree una polilínea optimizada a partir de los puntos facilitados por el usuario. Utilice el método AddLightweightPolyline para crear la polilínea.
  3. Utilice la propiedad Area para obtener el área de la polilínea recién creada.
  4. Borre la polilínea con el método Erase.

Cálculo del área definida por los puntos introducidos por el usuario

En este ejemplo, se pide al usuario que designe cinco puntos. Después se crea una polilínea a partir de los puntos. La polilínea es cerrada y su área se muestra en un cuadro de mensaje.

Sub Ch3_CalculateDefinedArea()
    Dim p1 As Variant
    Dim p2 As Variant
    Dim p3 As Variant
    Dim p4 As Variant
    Dim p5 As Variant
      
    ' Get the points from the user
    p1 = ThisDrawing.Utility.GetPoint(, vbCrLf & "First point: ")
    p2 = ThisDrawing.Utility.GetPoint(p1, vbCrLf & "Second point: ")
    p3 = ThisDrawing.Utility.GetPoint(p2, vbCrLf & "Third point: ")
    p4 = ThisDrawing.Utility.GetPoint(p3, vbCrLf & "Fourth point: ")
    p5 = ThisDrawing.Utility.GetPoint(p4, vbCrLf & "Fifth point: ")
      
    ' Create the 2D polyline from the points
    Dim polyObj As AcadLWPolyline
    Dim vertices(0 To 9) As Double
    vertices(0) = p1(0): vertices(1) = p1(1)
    vertices(2) = p2(0): vertices(3) = p2(1)
    vertices(4) = p3(0): vertices(5) = p3(1)
    vertices(6) = p4(0): vertices(7) = p4(1)
    vertices(8) = p5(0): vertices(9) = p5(1)
    Set polyObj = ThisDrawing.ModelSpace.AddLightWeightPolyline _
                  (vertices)
    polyObj.Closed = True
    ThisDrawing.Application.ZoomAll
      
    ' Display the area for the polyline
    MsgBox "The area defined by the points is " & _
            polyObj.Area, , "Calculate Defined Area"
End Sub