Você está na página 1de 104

Gua de Referencia del

Lenguaje de Macros
GibbsCAM 2007
julio 2007

Aviso de Propiedad
Este documento contiene informacin perteneciente a Gibbs and Associates y slo se
utilizar conforme a y en conjuncin con la licencia otorgada al licenciatario
correspondiente al software patentado de Gibbs and Associates que se adjunta. Con
excepcin de lo permitido expresamente en la licencia, ninguna parte de este documento
puede ser reproducida, transmitida, transcripta o almacenada en un sistema de
recuperacin ni traducida a ningn idioma o lenguaje informtico, de ninguna forma ni por
medio alguno, ya sea electrnico, magntico, ptico, qumico, manual o de algn otro tipo,
sin contar con el expreso permiso previo por escrito de Gibbs and Associates o de un
representante debidamente autorizado por la firma.
Se recomienda especialmente que los usuarios revisen cuidadosamente la licencia con el fin
de comprender las obligaciones y los derechos relacionados con este software patentado y
con la documentacin adjunta.
El uso del software informtico y de la documentacin de usuario se brinda conforme a un
acuerdo de licencia de Gibbs and Associates.
2006-2007 Gibbs and Associates. Todos los derechos reservados. El logotipo de Gibbs,
GibbsCAM, el logotipo de GibbsCAM, CAM von Gibbs, Virtual Gibbs, Gibbs SFP, MTM,
SolidSurfacer y Powerfully Simple. Simply Powerful. son marcas comerciales o marcas
comerciales registradas de Gibbs and Associates en los Estados Unidos y/u otros pases.
Microsoft, Windows y el logotipo de Windows son marcas comerciales o marcas
comerciales registradas de Microsoft Corporation en los Estados Unidos y/o otros pases.
Todos los dems nombres de marcas o productos son marcas comerciales o marcas
comerciales registradas de sus respectivos dueos.
Aviso de Propiedad:
Escrito por Will. Gaffga
Gracias a Bill Gibbs, Mike ONeill, Steve Aughinbaugh, Bob Dunne y Daniel Remenak por
su colaboracin y ayuda.
Impreso en los Estados Unidos de Amrica

Gibbs and Associates


323 Science Drive
Moorpark, CA 93021
Modificado: julio 19, 2007

Tabla de Contenidos

Tabla de Contenidos
Referencia del Lenguaje de Macros . . . . . . . . . . . . . . . . . . 1
El Lenguaje de Macros de GibbsCAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Acerca de la Funcin de Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Acerca de Este Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Acerca del Lenguaje de Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Descripcin del Lenguaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Control de Flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Funciones, Operadores y Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Operadores Matemticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Comandos Lgicos Condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Funciones con Valores de Cadena Devueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Comandos de Entrada del Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Comandos de Creacin de Cuadros de Dilogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Comandos de Manipulacin de Piezas de Gibbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Comandos de Manejo de Archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Datos de Piezas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Comandos de Post . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Comandos de Creacin de Geometra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Comandos de Grupo de Trabajo y Sistema de Coordenadas. . . . . . . . . . . . . . . . . . . . 28
Comandos de Slidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Comandos de Herramientas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Comandos de Grupo de Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Comandos del Proceso de Mecanizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Comandos de Operaciones de Mecanizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Comandos de visualizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Comandos para Trabajar con Datos Externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Archivos de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Archivos de Excel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Comandos Miscelneos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Macros de Depuracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Parmetros de GibbsCAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Datos de Piezas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Datos de Configuracin de MTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Datos de Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
i

Tabla de Contenidos

Datos del Proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


Todos los Tipos de Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Procesos de Fresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Procesos de Torno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Datos del Proceso de Utilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Datos de Operacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Todos los Tipos de Operaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Operaciones Tipo Fresa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Operaciones Tipo Torno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Datos de Posts (Archivos de posprocesamiento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Uso de Macros de GibbsCAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Configuracin del men Personalizar Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Macros de Inicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Muestras del Lenguaje de Macros . . . . . . . . . . . . . . . . . . 57


Medidas de Programacin Adecuadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Muestras de Macros de GibbsCAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Muestras Rpidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Ejemplo de Entrada de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Ejemplo de Creacin de Geometra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Ejemplo Simple de Seleccin de Geometra y Rotacin . . . . . . . . . . . . . . . . . . . . . . . . 60
Ejemplo de Mecanizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Ejemplo Avanzado de Creacin de Geometra y Transformacin. . . . . . . . . . . . . . . . 60
Obtener Informacin de Lista de GT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Obtener Informacin de Lista de SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Calcular la Extensin de la Geometra de Pieza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Crear una Copia de Seguridad de la Pieza Actual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Crear y Embolsar Slidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Convertir una Pieza Alternando entre las Opciones Pulgadas y Mtrico. . . . . . . . . . 69
Guardar Datos de Geometra en un Archivo de Texto . . . . . . . . . . . . . . . . . . . . . . . . . .71
Ejecutar un Postprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Ejemplo de Bucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Ejemplos de Macros Completas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Primer Ejemplo - Macro3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Segundo Ejemplo - Macro2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

ii

REFERENCIA DEL
LENGUAJE DE MACROS

Referencia del Lenguaje de Macros

CAPTULO 1: Referencia del Lenguaje de Macros


EL LENGUAJE DE MACROS DE GIBBSCAM
ACERCA DE LA FUNCIN DE MACROS
GibbsCAM tiene una funcin de macros que se puede utilizar para crear la geometra,
importar procesos guardados y crear operaciones. El uso original de la funcin de Macros
de GibbsCAM estaba orientado a la programacin de la familia de piezas. Con la
incorporacin de nuevas funciones, es probable que encuentre otros usos para la funcin
de macros, adems del mencionado anteriormente.

ACERCA DE ESTE MANUAL


Este documento es una gua de referencia para el lenguaje de macros y su uso. Este
documento est diseado bajo la suposicin de que el usuario cuenta con un manejo
competente de GibbsCAM y est familiarizado con la programacin de macros o tiene
experiencia en programacin general.

ACERCA DEL LENGUAJE DE MACROS


Las macros de GibbsCAM son archivos de texto que se interpretan en tiempo de ejecucin.
No existe una etapa de compilacin para las macros de GibbsCAM y el lenguaje utilizado es
similar a Basic. Todos los archivos de macros deben ser archivos de texto ASCII sin formato.
Puede utilizar el Bloc de notas o el editor de texto que desee para crear las macros. Los
archivos de macros se pueden guardar en cualquier lugar, ya que se ejecutan desde un
men en GibbsCAM. Para agregar macros al men, se utiliza el plug-in de macros.
La entrada del usuario est disponible a travs de un indicador simple para un valor nico o
de un cuadro de dilogo definido por el usuario (un archivo .DLG) que puede contener
cuadros de entrada, casillas de verificacin y botones de opcin.
A continuacin, se brinda informacin general acerca de las Macros de GibbsCAM y sus
respectivas sintaxis.

Las Macros de GibbsCAM no distinguen entre maysculas y minsculas.

Las tabulaciones no se reconocen y las sangras se deben realizar con espacios.

Debe haber una coma y un espacio entre los argumentos en un comando.

Los valores de ngulo deben especificarse en radianes o grados.

Las macros pueden activar otras macros.


3

Referencia del Lenguaje de Macros

DESCRIPCIN DEL LENGUAJE


VARIABLES
Si bien no es necesario declarar las variables de Macros de GibbsCAM, es posible hacerlo. Si
una variable no se declara, se define automticamente cuando se utiliza y es global. Todas
las variables numricas son nmeros de punto flotante de precisin doble (nmeros
float).
GLOBAL <NOMBRE DE VARIABLE>, <NOMBRE DE VARIABLE>..., <NOMBRE DE VARIABLE>: Las
variables globales se encuentran disponibles para todas las macros desde la primera
ejecucin en una instancia. No es necesario declararlas, a menos que sean grupos. Si una
variable no se declara, es decir, no se identifica especficamente como global o local, se
considera global.
GLOBAL XVAL(10), YVAL(5), ABC, DEF$

En este ejemplo de un grupo, XVAL es un grupo con 10 valores, YVAL tiene 5


valores, ABC es un valor numrico nico y DEF$ tiene una cadena nica de
caracteres de texto.
LOCAL <NOMBRE DE VARIABLE>, <NOMBRE DE VARIABLE>..., <NOMBRE DE VARIABLE>: Una
variable local slo se encuentra disponible para la macro determinada donde fue definida.
Las variables que son locales en relacin con una macro deben declararse antes de su
utilizacin. Al salir de la macro, la variable se pierde.
ARGS <NOMBRE DE VARIABLE>, <NOMBRE DE VARIABLE>..., <NOMBRE DE VARIABLE>: Al
activar otra macro, puede transferirle valores o variables. Dentro de la macro activada, debe
declarar estos valores utilizando el comando ARGS. Esto definir las variables locales en
relacin con la macro activada que conservarn los valores transferidos a dicha macro.
CALL example.mac, 1, ABC

Dentro de la macro example.mac:


ARGS NUM, COUNTER

En la macro example.mac, la variable local NUM se iniciar con el valor 1 (el primer
valor que se le transfiri) y la variable local COUNTER conservar el valor de la variable
ABC en la macro activadora. Cuando la macro example.mac finalice, volver a
transferir el valor actual de COUNTER a la variable ABC.

Referencia del Lenguaje de Macros

CONTROL DE FLUJO
GOTO <NOMBRE DE ETIQUETA>: El comando Goto ordena a la computadora pasar a otro
punto de la macro, especificado por un nombre de etiqueta.
CALL <NOMBRE DE ARCHIVO DE MACRO>: La instruccin de activacin Call ordena a la
macro que se remita a otra macro, cuyo nombre se especifica en la sentencia.

FUNCIONES, OPERADORES Y EXPRESIONES


Operadores Matemticos
De forma predeterminada, todas las funciones de trigonometra funcionan en radianes, no
en grados. Puede cambiar esto durante una macro mediante el uso del comando grados;
el comando radianes volver a cambiar los valores a radianes. En la descripcin de las
funciones, los parntesis angulares ( < > ) indican cualquier expresin vlida que califica un
nmero.
Las Macros de GibbsCAM utilizan los operadores matemticos estndar +, -, /, *, <, > y =.
Las expresiones siguen el orden estndar de las operaciones. Los parntesis son optativos
pero se recomienda su uso para garantizar que el clculo sea correcto y para maximizar la
legibilidad.
**: Este operador aumentar un valor a una potencia.
a = x**3

<>: Este operador especifica distinto de.


if dir<>1 then message "Rotate"

INT <NMERO>: Cuando este comando se ubica frente a un valor o a una variable numrica,
el nmero se truncar en un entero.
SQRT <NMERO>: Muestra la raz cuadrada del nmero dado.
ABS <NMERO>: Muestra el valor absoluto del nmero dado.
SIN <NMERO>: Muestra el seno del nmero dado. De forma predeterminada, el resultado
se expresa en radianes.
x= r1 * sin(a)

COS <NMERO>: Muestra el coseno del nmero dado. De forma predeterminada, el


resultado se expresa en radianes.
5

Referencia del Lenguaje de Macros

x= r1 * cos(a)

TAN <NMERO>: Muestra la tangente del nmero dado. De forma predeterminada, el


resultado se expresa en radianes.
x= r1 / tan(a)

ASIN <NMERO>: Calcula el arco seno del nmero dado. De forma predeterminada, el
resultado se expresa en radianes.
ACOS <NMERO>: Calcula el arco coseno del nmero dado. De forma predeterminada, el
resultado se expresa en radianes.
ATAN <NMERO>: Calcula el arco tangente del nmero dado. De forma predeterminada, el
resultado se expresa en radianes.
GRADOS: Este comando cambiar todas las funciones de trigonometra para que funcionen
en grados.
RADIANES: Este comando cambiar todas las funciones de trigonometra para que
funcionen en radianes.

Cadenas
Acerca de las Cadenas

Concatenacin
La mayora de los operadores de macros (-, *, /, etc.) no funcionan en las cadenas. La
excepcin es +, que acta como un operador de concatenacin.
var$ = "un poco de texto"
msg$ = "Esta cadena " + var$

En este ejemplo, msg se establecer en "Esta cadena y un poco de texto".


Incrustacin de Variables
Las variables pueden incrustarse en las cadenas durante el tiempo de ejecucin mediante la
sintaxis "%variable".
a = 3
b = 4
s = a * a + b * b
c = sqrt(s)
Message "La hipotenusa de un tringulo recto con lados de %a y %b de largo es
%c."

Referencia del Lenguaje de Macros

En este ejemplo, el mensaje se establecer en " La hipotenusa de un tringulo


recto con lados de 3 y 4 de largo, es 5. ".
Caracteres Especiales
Los saltos de lnea pueden representarse con la secuencia de caracteres especiales " \n".
msg$ = "esto\ny aquello"

En este ejemplo, el mensaje se establecer en:


esto
y aquello

Es posible que determinados caracteres no se incluyan en los literales de cadena. En este


punto, los siguientes caracteres originarn errores: signo de porcentaje ( %), comillas dobles
(") y signo de exclamacin (!).

Comandos con Cadenas

A continuacin, se muestran los comandos que manejan cadenas.


LEN <CADENA>: Muestra la longitud de una cadena.
Ilen = len(abc)

el valor de ilen se establecer en 3


Ilen = len(a$)

el valor de ilen se establecer en el nmero de caracteres en la variable a$


LEFT$ <CADENA>, <NMERO DE CARACTERES>: Muestra el nmero de caracteres de una
cadena ubicados en el extremo izquierdo.
B$ = left$(ABCDE, 3)

B$ se establecer en ABC
RIGHT$ <CADENA>, <NMERO DE CARACTERES>: Muestra el nmero de caracteres de una
cadena ubicados en el extremo derecho.
B$ = right$(ABCDE, 3)

B$ se establecer en CDE
7

Referencia del Lenguaje de Macros

MID$ <CADENA>, <PRIMER CARCTER>, <NMERO DE CARACTERES>: Muestra los caracteres


de la parte media de una cadena.
B$ = mid$(ABCDE, 3, 2)

B$ se establecer en CD
LTRIM$ <CADENA>: Muestra la cadena sin espacios iniciales (ubicados a la izquierda)
RTRIM$ <CADENA>: Muestra la cadena sin los espacios finales (ubicados a la derecha)
TRIM$ <CADENA>: Muestra la cadena sin los espacios iniciales y finales
UCASE$ <CADENA>: Muestra la cadena con los caracteres en mayscula
LCASE$ <CADENA>: Muestra la cadena con los caracteres en minscula
FMT$ <CADENA>, <FORMATO>: Muestra un valor numrico, formateado como una cadena
de texto. El formato puede contener:
0

Un dgito

Un dgito si no se trata de un cero inicial o final

Un punto decimal

Un signo ms si el nmero es positivo


B$ = fmt(123.45, 0000.000)

B$ se establecer en 0123.450

COMANDOS LGICOS CONDICIONALES


IF <EXPRESIN> THEN <EXPRESIN>: El bucle if/then es bastante estndar. Un comando
lgico bsico tiene la siguiente sintaxis:
IF <valor 1> <condicin> <valor 2> THEN <comando macro>

A continuacin, se presentan diversos ejemplos de comandos lgicos.


IF a = b THEN c = d
IF (a+2) > (b * cos(c+d/2)) THEN call macro2
IF abc <> 3 THEN goto label10

Referencia del Lenguaje de Macros

IF messages=1 THEN IF dir<>1 THEN message "Rotate"

FOR <VARIABLE> = <COMIENZO> TO <TRMINO>, [STEP <NMERO ENTERO>]: Los bucles For
son muy sencillos. El parmetro STEP tiene el valor predeterminado 1; por lo tanto, no
necesita declarar el STEP si el incremento es 1. A continuacin, se presentan diversos
ejemplos de bucles FOR.
FOR I = 1 TO 10
A = A + 1
NEXT I
FOR I=2 TO 6 STEP 2
FOR J = (I+1) TO 2
A = I + J
NEXT J
NEXT I

El primer ejemplo incrementa A en 1 diez veces. El segundo ejemplo tiene un FOR en


un FOR.
NEXT <NOMBRE DE VARIABLE>: El comando next modifica la variable FOR por el paso
especificado y vuelve a ejecutar el contenido del bucle.
CONTINUE: Cuando el comando continue se encuentra dentro de un bucle, deja de ejecutar
la iteracin actual del mismo y vuelve a la parte superior de su siguiente iteracin.
for i = 1 to 3
message "Este mensaje aparecer tres veces."
if i = 2 then continue
message "Este mensaje aparecer dos veces, for i = 1 y 3; se omite para
2"
next i

COMANDOS
Los comandos que requieren argumentos utilizan una coma como el delimitador entre
cada argumento. En la descripcin de los comandos, los parntesis angulares ( < > ) indican
cualquier expresin vlida que califica un nmero. Los corchetes ( [ ] ) indican los
argumentos optativos. El carcter de barra vertical ( | ) indica entradas de parmetro
vlidas individuales, como CW | CCW que indica en direccin de las agujas del reloj y en
direccin contraria de las agujas del reloj y 0 | 1 que indica verdadero o falso o activado
o desactivado. Algunos pocos comandos descritos aqu tienen los parmetros Izquierda y
Arriba. El parmetro Izquierda describe la distancia desde el lado izquierdo de
GibbsCAM o el cuadro de dilogo en que se encuentra el parmetro. El parmetro Arriba
9

Referencia del Lenguaje de Macros

describe la distancia desde el lado superior de GibbsCAM o el cuadro de dilogo en que se


encuentra el parmetro.

Funciones con Valores de Cadena Devueltos


La mayora de los comandos de macro no devolvern ningn valor o devolvern un nmero
de punto flotante. Sin embargo, hay un nmero de comandos que devuelven una cadena.
Estas funciones se indican mediante un signo $ luego del nombre del comando. Estos
comandos se documentan en la seccin Comandos con Cadenas de este manual. Estas
funciones deben activarse colocando los parmetros entre parntesis.
msg$ = " AB CD "
msg2$ = rtrim$(msg$)

En este ejemplo, la variable msg2 se establecer en "AB CD"

Comandos de Entrada del Usuario


INPUT SOLICITUD, <VARIABLE>, <VALOR PREDETERMINADO>: Este comando, que se activa
dentro del archivo de macro, mostrar un cuadro de dilogo que contiene un cuadro de
entrada para que el usuario ingrese un valor. Tenga en cuenta que este comando es
diferente del comando input (entrada) utilizado dentro de un cuadro de dilogo, que se
documenta en la pgina 12.
INPUT Enter Width, w1, 10

Los resultados de este cdigo se presentan en un cuadro de dilogo con un cuadro de


entrada que le solicita al usuario que ingrese un valor predeterminado 10. Este valor
se asignar a la variable w1.
YESNO TEXTO DE SOLICITUD, <VARIABLE>, [TTULO]: Este comando activa un cuadro de
dilogo con los botones S y No. La variable se establece en 0 para No y 1 para S.
Si no se establece un ttulo, parte superior del cuadro de dilogo simplemente rezar
Macro personalizada.
YESNO Desea hacerlo?, doit1, Necesita elegir una opcin.

Esto mostrar un cuadro de dilogo con el ttulo Necesita elegir una opcin y el
mensaje Desea hacerlo?. Habr botones SI y NO. Si presiona s, la variable doit1 se
establecer en 1, si presionano o cierra el cuadro de dilogo, se establecer en 0.
DIALOG NOMBRE DE ARCHIVO: Puede configurar una tcnica para obtener una entrada a
travs de un cuadro de dilogo personalizado. Cuando se ejecuta este comando, se abrir el
cuadro de dilogo especificado.
10

Referencia del Lenguaje de Macros

DIALOG MyMacro.dlg

Comandos de Creacin de Cuadros de Dilogo


Como se describi en la seccin dialog nombre de archivo, puede recopilar entradas de
un usuario creando un cuadro de dilogo personalizado. El cuadro de dilogo se debe
definir como un archivo de texto individual. Un archivo de texto de cuadro de dilogo debe
comenzar con el comando dialog ttulo, <izquierda>, <superior>, <ancho>, <altura>. Un
cuadro de dilogo puede contener cualquier combinacin de etiquetas de texto, cuadros de
entrada, casillas de verificacin y botones de opcin. Puede haber hasta 10 de cada uno de
los controles. Un cuadro de dilogo puede contener un botn Aceptar y Cancelar.
Tambin puede contener una imagen de mapa de bits optativa.
DIALOG TTULO, <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>: Este comando define
las posiciones izquierda y superior de un cuadro de dilogo y luego el ancho y la altura.
Debe ser el primer comando de un archivo de texto de cuadro de dilogo.
DIALOG "Plaquita Rmbica" 30, 50, 530, 390

Este comando crea un cuadro de dilogo denominado Plaquita Rmbica que tiene 530 x
390 pxeles y se abrir a 30 pxeles desde la izquierda y a 50 pxeles desde la parte
superior de la ventana de GibbsCAM.
FONT <NOMBRE>, <TAMAO>: De forma predeterminada, la funcin Macros utiliza la
fuente predeterminada del sistema para todo texto en una macro. Este comando le permite
especificar la fuente utilizada. Si la fuente especificada no se encuentra instalada en el
sistema del usuario, la macro utilizar la fuente predeterminada del sistema.
FRAME <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, TEXTO: Este comando le permite
colocar un marco en un cuadro de dilogo para poder incluir una etiqueta de texto. Los
marcos son tiles para organizar grupos de controles.
FRAME 20, 240, 250,100, "Definicin de ngulo"

Este comando crea un marco dentro de un cuadro de dilogo que tiene la etiqueta
Definicin de ngulo. El marco tiene 250 x 100 pxeles y est colocado a 20 pxeles
desde la izquierda y a 240 pxeles desde la parte superior del cuadro de dilogo.
LABEL TEXTO, <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>: Este comando le permite
colocar una etiqueta de texto en un cuadro de dilogo. Usted define la posicin izquierda y
superior dentro del cuadro de dilogo, el tamao del texto y el texto propiamente dicho. A
cada etiqueta creada se le asigna automticamente un nombre que se va incrementando, es
decir, la primera etiqueta del cuadro de dilogo es label1, la segunda etiqueta es label2,
etc.
11

Referencia del Lenguaje de Macros

LABEL "Introducir un valor" 310, 39, 100, 24

Este comando crea el texto Introducir un valor. El texto se coloca a 310 pxeles desde la
izquierda y a 39 pxeles desde la parte superior del cuadro de dilogo. El texto tiene un
rea mxima de 100 x 24 pxeles. Si el texto ocupa ms espacio que ste, se reducir.
INPUT <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, TTULO, <VARIABLE>, [<VALOR
PREDETERMINADO>]: Este comando le permite colocar un cuadro de entrada de texto en un
cuadro de dilogo. Usted define la posicin izquierda y superior dentro del cuadro de
dilogo, el tamao del cuadro, el nombre de la variable y, opcionalmente, un valor
predeterminado. A cada entrada creada se le asigna automticamente un nombre que se va
incrementando, es decir, la primera entrada del cuadro de dilogo es input1, la segunda
entrada es input2, etc.
INPUT 420, 35, 70, 24, N de Grados, a1, 10

Este comando crea un cuadro de entrada de texto que se coloca a 420 pxeles desde la
izquierda y a 35 pxeles desde la parte superior del cuadro de dilogo. Este cuadro tiene
70 x 24 pxeles. Lo que el usuario escribe en este cuadro ser asignado a la variable a1.
Este cuadro tiene el valor predeterminado 10.
CHECK <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, ETIQUETA, <NOMBRE DE
VARIABLE>, [<0|1>]: Este comando le permite colocar una casilla de verificacin dentro de
un cuadro de dilogo. Usted define la posicin izquierda y superior dentro del cuadro de
dilogo, el tamao de la casilla de verificacin, el texto que aparecer, el nombre de la
variable y, por ltimo, el estado predeterminado. 0 indica que la casilla de verificacin
est desactivada y 1, que est activada. Si no se utiliza un valor predeterminado, la casilla
de verificacin se desactiva automticamente. A cada casilla de verificacin creada se le
asigna automticamente un nombre que se va incrementando, es decir, la primera casilla
de verificacin del cuadro de dilogo es check1, la segunda casilla de verificacin es
check2, etc.
CHECK 420, 35, 20, 20 Oh! Oh! Selecciname! Selecciname! check1, 1

RADIO <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, ETIQUETA, <NOMBRE VAR>,


[<0|1>, <N GRUPO>]: Este comando le permite colocar uno o ms botones de opcin en un
cuadro de dilogo y agruparlos juntos. Usted define la posicin izquierda y superior dentro
del cuadro de dilogo, el tamao del botn, el texto que aparecer y el nombre de la
variable. De manera opcional, puede especificar si el elemento est desactivado (0, el valor
predeterminado) o activado (1) y asignar el botn a un grupo, que es un valor entero. A
cada botn de opcin creado se le asigna automticamente un nombre que se va
incrementando, es decir, el primer botn de opcin del cuadro de dilogo es radio1, el
segundo botn de opcin es radio2, etc.
12

Referencia del Lenguaje de Macros

RADIO 40, 260, 200, 24 "Relieve de Cara", opt1, 1, 1


RADIO 40, 285, 200, 24 "Relieve de Dimetro", opt2, 0, 1

Este cdigo crea dos botones de opcin; el primero est seleccionado y el segundo no.
Los botones estn colocados a 40 pxeles del cuadro de dilogo y a 260 y 285 pxeles de
la parte superior del cuadro de dilogo. Ambos botones ocupan un rea de 200 x 24, que
incluye el texto de la etiqueta. El primer botn establece la variable opt1 y el segundo
botn establece la variable opt2. La opcin Relieve de Cara est activada de manera
predeterminada y ambos botones de opcin se encuentran en el grupo 1. Vea el
comando ON_EVENT para obtener un ejemplo de la activacin y desactivacin de
botones de opcin.
IMAGE <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, <NOMBRE DE ARCHIVO>: Este
comando le permite colocar una imagen dentro de un cuadro de dilogo. Usted define la
posicin izquierda y superior dentro del cuadro de dilogo, el tamao de la imagen y el
nombre de la imagen. El nombre puede ser simplemente el nombre del archivo o puede ser
la ruta completa al archivo. La imagen debe ser un archivo de mapa de bits (.BMP). A cada
imagen creada se le asigna automticamente un nombre que se va incrementando, es decir,
la primera imagen del cuadro de dilogo es image1, la segunda imagen es image2, etc.
IMAGE 20, 20, 250, 200, "UpLeft.bmp"

Este cdigo coloca la imagen UpLeft.bmp a 20 pxeles desde la izquierda y a 20 pxeles


desde la parte superior del cuadro de dilogo. A la imagen se le otorga un rea de 250 x
200 pxeles.
OK <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, [TTULO]: Este comando le permite
colocar el botn Aceptar dentro de un cuadro de dilogo. Usted define la posicin
izquierda y superior en el cuadro de dilogo y el tamao del botn. La opcin TTULO le
permite cambiar el texto en el botn.
OK 420, 316, 70, 24

Este cdigo crea un botn Aceptar que tiene 70 x 24 pxeles. El botn se coloca a 420
pxeles desde la izquierda y a 316 pxeles desde la parte superior del cuadro de dilogo.
CANCEL <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, [TTULO]: Este
comando
le
permite colocar un botn Cancelar dentro de un cuadro de dilogo. Usted define la
posicin izquierda y superior en el cuadro de dilogo y el tamao del botn. La opcin
TTULO le permite cambiar el texto en el botn.
CANCEL 310, 316, 70, 24

13

Referencia del Lenguaje de Macros

Este cdigo crea un botn Cancelar que tiene 70 x 24 pxeles. El botn se coloca a 310
pxeles desde la izquierda y a 316 pxeles desde la parte superior del cuadro de dilogo.
BUTTON <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>, ETIQUETA, <VALOR>: Este
comando le permite colocar un botn personalizado en un cuadro de dilogo. Usted define
la posicin izquierda y superior dentro del cuadro de dilogo, el tamao del botn y el texto
que aparecer. Este comando define una variable denominada botn que puede utilizarse
para transferir el valor.
BUTTON 250, 100, 40, 20, Hgalo 1

Esto crea un botn de 40 x 20 pxeles denominado Hgalo que establece un valor de 1


al presionarlo.
ON_EVENT <NOMBRE DE CONTROL>, <NOMBRE DE CONTROL>, <ACTIVAR | DESACTIVAR |
MOSTRAR>: Este comando se utiliza para controlar la activacin y la desactivacin de
controles. Por ejemplo, cuando se selecciona un botn de opcin, se deben deseleccionar
los otros. A continuacin, se muestran dos ejemplos del uso de este comando. El primer
ejemplo ilustra la visualizacin de una imagen cuando se selecciona un botn de opcin. El
segundo ejemplo muestra la accin de alternancia entre los botones de opcin.
ON_EVENT radio3, image3, SHOW
ON_EVENT
ON_EVENT
ON_EVENT
ON_EVENT

radio1,
radio1,
radio2,
radio2,

input1,
input2,
input1,
input2,

ENABLE
DISABLE
DISABLE
ENABLE

Podemos ver dos usos distintos del comando on_event. El primero (on_event radio3,
image3, show) mostrar la imagen 3 al hacer clic en el botn de opcin 3. El segundo
ejemplo muestra la interactividad de los botones de opcin. Cuando se hace clic en el
botn de opcin 1, se activar input1 y se desactivar input2. Cuando se hace clic en
el botn de opcin 2, se desactivar input1 y se activar input2.
DROPDOWN_NEW <N DESPLEGABLE>, <IZQUIERDA>, <SUPERIOR>, <ANCHO>, <ALTURA>,
<VARIABLE>: Este comando le permite crear un men desplegable dentro de un cuadro de
dilogo. Los argumentos <izquierda> y <superior> especifican en qu lugar del cuadro de
dilogo se colocar la esquina superior izquierda del men. El argumento <altura> es la
altura total del men al desplegarse, que es diferente de la <altura> de otros usos; por lo
tanto, el valor debe ser lo suficientemente alto como para ajustarse a mltiples entradas en
el men. El argumento <variable> se utiliza para establecer una seleccin predeterminada
en un men desplegable. Puede definir hasta veinte mens en un cuadro de dilogo.
DROPDOWN_NEW 1, 20, 20, 250, 100, drop1

14

Referencia del Lenguaje de Macros

Este comando crea el men desplegable N 1 a 20 pxeles de la parte superior e izquierda


de un cuadro de dilogo. El men tiene 250 pxeles de ancho y 100 pxeles de alto al
implementarse. La seleccin se asignar a la variable drop1.
DROPDOWN_ADD <N DESPLEGABLE>, <TTULO>, <VALOR>: Este
entrada en un men desplegable.

comando

coloca

una

DROPDOWN_ADD 1, "Crear un Punto", 10


DROPDOWN_ADD 1, "Crear una Lnea", 20
DROPDOWN_ADD 1, "Crear un Crculo", 30

Este men desplegable tiene tres entradas. Si se selecciona el elemento Crear un


Crculo en el men, la variable se establece en 30.
DROPDOWN_VAL <N DESPLEGABLE>, <VALOR>: Es un comando opcional que le permite
especificar una entrada preseleccionada en la lista desplegable. Si este comando no se
utiliza, el men mostrar automticamente el primer elemento definido por
dropdown_add.
DROPDOWN_VAL 1, 20

El men desplegable que estamos definiendo, mostrar de manera predeterminada la


entrada con el valor 20.
DROPDOWN_EXCEL <N DESPLEGABLE>, <NMERO DE RANGO>: Este comando asigna un
rango de Excel, que se establece mediante el comando excel_get_range. El comando
excel_get_range se utiliza en la macro que activa el cuadro de dilogo. Vea el archivo de
muestra de la macro de Excel para obtener un ejemplo del uso de este comando.
LOAD_DEFAUTS: Este comando no tiene ningn argumento. Cuando el cuadro de dilogo se
cierre, guardar todos sus valores en un archivo que tenga el mismo nombre que el nombre
de archivo de la macro, pero que finalice en _in.ini o _mm.ini, segn las unidades
actuales pertenezcan al estndar mtrico o ingls (pulgadas)
SAVE_DEFAULTS: Este comando no tiene ningn argumento. Establecer todas las variables
del cuadro de dilogo en los valores que stas contenan cuando el cuadro de dilogo se
utiliz por ltima vez. Los valores se leern del archivo guardado anteriormente mediante
el comando SAVE_DEFAULTS.

COMENTARIOS
! Los comentarios se indican con un signo de exclamacin inicial. Para realizar un
comentario con mltiples lneas, asegrese de colocar un signo de exclamacin en el inicio
15

Referencia del Lenguaje de Macros

de cada lnea. Los comentarios se pueden colocar en lnea con los comandos pero la macro
no leer todo lo que se incluya despus del signo de exclamacin.
RADIO 40, 260, 200, 24, "Face Relief", opt1, 1 ! 1 = default

Aqu podemos ver la definicin de un botn de opcin. Al final de la lnea, hay un


comentario.

ETIQUETAS
ETIQUETAS: Una etiqueta se utiliza como un indicador de referencias. Se designa como una
lnea de texto con dos puntos (:) al comienzo de la lnea.
if <value 1>=<value 1> goto option2
(...)
:option2
! dia relief angle
a1 = 90-a2-a3
a4 = a1+(a2/2)

Aqu podemos ver una prueba lgica y, si la prueba es verdadera, la macro ir a


option2. Ms abajo en la macro, encontramos :option2 que es la etiqueta para esa
seccin del cdigo. Hay un comentario que nos ayuda a realizar un seguimiento de lo
que hace el cdigo. Las ltimas dos lneas corresponden al cdigo para option2.

COMANDOS DE MANIPULACIN DE PIEZAS DE GIBBS


Comandos de Manejo de Archivos
NEW_PART: Este comando iniciar un nuevo archivo. Este comando no tiene ningn
argumento.
OPEN_PART NOMBRE DE ARCHIVO: Este comando abrir un archivo existente. Si el
archivo reside en el mismo directorio que la macro, no es necesario que el nombre se
coloque entre comillas. Como alternativa, el nombre de archivo puede ser una variable.
open_part c:\Piezas de Gibbs\Mi Hermosa Pieza Generada por la macro.vnc

SAVE_PART: Este comando guardar la pieza actual. Este comando no tiene ningn
argumento.
SAVE_PART_AS <NOMBRE DE ARCHIVO>: Este comando guardar la pieza actual con un
nuevo nombre de archivo especificado o datos de una variable. El nombre del archivo se
debe especificar entre comillas.
FILE_DIALOG_NEW <TTULO>: Este comando crea un nuevo Cuadro de Dilogo Comn de
Windows con el ttulo dado.
16

Referencia del Lenguaje de Macros

FILE_DIALOG_EXTENSION <DESCRIPCIN>, <EXTENSIN>: Este comando agrega un valor a la


seccin del filtro del nombre de archivo del cuadro de dilogo.
FILE_DIALOG_SHOW OPEN|SAVE <NOMBRE DE VARIABLE>: Este comando muestra el cuadro
de dilogo creado en el modo Abrir o Guardar.
FILE_DIALOG_NEW "Abrir Archivo de GibbsCAM"
FILE_DIALOG_EXTENSION "Archivos de Piezas de GibbsCAM (*.vnc)", "*.vnc"
FILE_DIALOG_EXTENSION "Todos los archivos (*.*)", "*.*"
FILE_DIALOG_SHOW OPEN, filename$
OPEN_PART filename$

Datos de Piezas
GET_PART_DATA <PARMETRO>, <NOMBRE DE VARIABLE>: Este comando se utiliza para
obtener datos especficos de la pieza. Se proporciona una lista de los parmetros
disponibles en la seccin Datos de Piezas en la pgina 42.
SET_PART_DATA <PARMETRO>, <VALOR>: Este comando se utiliza para configurar datos
especficos de la pieza. Se proporciona una lista de los parmetros disponibles en la seccin
Datos de Piezas en la pgina 42.
GET_SPINDLE_NUM <NOMBRE DE VARIABLE>: Este comando se utiliza para obtener el
nmero del husillo actualmente seleccionado.
SET_SPINDLE_NUM <NMERO DE HUSILLO>: Este comando se utiliza para configurar el
nmero del husillo actualmente seleccionado.
GET_MTM_DATA <PARMETRO>, <NOMBRE DE VARIABLE>: Este comando se utiliza para
obtener datos especficos de la pieza exclusivos del MTM. Se proporciona una lista de los
parmetros disponibles en la seccin Datos de Configuracin de MTM en la pgina 42.
SET_MTM_DATA <PARMETRO>, <VALOR>: Este comando se utiliza para configurar datos
especficos de la pieza exclusivos del MTM. Se proporciona una lista de los parmetros
disponibles en la seccin Datos de Configuracin de MTM en la pgina 42.

Comandos de Post
GET_POST_DATA <PARMETRO>, <NOMBRE DE VARIABLE>: Este comando se utiliza para
obtener datos del cuadro de dilogo de registro. Se proporciona una lista de los parmetros
disponibles en la seccin Datos de Posts (Archivos de posprocesamiento) en la pgina 53.
SET_POST_DATA <PARMETRO>, <VALOR>: Este comando se utiliza para configurar datos en
el cuadro de dilogo de registro. Se proporciona una lista de los parmetros disponibles en
la seccin Datos de Posts (Archivos de posprocesamiento) en la pgina 53.
17

Referencia del Lenguaje de Macros

RUN_POST [<NOMBRE DE ARCHIVO DE POST>, <NOMBRE DE ARCHIVO DE SALIDA>]: Este


comando se utiliza para ejecutar un post.

Comandos de Creacin de Geometra


La funcin de Macros de GibbsCAM tiene la habilidad de crear geometra. Al crear un
punto, una lnea o un crculo, debe especificar el nmero de caracterstica. Estos nmeros
se crean dentro de la memoria de la macro y no dentro de GibbsCAM. Esto se realiza para
que se pueda seleccionar la caracterstica. El sistema permite hasta 100 puntos, 100 lneas y
100 crculos.

Nota Acerca del Argumento <Opcin>

Algunos pocos comandos de creacin de geometra tienen el argumento <opcin>. Este


argumento se encuentra presente en comandos que pueden dar como resultado ms de una
solucin, como una lnea tangente a un crculo en un ngulo especfico, que tiene dos
soluciones. El argumento <opcin> permite al sistema elegir la solucin que se utilizar.
Cada solucin se calcula en forma matemtica, de modo que mediante un procedimiento
de ensayo y error puede ver cul de ellas necesitar. Por ejemplo, la interseccin de una
lnea y un crculo para obtener un punto le permitir obtener dos opciones. La opcin 1
siempre ser la primera interseccin al mirar a lo largo de la direccin de la lnea. La
interseccin de dos crculos tendr dos soluciones. La opcin 1 siempre ser el mismo lado
de la lnea desde el centro del crculo 1 al centro del crculo 2.

Puntos

POINT <X>, <Y>: Este comando crear un punto en la posicin determinada.


POINT x1, y1
POINT 10, 15

Aqu podemos ver dos ejemplos diferentes. El primero utiliza variables; se crear un
punto en la posicin especificada por las variables desde una entrada de usuario. El
segundo ejemplo utiliza un valor no modificable; se crear un punto en x10 y15. Los
valores se encuentran en unidades de pieza.
CREATE_POINT <NMERO DE PUNTO>: En una macro, es posible crear internamente puntos,
lneas y crculos que estn en la memoria pero que no se hayan trazado. Estas
caractersticas de geometra se utilizan para calcular geometra, por ejemplo para que
pueda crear un punto en la interseccin de una lnea y un crculo. Este comando toma la
definicin de un punto que est en la memoria y crea un punto real en dicha ubicacin.
POINT_XY <NMERO DE PUNTO>, <X>, <Y>: Este comando crear un punto en la posicin
determinada.
18

Referencia del Lenguaje de Macros

POINT_CA <NMERO DE PUNTO>, <CRCULO>, <NGULO>: Este comando crear un punto en


un crculo en un determinado ngulo.
POINT_2L <NMERO DE PUNTO>, <LNEA>, <LNEA>: Este comando crear un punto en la
interseccin de dos lneas.
POINT_LC <NMERO DE PUNTO>, <LNEA>, <CRCULO>, <OPCIN>: Este comando crear un
punto en la interseccin de una lnea y un crculo.
POINT_2C <NMERO DE PUNTO>, <CRCULO>, <CRCULO>, <OPCIN>: Este comando crear
un punto en la interseccin de dos crculos.
POINT_2P <NMERO DE PUNTO>, <PUNTO>, <PUNTO>: Este comando crear un punto entre
dos puntos especificados.
POINT_GET_DATA <NMERO DE PUNTO>, <X>, <Y>: Este comando adquiere los datos del
punto especificado.
point_get_data 10, xx, yy

Este ejemplo nos muestra la obtencin de las coordenadas X e Y para el punto N 10. Los
datos de la coordenada se incluyen en las variables xx e yy.
POINT_COPY <NMERO DE PUNTO>, <NUEVO NMERO DE PUNTO>: Este comando crear
una copia del punto especificado. Se suministra un nmero al punto copiado.
point_copy 1, 99

Este ejemplo muestra que el punto 1 se duplica y el nuevo punto se establece como el
punto 99.
POINT_TRANSLATE <NMERO DE PUNTO>, <DX>, <DY>: Este comando mover el punto
especificado por una cantidad en X e Y.
point_translate 1, 3, -5

Este ejemplo muestra que el punto 1 se mueve por tres unidades de pieza en X y por -5
unidades de pieza en Y.
POINT_ROTATE <NMERO DE PUNTO>, <XC>, <YC>, <NGULO>: Este comando girar el
punto alrededor de una ubicacin especificada en un ngulo. Los valores negativos son
vlidos.
point_rotate 1, 0, 0, 45

19

Referencia del Lenguaje de Macros

point_rotate 2, -3, -3, -45

Este ejemplo muestra que el punto 1 gira alrededor de X0Y0 a 45 grados y que el punto
2 gira alrededor de X-3Y-3 a -45 grados.
POINT_MIRROR <NMERO DE PUNTO>, <EJE>, <VAL>: Este comando reflejar el punto
especificado a travs del eje especificado, en un valor determinado.
point_mirror 1, x, 0
point_mirror 2, y, 5

Este ejemplo muestra que el punto 1 se refleja por el eje X y el punto 2 lo hace por Y5,
desde su posicin actual.
POINTS: Este comando no toma ningn argumento y le permite crear un grupo de puntos
preseleccionados. Dentro de los corchetes, defina los diversos puntos en el grupo mediante
cualquier combinacin de los comandos de creacin de puntos.
POINTS [
POINT 1, 2
POINT 3, 2
POINT 3, 5
]

Luego de estos comandos, habr tres puntos [en (1,2), (3,2) y (3,5)] y todos estarn
seleccionados. En este momento, puede cargar un proceso de taladrado para crear una
operacin correspondiente.

Lneas

LINE_2P <NMERO DE LNEA>, <PUNTO>, <PUNTO>: Este comando crear una lnea a travs
de 2 puntos.
line_2p 1, 3, 4
line_2p 2, varp1, varp2

El primer ejemplo muestra que la lnea N 1 se crea a travs de los puntos 3 y 4. El


segundo ejemplo muestra que la lnea N 2 se crea a travs de puntos que son variables.
LINE_HP <NMERO DE LNEA>, <PUNTO>: Este comando crear una lnea horizontal a travs
de un punto.
line_hp 5, 1

Este ejemplo muestra que la lnea horizontal N 5 se crea a travs del punto N 1.
20

Referencia del Lenguaje de Macros

LINE_VP <NMERO DE LNEA>, <PUNTO>: Este comando crear una lnea vertical a
travs de un punto.
line_vp 5, 1

Este ejemplo muestra que la lnea vertical N 5 se crea a travs del punto N 1.
LINE_PA <NMERO DE LNEA>, <PUNTO>, <NGULO>: Este comando crear una lnea a
travs de un punto en un ngulo.
line_pa 2, 1, 30

Este ejemplo muestra que la lnea N 2 se crea a travs del punto N 1 a 30 grados.
LINE_PC <NMERO DE LNEA>, <PUNTO>, <CRCULO>, <OPCIN>: Este comando crear una
lnea a travs de un punto tangente a un crculo.
LINE_CA <NMERO DE LNEA>, <CRCULO>, <NGULO>, <OPCIN>: Este comando crear una
lnea tangente a un crculo en un ngulo especfico.
LINE_2C <NMERO DE LNEA>, <CRCULO>, <CRCULO>, <OPCIN>: Este comando crear una
lnea tangente a dos crculos.
LINE_LD <NMERO DE LNEA>, <LNEA>, <DISTANCIA>: Este
comando
desplazamiento de lnea desde otra lnea a una distancia especificada.

crear

un

LINE_COPY <NMERO DE LNEA>, <NUEVO NMERO DE LNEA>: Este comando crear una
copia de la lnea especificada. Se suministra un nmero a la lnea copiada.
line_copy 1, 99

Este ejemplo muestra que la lnea 1 se duplica y la nueva lnea se establece como la lnea
99.
CREATE_LINE <NMERO DE LNEA>: En una macro, es posible crear internamente puntos,
lneas y crculos que estn en la memoria pero que no se hayan trazado. Estas
caractersticas de geometra se utilizan para calcular geometra, por ejemplo para que
pueda crear un punto en la interseccin de una lnea y un crculo. Este comando toma la
definicin de una lnea que est en la memoria y crea una lnea real en dicha ubicacin.
LINE <X1>, <Y1>, <X2>, <Y2>: Este comando se ha desaprobado. Utilice uno de los otros
comandos de creacin de lnea.

21

Referencia del Lenguaje de Macros

Crculos

CIRCLE <XC>, <YC>, <RADIO>: Este comando crear un crculo con un punto central y un
radio determinados. Durante la creacin, CircleRef(+1) define el crculo.
CIRCLE cpx, cpy, rad1
CIRCLE x0, y0, 10

Aqu podemos ver dos ejemplos diferentes. El primero utiliza variables; se crear un
crculo con un radio definido por rad1 con su centro en cpx, cpy. Estas variables se
determinarn en tiempo de ejecucin a partir de la entrada del usuario. El segundo
ejemplo utiliza un valor no modificable; se crear un crculo con un radio de unidad de
pieza 10 en el origen de la pieza.
CREATE_CIRCLE <NMERO DE CRCULO>: En una macro, es posible crear internamente
puntos, lneas y crculos que estn en la memoria pero que no se hayan trazado. Estas
caractersticas de geometra se utilizan para calcular geometra, por ejemplo para que
pueda crear un punto en la interseccin de una lnea y un crculo. Este comando toma la
definicin de un crculo que est en la memoria y crea un crculo real en dicha ubicacin.
CIRCLE_CR <NMERO DE CRCULO>, <N DE PUNTO>, <RAD>: Este comando crear un crculo
utilizando un punto existente para el punto central con un radio especificado.
CIRCLE_CP <NMERO DE CRCULO>, <PUNTO 1>, <PUNTO 1>: Este comando crear un crculo
mediante dos puntos; el primero es el punto central y el segundo especifica el radio.
CIRCLE_2P <NMERO DE CRCULO>, <PUNTO>, <PUNTO>: Este comando crear un crculo
utilizando dos puntos para definir el dimetro.
CIRCLE_2PR <NMERO DE CRCULO>, <PUNTO>, <PUNTO>, <RAD>, <OPCIN>: Este comando
crear un crculo utilizando dos puntos que se encuentran en el radio con un valor de radio
determinado.
CIRCLE_2LR <NMERO DE CRCULO>, <LNEA>, <LNEA>, <RAD>, <OPCIN>: Este
crear un crculo con un radio especificado tangente a dos lneas.

comando

CIRCLE_3P <NMERO DE CRCULO>, <PUNTO>, <PUNTO>, <PUNTO>: Este comando crear un


crculo a travs de tres puntos.
CIRCLE_PL <NMERO DE CRCULO>, <PUNTO>, <LNEA>: Este comando crear un crculo con
el punto especificado en el centro, que es tangente a una lnea.

22

Referencia del Lenguaje de Macros

CIRCLE_PLR <NMERO DE CRCULO>, <PUNTO>, <LNEA>, <RAD>, <OPCIN>: Este comando


crear un crculo con el punto especificado en el centro, que es tangente a una lnea y tiene
un radio especificado.
CIRCLE_PC <NMERO DE CRCULO>, <PUNTO>, <CRCULO>: Este comando crear un crculo
con el punto especificado en el centro, que es tangente a un crculo.
CIRCLE_PCR <NMERO DE CRCULO>, <PUNTO>, <CRCULO>, <RAD>, <OPCIN>: Este
comando crear un crculo con el punto especificado en el centro, que es tangente a otro
crculo y tiene un radio especificado.
CIRCLE_LCR <NMERO DE CRCULO>, <LNEA>, <CRCULO>, <RAD>, <OPCIN>: Este comando
crear un crculo con un radio especificado que es tangente a una lnea y a un crculo.
CIRCLE_2CR <NMERO DE CRCULO>, <CRCULO>, <CRCULO>, <RAD>, <OPCIN>: Este
comando crear un crculo con un radio especificado que es tangente a dos crculos.
CIRCLE_GET_DATA <NMERO DE CRCULO>, <CX>, <CY>, <RAD>: Este comando adquiere los
datos del crculo especificado.
circle_get_data 10, xx, yy, rr

Este ejemplo nos muestra la obtencin de las coordenadas X e Y, y el valor de radio del
crculo N 10. Los datos de las coordenadas se incluyen en las variables xx, yy y rr.
CIRCLE_COPY <NMERO DE CRCULO>, <NUEVO NMERO DE CRCULO>: Este comando crear
una copia del crculo especificado. Se suministra un nmero al crculo copiado.
circle_copy 1, 99

Este ejemplo muestra que el crculo 1 se duplica y el nuevo crculo se establece como el
crculo 99.
CIRCLE_TRANSLATE <NMERO DE CRCULO>, <DX>, <DY>: Este comando mover el crculo
especificado por una cantidad en X e Y.
circle_translate 1, 3, -5

Este ejemplo muestra que el crculo 1 se mueve por tres unidades de pieza en X y por -5
unidades de pieza en Y.
CIRCLE_ROTATE <NMERO DE CRCULO>, <XC>, <YC>, <NGULO>: Este comando girar el
crculo alrededor de una ubicacin especificada en un ngulo. Los valores negativos son
vlidos.
23

Referencia del Lenguaje de Macros

circle_rotate 1, 0, 0, 45
circle_rotate 2, -3, -3, -45

Este ejemplo muestra que el crculo 1 gira alrededor de X0Y0 en 45 grados y que el
crculo 2 gira alrededor de X-3Y-3 en -45 grados
CIRCLE_MIRROR <NMERO DE CRCULO>, <EJE>, <VAL>: Este comando reflejar el crculo
especificado a travs del eje determinado, con un valor en particular.
circle_mirror 1, x, 0
circle_mirror 2, y, 5

Este ejemplo muestra que el crculo 1 se refleja a travs del eje X y el crculo 2 lo hace a
travs de Y5, desde su posicin actual.

Otra Geometra

CONTOUR [ ]: La funcin de macros le permite crear un contorno que consiste en lneas y/o
arcos circulares. Entre corchetes, usted define la posicin inicial de la figura, junto con las
lneas y los arcos que definen dicha figura. La definicin del contorno termina con un
corchete ].
contour [
start r1,
line l1-r1,
line l1,
line l2+r2,
line l2,
line r1,
line 0,
]

0
0
h2-r2
h2
h1-r2
h1
r1

<REF> = CONTOURREF: Una vez finalizada la definicin del contorno, la variable ContourRef
se establece en el nmero de referencia del contorno.
myShape = ContourRef

START <X>, <Y>: Corresponde a la posicin inicial del contorno que se define.
START 0, 0

LINE <X>, <Y>: Corresponde a la posicin inicial de una lnea en una figura de contorno.
LINE varx1, vary1
LINE 0, 0

24

Referencia del Lenguaje de Macros

Aqu podemos ver dos ejemplos diferentes. El primero utiliza variables; se crear una
lnea que comienza en la interseccin de varx1 y vary1. Estas variables se determinarn
en tiempo de ejecucin a partir de la entrada del usuario. El segundo ejemplo utiliza un
valor no modificable; se crear una lnea que comienza en el origen de la pieza. Los
valores se encuentran en unidades de pieza.
ARC <XC>, <YC>, <X>, <Y>, EN DIRECCIN DE LAS AGUJAS DEL RELOJ | EN DIRECCIN
CONTRARIA A LAS AGUJAS DEL RELOJ: Este comando establece el punto central, el radio
definido por una posicin y la direccin de un arco.
ARC xc2, yc2, x2+tx2, y2+ty2, ccw
ARC 9, 1, 9, 0, ccw

Aqu podemos ver dos ejemplos diferentes. El primero utiliza variables; un arco en la
direccin contraria de las agujas del reloj cuyo punto central se encuentra en la
interseccin de xc2, yc2, con un punto final en (x2+tx2), (y2+ty2). Estas variables se
determinarn en tiempo de ejecucin a partir de la entrada del usuario. El segundo
ejemplo utiliza un valor no modificable; un arco en la direccin contraria de las agujas
del reloj cuyo punto central se encuentra en X9, Y1 con un punto final en X9, Y0. Los
valores se encuentran en unidades de pieza.
FIT_CURVE <TOLERANCIA>, <UNIFORME | CHORD_LEN | FOLEY | ACELERACIN CENTRPETA>:
Este comando crear una curva entre puntos mediante uno de los cuatro modos: uniforme,
longitud de cuerda, de Foley o aceleracin centrpeta. Vea el manual Creacin de
Geometra para obtener ms informacin sobre las diferencias entre estos tipos de curvas.

Seleccin de Geometra y Comandos de Transformacin

La seleccin de geometra se controla mediante comandos.


SELECT_GEO <REF NUM>: Seleccione la caracterstica de geometra determinada y sta se
agregar a la geometra actualmente seleccionada. Una vez seleccionada, la geometra
puede transformarse mediante las funciones Trasladar, Girar, Escalar o Simetra.
SELECT_GEO line1

SELECT_ALL_GEO: Este comando seleccionar toda la geometra en el grupo de trabajo


actual. No hay argumentos para este comando. Una vez seleccionada, la geometra puede
transformarse mediante las funciones Trasladar, Girar, Escalar o Simetra.
SELECT_SHAPE <REF>: Este comando seleccionar una figura. El nmero de referencia de la
figura puede ser el nmero de una caracterstica en dicha figura; la funcin Macros de
GibbsCAM seleccionar automticamente todas las caractersticas conectadas a la
25

Referencia del Lenguaje de Macros

caracterstica dada. Una vez seleccionada, la geometra puede transformarse mediante las
funciones Trasladar, Girar, Escalar o Simetra.
SELECT_SHAPE myShape

DESELECT_ALL_GEO: Este comando deseleccionar toda la geometra. Por lo general, se


utiliza al final de una macro y antes de seleccionar figuras para garantizar que no existan
selecciones mltiples/incorrectas. No hay argumentos para este comando.
DESELECT_GEO <NUM REF>: Este comando deseleccionar la caracterstica de la geometra
dada.
DESELECT_GEO line1

SELECT_REF <REF>: Este comando ha sido desaprobado por select_geo <ref num>.
GET_SELECTION_LIST <NMERO DE LISTA>: Este comando obtiene una lista de toda la
geometra actualmente seleccionada y guarda dicha lista para un uso posterior. Por
ejemplo, usted puede tener una matriz de puntos seleccionada. La creacin de una lista de
seleccin le permite guardar esta agrupacin determinada para un uso posterior, como por
ejemplo, luego de crear ms geometra. El comando get_selection_list guarda la seleccin
actual. Puede tener hasta 10 listas de seleccin.
SET_SELECTION_LIST <NMERO DE LISTA>, [<OPCIN>]: Seleccione la geometra guardada
anteriormente en el nmero de lista de seleccin dado. Si establece la opcin en 1, toda la
geometra actualmente seleccionada permanecer seleccionada y si la establece en 0 (valor
predeterminado) toda la geometra se deseleccionar antes de seleccionar la que se
encuentra en la lista.
TRANSLATE_GEO <DX>, <DY>, [ <DZ>, <N DE COPIAS>]: Este comando mover la geometra
seleccionada por el valor dado. Los nmeros pueden ser positivos o negativos. De manera
opcional, tambin puede cambiar la profundidad de la geometra y/o trasladar la geometra
varias veces.
TRANSLATE_GEO 5, -2, 2

Este comando mover la geometra seleccionada por 5 unidades de piezas en X, -2


unidades en Y y 2 unidades en Z. Por lo general, este comando se utiliza con variables
cuyos valores se definen en tiempo de ejecucin.
ROTATE_GEO <XC>, <YC>, <NGULO EN GRADOS>, [<N DE COPIAS>]: Este comando girar la
geometra seleccionada alrededor de la posicin especificada, segn la cantidad de grados
especificada. Los nmeros pueden ser positivos o negativos. De manera opcional, tambin
puede girar la geometra varias veces.
26

Referencia del Lenguaje de Macros

ROTATE_GEO 5, 0, 45

Este comando girar la geometra seleccionada 45 grados en X5, Y0. Por lo general, este
comando se utiliza con variables cuyos valores se definen en tiempo de ejecucin.
SCALE_GEO <FACTOR>: Este comando escalar la geometra seleccionada.
SCALE_GEO 0.1
SCALE_GEO 25.4

El comando del primer ejemplo escalar la geometra seleccionada a 10% de su tamao


actual. El comando del segundo ejemplo escalar la geometra seleccionada a 25,4 veces
su tamao actual. Por lo general, este comando se utiliza con variables cuyos valores se
definen en tiempo de ejecucin.
MIRROR_GEO <EJE>, <VALOR DE EJE>, [<N DE COPIAS>]: Este
comando
invertir
la
geometra seleccionada en el punto especificado por un eje especfico. El parmetro eje
para el comando de simetra es X o Y. De manera opcional, tambin puede crear ms de una
copia de la geometra con simetra.
MIRROR_GEO X, 5
MIRROR_GEO Y, 0

El comando del primer ejemplo invertir la figura seleccionada en X5. El comando del
segundo ejemplo invertir la geometra en Y0. Por lo general, este comando se utiliza
con variables cuyos valores se definen en tiempo de ejecucin.
DELETE_GEO <REF GEO>: Elimina una caracterstica de la geometra.
DELETE_SHAPE <REF FORMA>: Elimina una figura completa.

Comandos de Informacin de Geometra

Estos comandos le permiten adquirir datos de una caracterstica.


GET_NUM_FEAT_SELECTED <NOMBRE DE VARIABLE>: Obtiene el nmero de caractersticas
actualmente seleccionadas.
GET_SELECTED_GEO_REF <NMERO>, <NOMBRE DE VARIABLE>: Obtiene el nmero de
referencia de la caracterstica de GibbsCAM para una de las caractersticas actualmente
seleccionadas. <NMERO> es un valor entre 1 y el nmero de caractersticas seleccionadas.
GET_NUM_FEAT_SELECTED inum

27

Referencia del Lenguaje de Macros

FOR I = 1 to inum
GET_SELECTED_GEO_REF
DEBUG iref
NEXT i

i, iref

En el ejemplo anterior, supongamos que haba tres caractersticas actualmente


seleccionadas. La variable inum se establecera en 3 y la macro realizara un bucle tres
veces mostrando el nmero de caracterstica de GibbsCAM correspondiente a la
primera caracterstica seleccionada, luego la segunda y a continuacin, la tercera.
GET_FEAT_TYPE <NMERO>, <NOMBRE DE VARIABLE>: Obtiene el tipo de caracterstica
seleccionada. La variable se establecer en:
1 = Punto
4 = Arco

2 = Lnea
5 = Curva

3 = Crculo

GET_FEAT_START <GEO_REF>, <SC>, <XS>, <YS>, [<ZS>]: Obtiene los datos correspondientes a
la posicin inicial de la caracterstica seleccionada. Si <SC> se establece en 0, esto indicar
que la posicin se encuentra en el SC local, mientras que cualquier otro valor indicar que
las posiciones se encuentran en el SC global.
GET_FEAT_END <REF GEO>, <SC>, <XE>, <YE>, [<ZE>]: Obtiene los datos correspondientes a la
posicin final de la caracterstica seleccionada.
GET_CIRCLE_DATA <REF GEO>, <SC>, <RAD>, <XC>, <YC>, [<ZC>]: Obtiene
los
datos
correspondientes a la posicin central de la caracterstica seleccionada. Si la caracterstica
no es un crculo, la macro dejar de procesar.
GET_ARC_DATA <REF GEO>, <SC>, <RAD>, <DIR>, <XC>, <YC>, [<ZC>]: Obtiene
los
datos
correspondientes a la posicin central de la caracterstica seleccionada. Si la caracterstica
no es un arco, la macro dejar de procesar.

Comandos de Grupo de Trabajo y Sistema de Coordenadas


NEW_CS [XY, <NOMBRE>, <X>, <Y>, <Z>] | [XZ, <NOMBRE>, <X>, <Y>, <Z>] | [YZ, <NOMBRE>,
<X>, <Y>, <Z>] | [3P, <NOMBRE>, <X1>, <Y1>, <Z1>, <X2>, <Y2>, <Z2>, <X3>, <Y3>, <Z3>]: Este
comando crea un nuevo sistema de coordenadas. Existen cuatro maneras de definir el SC.
En cada caso, suministre el nombre del nuevo SC como texto entre comillas dobles o como
una variable de cadena que contenga el nombre del SC. GibbsCAM asignar el nmero de
SC, que se guardar en la variable CsNumber.
1.

28

Basado en el plano XY [xy <nombre>, <x>, <y>, <z>] Este SC se alinear con el
plano XY y su origen estar en las coordenadas XYZ especificadas.

Referencia del Lenguaje de Macros

,
Basado en el plano YZ [yz, <nombre>, <x>, <y>, <z>]. Este SC se alinear con el
plano YZ y su origen estar en las coordenadas XYZ especificadas.
Basado en 3 puntos [3p, <nombre>, <x1>, <y1>, <z1>, <x2>, <y2>, <z2>,
<x3>, <y3>, <z3>]. Esta opcin le permite crear un SC alineado con tres puntos

2. Basado en el plano XZ [xz <nombre>, <x>, <y>, <z>]. Este SC se alinear con el
plano XZ y su origen estar en las coordenadas XYZ especificadas.
3.
4.

arbitrarios. El nuevo origen del SC se ubicar en el primer punto. El segundo punto y el


tercer punto definen una posicin a lo largo del eje H y V, respectivamente.

SET_CS <CS NUMBER>: Seleccione el nmero de SC dado.


GET_CS <NOMBRE DE VARIABLE>: Obtiene el nmero del SC actualmente seleccionado.
GET_CS_LIST: Este comando es uno de los tres comandos utilizados para iterar mediante la
lista de SC. Una vez activado, permite el uso de los comandos number_of_css y
next_cs_number. Vea la macro de ejemplo Obtener Informacin de Lista de SC en la
pgina 64 para obtener un buen ejemplo de ste y otros comandos relacionados.
NUMBER_OF_CSS: Este comando es el segundo de los tres comandos utilizados para iterar
mediante la lista de SC. Guarda una variable para el nmero de sistemas de coordenadas en
una pieza.
NEXT_CS_NUMBER: Este comando es el tercero de los tres comandos utilizados para iterar
mediante la lista de SC e itera al SC siguiente.
GET_CS_NAME <NMERO DE SC>, <VARIABLE>: Este comando se utiliza para adquirir el
nombre de un SC determinado. La primera y la segunda variables corresponden al nmero
de SC y al nombre del SC, respectivamente.
SET_CS_NAME <NMERO DE SC>, <NOMBRE DE VARIABLE>: Muestra el nombre del SC dado.
GET_GEO_CS <REF GEO>, <NOMBRE DE VARIABLE>: Obtiene el nmero de SC asociado con el
nmero de caracterstica dado y lo muestra en la variable.
SET_GEO_CS <REF GEO>, <VALOR>: Cambia el SC de una caracterstica de geometra.
GET_GEO_AIR <REF GEO>, <NOMBRE DE VARIABLE>: Obtiene el atributo Pared/Aire de una
caracterstica de geometra. Si es Aire, la variable se establecer en 1; si no lo es, se
establecer en 0.

29

Referencia del Lenguaje de Macros

SET_GEO_AIR <REF GEO>, <VALOR>: Cambia el atributo Pared/Aire de una caracterstica de


geometra. 1 la establecer en Aire y 0 en Pared.
NEW_WG <NMERO DE GT>: Este comando crea un nuevo grupo de trabajo. Generalmente,
se utilizar una variable para que el nmero de grupo de trabajo se incremente al grupo de
trabajo siguiente.
SET_WG <NMERO DE GT>: Establece el Grupo de Trabajo actual en el nmero de grupo de
trabajo dado.
GET_WG <NOMBRE DE VARIABLE>: Obtiene el nmero del Grupo de Trabajo actualmente
seleccionado.
GET_WG_NAME <NMERO DE GT>, <NOMBRE DE VARIABLE>: Muestra
nmero de Grupo de Trabajo dado.

el

nombre

del

GET_CS_SPINDLE <SC>, <VARIABLE>: Este comando recupera el nmero de husillo asociado


con un SC dado.

Comandos de Slidos
EXTRUDE <ZS>, <ZE>: Este comando crear un slido extruido a partir de una figura cerrada
seleccionada. Defina los valores iniciales y finales de Z, en relacin con el sistema de
coordenadas actual. El orden de los valores no es importante, es decir, +Z o -Z pueden ser
primeros o ltimos.
extrude 10, -10
extrude -10, 10

Los ejemplos que se muestran aqu crearn slidos idnticos, extruidos por 10 unidades
de pieza.
REVOLVE H <VALOR>, <NGULO> | V <VALOR>, <NGULO>: Este comando crear un slido
girado alrededor del eje horizontal o vertical a partir de geometra seleccionada. El
parmetro <valor> indica la posicin alrededor de la cual se girar la figura y el parmetro
<ngulo> especifica de cuntos grados ser la revolucin o el giro, siendo 360 el valor
mximo.
revolve v, 0, 360
revolve h, 1, 180

Estos ejemplos crearn una figura girada 360 grados alrededor del eje vertical y otra
girada 180 grados alrededor de H+1.
30

Referencia del Lenguaje de Macros

TRANSLATE_SOLID <DX>, <DY>, [ <DZ>, <NM COPIAS>]: Este comando mover el slido
seleccionado por el valor dado. Los nmeros pueden ser positivos o negativos. De manera
opcional, tambin puede mover el slido a lo largo del eje de profundidad y/o trasladarlo
varias veces.
ROTATE_SOLID <XC>, <YC>, <NGULO>, [<NM COPIAS>]: Este comando girar el slido
seleccionado alrededor de la posicin especificada, segn la cantidad de grados
especificada. Los nmeros pueden ser positivos o negativos. De manera opcional, tambin
puede girar el slido varias veces.
MIRROR_SOLID <EJE>, <VALOR DE EJE>, [<N DE COPIAS>]: Este comando invertir el slido
actualmente seleccionado por el punto especificado, a lo largo de un eje especfico. El
parmetro eje para el comando de simetra es X o Y. De manera opcional, tambin puede
realizar ms de una copia del slido con simetra.
SCALE_SOLID <FACTOR DE ESCALA>: Este comando escalar el slido seleccionado.
SCALE_SOLID 0.1
SCALE_SOLID 25.4

El comando del primer ejemplo escalar el slido seleccionado a 10% de su tamao


actual. En el segundo ejemplo, el slido seleccionado se escalar a 25,4 veces su tamao
actual. Por lo general, este comando se utiliza con variables cuyos valores se definen en
tiempo de ejecucin.
SOLID_UNION <REF SLIDO>, <REF SLIDO>: Este comando ejecutar la funcin boleana
Unin en los dos slidos especificados.
SOLID_SUBTRACT <REF SLIDO>, <REF SLIDO>: Este comando ejecutar la funcin boleana
Resta en los dos slidos especificados.
SOLID_INTERSECT <REF SLIDO>, <REF SLIDO>: Este comando ejecutar la funcin boleana
Interseccin en los dos slidos especificados.
SELECT_SOLID <REF SLIDO>: Este comando seleccionar el slido especificado.
SELECT_ALL_SOLIDS: Si este comando se abre, seleccionar todos los slidos, tanto en el
espacio de trabajo como en la Bolsa de Slidos. No tiene ningn argumento.
DELETE_SOLID <REF SLIDO>: Este comando deseleccionar el slido especificado.
DESELECT_ALL_SOLIDS: Si este comando se abre, deseleccionar todos los slidos, tanto en
el espacio de trabajo como en la Bolsa de Slidos. No tiene ningn argumento.
31

Referencia del Lenguaje de Macros

GET_SOLID_BAGGED <REF SLIDO>, <NOMBRE DE VARIABLE>, <0 | 1>: Este


comando
verificar si el slido dado est dentro o fuera de la bolsa de slidos. 1 significa que est en
la bolsa y 0, que no lo est.
SET_SOLID_BAGGED <REF SLIDO>, <0 | 1 >: Este comando colocar un slido especificado
en la Bolsa de Slidos o lo sacar de ella. 0 saca el slido de la Bolsa de Slidos mientras
que 1 lo introduce en ella.

Comandos de Herramientas
GET_TOOL_LIST [0 | 1]: Este comando crea una Lista de Herramientas y no necesita ningn
argumento; de forma predeterminada se observa la lista completa (que es 0). Como
alternativa, puede utilizar 1 en el argumento y el comando crear una lista nicamente de
las herramientas seleccionadas. Una vez que se genere la lista, la macro establece las
variables
number_of_tools,
first_tool_number,
last_tool_number
y
first_free_tool_number. Esto le permite a la macro determinar cuntas herramientas
hay y cules son los nmeros de la primera herramienta y el primer mosaico vaco. Luego,
puede utilizar la variable next_tool_number. La primera vez que la utilice, se establecer
en el nmero de la primera herramienta, la prxima vez, en el nmero de la segunda
herramienta y cada vez que la utilice, el nmero se incrementar a la siguiente
herramienta. Por lo tanto, puede utilizar un bucle FOR/NEXT para observar cada
herramienta.
GET_TOOL_LIST 1

Este comando crea en la memoria una lista de las herramientas seleccionadas en la lista
de herramientas. Tambin establece cuatro variables que le permiten observar a travs
de la lista de herramientas seleccionadas.
CREATE_MILL_TOOL <NMERO>: Este comando crea una nueva herramienta tipo fresa. Esta
herramienta se crea en la Lista de Herramientas en el nmero de mosaico especificado
CREATE_LATHE_TOOL <NMERO>: Este comando crea una nueva herramienta tipo torno.
Esta herramienta se crea en la Lista de Herramientas en el nmero de mosaico especificado
DELETE_TOOL <NMERO>: Este comando elimina la herramienta que ocupa la posicin
especificada en la Lista de Herramientas.
NUMBER_OF_TOOLS: No tiene ningn argumento.
GET_TOOL_STATUS <NMERO DE HERRAMIENTA>, <NOMBRE DE VARIABLE>: Este comando
determina el estado de un mosaico de herramienta. Un valor devuelto de 0 significa que
la posicin del mosaico est vaca, 1, que la herramienta est definida y es vlida, y -1,
que no se han definido todos los datos necesarios para definir la herramienta.
32

Referencia del Lenguaje de Macros

GET_TOOL_DATA <NMERO DE HERRAMIENTA>, <NOMBRE DE PARMETRO>, <NOMBRE DE


VARIABLE>: Este comando se utiliza para obtener datos especficos de la herramienta. Se
proporciona una lista de los parmetros disponibles en la seccin Datos de Herramientas
en la pgina 42.
SET_TOOL_DATA <NMERO DE HERRAMIENTA>, <PARMETRO>, <VALOR>: Este comando se
utiliza para configurar datos especficos de la herramienta. Se proporciona una lista de los
parmetros disponibles en la seccin Datos de Herramientas en la pgina 42.
GET_TOOL_SELECTED <NMERO DE HERRAMIENTA>, <NOMBRE DE VARIABLE>: Este
comando se utiliza para verificar si un nmero de herramienta dado se encuentra
actualmente definido. Si lo est, la variable se establece en 1; si no lo est, se establecer en
0.
SELECT_TOOL <NMERO>: Este comando selecciona la herramienta que ocupa la posicin
especificada en la Lista de Herramientas.
SELECT_ALL_TOOLS: Este comando selecciona todas las herramientas en la lista de
herramientas. No tiene ningn argumento.
DESELECT_TOOL <NMERO DE HERRAMIENTA>: Este comando deselecciona la herramienta
que ocupa la posicin especificada en la Lista de Herramientas.
DESELECT_ALL_TOOLS: Este comando deselecciona todas las herramientas en la lista de
herramientas. No tiene ningn argumento.

Comandos de Grupo de Herramientas


GET_TG_DATA <N HUSILLO>, <N GRUPO HERRAMIENTAS>, <PARMETRO>, <NOMBRE DE
VARIABLE>: Este comando se utiliza para obtener la posicin del cambio de herramienta
para un grupo de herramientas dado. El comando requiere especificar el husillo al que
actualmente se hace referencia, el nmero del grupo de herramientas y un nombre de
parmetro y variable para almacenar los datos. Los parmetros vlidos para este comando
son tool_change_x, tool_change_y y tool_change_z.
SET_TG_DATA <N HUSILLO>, <N GRUPO HERRAMIENTAS>, <PARMETRO>, <VALOR>: Este
comando se utiliza para configurar la posicin del cambio de herramienta para un grupo de
herramientas dado. El comando requiere especificar el husillo al que actualmente se hace
referencia, el nmero del grupo de herramientas, un parmetro y un valor para el mismo.
Los parmetros vlidos para este comando son tool_change_x, tool_change_y y
tool_change_z.

33

Referencia del Lenguaje de Macros

Comandos del Proceso de Mecanizado


Los procesos se utilizan para realizar operaciones. Este conjunto de comandos le permite
definir y manipular datos de proceso, adems de crear una o ms operaciones.
GET_PROC_LIST [0 | 1]: Este comando crea una lista de procesos en la Lista de Procesos y no
necesita ningn argumento; de forma predeterminada se observa la lista completa (que es
0). Como alternativa, puede utilizar 1 en el argumento y el comando crear una lista
nicamente de procesos seleccionados. Una vez que se genere la lista, la macro establece
las variables number_of_procs, first_proc_number, last_proc_number y
first_free_proc_number. Esto le permite a la macro determinar cuntos procesos hay y
cules son los nmeros del primer proceso y el primer mosaico vaco. Luego, puede utilizar
la variable next_proc_number. La primera vez que la utilice, se establecer en el nmero
del primer proceso, la prxima vez, en el nmero del segundo proceso y cada vez que la
utilice, el nmero se incrementar al siguiente proceso. Por lo tanto, puede utilizar un
bucle FOR/NEXT para observar cada proceso.
GET_PROC_LIST 1

Este comando crea en la memoria una lista de los procesos seleccionados en la Lista de
Procesos. Tambin establece cuatro variables que le permiten observar a travs de la lista
de procesos seleccionados.
CREATE_PROC <NMERO>: Este comando crea un proceso. A continuacin del mismo, debe
agregar comandos que le permitan establecer el tipo y los valores del proceso (comandos
SET_PROC_DATA).
DELETE_PROC <NMERO DE PROCESO>: Este comando elimina el nmero de proceso
especificado en la Lista de Procesos.
GET_PROC_STATUS <NMERO DE PROCESO>, <NOMBRE DE VARIABLE>: Este
comando
verifica el estado de un nmero de proceso dado. La variable se establecer en 0 si el
mosaico de proceso est vaco, en 1 si contiene una definicin de proceso vlida y en -1 si
contiene un proceso parcialmente completo.
GET_PROC_DATA <NMERO DE PROCESO>, <PARMETRO>, <NOMBRE DE VARIABLE>: Este
comando se utiliza para obtener datos especficos del proceso. Se proporciona una lista de
los parmetros disponibles en la seccin Datos del Proceso en la pgina 44.
SET_PROC_DATA <NMERO DE PROCESO>, <PARMETRO>, <VALOR>: Este
comando
se
utiliza para configurar datos especficos del proceso. Se proporciona una lista de los
parmetros disponibles en la seccin Datos del Proceso en la pgina 44.

34

Referencia del Lenguaje de Macros

GET_UTIL_PROC_DATA <NMERO DE PROCESO>, <PARMETRO>, <NOMBRE DE VARIABLE>:


Este comando se utiliza para obtener datos de un proceso de utilidad. Se proporciona una
lista de los parmetros disponibles en la seccin Datos del Proceso de Utilidad en la
pgina 48.
SET_UTIL_PROC_DATA <NMERO DE PROCESO>, <PARMETRO>, <VALOR>: Este comando se
utiliza para configurar datos para un proceso de utilidad. Se proporciona una lista de los
parmetros disponibles en la seccin Datos del Proceso de Utilidad en la pgina 48.
CLEAR_PROC_LIST: Este comando eliminar todos los procesos en la Lista de Procesos. No
tiene ningn argumento.
LOAD_PROC <NOMBRE DE ARCHIVO>: Este comando le permite a una macro cargar un
proceso almacenado/guardado. El nombre puede ser simplemente el nombre del archivo o
puede ser la ruta completa al archivo. Este comando desaprueba load_process.
LOAD_PROC c:\Documents and Settings\wilg\Desktop\SavedProcess3.prc

CALC_PROC: Este comando le permite a una macro calcular la trayectoria y crear una o ms
operaciones. Se ha definido o cargado un proceso para que este comando funcione. Esto
equivale a hacer clic en el botn Iniciar. Este comando desaprueba calc_process.
GET_PROC_SELECTED <NMERO DE PROCESO>, <NOMBRE DE VARIABLE>: Este comando se
utiliza para verificar si un proceso dado se encuentra actualmente seleccionado. La variable
se establecer en 1 si lo est y en 0 si no lo est.
SELECT_PROC <NMERO DE PROCESO>: Este comando seleccionar el Mosaico de Proceso
especificado.
SELECT_ALL_PROCS: Este comando seleccionar todos los procesos en la Lista de Procesos.
No tiene ningn argumento.
DESELECT_PROC <NMERO DE PROCESO>: Este comando deseleccionar el Mosaico de
Proceso especificado.
DESELECT_ALL_PROCS: Este comando deseleccionar todos los procesos en la Lista de
Procesos. No tiene ningn argumento.
SET_MARKERS <0 | 1 | 2 (LADO DE HERRAMIENTA)>, <CARACT INICIAL>, <DIST INICIAL>,
<CARACT FINAL>, <DIST FINAL>, [<DIRECCIN>, <CARACTERSTICA NICA>]: Este comando le
permite especificar cmo se establecen los marcadores de mecanizado antes de crear la
trayectoria.
35

Referencia del Lenguaje de Macros

Los valores de <lado de herramienta> pueden ser 0 (sin desplazamiento), 1 (a la


izquierda de la herramienta) o 2 (a la derecha de la herramienta).
<Start feat> especifica en qu caracterstica de geometra se debe iniciar. Los valores vlidos
son nmeros enteros; 1 corresponde a la primera caracterstica del contorno, 2
corresponde a la segunda caracterstica, etc.
<Start dist> especifica la distancia a lo largo de la caracterstica inicial en la que se debe
iniciar el mecanizado. Los valores vlidos equivalen a un porcentaje a lo largo de la
caracterstica expresado como un nmero decimal, en el que -0,1 es el 10% de la longitud
de la caracterstica antes del inicio de la caracterstica, 0,5 es la mitad de la longitud y
0,9 es el 90% de la longitud.
<End feat> especifica en qu caracterstica de geometra se debe finalizar. Los valores
vlidos son nmeros enteros; 1 corresponde a la primera caracterstica del contorno, 2
corresponde a la segunda caracterstica, etc.
<End dist> especifica la distancia a lo largo de la caracterstica final en la que se debe
detener el mecanizado. Los valores vlidos equivalen a un porcentaje a lo largo de la
caracterstica expresado como un nmero decimal, en el que -0,1 iniciar antes de la
caracterstica a un 10% de la longitud de la caracterstica, 0,5 es la mitad de la
caracterstica y 1,1 es el 10% de la longitud de la caracterstica ms all del final de la
misma.
<Direccin> se establece en 1 para mecanizar en la direccin en que se cre la figura y en 0
para mecanizar en la direccin contraria.
<Caracterstica nica> se establece en 1 si la figura va a cortarse como una figura de
caracterstica nica.
SET_MARKERS 0, 1, -0.05, 4, 1.05 1 0

Este ejemplo define los marcadores de mecanizado para cortar en el centro;


comenzando por la primera caracterstica en el 5% de la longitud de la caracterstica. La
cuarta caracterstica es la ltima que se corta y la trayectoria terminar fuera del final
de la caracterstica en un 5% de su longitud. Los marcadores se establecen para girar
por todo el dimetro y cortar en la direccin en que se cre la figura.

Comandos de Operaciones de Mecanizado


Las operaciones contienen datos de la trayectoria y son renderizadas y postprocesadas por
GibbsCAM. Este conjunto de comandos le permite manipular los datos de operacin.

36

Referencia del Lenguaje de Macros

GET_OP_LIST [0 | 1]: Este comando crea una lista de operaciones en la Lista de Operaciones
y no necesita ningn argumento; de forma predeterminada se observa la lista completa
(que es 0). Como alternativa, puede utilizar 1 en el argumento y el comando crear una
lista nicamente de procesos seleccionados. Una vez que se genere la lista, la macro
establece las variables number_of_ops, first_op_number, last_op_number y
first_free_op_number. Esto le permite a la macro determinar cuntas operaciones hay y
cules son los nmeros de la primera operacin y el primer mosaico vaco. Luego, puede
utilizar la variable next_op_number. La primera vez que la utilice, se establecer en el
nmero de la primera operacin, la prxima vez, en el nmero de la segunda operacin y
cada vez que la utilice, el nmero se incrementar a la siguiente operacin. Por lo tanto,
puede utilizar un bucle FOR/NEXT para observar cada operacin.
GET_OP_LIST 1

Este comando crea en la memoria una lista de las operaciones seleccionadas en la Lista de
Operaciones. Tambin establece cuatro variables que le permiten observar a travs de la
lista de operaciones seleccionadas.
GET_OP_STATUS <NMERO>, <NOMBRE DE VARIABLE>: Este comando obtiene el estado del
nmero de mosaico de operacin dado. 0 significa que est vaco, 1, que contiene una
operacin vlida y 1 que es un mosaico de operacin parcialmente completo.
DELETE_OP <NMERO>: Este comando elimina el nmero de operacin especificado en la
Lista de Operaciones.
GET_OP_DATA <NMERO>, <PARMETRO>, <NOMBRE DE VARIABLE>: Este comando se
utiliza para obtener datos de un proceso de operacin. Se proporciona una lista de los
parmetros disponibles en la seccin Datos de Operacin en la pgina 50.
SET_OP_DATA <NMERO>, <PARMETRO>, <VALOR>: Este comando se utiliza para
configurar datos para un proceso de operacin. Se proporciona una lista de los parmetros
disponibles en la seccin Datos de Operacin en la pgina 50.
GET_OP_SELECTED <NMERO>, <NOMBRE DE VARIABLE>: Este comando se utiliza para
verificar si un mosaico de operacin dado se encuentra actualmente seleccionado. La
variable se establecer en 1 si lo est y en 0 si no lo est.
SELECT_OP <NMERO>: Este comando seleccionar el Mosaico de Operacin especificado.
SELECT_ALL_OPS: Este comando seleccionar todas las operaciones en la Lista de
Operaciones. No tiene ningn argumento.

37

Referencia del Lenguaje de Macros

DESELECT_OP <NMERO>: Este comando deseleccionar el Mosaico de Operacin


especificado.
DESELECT_ALL_OPS: Este comando deseleccionar todas las operaciones en la Lista de
Operaciones. No tiene ningn argumento.
DESELECT_OPS: Este comando ha sido desaprobado por deselect_all_ops. Utilice dicho
comando en su lugar.

Comandos de visualizacin
SET_VIEW <SUPERIOR | FRONTAL | IZQUIERDA | DERECHA | POSTERIOR | ISO | INICIAL>: Este
comando establecer la vista de la pieza en una de las siete vistas estndar (superior,
frontal, izquierda, derecha, posterior, isomtrica o inicial) del SC actual.
ZOOM_VIEW <(FACTOR DE ZOOM)>: Este comando le permite acercar o alejar la imagen de
las piezas segn el factor de zoom especificado. Un valor de 0 quitar el zoom, lo que
significa que el lmite del stock se ajustar a la pantalla. El factor de zoom debe ser un valor
de punto flotante positivo. Un factor de 0,5 establecer la vista en la mitad de su tamao
actual, 1 es el tamao actual de la vista 2 es el doble del tamao actual.
SHRINK_WRAP: Este comando aplicar la funcin Accin de Encogimiento, permitiendo
que el stock se contraiga o se expanda a los lmites de toda la geometra y todos los slidos.
No tiene ningn argumento.
REDRAW: Este comando redibujar la pantalla. Por lo general, se utiliza al final de la macro
para garantizar que el usuario vea lo que ha realizado si el sistema no impulsa un nuevo
trazado.

COMANDOS PARA TRABAJAR CON DATOS EXTERNOS


La funcin de Macros de GibbsCAM puede leer y escribir en archivos de texto, al igual que
extraer datos de las hojas de clculo de Microsoft Excel.
RUN_EXE NOMBRE DE ARCHIVO DE APLICACIN, [TEXTO | <NOMBRE VAR>]: Este
comando iniciar la aplicacin especificada. Es necesario especificar la ruta de acceso a la
aplicacin. El parmetro opcional simplemente se transfiere al archivo EXE que se est
ejecutando como un argumento de lnea de comando. Puede ser una cadena de texto entre
comillas o una variable de texto.
En el ejemplo que se incluye, el resultado es el mismo que se obtiene al ejecutar el Bloc de
Notas con un argumento de lnea de comando que consiste en el contenido de la variable
$output_file. En lugar de una variable, simplemente podra tener el segundo argumento
como una cadena de texto entre comillas dobles (por ejemplo run_exe
"\Windows\System32\Notepad.exe", "c:\myfile.txt")
38

Referencia del Lenguaje de Macros

run_exe c:\Program Files\Microsoft Office\Office10\EXCEL.EXE


run_exe "\Windows\System32\Notepad.exe", "c:\myfile.txt"
run_exe "\Windows\System32\Notepad.exe", output_file$

El primer ejemplo simplemente inicia Excel. El segundo, inicia el Bloc de Notas y abre
un archivo especfico. El tercero, inicia el Bloc de Notas y abre el archivo cuyo nombre
se guarda en una variable. Consulte la macro Ejecutar un Postprocesador para obtener
un ejemplo operativo de este proceso.

Archivos de Texto
El lenguaje de macros ofrece la posibilidad de crear, abrir, leer y escribir en archivos de
texto. Los archivos de texto deben delimitarse con espacios.
FILE_OPEN <NMERO DE ARCHIVO>, NOMBRE DE ARCHIVO: Este comando abrir un
archivo para tareas de lectura y escritura. Es posible abrir un mximo de 10 archivos y el
nmero de archivo debe incluirse entre 1 y 10.
FILE_CLOSE <NMERO DE ARCHIVO>: Este comando
anteriormente mediante el comando FILE_OPEN.

cerrar

un

archivo

abierto

FILE_DELETE NOMBRE DE ARCHIVO: Este comando eliminar el nombre de archivo dado.


FILE_READ_VARS <NMERO DE ARCHIVO>, <NOMBRE VAR 1>, ..., <NOMBRE VAR 10>: Este
comando leer una lnea de un nmero de archivo dado y dividir los datos de dicha lnea
en un conjunto de valores. Cada valor se mostrar en los nombres de variables utilizados en
este comando.
FILE_WRITE_VARS <NMERO DE ARCHIVO>, <NOMBRE VAR 1>, ..., <NOMBRE VAR 10>: Este
comando escribir una lnea de texto en un archivo que contendr los valores de las
variables en este comando.
FILE_READ_TEXT <NMERO DE ARCHIVO>, <VARIABLE>: Este comando leer una lnea de
texto de un archivo y guardar el contenido de la variable de cadena suministrada en este
comando.
FILE_WRITE_TEXT <NMERO DE ARCHIVO>, <TEXTO>: Este comando escribir una lnea de
texto en un archivo.

Archivos de Excel
El lenguaje de macros brinda la posibilidad de abrir una hoja de clculo de Excel, examinar
las celdas de la misma en el archivo XLS y extraer datos de celdas especficas.
39

Referencia del Lenguaje de Macros

EXCEL_OPEN NOMBRE DE ARCHIVO: Este comando abrir la hoja de clculo de Excel


especificada. Es necesario especificar la ruta de acceso al archivo.
excel_open c:\My Archive\Macros\point matrix.xls

EXCEL_CLOSE: Este comando cerrar Excel. No tiene ningn argumento.


EXCEL_SELECT_SHEET <NOMBRE HOJA CLC>: Este comando seleccionar todos los datos en
la hoja de clculo especificada de un archivo de Excel abierto. Tenga en cuenta que los
archivos de Excel tienen tres hojas de clculo de forma predeterminada que se denominan
Hoja de clculo1, Hoja de clculo2 y Hoja de clculo3, que stas pueden renombrarse y
que la macro requiere el nombre de hoja de clculo correcto.
EXCEL_FIND_CELL <FILA1>, <COL1>, <FILA2>, <COL2>, <TEXTO CELDA>, <VARIABLE FILA>,
<VARIABLE COL>: Este comando busca una celda que contenga un valor determinado dentro
de un rango especificado y slo coincide con el valor exacto.
fila1, col1 - coordenadas superior/izquierda del rango de bsqueda
fila2, col2 - coordenadas inferior/izquierda del rango de bsqueda
texto celda - el texto que se desea buscar
variable fila - salida; fila de la celda encontrada
variable col - salida; columna de la celda encontrada
EXCEL_GET_CELL <FILA>, <COL>, <NOMBRE DE VARIABLE>: Este comando extraer datos de
una celda determinada. Debe especificar la fila y la columna para identificar la celda. Los
datos de la celda se asignarn a una variable dada.
EXCEL_GET_CELL 3, e, data3

EXCEL_GET_RANGE <NMERO DE RANGO>, <FILA 1>, <COL 1>, <FILA 2>, <COL 2>: Este
comando extraer datos de un rango de celdas. Debe especificar la celda inicial (fila y
columna) seguida de la celda al final del rango.
EXCEL_GET_RANGE 1, 1, a, 1, j
EXCEL_GET_RANGE 2, 2, a, 11, j

El primer ejemplo anterior obtiene el texto de las primeras 10 celdas (a-j) en la primera
columna. El segundo ejemplo de rango obtiene el texto de un rango de celdas de 10 x 10,
de las filas 2-11 y de las columnas a-j.
40

Referencia del Lenguaje de Macros

COMANDOS MISCELNEOS
SLEEP <TIEMPO EN SEGUNDOS>: Este comando provocar que la macro espere un
determinado perodo de tiempo. Esto hace que la macro duerma o se mantenga inactiva
por unos segundos, brindando al sistema operativo el tiempo suficiente para cerrar
archivos y borrar bferes al crear y/o leer datos desde aplicaciones externas.

MACROS DE DEPURACIN
Estos comandos se proporcionan para ayudar con la depuracin.
MESSAGE TEXTO, [TTULO]: Este comando mostrar un cuadro de mensaje con un texto
determinado. Opcionalmente, puede incluir un ttulo en el mensaje. Para esto, incluya el
texto en un segundo grupo de comillas. Generalmente, este comando se utiliza con una
instruccin lgica.
MESSAGE "Crear Contorno", "Creemos una Trayectoria"

DEBUG <VARIABLE>, <VARIABLE>... Este comando mostrar un cuadro de mensaje con el


valor de una o ms variables dadas.
STOP TEXTO, [<TTULO>]: Este comando detendr la macro y mostrar un cuadro de
dilogo con el texto que haya elegido. Generalmente, este comando se utiliza con una
instruccin lgica para la verificacin de errores. El texto debe estar entre comillas. De
manera opcional, puede otorgarle al cuadro de mensaje un ttulo personalizado.
STOP This is not used properly. RTFM.

CHECK <PARMETRO>, <TEXTO MENS ERROR>: Este comando puede verificar si hay una
pieza actualmente abierta en GibbsCAM y de qu tipo de pieza se trata. El comando tiene
tres parmetros, part_open, part_mill, part_turn y part_mtm. En cada caso, si
existe una pieza abierta, la variable se establece en 1. Si el tipo de pieza y el parmetro no
coinciden, la macro se detendr y aparecer un mensaje de error.
PART_OPEN
PART_MILL
PART_LATHE
PART_MTM

Se detiene si no hay una pieza actualmente abierta


Se detiene si la pieza actual no es MILL (Fresa)
Se detiene si la pieza actual no es LATHE (Torno)
Se detiene si la pieza actual no es MTM (Mecanizado Multitarea)

TRACE <ACTIVADO | DESACTIVADO>: Este comando mostrar cada macro en un cuadro de


mensaje. Necesitar presionar Aceptar para continuar procesando la macro.

41

Referencia del Lenguaje de Macros

PARMETROS DE GIBBSCAM
DATOS DE PIEZAS
Se puede acceder a los siguientes parmetros mediante los comandos get_part_data y
set_part_data.
Todos los Tipos de Piezas
type
units
radius
auto_clear
num_flows
num_tool_groups
num_spindles
cp1
clear_rad
auto_clear
graphic_part_dist_on
graphic_part_dist_val
part_name (variable de
part_file (variable de cadena) mdd_name (variable de
cadena)
cadena)
mdd_file (variable de cadena) comment (variable de
alloy (variable de cadena)
cadena)
family (variable de cadena) hardness (variable de cadena)
Piezas de Fresa
tool_change_x
tool_change_y
stock_x1
stock_y1
stock_z1
stock_x2
stock_y2
stock_z2
Piezas de Torno
tool_change_x
tool_change_z
stock_rad
stock_z1
stock_z2

DATOS DE CONFIGURACIN DE MTM


Se puede acceder a los siguientes parmetros mediante los comandos get_mtm_data y
set_mtm_data.
Datos de MTM Generales
spindle_used
stock_rad

stock_z1
chuck_width

stock_z2
chuck_part_len

DATOS DE HERRAMIENTAS
Se puede acceder a los siguientes parmetros mediante los comandos get_tool_data y
set_tool_data.
Todas las Herramientas
type
spindle_dir
42

material
id

offset
use_id

Referencia del Lenguaje de Macros

Todas las Herramientas


tool_group_pos
tool_group
prime_spindle
comment (variable de cadena)
Herramientas de Fresa
mtool_type
mtool_num_flutes
mtool_len_offset
mtool_options
mtool_length
mtool_flute_length
mtool_radius
mtool_shank_rad
mtool_top_corner_rad
mtool_corner_rad
mtool_draft_angle
mtool_non_cut_dia
mtool_orientation
mtool_tip_angle
mtool_pitch_tpi
mtool_preset
mtool_tc_shift
mtool_lead_tip
mtool_tip_rad
mtool_inner_top_corner_rad mtool_bottom_rad
mtool_top_rad
holder_type
holder_solid_ref
Herramientas de Torno
ltool_type
ltool_isize
ltool_orientation
ltool_holder
ltool_thread_style
ltool_thread_type
ltool_thread_id_od
ltool_thread_dir
ltool_offset
ltool_cut_side
ltool_face_up
ltool_neg_side
ltool_other
ltool_holder_option
ltool_size
ltool_thick
ltool_length
ltool_tip_rad
ltool_insert_angle
ltool_tip_offset
ltool_preset_pt_x
ltool_preset_pt_z
ltool_turret_shift_x
ltool_turret_shift_z
ltool_face_angle
ltool_side_angle
ltool_tip_width
ltool_tip_length
ltool_thread_pitch
ltool_thread_flat_len
ltool_thread_insert_width
ltool_thread_edge_pos
ltool_mid_angle
ltool_tip_centre_to_preset
ltool_face_relief
ltool_dia_relief
ltool_holder_thickness
ltool_b_axis
ltool_util_len
ltool_util_dia
ltool_util_angle
LTOOL_ORIENTATION: Este elemento tiene ocho valores, del 0 al 7, que
corresponden a una posicin en el cuadro de dilogo de configuracin de
herramientas, como se muestra aqu.

43

Referencia del Lenguaje de Macros

LTOOL_TYPE: Este elemento tiene 17 valores, del 1 al 17, que corresponden a una posicin en
el cuadro de dilogo de configuracin de herramientas, como se muestra aqu.

9
10

11

12

13

14

15

MTOOL_ORIENTATION: Este elemento tiene cuatro valores, 0, 1, 2 y 3 que


corresponden a una posicin en el cuadro de dilogo de configuracin
de herramientas, como se muestra aqu.
MTOOL_TYPE: Este elemento tiene 20 valores, del 1 al 20, que
corresponden a una posicin en el cuadro de dilogo de configuracin
de herramientas, como se muestra aqu.

10

11

13

14

15

12

DATOS DEL PROCESO


Todos los Tipos de Procesos
Se puede acceder a los siguientes parmetros mediante los comandos get_proc_data y
set_proc_data al hacer referencia a un tipo de pieza.
Parmetros de Proceso Estndar
type
mill_type
tool_num
prog_stop
material_only
spring_passes
44

lathe_type
rapid_in
cut_type

Referencia del Lenguaje de Macros

Parmetros de Proceso Estndar


repeats
tool_change
path_cs
crc

Procesos de Fresa

cs_num
coolant

Se puede acceder a los siguientes parmetros mediante los comandos get_proc_data y


set_proc_data al hacer referencia a una pieza tipo Fresa.
Parmetros de Proceso de Fresado
entry_clear
exit_clear
exit_line
entry_rad
entry_feed
contour_feed
tip_z
z_step_wanted
stock
boss_stock
overlap
open_clearance
drill_feed
prefer_subs
curve_tol
auto_entry_cp
auto_exit_cp
auto_exit_clear_rad
geo_rad
min_rad
fm_clear
fm_cut_width
stepover_feed
clear_feed
min_cut
msurf_clear
mfix_tol
mzshift
Parmetros de Proceso de Taladrado de Fresado
drill_type
drill_pos_approach
drill_dwell
drill_peck_amount
drill_tap_percent
drill_bore_pulloff
Parmetros de Proceso de Cajera y Contorneado
feed_connect
crc_offset
custom_cbset
pattern_on
round_corners
entry_perp
ignore_tools
depth_first
fm_hplus
fm_vplus
fm_before_zigzag
fm_back_and_forth
entry_type
start_on_right
hit_parallel
stay_clear
same_stroke
full_dia
clear_feed_lock
scallop_feed_lock
past_stock
pocket_type
hit_flats

entry_line
exit_rad
surf_z
cut_width
overhang
rpm
cp1
auto_entry_clear_rad
axis_info
z_step
cut_angle
scallop_feed
mstock_tol

drill_clear_plane
drill_peck_clearance
drill_peck_retract
len_offset
pattern_index
exit_perp
fm_use_shape
fm_moveh
fm_type
retracts
cut_back
stepover_feed_lock
clear_periph
wall_mode

45

Referencia del Lenguaje de Macros

Parmetros de Entrada de Cajera


pocket_entry_ramp_type
pocket_entry_helix_type
pocket_entry_plunge_pt
pocket_entry_ramp_slope
pocket_entry_ramp_start_z
pocket_entry_ramp_max_cut
pocket_entry_ramp_wall_clear
pocket_entry_ramp_angle
pocket_entry_helix_slope
pocket_entry_helix_angle
pocket_entry_helix_start_z
pocket_entry_helix_max_cut
pocket_entry_helix_wall_clear
pocket_entry_helix_dia
pocket_entry_helix_cp
pocket_entry_periph_start_z
pocket_entry_periph_slope
wall_top
wall_angle
wall_bottom
walli_top
walli_angle
walli_bottom
wall_user_step
wall_shape_step
wall_ridge_height
Parmetros de Proceso de Superficie
surface_type
surface_cut_type
surface_back_and_forth
surface_lace_cut_dir
surface_output_pref
surface_efeed
surface_cfeed
surface_stock
surface_fix_clear
surface_stepover
surface_ridge_height
surface_cut_angle
surface_desired_z
surface_const_faces_clear
surface_cut_tol
surface_stock_tol
surface_fix_tol
surface_constraint_tol
surface_smooth_tol
surface_arc_fit_tol
surface_spline_approx_tol
Parmetros de Corte de Enlace
surface_cut_opt
surface_offsets_surfs
surface_one_pass
surface_constrain
surface_retract_option
surface_stay_in_stock
surface_clear_stock
surface_clear_stock_type
surface_cut_over_edges
surface_skip_flats
surface_normal_angle
surface_step_cut_ratio
Parmetros de Flujo entre 2 Curvas
curve_cut_dir
surface flow
surface_flow_mach_dir
surface_flow_mach_z_order
surface_flow_travel_around_mode
surface_flow_cut_type
Parmetros de Interseccin
surface_intersect_type
surface_cuts_type
surface_passes_type
surface_cleanup_type
surface_passes_per_side
surface_corner_rad
surface_max_cut_angle
Parmetros de Entrada de Proceso de Superficie
surface_entry_type
surface_entry_ramp_type
wall_step
wall_top_to_bottom
wall_same_dir
wall_same_dcep_side
wall_swept_pocket
wall_swept_island
s_use_adv_tol
46

Referencia del Lenguaje de Macros

Parmetros de Entrada de Proceso de Superficie


m_use_adv_tol
cut_side
md_from_tool
md_vary_with_geo
md_vary_with_feat
md_retract_level
md_process_load_h1z_feat
surface_entry_plunge_pt
rapid_clearance
surface_stock
Parmetros de Entrada de Proceso de Contorneado
contour_entry_ramp_type
contour_entry_helix_type
contour_entry_ramp_slope
contour_entry_ramp_start_z
contour_entry_ramp_max_cut
contour_entry_ramp_angle
contour_entry_helix_slope
contour_entry_helix_start_z
contour_entry_helix_max_cut
contour_entry_helix_dia
Parmetros de Proceso de Fresado de Rosca
mthread_traverse_cp1
mthread_id_od
mthread_thread_dir
mthread_rapid_in
mthread_start_thread
mthread_end_thread
mthread_cut_dia
mthread_clear_dia
mthread_pitch
mthread_feed

Procesos de Torno
Se puede acceder a los siguientes parmetros mediante los comandos get_proc_data y
set_proc_data al hacer referencia a una pieza tipo Fresa.
Parmetros de Proceso de Torno
lathe_prefer_canned
lathe_clear_id
Parmetros de Proceso de Taladrado de Torno
ldrill_entry
ldrill_dwell
ldrill_clearance
ldrill_retract
ldrill_feed
ldrill_tip_z
Parmetros de Proceso de Desbaste de Torno
lrough_round_corners
lrough_cut_off
lrough_entry_perp
lrough_exit_perp
lrough_css
lrough_rapid_step
lrough_avoid_air
lrough_xplus
lrough_zplus
lrough_zminus
lrough_spindle_dir
lrough_finish_last
lrough_constant_step
lrough_peck
lrough_constant_path
lrough_fixed_sp
lrough_min_rad
lrough_stock
lrough_stock_z
lrough_entry_line
lrough_exit_rad
lrough_exit_line

ldrill_peck
ldrill_tap_percent
ldrill_surface_z
lrough_cut_dir
lrough_rough_type
lrough_monotonic
lrough_xminus
lrough_autofin
lrough_center_out
lrough_plunge_type
lrough_num_passes
lrough_stock_x
lrough_entry_rad
lrough_rough_start
47

Referencia del Lenguaje de Macros

Parmetros de Proceso de Desbaste de Torno


lrough_max_rpm
lrough_sfpm
lrough_feed
lrough_clearance
lrough_turn_cut_width
lrough_ramp_angle
lrough_plunge_angle
lrough_cut_width
lrough_feed_percent
lrough_peck
lrough_retract
lrough_cut_x
lrough_cut_z
lrough_shift_cut_width
lrough_cycle_sp
Parmetros de Proceso de Roscado en Torno
lthread_style
lthread_cut_dir
lthread_cut_type
lthread_css
lthread_balanced_in_feed
lthread_alternate
lthread_last_cut
lthread_nominal_pitch_index lthread_taper_index
lthread_num_spring_passes lthread_num_starts
lthread_max_rpm
lthread_sfpm
lthread_z_start
lthread_z_end
lthread_nominal
lthread_pitch
lthread_major_dia
lthread_minor_dia
lthread_thread_height
lthread_taper
lthread_thread_angle
lthread_cut_depth
lthread_last_cut
lthread_z_start_ext
lthread_z_end_ext
lthread_x_start_ext
lthread_x_end_ext

DATOS DEL PROCESO DE UTILIDAD

Se puede acceder a los siguientes parmetros mediante los comandos get_util_proc_data y


set_util_proc_data.
Nombres del Proceso de Utilidad
load_spindle
unload_spindle
sub_spindle_in
sub_spindle_return
parts_catcher_out
all_stop
Cargar Husillo - Portabrocas Manual
spindle_num
time
Cargar Husillo - Portabrocas Automtico
spindle_num
time
Cargar Husillo - Avance Barra
spindle_on
forward
z_clearance
x_position
initial_face_z
Cargar Husillo - Auto Avance Barra
flow_num
spindle_on
spindle_speed
feedrate
Cargar Husillo - Sacar Barra
z_clearance
x_position
initial_face_z
grip_z
48

part_shift
parts_catcher_in
move_toolgroup

spindle_speed
feedrate

forward
feed_distance
feedrate

Referencia del Lenguaje de Macros

Descargar Husillo
spindle_num
time
Cambio Pieza - Avance Barra
spindle_on
forward
spindle_speed
z_clearance
x_position
feedrate
initial_face_z
shift_distance
Cambio Pieza - Sacar Barra
z_clearance
x_position
feedrate
initial_face_z
grip_z
shift_distance
Cambio Pieza - Sacar Barra
spindle_on
forward
spindle_speed
feedrate
shift_distance
Entrada Subhusillo
flow_1
flow_2
fromworkpiece
to_workpiece
c_synched
spindle_speed
forward
sub_in_unload
part_in_main
part_in_sub
z_clearance
z_grip
feedrate
orientation
Tenga en cuenta que las opciones utilizadas para casillas de verificacin slo tendrn un valor de 0 1.
Retorno Subhusillo
spindle_on
forward
open_main_collet
main_loaded
Colector Piezas Dentro
spindle_num
z_position
Colector Piezas Fuera
spindle_num
time
Mover GrupoHtas
spindle_num
location
x_value
z_home
cs
control_point
Parar Todo
Esta operacin de utilidad no tiene ninguna variable

with_part
spindle_speed
time
spindle_unloaded
x_home
z_value

49

Referencia del Lenguaje de Macros

DATOS DE OPERACIN
Todos los Tipos de Operaciones
Se puede acceder a los siguientes parmetros mediante los comandos get_op_data y
set_op_data.
Tipo
mill_type
Todos los Tipos de Operaciones
tool_num
proc_group
proc_op
wg_num
path_cs
locks
crc_dir
crc_offset
cut_type
css
mach_engine
Cadena de Comentario
op_start (variable de cadena)

lathe_type
proc_id
cs_num
num_repeats
coolant
crc_side

op_end (variable de cadena)

Operaciones Tipo Fresa


Se puede acceder a los siguientes parmetros mediante los comandos get_op_data y
set_op_data al hacer referencia a una pieza tipo fresa.
Todas las Operaciones de Fresado
entry_clear
exit_clear
contour_feed
len_offset
wrap_dups
prog_stop
tool_group
workpiece
spin_control
wrap_start_angle
cut_width
stock
rpms
time
css
surf_stock
Operaciones de Taladrado de Fresado
drill_type
drill_clear_plane
material_only
rapid_in
drill_dwell
drill_tap_percent
drill_peck_amount
drill_peck_retract
drill_cb_start_riz
drill_cb_end_riz
Operaciones de Cajera y Contorneado de Fresa
feed_connect
crc_offset
pattern_index
round_corners
50

entry_feed
wrap
pocket_type
flow
wrap_dup_angle
boss_stock
del corte

drill_pos_approach
drill_clear_plane
drill_peck_clearance
drill_bore_pulloff
drill_clear_plane_loc_cs
pattern_on
entry_perp

Referencia del Lenguaje de Macros

Operaciones de Cajera y Contorneado de Fresa


exit_perp
ignore_tools
depth_first
fm_use_shape
fm_hplus
fm_vplus
fm_moveh
zig_zag
back_forth
fm_type
entry_type
start_on_right
retracts
hit_parallel
stay_clear
cut_back
same_stroke
full_dia
stepover_feed_lock
clear_feed_lock
scallop_feed_lock
clear_periph
hit_flats
cp1
curve_tolerance
auto_entry_cp
auto_entry_clear_rad
auto_exit_cp
auto_exit_clear_rad
geo_rad
min_rad
z_step
fm_clear
fm_cut_width
cut_angle
stepover_feed
clear_feed
scallop_feed
min_cut
past_stock
pocket_entry_plunge_point pocket_entry_ramp_slope
pocket_entry_ramp_start_z pocket_entry_ramp_max_cut pocket_entry_ramp_wall_clear
pocket_entry_ramp_angle
pocket_entry_helix_slope
pocket_entry_helix_angle
pocket_entry_helix_start_z pocket_entry_helix_max_cut pocket_entry_helix_wall_clear
pocket_entry_helix_dia
pocket_entry_helix_cp
pocket_entry_periph_start_z
pocket_entry_periph_slope entry_line_len
exit_line_len
entry_rad
exit_rad
z_step_wanted
overhang
overlap
open_clearance
msurf_clear
msurf_stock_tol
mfixture_tol
m_zshift
contour_entry_ramp_slop
contour_entry_ramp_start_z
contour_entry_ramp_max_cut contour_entry_ramp_angle contour_entry_helix_slope
contour_entry_helix_start_z contour_entry_helix_max_cutcontour_entry_helix_dia
Operaciones de Pared de Cajera y Contorneado de Fresa
wall_step
wall_top_to_bottom
wall_same_dir
wall_dcep_side
wall_swept_pocket
wall_swept_island
wall_top
wall_ang
wall_bot
wall_itop
wall_iang
wall_ibot
wall_user_step
wall_shape_step
wall_ridge_height
cut_side
s_use_adv_tol
m_use_adv_tol
wall_mode
inter_op_override
util_type
md_from_tool
md_vary_with_geo
md_vary_with_feat
md_retract_level
Informacin de Entrada de Contorneado
contour_entry_ramp_type
contour_entry_helix_type
prefer_subs

51

Referencia del Lenguaje de Macros

Informacin de Entrada de Cajera


pocket_entry_ramp
pocket_entry_helix_type
Fresado de Rosca
mthread_traverse_cp1
mthread_id_od
mthread_thread_dir
mthread_start_thread
mthread_end_thread
mthread_cut_dia
mthread_clear_dia
mthread_pitch
mthread_feed
Informacin de Superficie - General
surface_type
surface_cut_type
surface_back_forth
surface_lace_cut_dir
surface_output_pref
surface_depth
surface_entry_plunge_pt
rapid_clearance
surface_step_over
surface_ridge_height
surface_cut_angle
surface_desired_z
surface_constraint_faces_clear surface_stock_tol
surface_fix_tol
surface_constraint_tol
surface_smooth_tol
surface_arc_fit_tol
surface_spline_tol
surface_normal_angle
surface_step_cut_ratio
surface_corner_rad
surface_max_cut_angle
Informacin de Superficie - Corte de Enlace
surface_cut_opt
surface_offset_surfs
surface_one_pass
surface_constrain
surface_retract_opt
surface_stay_in_stock
surface_clear_stock
surface_clear_stock_type
surface_cut_over_edges
surface_skip_flats
Informacin de Superficie - Flujo entre 2 Curvas
surface_curve_cut_dir
Informacin de Superficie - Flujo de Superficie
sflow_mach_dir
sflow_mach_zorder
sflow_travel_around_mode
sflocut_type
Informacin de Superficie - Interseccin
intersect_type
intersect_cuts_type
intersect_pass_type
intersect_cleanup_from
intersect_passes_per_side
Informacin de Entrada de Superficie
surface_entry_type
surface_entry_ramp_type

Operaciones Tipo Torno

Se puede acceder a los siguientes parmetros mediante los comandos get_op_data y


set_op_data al hacer referencia a una pieza tipo torno.
Todas las Operaciones de Torneado
material_only_clearance
lplunge_max_cut
lplunge_peck_amount
lplunge_peck_clearance
lplunge_feed_percent
lplunge_entry_type
lathe_pattern_shift_point
lathe_max_rpm
52

lplunge_angle
lplunge_peck_retract
lathe_pattern_shift_cut
lathe_xz_stock

Referencia del Lenguaje de Macros

Todas las Operaciones de Torneado


lathe_cut_width
cut_tol
depth
od_id_face
Roscado en Torno
lthread_balanced
lthread_angle_alt
lthread_last_cut
lathe_prefer_canned
lthread_type
lathe_cut_dir
Desbaste de Torno
lathe_rough_type
lathe_pull_off_wall
lathe_plunge_center_out
lathe_plunge_type
lathe_pat_shift_fixed_srt
lathe_pat_shift_passes
lathe_no_drag
lathe_cut_off
lathe_cut_other_side
lrough_round_corners
lrough_xplus
lrough_xminus
lrough_zminus
lrough_autofin
lrough_constant_path
lrough_min_rad
lrough_entry_rad
lrough_exit_rad
lrough_start
lrough_cut_width
Roscado en Torno
lthread_stype
lthread_alternate
lthread_angle
lthread_nominal_xd
lthread_pitch
lthread_slope
lthread_height_xr
lthread_run_in
lthread_first_cut
lthread_last_cut
lthread_z_end
lthread_major_dia

step
lathe_depth
lthread_starts
lathe_canned_autofin
num_spring_passes
lathe_plunge_cut_type
lathe_plunge_entry_type
lathe_square_corners
lathe_od_id_face
lrough_exit_perp
lrough_zplus
lrough_spindle_dir
lrough_entry_line
lrough_exit_line
lrough_ramp_angle
lthread_nom_pitch_index
lthread_tpi
lthread_minor_xd
lthread_run_out
lthread_z_start
lathe_surface_z

DATOS DE POSTS (ARCHIVOS DE POSPROCESAMIENTO)

Se puede acceder a los siguientes parmetros mediante los comandos get_post_data y


set_post_data.
Todos los Datos de Posprocesamiento
start_prog_num
seq_from
abs_moves
comments
num_parts
work_fixtures
inter_part_full_up
minimize
pref_header
pref_sub
pref_footer
num_flows
num_spindles
part_spacing_x
part_spacing_z
post_file (variable de cadena)

seq_by
op_stops
one_part_all_tools
selected_ops
pref_op
num_tool_groups
part_spacing_y
output_file (variable de
cadena)
53

Referencia del Lenguaje de Macros

USO DE MACROS DE GIBBSCAM


La funcin de macros se
encuentra en la seccin
Geometra del men
Plug-ins. La opcin
Configurar le permite
informar
al
complemento de macros
dnde
estn
almacenadas las macros.
Las macros que detecta
el
complemento
aparecern en el men.
Simplemente seleccione
una macro en el men
para ejecutarla.

CONFIGURACIN
DEL MEN PERSONALIZAR MACROS
El men Personalizar Macros muestra todas las macros que el sistema detecta. Para agregar
y personalizar estas entradas, seleccione el elemento de men Configurar.
Una vez que se abra el cuadro de dilogo Personalizar Macros, puede agregar y organizar
las macros. Para agregar una macro, simplemente seleccione un campo vaco, ingrese el
nombre que desea mostrar en la macro e ingrese la ruta del archivo de macro. Puede
utilizar la funcin Examinar para sealar el archivo que desea agregar o puede ingresar la
ruta manualmente. Una vez que haya ingresado la ruta, haga clic en el botn Actualizar
para guardar esta informacin. Por ltimo, haga clic en el botn Aceptar. Se cerrar el

54

Referencia del Lenguaje de Macros

cuadro de dilogo Personalizar Macros y las macros que agreg estarn disponibles la
prxima vez que inicie GibbsCAM.

S
U
G
E
R
E
N
C
I
A

Puede evitar el proceso de ingreso de macros cada vez que obtiene una versin nueva
de GibbsCAM. La informacin se guarda en el archivo Macros.ini que est ubicado
en la carpeta de datos de aplicacin de GibbsCAM. Simplemente puede copiar este
archivo en la carpeta de la nueva versin.
Desde esta ubicacin: C:\Documents and Settings\All
Data\Gibbs\GibbsCAM\8.0\plugins\data
A esta ubicacin: C:\Documents
and
Settings\All
Data\Gibbs\GibbsCAM\8.1\plugins\data

Users\Application
Users\Application

Se pueden reorganizar los elementos de la lista.


Simplemente seleccione una entrada y haga clic
en el botn Mover hacia arriba o Mover hacia
abajo, segn sea necesario. Adems, puede crear
un divisor colocando un guin (-) en una
entrada. Esto lo ayudar a organizar los grupos
de macros.

55

Referencia del Lenguaje de Macros

MACROS DE INICIO
Se accede a las macros desde el
men Plug-Ins de GibbsCAM. Vea la
Gua de Plug-Ins para obtener
informacin sobre la incorporacin
de macros al men. Adems, se
ejecutar
una
macro
automticamente
cuando
GibbsCAM se inicie mediante un
parmetro de lnea de comando.
Para utilizar esta funcin, el nombre
de archivo de la macro debe
especificarse como una ruta de
acceso absoluta. El comando puede
ejecutarse desde la interfaz de lnea
de comando, agregarse al acceso
directo a GibbsCAM (vea la imagen a
la derecha) o agregarse a un archivo
por lotes.
-m "x:\path\to\macro.mac"

56

MUESTRAS DEL
LENGUAJE DE MACROS

Muestras del Lenguaje de Macros

CAPTULO 2: Muestras del Lenguaje de Macros


MEDIDAS DE PROGRAMACIN ADECUADAS
Al escribir una macro, recuerde que quizs necesite volver a ella posteriormente para
solucionar errores o modificar el cdigo. Tambin es posible que desee ver macros
anteriores para reutilizar partes del cdigo en otros proyectos. Por lo tanto, es conveniente
tomarse el tiempo necesario para lograr que su cdigo sea de fcil lectura y comprensin
mediante las siguientes reglas sencillas:

Utilice nombres de variables significativos

Divida el cdigo con lneas en blanco entre bloques de comandos

Agregue comentarios para describir lo que est haciendo

Establezca una sangra en el cdigo para que los bucles identifiquen el cdigo repetido

Agregue verificaciones de errores para asegurarse de que los datos sean vlidos

MUESTRAS DE MACROS DE GIBBSCAM


MUESTRAS RPIDAS
Ejemplo de Entrada de Usuario
A continuacin, se presenta un ejemplo de una definicin de cuadro de dilogo.
DIALOG 100,250,200,120
IMAGE 200, 30, 50, 50, c:\macros\pic1.bmp
LABEL 30, 30, 80, 20, Width
LABEL 30, 60, 80, 20, Height
INPUT 120, 30, 60, 20, w1, 10
INPUT 120, 60, 60, 20, h1, 6
CANCEL 30, 90, 60, 20
OK 120, 90,60, 20

Ejemplo de Creacin de Geometra


A continuacin, se presenta un ejemplo de una definicin de contorno.
CONTOUR [
START 1, 2
LINE 1, 4
ARC 2, 4, 2, 5, CW

59

Muestras del Lenguaje de Macros

LINE 4, 5
ARC 4, 4, 5, 4, CW
LINE 5, 2
LINE 2, 2
]

Ejemplo Simple de Seleccin de Geometra y Rotacin


A continuacin, se presenta un ejemplo de creacin y rotacin de una figura.
CONTOUR [
START x, y
LINE (x+10), y
LINE (x+10), (y+6)
LINE x, (y+6)
LINE x, y
]
refnum = ContourRef
CLEAR_SELECT
SELECT_SHAPE refnum
ROTATE_GEO x, y, 30

Ejemplo de Mecanizado
Como ejemplo, podramos seguir el contorno creado en Ejemplo Simple de Seleccin de
Geometra y Rotacin con lo siguiente:
LOAD_PROCESS c:\macros\process1.prc
CALC_PROCESS
SET_MARKERS 1, 1, 0.5, 1, 0.5

Esto se iniciar y finalizar en la mitad de la primera caracterstica y se cortar con


herramienta a la izquierda.

Ejemplo Avanzado de Creacin de Geometra y Transformacin


En este ejemplo, se crear una figura simple y luego se aplicarn transformaciones sucesivas
a la geometra.
a1$ = "Esta macro utilizar las transformaciones de geometra"
a2$ = "trasladar, girar, crear simetra, escalar y copiar"
message "%a1$\n%a2$"

!
!

--------------------------------------inicia una nueva pieza y establece el tamao de stock

new_part "Example.vnc"
set_part_data mdd_name, "VMill3a"

!
60

fresa vertical de 3 ejes

Muestras del Lenguaje de Macros

set_part_data units, 1

pulgadas

set_part_data
set_part_data
set_part_data
set_part_data
set_part_data
set_part_data

stock_x1, -10
stock_y1, -10
stock_z1, -1
stock_x2, 10
stock_y2, 10
stock_z2, 1

set_view top
zoom_view 0

zoom total

message "Crear un contorno", "Transformacin de Geometra", 1


contour [
start 0, 0
line 5, 0
line 4, 2
line 4, 1
line 0, 1
line 0, 0
]
iref = ContourRef

!
!

--------------------------------------Inicia las transformaciones

message "Seleccionar el contorno", "Transformacin de Geometra", 1


clear_select
select_shape iref
redraw
get_selection_list 1

guarda la lista de la geometra actualmente seleccionada

!
!

--------------------------------------Trasladar

message "Trasladar por X 3, Y 4", "Transformacin de Geometra", 1


translate_geo 3, 4, 0
redraw

!
!

--------------------------------------Girar

message "Girar 30 grados en direccin


"Transformacin de Geometra", 1
rotate_geo 0, 0, 30
redraw

de

las

agujas

de

reloj",

61

Muestras del Lenguaje de Macros

!
!

--------------------------------------Simetra

message "Crear simetra en X, acerca de Y 0", "Transformacin de


Geometra", 1
mirror_geo x, 0
redraw

!
!

--------------------------------------Trasladar

message "Copiar Traslado por X 6, Y 0", "Transformacin de Geometra",


1
translate_geo 6, 0, 0, 1
redraw
get_selection_list 2

guarda la lista de la geometra actualmente seleccionada

message "Seleccionar ambas figuras", "Transformacin de Geometra", 1


set_selection_list 1

selecciona la figura original

set_selection_list 2, 1

agrega la copia

redraw

!
!

--------------------------------------Simetra

message "Copiar Simetra en Y alrededor de Y 1,5", "Transformacin de


Geometra", 1
mirror_geo y, 1.5, 1
redraw

!
!

--------------------------------------Escalar

message "Escalar toda la geometra


"Transformacin de Geometra", 1
select_all_geo
scale_geo 0.5
redraw

la

mitad

message "Terminada", "Transformacin de Geometra"

62

del

tamao",

Muestras del Lenguaje de Macros

Obtener Informacin de Lista de GT


En este ejemplo, se crear una lista de todos los grupos de
trabajo en la pieza actual. La macro luego solicita al usuario
que agregue un nuevo GT de manera opcional.
a1$ = "Esta macro obtendr una lista de todos
los GT,"
a2$ = "crear un GT nuevo y lo seleccionar."
message "%a1$\n%a2$"
check part_open, "Debe tener una
abierta para ejecutar esta macro"

pieza

get_wg_list
inum = number_of_wgs
if inum<1 then stop "No se encontr ningn GT"
if inum>20 then inum = 20

slo se muestran datos de los primeros 20 grupos de trabajo

a$ = "Nmero de GT = %inum\n"
for i=1 to inum
n = next_wg_number
get_wg_name n, wg$
a$ = a$ + "\n" + format$(n, "###0") + " " + wg$
next i
a$ = a$ + "\n\nDesea agregar uno nuevo?"
yesno a$, iyesno
if iyesno=0 then stop "Terminada"
new_wg "GT Macro"
iwg = WgNumber
set_wg iwg
update_wg_window
a$ = "Se cre un nuevo GT, nmero " + format$(iwg, "###0") + " = 'GT
Macro'"
stop "Terminada\n"+a$

63

Muestras del Lenguaje de Macros

Obtener Informacin de Lista de SC


En este ejemplo, se crear una lista de todos los sistemas de
coordenadas en la pieza actual, incluyendo el husillo al que
el SC se encuentra asignado. La macro luego solicita al
usuario que agregue un nuevo SC de manera opcional (un
elemento no modificable en este ejemplo), que ser el SC
actual al finalizar la macro.
a1$ = "Esta macro obtendr una lista de los
SC e indicar"
a2$ = "qu nmero de husillo se asocia con
cada SC."
a3$ = "Finalmente puede crear un SC nuevo al
final de la macro."
message "%a1$\n%a2$\n%a3$"
check part_open, "Debe tener una
abierta para ejecutar esta macro."

pieza

get_cs_list
inum = number_of_css
if inum<1 then stop "No se encontr ningn SC"
if inum>20 then inum = 20

slo se muestran datos de los primeros 20

a$ = "Nmero de SC = %inum\n"
for i=1 to inum
n = next_cs_number
get_cs_name n, cs$
get_cs_spindle n, ispin
a$ = a$ + "\n" + format$(n, "###0") + " " + cs$
a$ = a$ + " : husillo "+format$(ispin,"0")
next i
a$ = a$ + "\n\nDesea agregar un nuevo SC?"

!
!
!
!

Esta seccin es para agregar un nuevo SC.


La insercin de comentarios en todos los elementos entre este punto
y el comando stop har que la
macro slo genere una lista de los SC.

yesno a$, iyesno


if iyesno=0 then stop "Terminada"
new_cs 3P, "SC de Macro", 0, 0, 0, 1, 0, 0, 0, 1, 1

64

Muestras del Lenguaje de Macros

ics = CsNumber
set_cs ics
update_cs_window
a$ = "Se cre un nuevo SC, nmero " + format$(ics, "###0") + " = 'SC
de Macro'"
stop "Terminada\n"+a$

Calcular la Extensin de la Geometra de Pieza


Esta macro calcular la extensin (valores mnimos y mximos) en los ejes X e Y de la
geometra seleccionada en una pieza de fresa y puede crear geometra que limite con dicha
amplitud de manera opcional.
a1$ = "Esta macro calcular la extensin"
a2$ = "(X e Y mn/mx) de la geometra seleccionada"
message "%a1$\n%a2$"
check part_open, "Debe tener una pieza abierta para ejecutar esta
macro"
check part_mill, "Esta macro no est diseada para piezas giradas"
global xmin, ymin, xmax,ymax ! estas variables son utilizadas por
todas las macros
global ics
xmin=99999
ymin=99999
xmax=-99999
ymax=-99999

cuando se obtienen los datos de cada caracterstica, se pueden obtener los


valores xyz en el sc global o en el sc local de cada una.

ics = 1

!
!

sc global (el sc local ser cero)


----------------------------------65

Muestras del Lenguaje de Macros

obtiene el nmero de caractersticas seleccionadas

get_num_feat_selected inum
if inum<1 then stop "No hay ninguna geometra seleccionada"

!
!

-------------------------------------realiza un bucle por las caractersticas seleccionadas y actualiza los datos de


xy mn/mx segn los datos xy de cada caracterstica

for i=1 to inum

!
!

-----------------------------------obtiene el nmero de referencia de la caracterstica correspondiente a la


caracterstica 'i' seleccionada

get_selected_geo_ref i, iref

!
!

------------------------------------obtiene el tipo de esta caracterstica

get_feat_type
if itype=1
if itype=2
if itype=3
if itype=4
next i

!
!

iref, itype
then call "Check_Point_Data.mac"
then call "Check_Line_Data.mac"
then call "Check_Circle_Data.mac"
then call "Check_Arc_Data.mac"

------------------visualice los resultados

xmin$=format$(xmin,"####0.0###")
ymin$=format$(ymin,"####0.0###")
xmax$=format$(xmax,"####0.0###")
ymax$=format$(ymax,"####0.0###")
msg$="X Min = %xmin$\n"
msg$=msg$+"Y Min = %ymin$\n"
msg$=msg$+"X Max = %xmax$\n"
msg$=msg$+"X Max = %ymax$"
message msg$, "Extensin de Geometra"

!
!

------------------------------------obtiene el tipo de esta caracterstica

yesno "Desea trazar un rectngulo alrededor de la geometra?", iyesno


if iyesno=0 then stop "Terminada"
contour [
start xmin, ymin
line xmax, ymin
line xmax, ymax
line xmin, ymax
line xmin, ymin

66

Muestras del Lenguaje de Macros

]
redraw
stop "Terminada"

Crear una Copia de Seguridad de la Pieza Actual


Esta macro de ejemplo crear una copia de seguridad de la pieza actual mediante la
creacin de un nuevo nombre de archivo basado en el actual.
a1$ = "Esta macro crear una copia de seguridad de la"
a2$ = "pieza actual guardndola con un nombre de archivo igual"
a3$ = "al nombre de archivo actual, pero con la extensin '_backup'
agregada."

se definen algunas cadenas de variables.

message "%a1$\n%a2$\n%a3$"

Define un mensaje que se abrir al ejecutarse la macro.

check part_open, "Debe tener una pieza abierta para ejecutar esta
macro"

Verificacin de error en caso de que una pieza no se encuentre abierta.

get_part_data part_name, pname$


get_part_data part_file, pfile$

El nombre de la pieza y su ruta de acceso se asignan a las cadenas.

ilen=len(pfile$)

elimina /vnc de la parte final del nombre de archivo

f$=left$(pfile$,ilen-4)+"_backup.vnc"

luego se agrega "_backup.vnc"

a$="Es correcto guardar la pieza actual como\n%f$"


yesno a$, iyesno
if iyesno=0 then stop "No se cre la copia de seguridad"

Se le pregunta al usuario si desea guardar el archivo o no.

message "Se cre la copia de seguridad"

Se abre un cuadro de dilogo informando al usuario que se ha realizado la


copia de seguridad.

save_part_as f$

!
!

guarda la pieza actual con el nombre de archivo original


si no lo hacemos en este momento, al utilizar archivo > guardar, se
sobrescribir el archivo de copia de seguridad que acabamos de guardar
67

Muestras del Lenguaje de Macros

save_part_as pfile$
stop "Terminada"

Se abre un cuadro de dilogo informando al usuario que la macro est


completa.

Crear y Embolsar Slidos

Esta muestra crear 2 slidos, los colocar en la bolsa de slidos y luego sacar uno. Esta
macro no necesita de una pieza abierta.
!

Primero, crearemos un mensaje que describa lo que suceder.

a1$ = "Esta macro crear 2 slidos y los mostrar"


a2$ = "entrando y saliendo de la bolsa de slidos."
message "%a1$\n%a2$"

Ahora, realizaremos una nueva pieza de fresa vertical de 3 ejes que mida 4 x
3 x 1 pulgadas.

new_part "Example.vnc"
set_part_data mdd_name,
set_part_data units, 1
set_part_data stock_x1,
set_part_data stock_y1,
set_part_data stock_z1,
set_part_data stock_x2,
set_part_data stock_y2,
set_part_data stock_z2,

"VMill3a"
0
0
0
4
3
1

La vista se establece en isomtrica y la pieza se agranda con el zoom para


ajustarse a su pantalla.

set_view iso
zoom_view 0

Realizamos una figura triangular y la extruimos a lo largo del eje de


profundidad +1 pulgada. La geometra se elimina luego de la creacin del
slido.

contour [
start 0, 0
line 2, 0
line 1, 3
line 0, 0
]
iref = ContourRef
deselect_all_geo
select_shape iref
redraw
extrude 0, 1
solref1 = SolidRef
deselect_all_geo
delete_shape iref

68

Muestras del Lenguaje de Macros

Se crea una segunda figura triangular que se extruye a lo largo del eje de
profundidad +1 pulgada. La geometra se elimina luego de la creacin del
slido.

contour [
start 2, 3
line 3, 0
line 4, 3
line 2, 3
]
iref = ContourRef
deselect_all_geo
deselect_all_solids
select_shape iref
extrude 0, 1
solref2 = SolidRef
deselect_all_geo
delete_shape iref
redraw

Ahora, comenzaremos a mover los slidos dentro y fuera de la Bolsa de


Slidos.

message "Colocar el primer slido en la bolsa", "Bolsa de Slidos", 1


set_solid_bagged solref1, 1
redraw

Generamos un mensaje para mostrar si los slidos se encuentran en la bolsa


o no.

message "Verificar si los


"Bolsa de Slidos", 1
get_solid_bagged solref1,
get_solid_bagged solref2,
message "Slido 1 dentro
bolsa = %bag2", "Bolsa

2 slidos estn dentro o fuera de la bolsa",


bag1
bag2
de la bolsa = %bag1\nSlido 2 dentro de la
de Slidos", 1

Ahora, cambiamos el estado de cada slido.

message "Desembolsar el primer slido y embolsar el segundo", "Bolsa


de Slidos", 1
set_solid_bagged solref1, 0
set_solid_bagged solref2, 1
redraw
stop "Terminada"

Convertir una Pieza Alternando entre las Opciones Pulgadas y Mtrico


! cambia las unidades de la pieza actual de pulgadas a mtrico
! o de mtrico a pulgadas, es decir, cambia las unidades actuales
a1$ = "Esta macro cambiar las unidades de la pieza actual"
a2$ = "de pulgadas a mtrico o de mtrico a pulgadas, escalando"

69

Muestras del Lenguaje de Macros

a3$ = "la geometra y los slidos en consecuencia"


message "%a1$\n%a2$\n%a3$"
check part_open, "Debe tener una pieza abierta para ejecutar esta
macro"
get_part_data units, iunits
if iunits=1 then goto inch
yesno "Esta pieza es mtrica. Desea convertirla a pulgadas?", iyesno,
"Macro Pulgadas Mtrico"
if iyesno=0 then stop "Terminada - se tom ninguna accin"

!
!

--------------------------convierte de mtrico a pulgadas

scale = 1/25.4
iunits= 1
goto scale

!
!

--------------------------convierte de mtrico a pulgadas

:inch
scale = 25.4
iunits= 0
:scale
set_part_data units, iunits

!
!
!
!

cambia las unidades de la pieza


--------------------------los slidos se escalarn al cambiar las unidades de la pieza,
ahora, escala la geometra

select_all_geo
scale_geo scale
yesno "Desea escalar el stock ?", iyesno, "Macro Pulgadas Mtrico"
if iyesno=0 then redraw
if iyesno=0 then stop "Terminada - el tamao del stock no se modific"

!
!

--------------------------obtiene el stock actual

get_part_data stock_x1, x1
get_part_data stock_y1, y1
get_part_data stock_z1, z1

70

Muestras del Lenguaje de Macros

get_part_data stock_x2, x2
get_part_data stock_y2, y2
get_part_data stock_z2, z2

estas variables se utilizaran para una pieza girada

!get_part_data stock_z1, z1
!get_part_data stock_z2, z2
!get_part_data stock_rad, rr

!
!

--------------------------cambia el stock actual

set_part_data
set_part_data
set_part_data
set_part_data
set_part_data
set_part_data

stock_x1,
stock_y1,
stock_z1,
stock_x2,
stock_y2,
stock_z2,

x1*scale
y1*scale
z1*scale
x2*scale
y2*scale
z2*scale

estas variables se utilizaran para una pieza girada

!get_part_data stock_z1, z1
!get_part_data stock_z2, z2
!get_part_data stock_rad, rr
zoom_view 0
message "Terminada"

Guardar Datos de Geometra en un Archivo de Texto


Esta macro tiene en cuenta la geometra seleccionada y exporta los datos geomtricos a un
archivo de texto. Es un buen ejemplo de manipulacin de archivos fuera de GibbsCAM.
a1$ = "Esta macro analiza la geometra seleccionada e"
a2$ = "imprime los datos de la misma en un archivo de texto,"
a3$ = "con el nombre de archivo seleccionado por el usuario."
message "%a1$\n%a2$\n%a3$"
check part_open, "Debe tener una pieza abierta para ejecutar esta
macro"
check part_mill, "Esta macro no est diseada para piezas giradas"
get_num_feat_selected inum
if inum<1 then stop "No hay ninguna geometra seleccionada"

!
!

------------------------crea un cuadro de dilogo de apertura de archivo

file_dialog_new "Seleccionar nombre de archivo de salida"


file_dialog_extension "Archivos de texto (*.txt)", "txt"
file_dialog_extension "Todos los archivos (*.*)", "*"

71

Muestras del Lenguaje de Macros

file_dialog_show save, f$

!
!

------------------------abre el archivo en la unidad 1 para escritura

file1_open=0
file_open 1, f$, write
if FileError<>0 then goto file_error
file1_open=1

!
!
!
!
!

------------------------realiza un bucle por las caractersticas seleccionadas y actualiza los datos


de xy mn/mx segn los datos xy de cada caracterstica
intenta establecer fmt$ en una de las siguientes tres opciones
para obtener diferentes formatos de nmeros

fmt$ = "+~~~0.0~~"

! se muestran espacios en lugar de los ceros iniciales/finales

!fmt$ = "+###0.0##"

no se muestran ceros iniciales/finales

!fmt$ = "+0000.000"

se muestran ceros iniciales/finales

for i=1 to inum

!
!

------------------------obtiene el nmero de referencia de la caracterstica correspondiente a la


caracterstica 'i' seleccionada

get_selected_geo_ref i, iref

!
!

------------------------obtiene el tipo de esta caracterstica

get_feat_type
if itype=1
if itype=2
if itype=3
if itype=4

iref, itype
then goto label_point
then goto label_line
then goto label_circle
then goto label_arc

continue
:label_point
get_feat_start iref, 1, xs, ys, zs
xs$ = format$(xs, fmt$)
ys$ = format$(ys, fmt$)
zs$ = format$(zs, fmt$)
a$ = "Punto
X =%xs$
goto label_print

72

Y =%ys$

Z =%zs$"

Muestras del Lenguaje de Macros

:label_line
get_feat_start iref, 1, xs, ys, zs
get_feat_end
iref, 1, xe, ye, ze
xs$
ys$
zs$
xe$
ye$
ze$

=
=
=
=
=
=

format$(xs,
format$(ys,
format$(zs,
format$(xe,
format$(ye,
format$(ze,

fmt$)
fmt$)
fmt$)
fmt$)
fmt$)
fmt$)

a$ = "Lnea
Xs=%xs$ Ys=%ys$ Zs=%zs$"
a$ = a$ + " Xe=%xe$ Ye=%ye$ Ze=%ze$"
goto label_print
:label_circle
get_circle_data iref, 1, rad, xc, yc, zc
xc$
yc$
zc$
rr$

=
=
=
=

format$(xs, fmt$)
format$(ys, fmt$)
format$(zs, fmt$)
format$(rad, fmt$)

a$ = "Crculo Xc=%xs$ Yc=%ys$ Zc=%zs$ R =%rr$"


goto label_print
:label_arc
get_feat_start iref, 1, xs, ys, zs
get_feat_end
iref, 1, xe, ye, ze
get_arc_data iref, 1, rad, dir, xc, yc, zc
xc$
yc$
zc$
xs$
ys$
zs$
xe$
ye$
ze$
rr$

=
=
=
=
=
=
=
=
=
=

format$(xc, fmt$)
format$(yc, fmt$)
format$(zc, fmt$)
format$(xs, fmt$)
format$(ys, fmt$)
format$(zs, fmt$)
format$(xe, fmt$)
format$(ye, fmt$)
format$(ze, fmt$)
format$(rad, fmt$)

a$="Arco en direccin contraria a las agujas del reloj"


if dir=1 then a$ = ""Arco en direccin de las agujas del reloj"
a$ = a$ + " Xc=%xc$ Yc=%yc$ Zc=%zc$ R =%rr$"
a$ = a$ + "\n
Xs=%xs$ Ys=%ys$ Zs=%zs$"
a$ = a$ + " Xe=%xe$ Ye=%ye$ Ze=%ze$"

73

Muestras del Lenguaje de Macros

goto label_print
:label_print
file_write_text 1, a$
if FileError<>0 then goto file_error
next i
file_close 1
if FileError<>0 then goto file_error
stop "Terminada"
:file_error
ierr=FileError
if file_open=1 then file_close 1
stop "Error de archivo, cdigo = %FileError"

Ejecutar un Postprocesador
Esta macro establece parmetros de registro, solicita al usuario el postprocesador que se
utilizar y ejecuta el post. El usuario puede optar por ver el cdigo registrado al final. Esta
muestra es un buen ejemplo de interaccin entre el usuario y el archivo.
a1$ = "Esta macro solicitar un post, establezca algunos"
a2$ = "parmetros de posts y ejecute el post para crear cdigo"
message "%a1$\n%a2$"
check part_open, "Debe tener una pieza abierta para ejecutar esta
macro"

!
!

----------------------------------------------crea un cuadro de dilogo de apertura de archivo y obtiene el nombre de


archivo del post

file_dialog_new "Seleccionar Post"


file_dialog_extension "Archivos Post (*.pst)", "pst"
file_dialog_show open, post_file$

!
!

----------------------------------------------crea un cuadro de dilogo para guardar el archivo y obtiene el nombre de


archivo del cdigo

file_dialog_new "Archivo de Salida de Post"


file_dialog_extension "Todos los archivos (*.*)", "*"
file_dialog_show open, output_file$

!
!

----------------------------------------------obtiene algunos parmetros de registro

get_post_data, start_prog_num, post_start_prog_num


get_post_data, seq_from, post_seq_from
get_post_data, seq_by, post_seq_by

74

Muestras del Lenguaje de Macros

a$ = "Parmetros de Post Originales\n"


b$ = "Nmero de Programa Inicial = " + format$(post_start_prog_num,
"#####0")
a$ = a$ + "\n" + b$
b$ = "Secuencia De = " + format$(post_seq_from, "#####0")
a$ = a$ + "\n" + b$
b$ = "Secuencia Por = " + format$(post_seq_by, "#####0")
a$ = a$ + "\n" + b$

!
!

----------------------------------------------cambia estos parmetros de registro

set_post_data, start_prog_num, 1234


set_post_data, seq_from, 12
set_post_data, seq_by, 15

!
!

----------------------------------------------los obtiene nuevamente para mostrar que han cambiado

get_post_data,
start_prog_num,
post_start_prog_num
get_post_data, seq_from, post_seq_from
get_post_data, seq_by, post_seq_by
b$ = "Nuevos Parmetros de Post\n"
a$ = a$ + "\n\n" + b$
b$ = "Nmero de Programa Inicial = " +
format$(post_start_prog_num, "#####0")
a$ = a$ + "\n" + b$
b$
=
"Secuencia
De
=
"
+
format$(post_seq_from, "#####0")
a$ = a$ + "\n" + b$
b$
=
"Secuencia
Por
=
"
+
format$(post_seq_by, "#####0")
a$ = a$ + "\n" + b$

!
!

----------------------------------------------ejecuta el post

run_exe "\Windows\System32\Notepad.exe", output_file$

75

Muestras del Lenguaje de Macros

Ejemplo de Bucle
A continuacin, se proporciona un
ejemplo del funcionamiento de una
variable "Bucle For/Next" (for i=1 a 3).
En el ejemplo, realizaremos un bucle de
variable para crear un crculo de pernos
como puede verse a la derecha. Dicho
crculo tendr un radio de 1,3 con 8
agujeros separados a la misma distancia.
El primer agujero se ubicar a 22,5. La
direccin positiva de la rotacin es en
direccin de/en direccin contraria a las
agujas del reloj.

Valores conocidos

1,3 = r1 (radio).

22.5 = a1 (ngulo de agujero 1)

360/8 = 45

= n1 (nmero de agujeros).

Ejecutar el Bucle

El bucle se ejecuta con las siguientes 10 lneas de cdigo: Tenga en cuenta que los nmeros
de lneas no deben utilizarse en la macro.
1. aa = a1

22,5

2. da = (360/n1)

45

3. points[

comienza a crear un conjunto de puntos

4. for i=1 to n1

realiza un bucle 8 veces

5. xx = r1*cos(aa)

posicin x del agujero

6. yy = r1*sin(aa)

posicin y del agujero

7. point xx,yy

puntos 1 al 8

8. aa = aa + da

76

ngulo del siguiente agujero en direccin contraria a las agujas del reloj

Muestras del Lenguaje de Macros

9. next i
10. ]

incrementa el recuento de bucle a i

finaliza la creacin del conjunto de puntos

Resultados del Primer Bucle

1. La variable aa se inicia como 0. La variable a1 se inicia como 22,5.


2. La variable da se inicia como 45 (360/8).
3. Comando de macro para iniciar la creacin de un conjunto de puntos
4. Inicia el bucle, establece la variable i en 1.
5. Establece la variable xx en un valor igual a 1,3* coseno (22,5) o xx1,2010.
6. Establece la variable yy en un valor igual a 1,3* seno (22,5) o yy0,4975.
7. Crea un punto en la ubicacin X,Y utilizando valores xx,yy.
8. Restablece la variable aa en un valor igual al valor anterior aa + da o 22,5+45.
9. Agrega 1 a la variable I, convirtindola en 2. Puesto que 2 es un valor menor que o igual a
8 (n1), vuelve a la lnea 5.

Resultados del segundo bucle

Tenga en cuenta que los bucles 2 al 8 comienzan en la lnea 5.


5. Establece la variable xx en un valor igual a 1,3* coseno (67,5) o xx0,4975.
6. Establece la variable yy en un valor igual a 1,3* seno (67,5) o yy1,2010.
7. Crea un punto en la ubicacin X,Y utilizando valores xx,yy.
8. Restablece la variable aa en un valor igual al valor anterior aa + da o 67,5+45.
9. Agrega 1 a I, convirtindola en 3. 3 an es <= 8, as que vuelve a la lnea 5.

Resultados del bucle final

5. Establece la variable xx en un valor igual a 1,3* coseno (337,5) o xx1,2010.


6. Establece la variable yy en un valor igual a 1,3* seno (337,5) o yy-0,4975.
7. Crea un punto en la ubicacin X,Y utilizando valores xx,yy.
77

Muestras del Lenguaje de Macros

8. Restablece la variable aa en un valor igual al valor anterior aa + da o 337,5+45.


9. Agrega 1 a I, convirtindola en 9. Puesto que 9 es mayor que 8 (n1), finaliza el bucle y
contina con la lnea 10.
10. Fin del conjunto de puntos

Operadores Matemticos

i1 = 000,0 + 022,5 = 022,5 = x1,2010 y0,4975


i2 = 022,5 + 045,0 = 067,5 = x0,4975 y1,2010
i3 = 067,5 + 045,0 = 112,5 = x-0,4975 y1,2010
i4 = 112,5 + 045,0 = 157,5 = x-1,2010 y0,4975
i5 = 157,5 + 045,0 = 202,5 = x-1,2010 y-0,4975
i6 = 202,5 + 045,0 = 247,5 = x-0,4975 y-1,2010
i7 = 247,5 + 045,0 = 292,5 = x0,4975 y-1,2010
i8 = 292,5 + 045,0 = 337,5 = x1,2010 y-0,4975

EJEMPLOS DE MACROS COMPLETAS


Este ejemplo es un programa de macros en pleno funcionamiento. Este programa crea un
cuadro de dilogo que acepta la entrada del usuario para crear un trapezoide, cargar un
archivo de proceso guardado y crear una trayectoria para mecanizar la figura. Para que esto
funcione, se crea un archivo de macros (Macro3.mac) que hace referencia a un archivo de
cuadro de dilogo accesorio (Macro3.dlg). El cuadro de dilogo hace referencia a un
archivo de imagen que ayuda al usuario a visualizar la figura. El archivo de macros hace
referencia al archivo de proceso guardado de manera que se pueden cargar los datos de
herramienta y proceso.

Primer Ejemplo - Macro3


ste es el cdigo real correspondiente a la macro. Si usted no tiene la muestra, puede copiar
el texto y guardarlo. El texto en verde indica nuestros comentarios que lo ayudarn a
comprender el cdigo.

78

Muestras del Lenguaje de Macros

Cdigo Macro3.mac
dialog "Macro3.dlg"

!
!
!
!
!
!

a1
a2
ww
ll
xs
ys

=
=
=
=
=
=

Este comando abre el archivo de cuadro de dilogo. El archivo de macro es


la base del programa pero el usuario interacta con el cuadro de dilogo.
Puesto que esta macro no puede funcionar hasta que tenga datos ingresados
por el usuario, primero se debe abrir el cuadro de dilogo. Se recomienda
revisar el archivo del cuadro de dilogo en este momento para familiarizarse
con los componentes. El cdigo de Macro3.dlg puede encontrarse en la
pgina 81.

incline angle
included angle
width
length
start point
start point

degrees

Estos son comentarios que lo ayudan a realizar un seguimiento de lo que


representan las variables. Se recomienda especialmente utilizar los
comentarios con libertad.
! switch all trig functions to degrees

A continuacin, podemos ver un comentario en lnea que nos permite saber


que estamos cambiando tipos de valores.

d2 = (ll * tan(90-a2))
w2= (ww-d2-d2)
! length of short end

Como dice el comentario, se calcula la longitud del extremo corto del


trapezoide. El usuario especifica la longitud del extremo largo y el ngulo
incluido de los lados, y el sistema calcula el extremo corto.

if messages=1 then message "Create contour, without rotation"

Si el usuario seleccion la opcin Mostrar


Mensajes, se abrir un mensaje que lo
mantendr informado. Tenga en cuenta que
el usuario debe hacer clic en el botn
Aceptar para que la macro siga
funcionando.

contour [
start xs, ys
line xs+ll, ys+d2
line xs+ll, ys+d2+w2
line xs, ys+ww
line xs, ys
]

El comando contour crea el trapezoide a partir de los datos suministrados


por el usuario.

iref = ContourRef

Al contorno se le asigna el nombre de variable iref.


79

Muestras del Lenguaje de Macros

if messages=1 then message "select contour"

Si los mensajes estn activados, se le informa al usuario que el sistema est


seleccionando la figura que recientemente cre.

clear_select
select_shape iref
redraw

La macro primero se asegura de que no haya ningn elemento seleccionado,


luego selecciona iref y finalmente redibuja la pantalla.

if messages=1 then message "Rotate to inclination angle"

Si los mensajes estn activados, se le informa al usuario que se va a girar la


figura.

rotate_geo xs,ys,a1
redraw

La figura se gira alrededor del punto de inicio segn el ngulo suministrado


por el usuario.

if messages=1 then message "Set markers, load process and create ops"

Si los mensajes estn activados, se le informa al usuario que se va a crear la


trayectoria.

set_markers 1, 1, 0.5, 1, 0.5

Los marcadores de mecanizado se establecen para cortar a la izquierda (1)


as como para iniciar y finalizar en la mitad de la primera caracterstica (1.
0.5).

load_process "macro3.prc"

Se carga el archivo de proceso guardado. Dado que slo se hace referencia al


nombre de archivo, el archivo de proceso debe estar en el mismo directorio
que la macro.

calc_process
clear_select
redraw

El proceso se aplica a la figura. La seleccin se anula y se vuelve a trazar la


pantalla para que el usuario pueda ver los resultados.

if messages=1 then message "Finished"

80

Si los mensajes estn activados, se le informa al usuario que las macros han
realizado su funcin. La macro no est configurada para guardar el archivo.
Para obtener ms informacin acerca de las macros, agregue un mensaje
que le advierta al usuario que debe guardar el archivo o incluso agregar
cdigo a este archivo que guardar la pieza.

Muestras del Lenguaje de Macros

Cdigo Macro3.dlg

ste es el cdigo real correspondiente al cuadro de dilogo de la macro. Si usted no tiene la


muestra, puede copiar el texto y guardarlo. El texto en verde indica nuestros comentarios
que lo ayudarn a comprender el cdigo.

dialog "Example Macro 3",250,250,490,320

!
!
!
!
!
!

a1
a2
ww
ll
xs
ys

=
=
=
=
=
=

Aqu se debe definir el nombre del cuadro de dilogo y su tamao.

incline angle
included angle
width
length
position
position

Estos son comentarios que lo ayudan a realizar un seguimiento de lo que


representan las variables. Se recomienda especialmente utilizar los
comentarios con libertad.

image 20, 20, 200,200,"Macro3.bmp"

Se coloca la imagen del cuadro de dilogo.

frame 240, 16, 220,204, "User Data"

label
label
label
label

Se coloca el marco que contiene los campos de entrada del usuario. Los
marcos son optativos pero resultan muy tiles para organizar los datos.

260,
260,
260,
260,

39, 100, 24, "X position"


69, 100, 24, "Y position"
99, 100, 24, "Rotation Angle (A1)"
129, 100, 24, "Included Angle (A2)"

81

Muestras del Lenguaje de Macros

label 260, 159, 100, 24, "Width"


label 260, 189, 100, 24, "Length"

input
input
input
input
input
input

Se colocan las etiquetas de texto para la entrada del usuario.

370,
370,
370,
370,
370,
370,

35, 70, 24, xs, 0


65, 70, 24, ys, 0
95, 70, 24, a1, 15
125, 70, 24, a2, 80
155, 70, 24, ww, 4
185, 70, 24, ll, 5

Se colocan los cuadros de entrada de texto. Registre los nombres de


variables y los valores predeterminados.

check 20, 240, 200, 24, "Show Messages", messages, 1

Se coloca una opcin para el usuario. Si esta opcin se activa, la macro


mostrar un mensaje de texto en ciertos momentos durante su ejecucin.
Los mensajes le informan al usuario lo que est sucediendo. Esto establece
los mensajes de variables en verdadero (1).

cancel 260, 240, 70, 24

Este comando crea el botn Cancelar que es obligatorio.

ok 370, 240, 70, 24

Este comando crea el botn Aceptar que es obligatorio. Esto es todo lo que
hay en el archivo de cuadro de dilogo. Todos los datos recopilados aqu se
transmiten al archivo de la macro.

Resultados de la Macro

Esta macro requiere un archivo abierto. Comenzaremos con una pieza de fresa de 3 ejes
vaca.

82

Muestras del Lenguaje de Macros

El usuario ingresa datos.

El usuario obtiene una serie de mensajes.

83

Muestras del Lenguaje de Macros

Los resultados finales. La macro crea la figura, las herramientas, los procesos y las
operaciones.

8
6
70
30
X4, Y2

Segundo Ejemplo - Macro2


Macro2.mac

Al igual que el primer ejemplo, ste es el cdigo


completo correspondiente a una macro. Este cdigo no
se comenta con tantos detalles. Los comentarios se
centran en los elementos que la primera macro no
contiene. Esta macro recolecta datos ingresados por el
usuario para crear una figura de seis lados y repite esta
figura una cierta cantidad de veces.
dialog "Macro2.dlg"

Se abre el archivo Macro2.dlg para recopilar las dimensiones de la figura.


Macro2.dlg se puede encontrar en la pgina 87.

dialog "Macro2repeats.dlg"

84

Una vez recolectados los datos de macro2.dlg, este cuadro de dilogo


Macro2Repeats.dlg se abre para determinar la cantidad de repeticiones.
Macro2Repeats.dlg se puede encontrar en la pgina 88.

Muestras del Lenguaje de Macros

!
!
!
!
!
!

l1
l2
h1
h2
r1
r2

=
=
=
=
=
=

long length
short length
long height
short height
large fillet
small fillet

!
!
!
!
!
!

xs
ys
dx
dy
nx
ny

=
=
=
=
=
=

x start
y start
x spacing
y spacing
number in x
number in y

Estas son las variables recolectadas por macro2.dlg.

Estas son las variables recolectadas por macro2repeats.dlg.

if nx<2 then stop "Invalid number of parts in X (2 to 5)"


if nx>5 then stop "Invalid number of parts in X (2 to 5)"

La macro slo puede crear hasta 5 figuras en una direccin X. Si se solicitan


menos de 2 piezas o ms de 5, la macro se detendr.

if ny<2 then stop "Invalid number of parts in Y (2 to 4)"


if ny>4 then stop "Invalid number of parts in Y (2 to 4)"

x1=xs

La macro slo puede crear hasta 4 figuras en una direccin Y. Si se solicitan


menos de 2 piezas o ms de 4, la macro se detendr.

La variable x1 se define igual a la posicin inicial X que especific el


usuario.

for i=1 to nx

y1=ys

se inicia una cuenta


La variable y1 se define igual a la posicin inicial Y que especific el
usuario.

for j=1 to ny

se inicia una cuenta

contour [
start x1+r1, y1
line x1+l1-r1, y1
arc x1+l1-r1, y1+r1, x1+l1, y1+r1, ccw
line x1+l1, y1+h2-r2
arc x1+l1-r2, y1+h2-r2, x1+l1-r2, y1+h2, ccw
line x1+l2+r2, y1+h2
arc x1+l2+r2, y1+h2+r2, x1+l2, y1+h2+r2, cw
line x1+l2, y1+h1-r2
arc x1+l2-r2, y1+h1-r2, x1+l2-r2, y1+h1, ccw
line x1+r1, y1+h1
arc x1+r1, y1+h1-r1, x1, y1+h1-r1, ccw
line x1, y1+r1

85

Muestras del Lenguaje de Macros

arc x1+r1, y1+r1, x1+r1, y1, ccw


]

Este cdigo crea la figura a partir de los datos ingresados por el usuario,
mediante un clculo matemtico simple.

y1 = y1 + dy

La variable y1 se incrementa por el desplazamiento Y.

next j

El contorno siguiente se crea en Y. Esto se repetir una cierta cantidad de


veces, al igual que ny.

x1 = x1 + dx

next i

La variable x1 se incrementa por el desplazamiento X.


El contorno siguiente se crea en X. Esto se repetir una cierta cantidad de
veces, al igual que nx. Bsicamente, este cdigo crea una cantidad de
figuras en Y, luego omite X y crea la misma cantidad de figuras. Esto se
repetir hasta que se alcance nx.

clear_select

redraw

86

Esto deselecciona los elementos para garantizar que no se eliminen por


accidente.

Esto impulsa un nuevo trazado para que el usuario pueda ver los resultados
de la macro.

Muestras del Lenguaje de Macros

Macro2.dlg

Este cdigo establece el cuadro de dilogo Example Macro 2 que recopila los datos
ingresados por el usuario para definir la figura que se repetir.

dialog "Example Macro 2",250,250,440,320

Se define el tamao y la posicin del cuadro de dilogo.

!
!
!
!
!
!

l1
l2
h1
h2
r1
r2

=
=
=
=
=
=

long length
short length
long height
short height
large fillet
small fillet

!
!
!
!
!
!

xs
ys
dx
dy
nx
ny

=
=
=
=
=
=

x start
y start
x spacing
y spacing
number in x
number in y

image

!
!

Simplemente son comentarios acerca de las variables y lo que stas


representan.

Simplemente son comentarios acerca de las variables y lo que stas


representan. Estas variables se recolectan en Macro2Reapeats.dlg.

20,

20, 200,200, "Macro2.bmp"

Se sita el grfico de ejemplo.

87

Muestras del Lenguaje de Macros

frame
label
label
label
label
label
label
input
input
input
input
input
input

240,

16, 180,204, "Part Data"

Se crea un marco que contiene la entrada del usuario.

260, 39,
260, 69,
260, 99,
260, 129,
260, 159,
260, 189,

70,
70,
70,
70,
70,
70,

24,
24,
24,
24,
24,
24,

"L1"
"L2"
"H1"
"H2"
"R1"
"R2"

340, 35,
340, 65,
340, 95,
340, 125,
340, 155,
340, 185,

70,
70,
70,
70,
70,
70,

24,
24,
24,
24,
24,
24,

l1,
l2,
h1,
h2,
r1,
r2,

Se definen las etiquetas de texto correspondientes a los campos de entrada.

Se crean los cuadros de entrada de texto. Se define una variable y un valor


predeterminado para cada campo.

cancel 260, 240,


ok
340, 240,

5
3
4
2
0.6
0.3

70, 24
70, 24

Se crean los botones Cancelar y Aceptar obligatorios. Cuando este


cuadro de dilogo se cierre, la macro continuar ejecutndose, es decir, se
abrir Macro2Repeats.dlg.

Macro2Repeats.dlg

Este cdigo establece el segundo cuadro de dilogo Example Macro 2, que recolecta los
datos ingresados por el usuario para definir cmo se desplazar la figura.

88

Muestras del Lenguaje de Macros

dialog "Macro de Ejemplo 2",250,250,440,320

!
!
!
!
!
!

xs
ys
dx
dy
nx
ny

image
frame

=
=
=
=
=
=

label
label
label
label
label
label
input
input
input
input
input
input

Se define el tamao y la posicin del cuadro de dilogo.

x start
y start
x spacing
y spacing
number in x
number in y

Simplemente son comentarios acerca de las variables y lo que stas


representan.

20,
240,

20, 200,200, "Macro2repeats.bmp"


16, 180,204, "Repeats"

Se sita el grfico y el marco de ejemplo.

260,
260,
260,
260,
260,
260,
340,
340,
340,
340,
340,
340,

39,
69,
99,
129,
159,
189,
35,
65,
95,
125,
155,
185,

24,
24,
24,
24,
24,
24,
24,
24,
24,
24,
24,
24,

"X start"
"Y start"
"DX"
"DY"
"Num in X"
"Num in Y"
xs, 1
ys, 1
dx, 6
dy, 5
nx, 4
ny, 3

Se crean las etiquetas de texto para los campos de entrada y los cuadros de
entrada de texto accesorios. Se define una variable y un valor
predeterminado para cada campo.

cancel 260, 240,


ok
340, 240,

70,
70,
70,
70,
70,
70,
70,
70,
70,
70,
70,
70,

70, 24
70, 24

Se crean los botones Cancelar y Aceptar obligatorios. Cuando este


cuadro de dilogo se cierre con el botn Aceptar, la macro continuar
ejecutndose con los valores correspondientes a todas las variables.

89

Muestras del Lenguaje de Macros

90

NDICE

ndice

SYMBOLS
%variable: 6

A
Arco Coseno: 6
Arco Seno: 6
Arco Tangente: 6
Args: 4
Argumento Opcin: 18

B
Botn S o No: 10

C
Caracteres Especiales: 7
comando (botn) aceptar: 13
comando (casilla de) verificacin: 12, 82
comando arco: 25
comando botn: 14
comando botn cancelar: 13
comando calc_proc: 35
comando calc_process: 35, 80
comando cancel (botn): 82
comando clear_select: 80
comando contorno: 24, 79
comando create_proc: 34
comando depurar: 41
comando detener: 41
Comando Entrada: 10, 12, 82
Comando Etiqueta: 11, 81
comando extrude: 30
comando fit_curve: 25
comando girar (slido): 30
Comando Imagen: 13, 81
comando inicial: 24
comando lcase$: 8

comando left$: 7
comando len: 7
comando ltrim$: 8
comando marco: 11, 81
comando mensaje: 41, 79
comando mid$: 8
comando mirror_geo: 27
comando new_part: 16
comando ok (botn): 82
comando on_event: 14
comando opcin: 12
comando open_part: 16
comando redraw: 38, 80
comando right$: 7
comando rotate_geo: 26, 80
comando rotate_solid: 31
comando rtrim$: 8
comando run_exe: 38
Comando scale_geo: 27
comando scale_solid: 31
comando set_geo_air: 30
comando shrink_wrap: 38
comando sleep: 41
comando trazar: 41
comando trim$: 8
comando ucase$: 8
comando verificar: 41
comando yesno: 10
comando zoom_view: 38
Comandos boleanos de slidos
solid_intersect: 31
solid_subtract: 31
solid_union: 31
Comandos de Archivo
file_close: 39
file_delete: 39
file_dialog_extension: 17
file_dialog_new: 16
file_dialog_show open: 17
file_open: 39
file_read_text: 39
file_read_vars: 39
file_write_text: 39
93

ndice

file_write_vars: 39
Comandos de cadena: 7
lcase$: 8
left$: 7
len: 7
ltrim$: 8
mid$: 8
right$: 7
rtrim$: 8
trim$: 8
ucase$: 8
Comandos de carga
load_defauts: 15
load_proc: 35
load_process: 35, 80
Comandos de Crculo
circle_2cr: 23
circle_2lr: 22
circle_2p: 22
circle_2pr: 22
circle_3p: 22
circle_copy: 23
circle_cp: 22
circle_cr: 22
circle_get_data: 23
circle_lcr: 23
circle_mirror: 24
circle_pc: 23
circle_pcr: 23
circle_pl: 22
circle_plr: 23
circle_rotate: 23
circle_translate: 23
crculo: 22
create_circle: 22
Comandos de configuracin
set_markers: 35, 38, 80
set_mtm_data
comando: 17
get_part_data: 17
parmetros: 42

MTM General: 42

set_op_data
comando: 37
parmetros: 50, 52

Cadena de Comentario: 50
Cajera y Contorneado de Fresa:
50

Desbaste de Torno: 53
Entrada de Cajera: 52
Entrada de Contorneado de Fresa: 51
Entrada de Superficie: 52
Fresado de Rosca: 52
Operaciones de Torneado: 52
Pared de Cajera y Contorneado
de Fresa: 51
Roscado en Torno: 53
Superficie, Corte de Enlace: 52
Superficie, Flujo de Superficie:
52

Superficie, Flujo entre 2 Curvas:


52

Superficie, General: 52
Superficie, Interseccin: 52
Taladrado de Fresado: 50
Tipo: 50
Todas las Operaciones: 50
Todas las Operaciones de Fresado: 50
set_part_data
comando: 17
parmetros: 42

Piezas de Fresa: 42
Piezas de Torno: 42
Todos los Tipos de Piezas: 42
set_post_data
comando: 17
parmetros: 53

Datos de Posprocesamiento: 53
set_proc_data
comando: 34
parmetros: 4445, 47

Cajera y Contorneado: 45
94

ndice

Corte de Enlace: 46
Desbaste de Torno: 47
Entrada de Cajera: 46
Entrada de Contorneado, Fresa:
47

Mover GrupoHtas: 49
Nombres del Proceso: 48
Parar Todo: 49
Retorno Subhusillo: 49
set_view: 38

Comandos de Datos de Pieza


Entrada de Superficie: 46
get_part_data: 17
Flujo entre 2 Curvas: 46
set_part_data
: 17
Fresado de Rosca: 47
Comandos de eliminacin
Interseccin: 46
clear_proc_list: 35
Parmetros de Proceso de Fresadelete_geo: 27
do: 45
delete_op: 37
Parmetros de Proceso Gendelete_proc: 34
erales: 44
delete_shape: 27
Proceso de Superficie: 46
delete_solid: 31
Proceso de Torno: 47
delete_tool: 32
Roscado en Torno: 48
Comandos de Excel
Taladrado de Fresado: 45
excel_close: 40
excel_find_cell: 40
Taladrado de Torno: 47
set_selection_list: 26
set_solid_bagged: 32
set_tg_data: 33
set_tool_data
comando: 33
parmetros: 42

Herramientas de Fresa: 43
Herramientas de Torno: 43
Todas las Herramientas: 42
set_util_proc_data
comando: 35
parmetros: 48

Cambio Pieza, Avance Barra: 49


Cambio Pieza, Sacar Barra: 49
Cargar, Auto Avance Barra: 48
Cargar, Avance Barra: 48
Cargar, Portabrocas Auto: 48
Cargar, Portabrocas Manual: 48
Cargar, Sacar Barra: 48
Colector Piezas Dentro: 49
Colector Piezas Fuera: 49
Descargar: 49
Entrada Subhusillo: 49

excel_get_cell: 40
excel_get_range: 40
excel_open: 40
excel_select_sheet: 40
Comandos de Grupo de Trabajo
get_wg: 30
get_wg_name: 30
new_wg: 30
set_wg: 30
Comandos de Guardar
save_defaults: 15
save_part: 16
save_part_as: 16
Comandos de Husillo
get_spindle_num: 17
set_spindle_num: 17
Comandos de Lnea
create_line: 21
line: 21
line_2c: 21
line_2p: 20
line_ca: 21
line_copy: 21
line_hp: 20
95

ndice

line_ld: 21
line_pa: 21
line_pc: 21
line_vp: 21
lnea (en un contorno): 24
Comandos de MTM
get_mtm_data: 17
set_mtm_data: 17
Comandos de obtencin
comando get_geo_air: 29
comando get_tool_list: 32
Comandos de obtencin de caracterstica
get_feat_end: 28
get_feat_start: 28
get_feat_type: 28
get_arc_data: 28
get_circle_data: 28

get_mtm_data
comando: 17
parmetros: 42

MTM General: 42
get_num_feat_selected: 27
get_op_data
comando: 37
parmetros: 50, 52

Cadena de Comentario: 50
Cajera y Contorneado de Fresa:
50

Desbaste de Torno: 53
Entrada de Cajera: 52
Entrada de Contorneado de Fresa: 51
Entrada de Superficie: 52
Fresado de Rosca: 52
Operaciones de Torneado: 52
Pared de Cajera y Contorneado
de Fresa: 51
Roscado en Torno: 53
Superficie, Corte de Enlace: 52
Superficie, Flujo de Superficie:
52

Superficie, Flujo entre 2 Curvas:


96

52

Superficie, General: 52
Superficie, Interseccin: 52
Taladrado de Fresado: 50
Tipo: 50
Todas las Operaciones: 50
Todas las Operaciones de Fresado: 50
get_op_list: 37
get_op_selected: 37
get_op_status: 37
get_part_data
comando: 17
parmetros: 42

Piezas de Fresa: 42
Piezas de Torno: 42
Todos los Tipos de Piezas: 42
get_post_data
comando: 17
parmetros: 53

Datos de Posprocesamiento: 53
get_proc_data
comando: 34
parmetros: 4445, 47

Cajera y Contorneado: 45
Corte de Enlace: 46
Desbaste de Torno: 47
Entrada de Cajera: 46
Entrada de Contorneado, Fresa:
47

Entrada de Superficie: 46
Flujo entre 2 Curvas: 46
Fresado: 45
Fresado de Rosca: 47
Interseccin: 46
Parmetros de Proceso Generales: 44
Proceso de Superficie: 46
Proceso de Torno: 47
Roscado en Torno: 48
Taladrado de Fresado: 45

ndice

Taladrado de Torno: 47
get_proc_list: 34
get_proc_selected: 35
get_proc_status: 34
get_selected_geo_ref: 27
get_selection_list: 26
get_solid_bagged: 32
get_tg_data: 33
get_tool_data
comando: 33
parmetros: 42

Herramientas de Fresa: 43
Herramientas de Torno: 43
Todas las Herramientas: 42
get_tool_selected: 33
get_tool_status: 32
get_util_proc_data
comando: 35
parmetros: 48

Cambio Pieza, Avance Barra: 49


Cambio Pieza, Sacar Barra: 49
Cargar, Auto Avance Barra: 48
Cargar, Avance Barra: 48
Cargar, Portabrocas Auto: 48
Cargar, Portabrocas Manual: 48
Cargar, Sacar Barra: 48
Colector Piezas Dentro: 49
Colector Piezas Fuera: 49
Descargar: 49
Entrada Subhusillo: 49
Mover GrupoHtas: 49
Nombres del Proceso: 48
Parar Todo: 49
Retorno Subhusillo: 49
Comandos de Post
get_post_data: 17
run_post: 18
set_post_data: 17
Comandos de Punto
create_point: 18
point_2c: 19
point_2l: 19

point_2p: 19
point_ca: 19
point_copy: 19
point_get_data: 19
point_lc: 19
point_mirror: 20
point_rotate: 19
point_translate: 19
point_xy: 18
points: 20
punto: 18
Comandos de seleccin
deselect_all_geo: 26
deselect_all_ops: 38
deselect_all_procs: 35
deselect_all_solids: 31
deselect_all_tools: 33
deselect_geo: 26
deselect_op: 38
deselect_ops: 38
deselect_proc: 35
deselect_tool: 33
select_all_geo: 25
select_all_ops: 37
select_all_procs: 35
select_all_solids: 31
select_all_tools: 33
select_geo: 25
select_op: 37
select_proc: 35
select_ref: 26
select_shape: 25, 80
select_solid: 31
select_tool: 33
Comandos de Sistema de Coordenadas
get_cs: 29
get_cs_list: 29
get_cs_name: 29
get_geo_air: 29
new_cs: 28
next_cs_number: 29
number_of_css: 29
set_cs: 29
97

ndice

set_cs_name: 29
set_geo_air: 29
Comandos de traslacin
translate_geo: 26
translate_solid: 31
Comentarios: 15, 79
Concatenacin: 6
Contorno
ejemplo de definicin: 59
ejemplo de transformacin: 60
ContourRef: 79
Coseno: 5
CounterRef: 24
create_lathe_tool: 32
create_mill_tool: 32
Curva, creacin de: 25

get_cs_spindle: 30
Goto: 5
Grados: 5
comando: 6, 79
Grupos: 4

I
If - Then
comando: 8
Ejemplo de Bucle: 85
Incrustacin de Variables: 6
Instrucciones con Continue: 9
Instrucciones con For: 9
Ejemplo de Bucle: 85
Instrucciones con Next: 9
Int: 5

D
Deseleccionar, vea Comandos de seleccin
Dilogo
comando: 10, 79
crear un: 11, 81
ejemplo de definicin: 59
Distinto de: 5

E
Etiquetas: 16
Exponente: 5

F
font: 11
Funcin de activacin: 5

L
Lista de seleccin: 26

M
Marca de Comillas: 7
Marcadores de Mecanizado: 35
Mens desplegables
comando dropdown_add: 15
comando dropdown_excel: 15
comando dropdown_new: 14
comando dropdown_val: 15
mirror_solid: 31

O
Operadores Matemticos: 5

G
Geometra de Pared/Aire: 2930
98

ndice

P
Proceso Mecanizado, ejemplo de definicin: 60

R
Radianes: 5
comando: 6
Raz Cuadrada: 5

S
Salto de lnea: 7
Sangras: 3
Seno: 5
Signo de Exclamacin: 7
signo de porcentaje: 7

T
Tabulaciones: 3
Tangente: 6
Transferencia de valores: 4

V
Valor Absoluto: 5
Valores de Cadena Devueltos: 10
Valores Devueltos, Cadena: 10
Variable: 4
Variables globales: 4
Variables locales: 4

99

ndice

100

Você também pode gostar