Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
ii
REFERENCIA DEL
LENGUAJE DE MACROS
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.
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.
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)
x= r1 * cos(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$
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
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 punto decimal
B$ se establecer en 0123.450
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
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
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
DIALOG MyMacro.dlg
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
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
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 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
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
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
comando
coloca
una
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
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
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)
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
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
Puntos
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
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
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
Este ejemplo muestra que la lnea horizontal N 5 se crea a travs del punto N 1.
20
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
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
22
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
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
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.
caracterstica dada. Una vez seleccionada, la geometra puede transformarse mediante las
funciones Trasladar, Girar, Escalar o Simetra.
SELECT_SHAPE myShape
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
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 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.
27
FOR I = 1 to inum
GET_SELECTED_GEO_REF
DEBUG iref
NEXT i
i, iref
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.
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.
,
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.
29
el
nombre
del
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
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
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
33
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
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
36
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
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.
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
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
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
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"
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
41
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
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
43
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
10
11
13
14
15
12
lathe_type
rapid_in
cut_type
Procesos de Fresa
cs_num
coolant
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
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
part_shift
parts_catcher_in
move_toolgroup
spindle_speed
feedrate
forward
feed_distance
feedrate
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
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
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
51
lplunge_angle
lplunge_peck_retract
lathe_pattern_shift_cut
lathe_xz_stock
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
seq_by
op_stops
one_part_all_tools
selected_ops
pref_op
num_tool_groups
part_spacing_y
output_file (variable de
cadena)
53
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
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
55
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
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
59
LINE 4, 5
ARC 4, 4, 5, 4, CW
LINE 5, 2
LINE 2, 2
]
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
!
!
new_part "Example.vnc"
set_part_data mdd_name, "VMill3a"
!
60
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
!
!
!
!
--------------------------------------Trasladar
!
!
--------------------------------------Girar
de
las
agujas
de
reloj",
61
!
!
--------------------------------------Simetra
!
!
--------------------------------------Trasladar
set_selection_list 2, 1
agrega la copia
redraw
!
!
--------------------------------------Simetra
!
!
--------------------------------------Escalar
la
mitad
62
del
tamao",
pieza
get_wg_list
inum = number_of_wgs
if inum<1 then stop "No se encontr ningn GT"
if inum>20 then inum = 20
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
pieza
get_cs_list
inum = number_of_css
if inum<1 then stop "No se encontr ningn SC"
if inum>20 then inum = 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?"
!
!
!
!
64
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$
ics = 1
!
!
get_num_feat_selected inum
if inum<1 then stop "No hay ninguna geometra seleccionada"
!
!
!
!
get_selected_geo_ref i, iref
!
!
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"
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"
!
!
66
]
redraw
stop "Terminada"
message "%a1$\n%a2$\n%a3$"
check part_open, "Debe tener una pieza abierta para ejecutar esta
macro"
ilen=len(pfile$)
f$=left$(pfile$,ilen-4)+"_backup.vnc"
save_part_as f$
!
!
save_part_as pfile$
stop "Terminada"
Esta muestra crear 2 slidos, los colocar en la bolsa de slidos y luego sacar uno. Esta
macro no necesita de una pieza abierta.
!
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
set_view iso
zoom_view 0
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
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
69
!
!
scale = 1/25.4
iunits= 1
goto scale
!
!
:inch
scale = 25.4
iunits= 0
:scale
set_part_data units, iunits
!
!
!
!
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"
!
!
get_part_data stock_x1, x1
get_part_data stock_y1, y1
get_part_data stock_z1, z1
70
get_part_data stock_x2, x2
get_part_data stock_y2, y2
get_part_data stock_z2, z2
!get_part_data stock_z1, z1
!get_part_data stock_z2, z2
!get_part_data stock_rad, rr
!
!
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
!get_part_data stock_z1, z1
!get_part_data stock_z2, z2
!get_part_data stock_rad, rr
zoom_view 0
message "Terminada"
!
!
71
file_dialog_show save, f$
!
!
file1_open=0
file_open 1, f$, write
if FileError<>0 then goto file_error
file1_open=1
!
!
!
!
!
fmt$ = "+~~~0.0~~"
!fmt$ = "+###0.0##"
!fmt$ = "+0000.000"
!
!
get_selected_geo_ref i, iref
!
!
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$"
: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$)
=
=
=
=
=
=
=
=
=
=
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$)
73
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"
!
!
!
!
!
!
74
!
!
!
!
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
75
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).
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[
4. for i=1 to n1
5. xx = r1*cos(aa)
6. yy = r1*sin(aa)
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
9. next i
10. ]
Operadores Matemticos
78
Cdigo Macro3.mac
dialog "Macro3.dlg"
!
!
!
!
!
!
a1
a2
ww
ll
xs
ys
=
=
=
=
=
=
incline angle
included angle
width
length
start point
start point
degrees
d2 = (ll * tan(90-a2))
w2= (ww-d2-d2)
! length of short end
contour [
start xs, ys
line xs+ll, ys+d2
line xs+ll, ys+d2+w2
line xs, ys+ww
line xs, ys
]
iref = ContourRef
clear_select
select_shape iref
redraw
rotate_geo xs,ys,a1
redraw
if messages=1 then message "Set markers, load process and create ops"
load_process "macro3.prc"
calc_process
clear_select
redraw
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.
Cdigo Macro3.dlg
!
!
!
!
!
!
a1
a2
ww
ll
xs
ys
=
=
=
=
=
=
incline angle
included angle
width
length
position
position
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,
81
input
input
input
input
input
input
370,
370,
370,
370,
370,
370,
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
83
Los resultados finales. La macro crea la figura, las herramientas, los procesos y las
operaciones.
8
6
70
30
X4, Y2
dialog "Macro2repeats.dlg"
84
!
!
!
!
!
!
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
x1=xs
for i=1 to nx
y1=ys
for j=1 to ny
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
Este cdigo crea la figura a partir de los datos ingresados por el usuario,
mediante un clculo matemtico simple.
y1 = y1 + dy
next j
x1 = x1 + dx
next i
clear_select
redraw
86
Esto impulsa un nuevo trazado para que el usuario pueda ver los resultados
de la macro.
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.
!
!
!
!
!
!
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
!
!
20,
87
frame
label
label
label
label
label
label
input
input
input
input
input
input
240,
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,
5
3
4
2
0.6
0.3
70, 24
70, 24
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
!
!
!
!
!
!
xs
ys
dx
dy
nx
ny
image
frame
=
=
=
=
=
=
label
label
label
label
label
label
input
input
input
input
input
input
x start
y start
x spacing
y spacing
number in x
number in y
20,
240,
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.
70,
70,
70,
70,
70,
70,
70,
70,
70,
70,
70,
70,
70, 24
70, 24
89
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, 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
Herramientas de Fresa: 43
Herramientas de Torno: 43
Todas las Herramientas: 42
set_util_proc_data
comando: 35
parmetros: 48
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
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
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