Definición de un sistema de coordenadas personales

AutoCAD ActiveX

 
Definición de un sistema de coordenadas personales
 
 
 

Puede definir un sistema de coordenadas personales ( SCP ) para cambiar el emplazamiento del punto de origen (0, 0, 0) y la orientación del plano XY y del eje Z. Un SCP se puede colocar y orientar en cualquier punto del espacio tridimensional. Se pueden definir, guardar y utilizar tantos sistemas de coordenadas como se necesiten. La introducción y visualización de las coordenadas depende del sistema SCP que esté activo.

Para indicar el origen y la orientación del SCP, puede mostrar el icono SCP en el punto de origen del SCP mediante la propiedad UCSIconAtOrigin. Si el icono SCP está activado (véase la propiedad UCSIconOn) pero no aparece en el origen, se muestra en la coordenada del SCU definida por la variable de sistema UCSORG.

Puede crear un sistema de coordenadas personales con el método Add. Este método requiere cuatro valores de entrada: la coordenada del origen, una coordenada en los ejes X e Y, y el nombre del SCP.

Todas las coordenadas de ActiveX Automation de AutoCAD® se introducen en el sistema de coordenadas universales. Utilice el método GetUCSMatrix para volver a la matriz de transformación de un SCP concreto. Utilice esta matriz de transformación para buscar las coordenadas SCU equivalentes.

Para activar un SCP, utilice la propiedad ActiveUCS del objeto Document. Si se realizan cambios en el SCP activo, el nuevo objeto de SCP debe restablecerse como SCP activo para que los cambios se vean. Para restablecer el SCP activo, sólo hay que llamar a la propiedad ActiveUCS de nuevo con el objeto de SCP actualizado.

Para obtener más información sobre la definición del SCP, véase “Control del sistema de coordenadas personales (SCP) en 3D” en el Manual del usuario.

Creación de un SCP nuevo, activación y traducción de las coordenadas de un punto a SCP

La siguiente subrutina crea un nuevo SCP y lo establece como el SCP activo del dibujo. A continuación, pide al usuario que designe un punto del dibujo y devuelve las coordenadas SCU y SCP del punto.

Sub Ch8_NewUCS()
    ' Define the variables we will need
    Dim ucsObj As AcadUCS
    Dim origin(0 To 2) As Double
    Dim xAxisPnt(0 To 2) As Double
    Dim yAxisPnt(0 To 2) As Double
    ' Define the UCS points
    origin(0) = 4: origin(1) = 5: origin(2) = 3
    xAxisPnt(0) = 5: xAxisPnt(1) = 5: xAxisPnt(2) = 3
    yAxisPnt(0) = 4: yAxisPnt(1) = 6: yAxisPnt(2) = 3
      
    ' Add the UCS to the
    ' UserCoordinatesSystems collection
    Set ucsObj = ThisDrawing.UserCoordinateSystems. _
             Add(origin, xAxisPnt, yAxisPnt, "New_UCS")
    ' Display the UCS icon
    ThisDrawing.ActiveViewport.UCSIconAtOrigin = True
    ThisDrawing.ActiveViewport.UCSIconOn = True
      
    ' Make the new UCS the active UCS
    ThisDrawing.ActiveUCS = ucsObj
    MsgBox "The current UCS is : " & ThisDrawing.ActiveUCS.Name _
            & vbCrLf & " Pick a point in the drawing."
      
    ' Find the WCS and UCS coordinate of a point
    Dim WCSPnt As Variant
    Dim UCSPnt As Variant
      
    WCSPnt = ThisDrawing.Utility.GetPoint(, "Enter a point: ")
    UCSPnt = ThisDrawing.Utility.TranslateCoordinates _
             (WCSPnt, acWorld, acUCS, False)
      
    MsgBox "The WCS coordinates are: " & WCSPnt(0) & ", " _
             & WCSPnt(1) & ", " & WCSPnt(2) & vbCrLf & _
             "The UCS coordinates are: " & UCSPnt(0) & ", " _
             & UCSPnt(1) & ", " & UCSPnt(2)
End Sub