domingo, 2 de septiembre de 2012

DraftSight y los archivos *.SCR


DraftSight es una gran herramienta libre de diseño asistido por computadora, pero lamentablemente esta herramienta no tiene la posibilidad de crear rutinas lisp y automatizar algunos procesos, dibujos y comandos. La parte buena es que se puede ejecutar archivos con extensión *.SCR y ejecutar comandos y también crear dibujos fácilmente.

Los archivos con extensión *.SCR son archivos que contienen comandos de línea que tanto el AutoCad como el DraftSight los ejecutan como si un usuario humano los realiza. Pueden ser creados por un editor de texto como el Block de notas de Windows (Notepad.exe) o el RJ Texted y guardarlos con la extensión *.SCR. Cabe señalar que esta extensión *.SCR en algunas PC’s pueda ser reconocido como Screen Saver.


Sintaxis de un archivo *.SCR:

Para el caso del DraftSight, algunos de los comandos se ejecutan de esta manera:
Ejemplo de crear una capa


Donde:                                                                                                                          

Explicación:

En la línea 01, se invoca la función Capa con “-Capa”, y luego en la línea 02 seleccionamos la opción “N” de nuevo para crear una nueva capa, en la línea 03 colocamos el nombre de la capa nueva que se llama “PRUEBA”, en línea 04 si queremos que esta nueva capa sea la activa, seleccionamos la opción “E”, y en la línea 05 ponemos el nombre de la capa “PRUEBA”, en la línea 06 para escoger un color para la capa seleccionamos la opción “ORL” y en la línea 07 ponemos el color “rojo” y en la línea 08 ponemos la capa a colorear “PRUEBA”, la línea 09 simula un “enter” que es para salir del comando y en la línea 10 del archivo *.SCR esta el cursor luego del “enter” ejecutado en la línea 09.

 

Ejemplo de crear un círculo

Donde:

Explicación:

En la línea 01, se invoca la función Círculo con “C” e inmediatamente se ponen las tres coordenadas X, Y, Z que en nuestro ejemplo serán 100, 100, 0. En la línea 02 se coloca el valor del radio que es 25. No tiene un “enter” para salir de la función.

 Ejemplo de crear un polígono cerrado
 
Donde:

Explicación:

En la línea 01, se invoca la función Polígono con “pl” y desde la línea 02 hasta la línea 05 se ponen los cuatro vértices del cuadrado en la forma X, Y, Z, y en la línea 06 cerramos el polígono con la letra “c”.

Ejemplo de crear un polígono abierto



Donde:

Explicación:

En la línea 01, se invoca la función Polígono con “pl” y desde la línea 02 hasta la línea 05 se ponen los cuatro vértices del cuadrado en la forma X, Y, Z, y la línea 06 simula un “enter” que es para salir del comando y en la línea 07 del archivo *.SCR esta el cursor luego del “enter” ejecutado en la línea 06.

 
Ejemplo de crear una línea



Donde:

 

Explicación:

En la línea 01, se invoca la función Línea con “LÍNEA” (fijarse bien en el acento sobre la I), y desde la línea 02 hasta la línea 03 se ponen los dos vértices de la línea en la forma X, Y, Z, y la línea 04 simula un “enter” que es para salir del comando y en la línea 05 del archivo *.SCR esta el cursor luego del “enter” ejecutado en la línea 06.

 
Ejemplo de crear puntos

Donde:
 

Explicación:

Desde la línea 01 hasta la línea 04, se invoca la función Punto con “PUNTO” y se ponen los respectivos cuatro puntos en la forma X, Y, Z.


 
Ejemplo de poner un texto



Donde:

 

Explicación:

En la línea 01 se llama la función Texto con “dt” y en la línea 02 se escoge la opción “j” para justifica el texto y en la línea 03 lo justificamos en el medio y a la derecha, que es la opción “MD”, en la línea 05 ponemos la ubicación en coordenadas de la forma X,Y. En la línea 06 ponemos la altura del texto que es “20” y en la línea 06 esta la rotación del texto que es 0 y en la línea 07 finalmente esta el texto a colocar que es “INGEOGRAFOS”.

 
Como ejecutar un archivo *.SCR en DraftSight :

Para ejecutar un archivo *.SCR, hacemos lo siguiente:

Vamos al menú Herramientas/Ejecutar script…

 

Y luego nos aparecerá la ventana mostrada abajo para seleccionar un archivo *.SCR  o script. Luego de seleccionarlo apretamos el botón “Abrir” y el archivo *.SCR será ejecutado

 

Quizá se pueda sacar más provecho de estos archivos si los creamos en una Macro de Excel o en  Calc de Open Office, y así automatizamos estos comandos mas rápidamente. En el siguiente ejemplo, crearemos una Macro enExcel donde se creara un grillado con líneas horizontales y verticales, con un acotado y todo en una capa.

La macro es la siguiente:


Sub GrilladoSCR()

    SeparacionX = Range("C5").Value
    SeparacionY = Range("C6").Value
    
    Inicio = Range("C8").Value
    Fin = Range("C9").Value
    Profundidad = Range("C10").Value
    
    AlturaTexto = Range("C12").Value
    
    Capa = Range("C14").Value
    
    NumLineasVert = Abs(1 + (Fin - Inicio) / SeparacionX)
    NumLineasHori = 1 + Abs(Profundidad / SeparacionY)
    
    Open "C:\PRUEBA_SCR\GRILLADO_PRUEBA.scr" For Output As #1
        Print #1, "-capa"
        Print #1, "N"
        Print #1, Capa
        Print #1, "E"
        Print #1, Capa
        Print #1, "ORL"
        Print #1, "rojo"
        Print #1, Capa
        Print #1, ""
        For i = 1 To NumLineasHori
            Print #1, "LÍNEA"
            Print #1, Inicio & "," & Profundidad
            Print #1, Fin & "," & Profundidad
            Print #1, ""
            Profundidad = Profundidad + SeparacionY
        Next i
        Profundidad = Range("C10").Value
        For i = 1 To NumLineasVert
            Print #1, "LÍNEA"
            Print #1, Inicio & "," & 0
            Print #1, Inicio & "," & Profundidad
            Print #1, ""
            Inicio = Inicio + SeparacionX
        Next i
        'Print #1, ""
        Inicio = Range("C8").Value
        For i = 1 To NumLineasHori 
            Print #1, "dt"
            Print #1, "j"
            Print #1, "MD"
            Print #1, Inicio & "," & Profundidad
            Print #1, Trim(AlturaTexto)
            Print #1, "0"
            Print #1, Trim(Profundidad)
            Profundidad = Profundidad + SeparacionY
        Next i
        Profundidad = Range("C10").Value
        For i = 1 To NumLineasVert
            Print #1, "DT"
            Print #1, "J"
            Print #1, "SC"
            Print #1, Inicio & "," & Profundidad
            Print #1, Trim(AlturaTexto)
            Print #1, "0"
            Print #1, Trim(Inicio)
            Inicio = Inicio + SeparacionX
        Next i
        'Print #1, ""
        'Print #1, ""
    Close #1
End Sub


Donde:


separacionX: separación de líneas del grillado en el eje X

separacionY: separación de líneas del grillado en el eje y

Inicio: inicio del grillado

fin: fin del grillado

profundidad: profundidad del grillado

Alturatexto: la altura del texto a dibujar

Capa: nombre de la capa a crear

Línea 17: ubicación del archivo en una carpeta llamada "PRUEBA_SCR"

Líneas 18 - 26  se crea la capa definida en la variable Capa

Líneas 27-33       se crean las líneas horizontales

Líneas 35-41       se crean las líneas verticales

Líneas 44 - 53     se crean los textos a la izquierda

Líneas 55 - 64     se crean los textos al abajo del grillado

Aunque no se pueda seleccionar una entidad, analizarla y extraer sus datos, por lo menos podemos crear entidades mas rápidamente con estos archivos *.SCR gracias a una macro. Sera hasta el próximo mes.
 
ª