Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Engraving/Serialization


Toby
 Share

Recommended Posts

It seems to be fairly common to machine engrave the pn,julian date,job #,and serialize each part with a unique number. To accomodate all these fields it would be ideal to set up a custom macro that could handle both letters and numbers and that floor personel could use at the machine. I have a few areas I'm looking at right now for that macro possibility. I'm currently engraving on a arc and rotated to 135 deg. Using M/C standard Box fonts I would like to go and click/edit on the current engraving which would pop open an edit box. Changing the serialization from a -001 to -002 would be just a few clicks away then regen/post. The way it is now I have to delete old string, redo the entire line, and rerotate. This is very tedious and I would think there has got to be a better way in M/C. Is there anyone out there that has to deal with engraving like this that has a good work around? Any suggestions are greatly appreciated.

------------------

Toby Baughman

Magic Mfg

Link to comment
Share on other sites
  • 3 years later...
Guest CNC Apps Guy 1

Toby,

 

quote:

..This is very tedious and I would think there has got to be a better way in M/C...

Actually the best way to handle this would be through Macro at the machine. With all that you want to engrave it may be difficult though...

 

You could create a sub that has a month, a sub with the day, a sub that has the year, with the macro to serialize it.???

 

:shrug:

Link to comment
Share on other sites

Build a series of incremental subprograms with all of the characters you're going to need. Build another subprgram that calls the incremental ones in the order you need them output. If possible make it based on machine variables that can be edited at the beginning of the program, otherwise you'll have to select the correct subs to run in the correct order every part. If you really are doing this alot, pay somebody to write you a bulletproof macro in your control - or just buy a Fadal (They've got a serialization function built in).

Link to comment
Share on other sites

I just set up 2 custom drill cycles in meh post to use the built-in HAAS engraving cycles for serial or text.

 

Select a start point, type the text/serial start, and off you go. wink.gif (Doesn't verify or backplot, but hey, where's your sense of adventure?)

Link to comment
Share on other sites

quote:

Wow this is and old thread, I wonder if Toby is still around...


He's still around! LOL. He's moved up to the world of Engineering. I'll have to walk over there and tell him to come say hi. biggrin.gif

 

quote:

Build a series of incremental subprograms with all of the characters you're going to need.

This is pretty much the way we do it. We use height offsets to control the #'s.

Link to comment
Share on other sites

We wrote this macro for Mazak Integrex few months ago for serianumber and logo.

Use this for reference to create what you want.

 

Fantasma:

all comens was wrote in spanish you may have to translate.

 

( TOOL 40 OFFSET 40 )

( ENGRAVE TOOL OPERATION )

( USE BALL END MILL 0.500" )

( SETUP IN THE CENTER )

( )

N2590G00G20G98M200

N2595G28U0

N2600G28W0M153

N2605G28V0

N2610T4040.09

N2615G97M13S6000

N2620M212 ( C AXIS UNCLAMP )

N2625G28C0

N2630M210 ( C AXIS CLAMP )

( )

( A = ENGRAVE NUMBER )

( B = Z CORNER )

( C = TOP SUB DIAMETER )

( D = FLAT DIAMETER )

( E = LENGHT OF FLAT )

( I = AXIAL FEED )

( J = RADIAL FEED )

( K = ENGRAVE DEPTH )

( F = TOOL DIAMETER )

( M= SECUENCIADOR 0 OFF 1 ON )

( Q= MISSION SERIE )

( R= RESET SEQUENCE 0 OFF 1 ON )

( )

G65 P9020 A2309 B5.5 C5.9 D4.0 E2.0 I13.0 J50.0 K0.005 F0.5 M0 Q65 R0

( )

N2635G28U0M205

N2640G28V0M154

N2645G28W0M202

N2650M00

 

(start Macro)

O00009020(KREAENGRAVE)

( )

( KREAENGRAVE )

( )

( PROGRAMA PARA GENERAR LOGOTIPO Y ENGRAVE DE )

( NUMEROS DE FORMA SEQUENCIAL AUTOMATICA EN LOS )

( FLATS DE LOS TOP SUBS MECANIZADOS EN LA INTEGREX )

( )

( AUTOR: GUILLERMO ROSADO BOSQUE GOMEZ "KREATOR" )

( )

( )

( ENTRADAS DEL PROGRAMA )

( )

( NUMERO A ENGRAVAR # 1 )

( ESQUINA EN Z # 2 )

( DIAMETRO DEL TOP SUB # 3 )

( DIAMETRO DE FLATS # 7 )

( LONGITUD DE FLATS # 8 )

( AVANCE AXIAL # 4 )

( AVANCE RADIAL # 5 )

( PROFUNDIDAD DE ENGRAVE # 6 )

( DIAMETRO DE HERRAMIENTA # 9 )

( SECUENCIADOR APAGADO / PRENDIDO # 13 )

( NUMERO DE PARTE # 17 )

( )

( COMIENZA PROGRAMA )

( )

( LIMPIANDO VARIABLES )

( )

 

#101=1

 

WHILE [#101 LT 49 ] DO1

# [100+ #101+1] =#0

#101=#101+1

END1

#101=#0

 

( )

( CHECANDO ENTRADAS )

( )

 

IF [#1 EQ # 0 ] GOTO790

IF [#1 LT 0 ] GOTO795

IF [#2 EQ # 0 ] GOTO790

IF [#3 EQ # 0 ] GOTO790

IF [#3 LT 0 ] GOTO795

IF [#7 EQ # 0 ] GOTO790

IF [#7 LT 0 ] GOTO795

IF [ #3 LE #7 ] GOTO800 ( RAIZ NO PUEDE SER NEGATIVA )

IF [#8 EQ # 0 ] GOTO790

IF [#6 EQ # 0 ] GOTO790

IF [#13EQ# 0 ] GOTO790

IF[#13 LT 0 ] GOTO795

IF[#13 GT 2 ] GOTO795

IF [#8 LT 0 ] GOTO795

IF [#9EQ# 0 ] GOTO790

IF[#9 LT 0 ] GOTO795

IF [#18EQ# 0 ] GOTO790

IF[#18LT 0 ] GOTO795

 

IF[#17 EQ 30 ] GOTO5

IF[#17 EQ 40 ] GOTO5

IF[#17 EQ 50 ] GOTO5

IF[#17 EQ 55 ] GOTO5

IF[#17 EQ 60 ] GOTO5

IF[#17 EQ 60.1] GOTO5

IF[#17 EQ 65 ] GOTO5

 

GOTO810 ( NUMERO NO PERMITIDO )

 

N5

 

 

N10

 

IF [#4 EQ # 0 ] GOTO15

GOTO20

N15

#4=1.0

N20

IF [#5 EQ # 0 ] GOTO25

GOTO30

N25

#5=15.0

 

N30

 

#112=ROUND[#1] ( NUMERO DE ENGRAVE )

#113=ABS[#2]* [-1] ( COORDENADA Z ESQUINA )

#114=#3 ( DIAMETRO DEL TOP SUB )

#115=#7 ( DIAMETRO DE FLATS )

#116=#8 ( LARGO DEL RECTANGULO A ENGRAVAR )

#117=#4 ( AVANCE AXIAL )

#118=#5 ( AVANCE RADIAL )

#119=ABS[#6] ( PROFUNDIDAD DE CORTE )

#120=#9 ( DIAMETRO DE HERRAMIENTA )

#121=#13 ( SWITCH SECUENCIADOR 1 ON 0 OFF )

#122=#17 ( SERIE MISSION )

#142=#18 ( RESET 1 ON 0 OFF )

 

 

N35

 

( )

( # 123 ENGRAVE NUMBER VAR )

( # 124 CONTADOR DIGITOS TOTAL )

( # 125 CONTADOR DIGITOS VAR )

( # 126 NUMERO )

( # 127 DIEZ MULTIPLO )

 

( )

( ****** VALORES CONSTANTES ****** )

( )

 

#128=0.1 ( PARAMETRO DE CLEARANCIA )

#129=0.4*#116 ( ANCHO DEL LOGO )

#130=0.15*#116 ( ANCHO DEL CUADRADO PARA LAS LETRAS )

#131=#130/4 ( NUESTRA X1 DEL CUADRADO DE LETRA )

#132=#130/10 ( NUESTRA X2 DEL CUADRADO DE LETRA )

#133=#130/5 ( ESPACIO DE SEPARACION DE LETRAS )

#134=2.5*#129 ( LARGO DEL LOGO )

#135=0.1*#116 ( SEPARACION ENTRE LETRAS Y LOGO )

#136=0.175*#116 ( SEPARACION INICIO DE PLANOS CLEARANCIA HERRAMIENTA )

 

IF [ 0.5*#120 + #128 GT #136 ] GOTO810

 

( )

( #137 LONGITUD DE FLATS )

( )

 

#137= SQRT[[#114*#114]-[#115*#115]] ( DIAMETRO MAXIMO DE FLATS )

 

N36

 

( CONSIDERAMOS PARA CHECAR ESPACIO 137 ENTRE 5 COMO POSICION ADECUADA EN Y )

 

#139=[3*#137]/[5*#134] ( FACTOR DE ESCALA EN ALTO )

 

IF[[#129*#139+2*#136+#135+#130]GE #116] GOTO37

 

( )

( REAJUSTANDO VALORES )

( )

 

#135=0.5*[ #116 - #129*#139- 2*#136- #130 ]

#138= 0.3*#137 ( POSICION EN Y )

#140=#135

 

GOTO40

 

N37 ( ESCALA NEUTRA )

 

#139=1

#138=[#137 -#134]*0.5 ( POSICION EN Y )

#140=0

 

 

( )

( COMIENZA PRIMER ALGORITMO )

( )

 

N40

 

IF[ #121 EQ 0 ] GOTO50 ( SWITCH ACTIVADO )

 

IF [ #549 EQ # 0 ]GOTO45

IF [ #142 EQ 1 ] GOTO45

 

 

#123=#549

GOTO55

 

N45

 

#123=#112

#549=#112

GOTO55

 

N50

 

#123=#112

 

N55

 

# 127 = 10 ( DIEZ MULTIPLO )

# 125 =1

 

N60

 

IF [#123LT #127 ] GOTO65

 

#127=#127*10

#125=#125 + 1

GOTO60

 

N65

 

IF [#125 GT 6 ] GOTO805 ( MAX NUM ES 9,999,999)

 

#124=#125

 

( COMIENZA SEGUNDO ALGORITMO )

 

N70

 

#126=9

 

IF [ #125 EQ 0 ] GOTO85

 

N75

 

IF [ [#126*#127/10] LE #123] GOTO80

 

#126=#126-1

GOTO75

 

N80

 

#127=#127/10

#[100+#125]= #126 ( NUMERO DE SALIDA PARA ENGRAVE )

#125=#125-1

#123=#123-[#126*#127]

 

GOTO70

 

N85

 

G00Z[#120/2 ] ( EVEN WITH THE FACING SURFACE )

G00X[#114+4*#128 ]

 

( )

( CALCULO DE COORDENADAS PARA LOGO )

( )

 

G00Y[-#138] Z[ #113 -#136- #140]

G00X[#115+2*#128]

G01X[#115-2*#119]F#117

G01W-0.2*#129*#139 F#118

G01V0.15*#129*#139

G01W-0.6*#129*#139

G01V-0.15*#129*#139

G01W-0.2*#129*#139

G01V0.65*#129*#139

G01W0.72525*#129*#139

G01V0.77179*#129*#139*SIN[20] W-0.77179*#129*#139*COS[20]

G01V0.6*#129*#139

G01V0.77179*#129*#139*COS[70] W0.77179*#129*#139*SIN[70]

G01W-0.72525*#129*#139

G01V0.7220595*#129*#139

G01W0.2*#129*#139

G01V-0.15*#129*#139

G01W0.1*#129*#139

G01V-0.35*#129*#139

G01W-0.1*#129*#139

G01V-0.15*#129*#139

G01W-0.2*#129*#139

G00X[#115+2*#128]

 

( )

( DIBUJANDO LOS NUMEROS DEL LOGO )

( )

 

N90

 

IF[#122 EQ 30 ] GOTO95

IF[#122 EQ 40 ] GOTO100

IF[#122 EQ 50 ] GOTO105

IF[#122 EQ 55 ] GOTO110

IF[#122 EQ 60 ] GOTO115

IF[#122 EQ 60.1 ] GOTO116

IF[#122 EQ 65 ] GOTO120

 

N95 ( MISSION 30 )

 

G00X[#115+2*#128]

G00V0.15*#129*#139W0.425*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.025*#129*#139F#118

G01V0.125*#129*#139

G01W0.2*#129*#139

G01V-0.125*#129*#139

G01W-0.025*#129*#139

G00X[#115+2*#128]

G00W-0.075*#129*#139

G01X[#115-1.5*#119]F#117

G01V0.125*#129*#139

G00X[#115+2*#128]

G00V0.1*#129*#139W0.1*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.2*#129*#139F#118

G01V0.125*#129*#139

G01W0.2*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

 

GOTO125

 

N100 ( MISSION 40 )

 

G00X[#115+2*#128]

G00V0.275*#129*#139W0.4*#129*#139

G01X[#115-1.5*#119]F#117

G01W0.2*#129*#139F#118

G00X[#115+2*#128]

G00V-0.125*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.1*#129*#139F#118

G01V0.125*#129*#139

G00X[#115+2*#128]

G00V0.1*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.1*#129*#139F#118

G01V0.125*#129*#139

G01W0.2*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

 

GOTO125

 

 

N105 ( MISSION 50 )

 

G00X[#115+2*#128]

G00V0.15*#129*#139W0.4*#129*#139

G01X[#115-1.5*#119]F#117

G01V0.125*#129*#139F#118

G01W0.1*#129*#139

G01V-0.125*#129*#139

G01W0.1*#129*#139

G01V0.125*#129*#139

G01W-0.05*#129*#139

G00X[#115+2*#128]

G00V0.1*#129*#139W.05*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.2*#129*#139F#118

G01V0.125*#129*#139

G01W0.2*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

 

 

GOTO125

 

 

N110 ( MISSION 55 )

 

G00X[#115+2*#128]

G00V0.15*#129*#139W0.4*#129*#139

G01X[#115-1.5*#119]F#117

G01V0.125*#129*#139F#118

G01W0.1*#129*#139

G01V-0.125*#129*#139

G01W0.1*#129*#139

G01V0.125*#129*#139

(G01W-0.05*#129*#139)

G00X[#115+2*#128]

G00V0.225*#129*#139W

G01X[#115-1.5*#119]F#117

(G01W0.05*#129*#139F#118)

G01V-0.125*#129*#139F#118

G01W-0.1*#129*#139

G01V0.125*#129*#139

G01W-0.1*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

 

GOTO125

 

 

N115 ( MISSION 60 )

 

G00X[#115+2*#128]

G00V0.275*#129*#139W0.575*#129*#139

G01X[#115-1.5*#119]F#117

G01W0.025*#129*#139F#118

G01V-0.125*#129*#139

G01W-0.2*#129*#139

G01V0.125*#129*#139

G01W0.1*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

G01V0.225*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.1*#129*#139F#118

G01V0.125*#129*#139

G01W0.2*#129*#139

G01V-0.125*#129*#139

G01W-0.1*#129*#139

G00X[#115+2*#128]

 

GOTO125

 

N116 ( MISSION 60 W )

 

G00X[#115+2*#128]

G00V0.275*#129*#139W0.575*#129*#139

G01X[#115-1.5*#119]F#117

G01W0.025*#129*#139F#118

G01V-0.125*#129*#139

G01W-0.2*#129*#139

G01V0.125*#129*#139

G01W0.1*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

G01V0.225*#129*#139

G01X[#115-1.5*#119]F#117

G01W-0.1*#129*#139F#118

G01V0.125*#129*#139

G01W0.2*#129*#139

G01V-0.125*#129*#139

G01W-0.1*#129*#139

G00X[#115+2*#128]

G00V0.225*#129*#139W.1*#129*#139

G01X[#115-1.5*#119]F#117

G01V0.20615*#129*#139*SIN[14.0362]W-0.20615*#129*#139*COS[14.0362]F#118

G01V0.1118*#129*#139*COS[63.4349]W0.1118*#129*#139*SIN[63.4349]

G01V0.1118*#129*#139*SIN[26.5651]W-0.1118*#129*#139*COS[26.5651]

G01V0.20615*#129*#139*COS[75.9638]W0.20615*#129*#139*SIN[75.9638]

G00X[#115+2*#128]

 

GOTO125

 

 

N120 ( MISSION 65 )

 

G00X[#115+2*#128]

G00V0.275*#129*#139W0.575*#129*#139

G01X[#115-1.5*#119]F#117

G01W0.025*#129*#139F#118

G01V-0.125*#129*#139

G01W-0.2*#129*#139

G01V0.125*#129*#139

G01W0.1*#129*#139

G01V-0.125*#129*#139

G00X[#115+2*#128]

G01V0.225*#129*#139W-0.1*#129*#139

G01X[#115-1.5*#119]F#117

G01V0.125*#129*#139F#118

G01W0.1*#129*#139

G01V-0.125*#129*#139

G01W0.1*#129*#139

G01V0.125*#129*#139

G01W-0.05*#129*#139

G00X[#115+2*#128]

 

GOTO125

 

N125 ( RETOMANDO DIBUJO DE LOGO )

 

G00Y[-#138] Z[ #113 -#136- #140]

G00X[#115+2*#128]

G01X[#115-2*#119]F#117

G01V0.95*#129*#139F#118

G01V0.771797*#129*#139*SIN[20]W-0.771797*#129*#139*COS[20]

G01V0.771797*#129*#139*COS[70]W0.771797*#129*#139*SIN[70]

G01V1.02205*#129*#139

G01W-0.2*#129*#139

G01V-0.15*#129*#139

G01W-0.1*#129*#139

G01V-0.35*#129*#139

G01W0.1*#129*#139

G01V-0.15*#129*#139

G01W0.2*#129*#139

G00X[#115+2*#128]

 

( )

( CALCULANDO LAS COORDENADAS )

( )

 

N130

 

#123=#124 ( ASIGNANDO NUEVAMENTE NUMERO DE DIGITOS )

 

#126=1 ( VARIABLE CONTADORA )

 

#138=[#137-[[#124*#130]+[[#124-1]*#133]]]*0.5 ( ESPACIO SIMETRICO )

 

N135 ( Loop de engrave )

 

IF[#126GT#124]GOTO250

 

IF [#[100+#123]EQ0]GOTO140

IF [#[100+#123]EQ1]GOTO150

IF [#[100+#123]EQ2]GOTO160

IF [#[100+#123]EQ3]GOTO170

IF [#[100+#123]EQ4]GOTO180

IF [#[100+#123]EQ5]GOTO190

IF [#[100+#123]EQ6]GOTO200

IF [#[100+#123]EQ7]GOTO210

IF [#[100+#123]EQ8]GOTO220

IF [#[100+#123]EQ9]GOTO230

 

 

N140 ( SUBRUTINA PARA EL CERO )

 

G00Y[ -[#137/2]+ #138 + [#130+#133]*[#126-1]+ #131] Z[ #113 -#136-#140 - #129*#139- #135-#130+ #132]

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01V[2*#131]F#118

G01W[8*#132]

G01V-[2*#131]

G01W-[8*#132]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

N150 ( SUBRUTINA PARA EL NUMERO 1)

 

G00Y[-[#137/2]+#138+[#130+#133]*[#126-1]+#131] Z[ #113 -#136-#140 - #129*#139-#135-#130+ #132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01V[2*#131]F#118

G00X[#115+2*#128]

G00V[-#131]

G01X[#115-1.5*#119]F#117

G01W[8*#132]F#118

G01V[-2*#132]W[-2*#132]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

N160 ( SUBRUTINA PARA EL NUMERO 2 )

 

G00Y[ -[#137/2]+#138+[#130+ #133]*[ #126-1]+ 3*#131] Z [ #113 -#136-#140-#129*#139-#135-#130+ #132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01V[ -2*#131] F#118

G01W[4*#132]

G01V[2*#131]

G01W[4*#132]

G01V[-2*#131]

G01W[-2*#132]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

N170 ( SUBRUTINA PARA EL NUMERO 3 )

 

G00Y[ -[#137/2]+#138+[#130+ #133]*[ #126-1]+ #131] Z [#113 -#136-#140-#129*#139-#135-#130+8*#132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01W[#132] F#118

G01V[2*#131]

G01W-[ 8*#132 ]

G01V[-2*#131]

G01W[ #132 ]

G00X[#115+2*#128]

G00W[3*#132]

G01X[#115-1.5*#119]F#117

G01V[2*#131] F#118

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

N180 ( SUBRUTINA PARA EL NUMERO 4 )

 

G00Y[ -[#137/2] + #138 + [#130+ #133]*[ #126-1] + 3*#131 ] Z[ #113 - #136- #140- #129*#139 - #135- #130+ #132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01W[8*#132] F#118

G00X[#115+2*#128]

G00V-[2*#131]

G01X[#115-1.5*#119]F#117

G01W-[4*#132] F#118

G01V[2*#131]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

 

N190 ( SUBRUTINA PARA EL NUMERO 5 )

 

G00Y[ -[#137/2] + #138 + [#130+ #133]*[ #126-1] + #131 ] Z[ #113 -#136-#140-#129*#139 -#135-#130+ #132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01V[2*#131] F#118

G01W[4*#132]

G01V-[2*#131]

G01W[4*#132]

G01V[2*#131]

G01W-[2*#132]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

 

N200 ( SUBRUTINA PARA EL NUMERO 6 )

 

G00Y[ -[#137/2] + #138 + [#130+ #133]*[ #126-1] + 3*#131 ] Z[ #113 -#136-#140 - #129*#139- #135-#130+ 8*#132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01W[#132] F#118

G01V-[2*#131]

G01W-[8*#132]

G01V[2*#131]

G01W[4*#132]

G01V-[2*#131]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

 

N210 ( SUBRUTINA PARA EL NUMERO 7 )

 

G00Y[-[#137/2]+#138+[#130+#133]*[#126-1]+3*#131] Z[ #113 -#136-#140 - #129*#139- #135-#130+ #132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01W[8*#132]F#118

G01V-[2*#131]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

 

N220 ( SUBRUTINA PARA EL NUMERO 8 )

 

G00Y[ -[#137/2] + #138 + [#130+ #133]*[ #126-1] + #131 ] Z[#113 -#136-#140 - #129*#139- #135-#130+ 5*#132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01V[2*#131 ]F#118

G01W[4*#132]

G01V-[2*#131]

G01W-[8*#132]

G01V[2*#131]

G01W[4*#132]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

 

N230 ( SUBRUTINA PARA EL NUMERO 9 )

 

G00Y[ -[#137/2] + #138 + [#130+ #133]*[ #126-1] + #131 ] Z[ #113 -#136-#140 - #129*#139- #135-#130+ #132]

 

G00X[#115+2*#128]

G01X[#115-1.5*#119]F#117

G01V[2*#131] F#118

G01W[8*#132]

G01V-[2*#131]

G01W-[4*#132]

G01V[2*#131]

G00X[#115+2*#128]

 

#126=#126+1

#123=#123-1

 

GOTO135

 

 

N250

 

IF[ #121 EQ 0 ] GOTO255 ( SWITCH ACTIVADO )

 

#549=#549+1

 

N255

 

G00X[#114+4*#128 ]

 

GOTO900

 

 

N790

 

# 3000 = 01 ( MISSING ARGUMENT )

 

N795

 

# 3000 = 02 ( WRONG NUMBER IN STATEMENT )

 

N800

 

#3000=03 ( BAR DIAMETER SMALL THAN FLAT DIAMETER )

 

N805

 

#3000=04 ( ENGRAVE NUMBER TO BIG )

 

N810

 

#3000=05 ( TOOL DIAMETER TO BIG FOR CLEARANCE )

 

N900

 

M99

%

Link to comment
Share on other sites
  • 2 years later...
Guest CNC Apps Guy 1

here's another one...

 

code:

%

O9116(8 DIGIT SERIALIZE MACRO)

 

(EDITING MACRO VARIABLE #535 - MANUAL SETTING)

 

(A=AUTOMATIC SET OF INITIAL NUMBER)

(SET VIA MDI TO AVOID RESETTING)

(OMIT TO START FROM 1 AND COUNT UP)

(G65 P9116 A87654321.)

 

(FOR CALLING OF NUMBERS)

(G54 X0 Y0 - STARTING LOCATION OF NUMBERS)

(G65 P9116 H.25 Z-.015 D5. S1.)

 

(VARIABLE DEFINITIONS BELOW)

(G65 = MACRO CALL***************************)

(P9116 = O NUMBER MACRO CALLED****************)

(H = LETTERING HEIGHT*********************)

(Z = Z DEPTH OF LETTERS **ABSOLUTE*ONLY***)

(D = NUNBER OF DIGITS TO ENGRAVE - 8 MAX**)

(F = FEEDRATE*****************************)

(S = TO SKIP COUNT UP 1=YES**************)

 

(SETS #535 AS THE NUMBER)

 

IF[#1NE#0]GOTO300

#109=#9

#100=#11

#101=ABS[#26]

#102=ABS[#7]

#112=#102

#103=1000.(BLOCK NUMBER TO CALL)

#19=ABS[#19]

#533=#535

IF[#102EQ#0]THEN#102=8.

#134=#4003

#135=#5003

 

N20(DIGIT COUNTER)

#112=#102-1

#113=10

WHILE[#112NE0]DO1

#113=#113*10

#112=#112-1

END1

#113=#113-1

IF[#535GT#113]GOTO[200+#102]

 

N30(EIGHTH DIGIT)

IF[#102LE7.]GOTO40

#1=8.

#145=40

GOTO1010

 

N31

GOTO[#103+#534]

 

N40(SEVENTH DIGIT)

IF[#102LE6.]GOTO50

#1=7.

#145=50

GOTO1010

 

N41

GOTO[#103+#534]

 

N50(SIXTH DIGIT)

IF[#102LE5.]GOTO60

#1=6.

#145=60

GOTO1010

 

N51

GOTO[#103+#534]

 

N60(FIFTH DIGIT)

IF[#102LE4.]GOTO70

#1=5.

#145=70

GOTO1010

 

N61

GOTO[#103+#534]

 

N70(FOURTH DIGIT)

IF[#102LE3.]GOTO80

#1=4.

#145=80

GOTO1010

 

N71

GOTO[#103+#534]

 

N80(THIRD DIGIT)

IF[#102LE2.]GOTO90

#1=3.

#145=90

GOTO1010

 

N81

GOTO[#103+#534]

 

N90(SECOND DIGIT)

IF[#102LE1.]GOTO100

#1=2.

#145=100

GOTO1010

 

N91

GOTO[#103+#534]

 

N100(FIRST DIGIT)

#1=1.

#145=110

GOTO1010

 

N101

#145=120

GOTO[#103+#534]

 

N120

IF[#19GE1]GOTO210

#535=#535+1

GOTO210

 

N201#3000=1(NUMBER GREATER THAN 9)

 

N202#3000=1(NUMBER GREATER THAN 99)

 

N203#3000=1(NUMBER GREATER THAN 999)

 

N204#3000=1(NUMBER GREATER THAN 9999)

 

N205#3000=1(NUMBER GREATER THAN 99999)

 

N206#3000=1(NUMBER GREATER THAN 999999)

 

N207#3000=1(NUMBER GREATER THAN 9999999)

 

N208#3000=1(NUMBER GREATER THAN 99999999)

 

 

N1000(NUMBER-0)

G91G0X[#100/4]

G90G1Z-#101F#109

G91G3X[#100/4]Y[#100/4]J[#100/4]

G1Y[#100/2]

G3X-[#100/2]I-[#100/4]

G1Y-[#100/2]

G3X[#100/4]Y-[#100/4]I[#100/4]

G90G0Z#135

G91X[#100/4]

G0X[#100/3]

GOTO#145

 

N1001(NUMBER-1)

G90G1Z-#101F#109

G91G1X[#100/2]

X-[#100/4]

Y#100

X-[#100/10]Y-[#100/5]

G90G0Z#135

G91X[#100/10]Y[#100/5]

X[#100/4]Y-#100

X[#100/3]

GOTO#145

 

N1002(NUMBER-2)

G91G0Y[#100-[#100/4]]

G90G1Z-#101F#109

G91G2X[#100/2]I[#100/4]

#110=[[#100/4]*SIN[45]]

#111=[[#100/4]*COS[45]]

G2X-[[#100/4]-#111]Y-[[#100/4]-#110]R[#100/4]

G1X-#111Y-#110

G3X-[#100/4]Y-[#100/2]R#100

G1X[#100/2]

G90G0Z#135

G91X[#100/3]

GOTO#145

 

N1003(NUMBER-3)

G91G0Y[#100-[#100/4]]

G90G1Z-#101F#109

G91G2X[#100/4]Y-[#100/4]I[#100/4]

G2X-[#100/4]Y-[#100/4]J-[#100/4]

G90G0Z#135

G91G0X[#100/2]Y-[#100/4]

X[#100/3]

GOTO#145

 

N1004(NUMBER-4)

G91G0Y#100

G90G1Z-#101F#109

G91Y-[#100/2]

X[#100/2]

X-[#100/10]

Y[#100/2]

Y-#100

G90G0Z#135

G91G0X[#100/10]

X[#100/3]

GOTO#145

 

N1005(NUMBER-5)

G91G0Y[#100/4]

G90G1Z-#101F#109

G91G3X[#100/4]Y[#100/4]I[#100/4]

G1X-[#100/4]

Y[#100/2]

X[#100/2]

G90G0Z#135

G91G0Y-#100

G91X[#100/3]

GOTO#145

 

N1006(NUMBER-6)

G91G0Y[#100/4]

G90G1Z-#101F#109

G91G2I[#100/4]

G1Y[#100/2]

G2X[#100/2]I[#100/4]

G90G0Z#135

G91G0Y-[#100-[#100/4]]

X[#100/3]

GOTO#145

 

N1007(NUMBER-7)

G91G0Y#100

G90G1Z-#101F#109

G91G1X[#100/2]

G3X-[#100/2]Y-#100R[#100*2]

G90G0Z#135

G91G0X[#100/2]

G91X[#100/3]

GOTO#145

 

N1008(NUMBER-8)

G91G0X[#100/4]Y[#100/2]

G90G1Z-#101F#109

G91G2J-[#100/4]

G3J[#100/4]

G90G0Z#135

G91G0X[#100/4]Y-[#100/2]

G91X[#100/3]

GOTO#145

 

N1009(NUMBER-9)

G91G0Y[#100/4]

G90G1Z-#101F#109

G91G3X[#100/2]I[#100/4]

G1Y[#100/2]

G3I-[#100/4]

G90G0Z#135

G91G0Y-[#100-[#100/4]]

G91X[#100/3]

GOTO#145

 

N1010(CALCULATE DIGIT MACRO)

#1=ADP[#1]

#106=#1-1

#105=10.

IF[#106EQ0]THEN#105=1.

IF[#106EQ0]GOTO105

WHILE[[#106-1]GT0]DO1

#106=#106-1

#105=#105*10

END1

N105

#106=#0

#534=#533/#105

#534=FIX[#534]

#2=#2-1

#532=#534*#105

#533=#533-#532

IF[#534NE0]GOTO301

#534=#0

N301

GOTO[#145-9]

 

N210G#134

M99

N300(SET NUMBERS)

#535=#1

M99

%

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...