Creación de mallas

AutoCAD ActiveX

 
Creación de mallas
 
 
 

Una malla rectangular (objeto PolygonMesh) representa la superficie de un objeto mediante facetas planas. La densidad de malla, o número de facetas, se define en función de una matriz de vértices M y N, similar a una rejilla con filas y columnas. Mediante M y N se determina la posición de las columnas y filas, respectivamente, de cualquier vértice dado. Estos objetos se pueden crear en espacio 2D y 3D, si bien su uso es más apropiado para 3D.

Utilice el método Add3DMesh para crear mallas rectangulares. Este método requiere tres valores de entrada: el número de vértices de la dirección M, el número de vértices de la dirección N y una matriz de variantes que contenga las coordenadas de todos los vértices de la malla.

Una vez establecido PolygonMesh, utilice las propiedades MClose y NClose para cerrar la malla.

Para obtener más información acerca de la creación de mallas, véase “Creación de superficies” en el Manual del usuario.

Creación de una malla poligonal

En este ejemplo se crea una malla poligonal de “. La dirección de la ventana gráfica activa se ajusta de forma que la naturaleza tridimensional de la malla se visualiza con más facilidad.

Sub Ch8_Create3DMesh()
    Dim meshObj As AcadPolygonMesh
    Dim mSize, nSize, Count As Integer
    Dim points(0 To 47) As Double
      
    ' create the matrix of points
    points(0) = 0: points(1) = 0: points(2) = 0
    points(3) = 2: points(4) = 0: points(5) = 1
    points(6) = 4: points(7) = 0: points(8) = 0
    points(9) = 6: points(10) = 0: points(11) = 1
    points(12) = 0: points(13) = 2: points(14) = 0
    points(15) = 2: points(16) = 2: points(17) = 1
    points(18) = 4: points(19) = 2: points(20) = 0
    points(21) = 6: points(22) = 2: points(23) = 1
    points(24) = 0: points(25) = 4: points(26) = 0
    points(27) = 2: points(28) = 4: points(29) = 1
    points(30) = 4: points(31) = 4: points(32) = 0
    points(33) = 6: points(34) = 4: points(35) = 0
    points(36) = 0: points(37) = 6: points(38) = 0
    points(39) = 2: points(40) = 6: points(41) = 1
    points(42) = 4: points(43) = 6: points(44) = 0
    points(45) = 6: points(46) = 6: points(47) = 0
      
    mSize = 4: nSize = 4
      
    ' creates a 3Dmesh in model space
    Set meshObj = ThisDrawing.ModelSpace. _
                        Add3DMesh(mSize, nSize, points)
      
    ' Change the viewing direction of the viewport
    ' to better see the cylinder
    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