Creación de regiones compuestas

AutoCAD ActiveX

 
Creación de regiones compuestas
 
 
 

Se pueden crear regiones compuestas mediante la sustracción, combinación o localización de la intersección de regiones o sólidos 3D. A continuación, se pueden extruir o girar las regiones compuestas para crear sólidos complejos. Para crear una región compuesta, utilice el método Boolean.

Cuando se sustrae una región de otra, se llama al método Boolean desde la región primera. Esta es la región de la que debe realizar la sustracción. Por ejemplo, si desea calcular los metros de alfombrado que necesita para un suelo, llame al método Boolean desde el contorno exterior del suelo y utilice las zonas que no irán cubiertas con moqueta, como es el caso del espacio que ocupan las columnas o los mostradores, como objeto de la lista de parámetros de Boolean.

Creación de una región compuesta

Sub Ch4_CreateCompositeRegions()
    ' Create two circles, one representing a room,
    ' the other a pillar in the center of the room
    Dim RoomObjects(0 To 1) As AcadCircle
    Dim center(0 To 2) As Double
    Dim radius As Double
    center(0) = 4
    center(1) = 4
    center(2) = 0
    radius = 2#
    Set RoomObjects(0) = ThisDrawing.ModelSpace. _
                         AddCircle(center, radius)
    radius = 1#
    Set RoomObjects(1) = ThisDrawing.ModelSpace. _
                         AddCircle(center, radius)
      
    ' Create a region from the two circles
    Dim regions As Variant
    regions = ThisDrawing.ModelSpace.AddRegion(RoomObjects)
      
    ' Copy the regions into the region variables for ease of use
    Dim RoundRoomObj As AcadRegion
    Dim PillarObj As AcadRegion
      
    If regions(0).Area > regions(1).Area Then
        ' The first region is the room
        Set RoundRoomObj = regions(0)
        Set PillarObj = regions(1)
    Else
        ' The first region is the pillar
        Set PillarObj = regions(0)
        Set RoundRoomObj = regions(1)
    End If
' Subtract the pillar space from the floor space to
    ' get a region that represents the total carpet area.
    RoundRoomObj.Boolean acSubtraction, PillarObj
      
    ' Use the Area property to determine the total carpet area
    MsgBox "The carpet area is: " & RoundRoomObj.Area
End Sub

Calcule el área de la región resultante con la propiedad Area.