Creación de mallas policara

AutoCAD ActiveX

 
Creación de mallas policara
 
 
 

Utilice el método AddPolyfaceMesh para crear una malla policara en la que las caras puedan tener numerosos vértices.

El proceso de creación de una malla policara es muy similar al empleado para crear una malla rectangular. Para crear una malla policara, indique las coordenadas de todos sus vértices y, a continuación, defina cada cara introduciendo los números de vértice de todos los vértices de esa cara. A medida que va creando la malla policara, puede optar por ocultar determinados lados, asignarlos a capas o asignarles color.

Si desea que los lados sean invisibles, indique el número de vértice correspondiente como un valor negativo. Para obtener más información acerca de la creación de mallas policara, véase el método AddPolyfaceMesh en ActiveX and VBA Reference.

Creación de una malla policara

En este ejemplo se crea una malla policara en espacio modelo. Después se actualiza la dirección de visualización de la ventana gráfica activa para permitir una mejor visión de la naturaleza tridimensional de la malla.

Sub Ch8_CreatePolyfaceMesh()
    'Define the mesh vertices
    Dim vertex(0 To 17) As Double
    vertex(0) = 4: vertex(1) = 7: vertex(2) = 0
    vertex(3) = 5: vertex(4) = 7: vertex(5) = 0
    vertex(6) = 6: vertex(7) = 7: vertex(8) = 0
    vertex(9) = 4: vertex(10) = 6: vertex(11) = 0
    vertex(12) = 5: vertex(13) = 6: vertex(14) = 0
    vertex(15) = 6: vertex(16) = 6: vertex(17) = 1
      
    ' Define the face list
    Dim FaceList(0 To 7) As Integer
    FaceList(0) = 1
    FaceList(1) = 2
    FaceList(2) = 5
    FaceList(3) = 4
    FaceList(4) = 2
    FaceList(5) = 3
    FaceList(6) = 6
    FaceList(7) = 5
    ' Create the polyface mesh
    Dim polyfaceMeshObj As AcadPolyfaceMesh
    Set polyfaceMeshObj = ThisDrawing.ModelSpace.AddPolyfaceMesh _
                                  (vertex, FaceList)
      
    ' Change the viewing direction of the viewport to
    ' better see the polyface mesh
    Dim NewDirection(0 To 2) As Double
    NewDirection(0) = -1
    NewDirection(1) = -1
    NewDirection(2) = 1
    ThisDrawing.ActiveViewport.direction = NewDirection
    ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
    ZoomAll
End Sub