Definición de coordenadas 3D

AutoCAD ActiveX

 
Definición de coordenadas 3D
 
 
 

Introducir coordenadas 3D en el sistema de coordenadas universales (SCU) es similar a introducir coordenadas 2D en dicho sistema. Además de especificar los valores X e Y, el usuario especifica un valor Z. Al igual que ocurre con las coordenadas 2D, se utiliza una variante para pasar las coordenadas a los métodos y propiedades ActiveX® y para consultar las coordenadas.

Para obtener más información acerca de la definición de coordenadas 3D, véase “Introducción de coordenadas 3D“ en el Manual del usuario.

Definición y consulta de coordenadas en polilíneas 2D y 3D

En este ejemplo se crean dos polilíneas, cada una con tres coordenadas. La primera es una polilínea 2D y la segunda 3D. Observe que la longitud de la matriz que contiene los vértices está ampliada para incluir las coordenadas Z en la creación de la polilínea 3D. El ejemplo termina con la consulta de las coordenadas de las polilíneas, que se muestran en un cuadro de mensaje.

Sub Ch8_Polyline_2D_3D()
    Dim pline2DObj As AcadLWPolyline
    Dim pline3DObj As AcadPolyline
      
    Dim points2D(0 To 5) As Double
    Dim points3D(0 To 8) As Double
      
    ' Define three 2D polyline points
   points2D(0) = 1: points2D(1) = 1
   points2D(2) = 1: points2D(3) = 2
   points2D(4) = 2: points2D(5) = 2
      
    ' Define three 3D polyline points
   points3D(0) = 1: points3D(1) = 1: points3D(2) = 0
   points3D(3) = 2: points3D(4) = 1: points3D(5) = 0
   points3D(6) = 2: points3D(7) = 2: points3D(8) = 0
      
    ' Create the 2D light weight Polyline
    Set pline2DObj = ThisDrawing.ModelSpace. _
                             AddLightWeightPolyline(points2D)
    pline2DObj.Color = acRed
    pline2DObj.Update
      
    ' Create the 3D polyline
    Set pline3DObj = ThisDrawing.ModelSpace. _
                             AddPolyline(points3D)
    pline3DObj.Color = acBlue
    pline3DObj.Update
      
    ' Query the coordinates of the polylines
    Dim get2Dpts As Variant
    Dim get3Dpts As Variant
      
    get2Dpts = pline2DObj.Coordinates
    get3Dpts = pline3DObj.Coordinates
      
    ' Display the coordinates
      
    MsgBox ("2D polyline (red): " & vbCrLf & _
            get2Dpts(0) & ", " & get2Dpts(1) & vbCrLf & _
            get2Dpts(2) & ", " & get2Dpts(3) & vbCrLf & _
            get2Dpts(4) & ", " & get2Dpts(5))
      
    MsgBox ("3D polyline (blue): " & vbCrLf & _
            get3Dpts(0) & ", " & get3Dpts(1) & ", " & _
            get3Dpts(2) & vbCrLf & _
            get3Dpts(3) & ", " & get3Dpts(4) & ", " & _
            get3Dpts(5) & vbCrLf & _
            get3Dpts(6) & ", " & get3Dpts(7) & ", " & _
            get3Dpts(8))
End Sub