'Macro for Write Engraving Screen
'******  Isocp Font  ******
'****** German Bravo 2004  *****
'******   Revision 2005    *****
'
'(N°Lineas,X1,X2,,,,Xn,Largo)
'(N°Lineas,Y1,Y2,,,,Yn,Largo)
'(N°Lineas,G1,G2,,,,Gn,Largo)
'
Option Explicit
'=== Declaraciones ===
Dim XPOS,YPOS,Top_Mat,Depth,Rapid_dis,Feed,Porcentaje,Height,ToolNum,RPM
Dim X1,X2,Y1,Y2,escala,corte,Largo,Num,Codigo,Total,GG,GM,IJ

Dim MX_1,MY_1,MG_1,MX_2,MY_2,MG_2,MX_3,MY_3,MG_3,MX_4,MY_4,MG_4,MX_5,MY_5,MG_5,MX_6,MY_6,MG_6,MX_7,MY_7,MG_7,MX_8,MY_8,MG_8
Dim MX_9,MY_9,MG_9,MX_0,MY_0,MG_0,MX_AA,MY_AA,MG_AA,MX_BB,MY_BB,MG_BB,MX_CC,MY_CC,MG_CC,MX_DD,MY_DD,MG_DD,MX_EE,MY_EE,MG_EE
Dim MX_FF,MY_FF,MG_FF,MX_GG,MY_GG,MG_GG,MX_HH,MY_HH,MG_HH,MX_II,MY_II,MG_II,MX_JJ,MY_JJ,MG_JJ,MX_KK,MY_KK,MG_KK,MX_LL,MY_LL
Dim MG_LL,MX_MM,MY_MM,MG_MM,MX_NN,MY_NN,MG_NN,MX_ENNE,MY_ENNE,MG_ENNE,MX_OO,MY_OO,MG_OO,MX_PP,MY_PP,MG_PP,MX_QQ,MY_QQ,MG_QQ
Dim MX_RR,MY_RR,MG_RR,MX_SS,MY_SS,MG_SS,MX_TT,MY_TT,MG_TT,MX_UU,MY_UU,MG_UU,MX_VV,MY_VV,MG_VV,MX_WW,MY_WW,MG_WW,MX_XX,MY_XX
Dim MG_XX,MX_YY,MY_YY,MG_YY,MX_ZZ,MY_ZZ,MG_ZZ,MX_a,MY_a,MG_a,MX_b,MY_b,MG_b,MX_c,MY_c,MG_c,MX_d,MY_d,MG_d,MX_e,MY_e,MG_e
Dim MX_f,MY_f,MG_f,MX_g,MY_g,MG_g,MX_h,MY_h,MG_h,MX_i,MY_i,MG_i,MX_j,MY_j,MG_j,MX_k,MY_k,MG_k,MX_l,MY_l,MG_l,MX_m,MY_m,MG_m
Dim MX_n,MY_n,MG_n,MX_enneMin,MY_enneMin,MG_enneMin,MX_o,MY_o,MG_o,MX_p,MY_p,MG_p,MX_q,MY_q,MG_q,MX_r,MY_r,MG_r,MX_s,MY_s
Dim MG_s,MX_t,MY_t,MG_t,MX_u,MY_u,MG_u,MX_v,MY_v,MG_v,MX_w,MY_w,MG_w,MX_x,MY_x,MG_x,MX_y,MY_y,MG_y,MX_z,MY_z,MG_z,MX_mas
Dim MY_mas,MG_mas,MX_menos,MY_menos,MG_menos,MX_coma,MY_coma,MG_coma,MX_Punto,MY_Punto,MG_Punto,MX_IntCierra,MY_IntCierra
Dim MG_IntCierra,MX_IntAbre,MY_IntAbre,MG_IntAbre,MX_Slash,MY_Slash,MG_Slash,MX_BackSlash,MY_BackSlash,MG_BackSlash
Dim MX_Migual,MY_Migual,MG_Migual,MX_Bajo,MY_Bajo,MG_Bajo,MX_DosPuntos,MY_DosPuntos,MG_DosPuntos,MX_PuntoComa,MY_PuntoComa
Dim MG_PuntoComa,MX_Peso,MY_Peso,MG_Peso,MX_Amberstand,MY_Amberstand,MG_Amberstand,MX_AbreParent,MY_AbreParent,MG_AbreParent
Dim MX_CierraParent,MY_CierraParent,MG_CierraParent,MX_Comillas,MY_Comillas,MG_Comillas,MX_Porcent,MY_Porcent,MG_Porcent
Dim MX_Asterisco,MY_Asterisco,MG_Asterisco,MX_Grado,MY_Grado,MG_Grado,MX_Diam,MY_Diam,MG_Diam,MX_Mayor,MY_Mayor,MG_Mayor
Dim MX_Menor,MY_Menor,MG_Menor,MX_Vertical,MY_Vertical,MG_Vertical,MX_espacio,MY_espacio,MG_espacio


Dim LetraX, LetraY, LetraG, Lineas, GC, G6789, I, J, XX, YY

'=== Coordenada de Letras ===
'(N°Lineas,G1,X1,Y1,I1,J1,,,,,,Gn,Xn,Yn,In,Jn,Largo)

MX_1 = Array(3,+1.663,+1.663,0,+1.663)
MY_1 = Array(3,0,+7.5,+5.837,+1.663)
MG_1 = Array(3,"A","B","B",+1.663)
MX_2 = Array(9,0,+3.343,0,+3.09,+3.325,+2.747,+1.663,+0.633,0,+3.343)
MY_2 = Array(9,0,0,0,+4.952,+6.09,+7.102,+7.5,+7.157,+6.253,+3.343)
MG_2 = Array(9,"A","B","A","B","B","B","B","B","B",+3.343)
MX_3 = Array(14,0,+1.663,+2.837,+3.325,+3.325,+2.837,+1.663,+2.837,+3.325,+2.837,+1.663,0,+0.831,+1.663,+3.325)
MY_3 = Array(14,0,0,+0.488,+1.663,+2.494,+3.669,+4.157,+4.645,+5.837,+7.012,+7.5,+7.5,+4.157,+4.157,+3.325)
MG_3 = Array(14,"A","B","B","B","B","B","B","B","B","B","B","B","A","B",+3.325)
MX_4 = Array(6,0,+4.175,+2.928,+2.928,0,+1.663,+4.175)
MY_4 = Array(6,+1.663,+1.663,+3.325,0,+1.663,+7.5,+4.175)
MG_4 = Array(6,"A","B","A","B","A","B",+4.175)
MX_5 = Array(10,0,+1.663,+2.837,+3.325,+3.325,+2.837,+1.663,0,0,+2.91,+3.325)
MY_5 = Array(10,0,0,+0.488,+1.663,+2.494,+3.669,+4.157,+4.157,+7.5,+7.5,+3.325)
MG_5 = Array(10,"A","B","B","B","B","B","B","B","B","B",+3.325)
MX_6 = Array(12,+0.488,+1.663,+2.855,+3.343,+3.343,+2.91,+1.663,0,0,+0.488,0,+2.512,+3.343)
MY_6 = Array(12,+0.488,0,+0.488,+1.663,+2.494,+3.741,+4.157,+4.157,+1.663,+0.488,+4.157,+7.5,+3.343)
MG_6 = Array(12,"A","B","B","B","B","B","B","B","B","B","A","B",+3.343)
MX_7 = Array(4,+1.663,+3.325,0,0,+3.325)
MY_7 = Array(4,0,+7.5,+7.5,+6.669,+3.325)
MG_7 = Array(4,"A","B","B","B",+3.325)
MX_8 = Array(19,+0.488,+1.663,+2.855,+3.343,+3.343,+2.855,+1.663,+2.855,+3.343,+2.855,+1.663,+0.488,0,+0.488,+1.663,+0.488,0,0,+0.488,+3.343)
MY_8 = Array(19,+0.488,0,+0.488,+1.663,+2.494,+3.669,+4.157,+4.645,+5.837,+7.012,+7.5,+7.012,+5.837,+4.645,+4.157,+3.669,+2.494,+1.663,+0.488,+3.343)
MG_8 = Array(19,"A","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B",+3.343)
MX_9 = Array(12,+0.813,+2.639,+3.343,+3.343,+2.855,+1.681,+0.488,0,0,+0.488,+1.681,+3.343,+3.343)
MY_9 = Array(12,0,+1.355,+3.542,+5.837,+7.012,+7.5,+7.012,+5.837,+5.006,+3.813,+3.325,+3.325,+3.343)
MG_9 = Array(12,"A","B","B","B","B","B","B","B","B","B","B","B",+3.343)
MX_0 = Array(9,+0.831,+1.663,+2.494,+3.343,+2.494,+1.663,+0.831,0,+0.831,+3.343)
MY_0 = Array(9,+0.416,0,+0.416,+3.759,+7.084,+7.5,+7.084,+3.759,+0.416,+3.343)
MG_0 = Array(9,"A","B","B","B","B","B","B","B","B",+3.343)
MX_AA = Array(5,0,+2.998,+5.997,+5.124,+0.873,+5.997)
MY_AA = Array(5,0,+8.995,0,+2.506,+2.506,+5.997)
MG_AA = Array(5,"A","B","B","A","B",+5.997)
MX_BB = Array(14,0,+2.484,+4.251,+4.99,+4.251,+2.484,0,+2.484,+3.916,+4.498,+3.916,+2.484,0,0,+4.99)
MY_BB = Array(14,0,0,+0.738,+2.506,+4.274,+4.99,+4.99,+4.99,+5.594,+7.004,+8.413,+8.995,+8.995,0,+4.99)
MG_BB = Array(14,"A","B","B","B","B","B","B","A","B","B","B","B","B","B",+4.99)
MX_CC = Array(9,+0.649,+2.238,+4.005,+0.649,0,0,+0.649,+2.238,+4.005,+4.005)
MY_CC = Array(9,+0.627,-0.022,-0.022,+0.627,+2.238,+6.735,+8.324,+8.973,+8.973,+4.005)
MG_CC = Array(9,"A","B","B","A","B","B","B","B","B",+4.005)
MX_DD = Array(9,0,+2.238,+4.184,+4.99,+4.99,+4.184,+2.238,0,0,+4.99)
MY_DD = Array(9,0,0,+0.806,+2.752,+6.243,+8.19,+8.995,+8.995,0,+4.99)
MG_DD = Array(9,"A","B","B","B","B","B","B","B","B",+4.99)
MX_EE = Array(7,0,0,+3.983,+2.998,0,0,+3.983,+3.983)
MY_EE = Array(7,0,+8.995,+8.995,+4.99,+4.99,0,0,+3.983)
MG_EE = Array(7,"A","B","B","A","B","A","B",+3.983)
MX_FF = Array(5,0,0,+4.005,+4.005,0,+4.005)
MY_FF = Array(5,0,+8.995,+8.995,+4.99,+4.99,+4.005)
MG_FF = Array(5,"A","B","B","A","B",+4.005)
MX_GG = Array(12,+0.738,+2.506,+4.99,+4.99,+3.491,0,+0.738,+2.506,+4.99,0,0,+0.738,+4.99)
MY_GG = Array(12,+0.716,-0.022,-0.022,+4.967,+4.967,+6.467,+8.234,+8.973,+8.973,+6.467,+2.484,+0.716,+4.99)
MG_GG = Array(12,"A","B","B","B","B","A","B","B","B","A","B","B",+4.99)
MX_HH = Array(6,0,0,0,+4.99,+4.99,+4.99,+4.99)
MY_HH = Array(6,0,+8.995,+4.99,+4.99,+8.995,0,+4.99)
MG_HH = Array(6,"A","B","A","B","A","B",+4.99)
MX_II = Array(2,0,0,0)
MY_II = Array(2,0,+8.995,0)
MG_II = Array(2,"A","B",0)
MX_JJ = Array(5,0,+1.007,+2.417,+2.998,+2.998,+2.998)
MY_JJ = Array(5,0,0,+0.582,+1.991,+8.995,+2.998)
MG_JJ = Array(5,"A","B","B","B","B",+2.998)
MX_KK = Array(6,0,0,+1.924,+5.057,0,+4.99,+5.057)
MY_KK = Array(6,0,+8.995,+5.616,0,+3.491,+8.995,+5.057)
MG_KK = Array(6,"A","B","A","B","A","B",+5.057)
MX_LL = Array(4,0,+3.983,0,0,+3.983)
MY_LL = Array(4,0,0,0,+8.995,+3.983)
MG_LL = Array(4,"A","B","A","B",+3.983)
MX_MM = Array(5,0,0,+2.998,+5.997,+5.997,+5.997)
MY_MM = Array(5,0,+8.995,+4.005,+8.995,0,+5.997)
MG_MM = Array(5,"A","B","B","B","B",+5.997)
MX_NN = Array(4,0,0,+4.99,+4.99,+4.99)
MY_NN = Array(4,-0.022,+8.973,-0.022,+8.973,+4.99)
MG_NN = Array(4,"A","B","B","B",+4.99)
MX_ENNE = Array(10,0,0,+4.157,+4.157,+2.91,+3.741,+2.91,+2.078,+1.247,+0.416,+4.157)
MY_ENNE = Array(10,0,+7.5,0,+7.5,+9.994,+10.41,+9.994,+10.41,+10.825,+10.41,+4.157)
MG_ENNE = Array(10,"A","B","B","B","A","B","A","B","B","B",+4.157)
MX_OO = Array(11,+0.738,+2.506,+4.274,+5.012,+5.012,+4.274,+2.506,+0.738,0,0,+0.738,+5.012)
MY_OO = Array(11,+0.716,-0.022,+0.716,+2.484,+6.467,+8.234,+8.973,+8.234,+6.467,+2.484,+0.716,+5.012)
MG_OO = Array(11,"A","B","B","B","B","B","B","B","B","B","B",+5.012)
MX_PP = Array(8,0,0,+2.484,+4.251,+4.99,+4.251,+2.484,0,+4.99)
MY_PP = Array(8,0,+8.995,+8.995,+8.257,+6.489,+4.721,+4.005,+4.005,+4.99)
MG_PP = Array(8,"A","B","B","B","B","B","B","B",+4.99)
MX_QQ = Array(13,+0.716,+2.484,+4.251,+4.99,+4.99,+4.251,+2.484,+0.716,0,0,+0.716,+3.491,+5.997,+5.997)
MY_QQ = Array(13,+0.716,-0.022,+0.716,+2.484,+6.467,+8.234,+8.973,+8.234,+6.467,+2.484,+0.716,+1.969,-0.022,+5.997)
MG_QQ = Array(13,"A","B","B","B","B","B","B","B","B","B","B","A","B",+5.997)
MX_RR = Array(10,0,0,+2.484,+4.251,+4.99,+4.251,+2.484,0,+2.998,+4.99,+4.99)
MY_RR = Array(10,0,+8.995,+8.995,+8.257,+6.489,+4.721,+4.005,+4.005,+4.005,0,+4.99)
MG_RR = Array(10,"A","B","B","B","B","B","B","B","A","B",+4.99)
MX_SS = Array(10,0,+2.998,+4.542,+4.945,+3.893,+1.096,+0.045,+0.448,+1.991,+4.498,+4.945)
MY_SS = Array(10,+0.985,-0.022,+0.738,+2.417,+3.782,+5.169,+6.556,+8.234,+8.973,+8.48,+4.945)
MG_SS = Array(10,"A","B","B","B","B","B","B","B","B","B",+4.945)
MX_TT = Array(4,+2.506,+2.506,+4.99,0,+4.99)
MY_TT = Array(4,-0.022,+8.973,+8.973,+8.973,+4.99)
MG_TT = Array(4,"A","B","A","B",+4.99)
MX_UU = Array(8,+0.738,+2.506,+4.274,+5.012,+5.012,0,0,+0.738,+5.012)
MY_UU = Array(8,+0.716,-0.022,+0.716,+2.484,+8.973,+8.973,+2.484,+0.716,+5.012)
MG_UU = Array(8,"A","B","B","B","B","A","B","B",+5.012)
MX_VV = Array(4,+2.976,+5.974,0,+2.976,+5.974)
MY_VV = Array(4,-0.152,+8.843,+8.843,-0.152,+5.974)
MG_VV = Array(4,"A","B","A","B",+5.974)
MX_WW = Array(6,+2.014,+4.005,+5.997,+8.011,0,+2.014,+8.011)
MY_WW = Array(6,-0.022,+5.974,-0.022,+8.973,+8.973,-0.022,+8.011)
MG_WW = Array(6,"A","B","B","B","A","B",+8.011)
MX_XX = Array(4,0,+5.974,0,+5.974,+5.974)
MY_XX = Array(4,0,+8.995,+8.995,0,+5.974)
MG_XX = Array(4,"A","B","A","B",+5.974)
MX_YY = Array(5,+2.998,+2.998,+5.997,+2.998,0,+5.997)
MY_YY = Array(5,-0.022,+4.475,+8.973,+4.475,+8.973,+5.997)
MG_YY = Array(5,"A","B","B","A","B",+5.997)
MX_ZZ = Array(5,0,+5.012,0,+5.012,0,+5.012)
MY_ZZ = Array(5,0,0,0,+8.995,+8.995,+5.012)
MG_ZZ = Array(5,"A","B","A","B","B",+5.012)
MX_a = Array(13,+0.361,+1.247,+1.464,+2.331,+2.711,+2.711,+1.247,+0.361,0,0,+0.361,+2.711,+3.542,+3.542)
MY_a = Array(13,+0.361,0,0,+0.361,+1.247,+4.988,+4.988,+4.626,+3.741,+1.247,+0.361,+1.03,0,+3.542)
MG_a = Array(13,"A","B","B","B","B","B","B","B","B","B","B","A","B",+3.542)
MX_b = Array(10,0,+1.88,+2.91,+3.343,+3.343,+2.91,+1.88,0,0,0,+3.343)
MY_b = Array(10,0,0,+0.416,+1.446,+3.542,+4.572,+4.988,+4.988,+7.5,0,+3.343)
MG_b = Array(10,"A","B","B","B","B","B","B","B","A","B",+3.343)
MX_c = Array(9,+0.434,+1.464,+2.494,+0.434,0,0,+0.434,+1.464,+2.494,+2.494)
MY_c = Array(9,+0.416,0,0,+0.416,+1.446,+3.542,+4.572,+4.988,+4.988,+2.494)
MG_c = Array(9,"A","B","B","A","B","B","B","B","B",+2.494)
MX_d = Array(10,+0.434,+1.464,+3.343,+3.343,+3.343,+1.464,+0.434,0,0,+0.434,+3.343)
MY_d = Array(10,+0.416,0,0,+7.5,+4.988,+4.988,+4.572,+3.542,+1.446,+0.416,+3.343)
MG_d = Array(10,"A","B","B","B","A","B","B","B","B","B",+3.343)
MX_e = Array(14,+0.361,+1.247,+3.325,+3.325,0,0,+0.488,+1.663,+2.837,+3.325,+3.325,0,0,+0.361,+3.325)
MY_e = Array(14,+0.361,0,0,+2.494,+2.494,+3.325,+4.5,+4.988,+4.5,+3.325,+2.494,+3.325,+1.247,+0.361,+3.325)
MG_e = Array(14,"A","B","B","A","B","A","B","B","B","B","B","A","B","B",+3.325)
MX_f = Array(6,+0.831,+0.831,+1.319,+2.512,+2.512,0,+2.512)
MY_f = Array(6,0,+5.819,+7.012,+7.5,+4.988,+4.988,+2.512)
MG_f = Array(6,"A","B","B","B","A","B",+2.512)
MX_g = Array(14,+0.416,+1.446,+3.325,+3.325,+3.325,+1.446,+0.416,0,0,+0.416,+0.416,+1.861,+2.892,+3.325,+3.325)
MY_g = Array(14,+0.416,0,0,-1.048,+4.988,+4.988,+4.572,+3.542,+1.446,+0.416,-2.512,-2.512,-2.078,-1.048,+3.325)
MG_g = Array(14,"A","B","B","A","B","B","B","B","B","B","A","B","B","B",+3.325)
MX_h = Array(7,0,0,0,+1.88,+2.91,+3.343,+3.343,+3.343)
MY_h = Array(7,0,+7.5,+4.988,+4.988,+4.572,+3.542,0,+3.343)
MG_h = Array(7,"A","B","A","B","B","B","B",+3.343)
MX_i = Array(4,0,0,0,0,0)
MY_i = Array(4,0,+4.988,+7.084,+7.5,0)
MG_i = Array(4,"A","B","A","B",0)
MX_j = Array(7,+1.663,+1.663,+1.663,+1.663,+1.663,+1.175,0,+1.663)
MY_j = Array(7,-0.831,+4.988,+7.084,+7.5,-0.831,-2.024,-2.512,+1.663)
MG_j = Array(7,"A","B","A","B","A","B","B",+1.663)
MX_k = Array(6,0,0,+1.663,+3.343,+3.343,0,+3.343)
MY_k = Array(6,0,+7.5,+3.325,0,+4.157,+2.494,+3.343)
MG_k = Array(6,"A","B","A","B","A","B",+3.343)
MX_l = Array(5,+0.235,+0.831,+0.235,0,0,+0.831)
MY_l = Array(5,+0.235,0,+0.235,+0.831,+7.5,+0.831)
MG_l = Array(5,"A","B","A","B","B",+0.831)
MX_m = Array(8,0,0,+3.542,+4.572,+5.006,+5.006,+2.494,+2.494,+5.006)
MY_m = Array(8,0,+4.988,+4.988,+4.572,+3.542,0,0,+4.988,+5.006)
MG_m = Array(8,"A","B","B","B","B","B","A","B",+5.006)
MX_n = Array(6,0,0,+1.861,+2.892,+3.325,+3.325,+3.325)
MY_n = Array(6,0,+4.988,+4.988,+4.572,+3.542,0,+3.325)
MG_n = Array(6,"A","B","B","B","B","B",+3.325)
MX_enneMin = Array(12,0,0,+1.88,+2.91,+3.343,+3.343,+2.494,+3.343,+2.494,+1.663,+0.831,0,+3.343)
MY_enneMin = Array(12,0,+4.988,+4.988,+4.572,+3.542,0,+7.5,+7.916,+7.5,+7.916,+8.331,+7.916,+3.343)
MG_enneMin = Array(12,"A","B","B","B","B","B","A","B","A","B","B","B",+3.343)
MX_o = Array(11,+0.488,+1.663,+2.837,+3.325,+3.325,+2.837,+1.663,+0.488,0,0,+0.488,+3.325)
MY_o = Array(11,+0.488,0,+0.488,+1.663,+3.325,+4.5,+4.988,+4.5,+3.325,+1.663,+0.488,+3.325)
MG_o = Array(11,"A","B","B","B","B","B","B","B","B","B","B",+3.325)
MX_p = Array(9,0,+1.88,+2.91,+3.343,+3.343,+2.91,+1.88,0,0,+3.343)
MY_p = Array(9,0,0,+0.416,+1.446,+3.542,+4.572,+4.988,+4.988,-2.512,+3.343)
MG_p = Array(9,"A","B","B","B","B","B","B","B","B",+3.343)
MX_q = Array(10,+0.416,+1.446,+3.325,+3.325,+3.325,+1.446,+0.416,0,0,+0.416,+3.325)
MY_q = Array(10,+0.416,0,0,-2.512,+4.988,+4.988,+4.572,+3.542,+1.446,+0.416,+3.325)
MG_q = Array(10,"A","B","B","A","B","B","B","B","B","B",+3.325)
MX_r = Array(4,0,0,+2.494,+2.494,+2.494)
MY_r = Array(4,0,+4.988,+4.988,+4.157,+2.494)
MG_r = Array(4,"A","B","B","B",+2.494)
MX_s = Array(10,+0.036,+2.331,+3.126,+3.325,+2.783,+0.488,0,+0.253,+1.048,+2.928,+3.325)
MY_s = Array(10,+0.434,+0.018,+0.416,+1.283,+1.988,+3.09,+3.813,+4.663,+4.988,+4.572,+3.325)
MG_s = Array(10,"A","B","B","B","B","B","B","B","B","B",+3.325)
MX_t = Array(4,+0.831,+0.831,0,+2.512,+2.512)
MY_t = Array(4,+0.018,+7.518,+5.006,+5.006,+2.512)
MG_t = Array(4,"A","B","A","B",+2.512)
MX_u = Array(7,+0.416,+1.446,+3.325,+3.325,0,0,+0.416,+3.325)
MY_u = Array(7,+0.434,+0.018,+0.018,+5.006,+5.006,+1.464,+0.434,+3.325)
MG_u = Array(7,"A","B","B","B","A","B","B",+3.325)
MX_v = Array(4,+1.663,+3.343,0,+1.663,+3.343)
MY_v = Array(4,+0.018,+5.006,+5.006,+0.018,+3.343)
MG_v = Array(4,"A","B","A","B",+3.343)
MX_w = Array(6,+1.247,+2.494,+3.741,+4.988,0,+1.247,+4.988)
MY_w = Array(6,+0.018,+3.343,+0.018,+5.006,+5.006,+0.018,+4.988)
MG_w = Array(6,"A","B","B","B","A","B",+4.988)
MX_x = Array(4,0,+3.343,0,+3.343,+3.343)
MY_x = Array(4,0,+4.988,+4.988,0,+3.343)
MG_x = Array(4,"A","B","A","B",+3.343)
MX_y = Array(5,+1.502,-0.161,+3.164,+0.67,-0.161,+3.164)
MY_y = Array(5,+0.018,+5.006,+5.006,-2.494,-2.494,+3.164)
MG_y = Array(5,"A","B","A","B","B",+3.164)
MX_z = Array(5,0,+3.343,0,+3.343,0,+3.343)
MY_z = Array(5,0,0,0,+4.988,+4.988,+3.343)
MG_z = Array(5,"A","B","A","B","B",+3.343)
MX_mas = Array(4,+1.663,+1.663,0,+3.325,+3.325)
MY_mas = Array(4,+0.813,+4.139,+2.476,+2.476,+3.325)
MG_mas = Array(4,"A","B","A","B",+3.325)
MX_menos = Array(2,0,+3.343,+3.343)
MY_menos = Array(2,+2.476,+2.476,+3.343)
MG_menos = Array(2,"A","B",+3.343)
MX_coma = Array(2,+0.416,0,+0.416)
MY_coma = Array(2,-0.018,-1.681,+0.416)
MG_coma = Array(2,"A","B",+0.416)
MX_Punto = Array(2,0,0,0)
MY_Punto = Array(2,-0.018,+0.398,0)
MG_Punto = Array(2,"A","B",0)
MX_IntCierra = Array(10,+1.663,+1.663,+1.663,+1.663,+2.024,+2.964,+3.325,+2.964,+2.078,0,+3.325)
MY_IntCierra = Array(10,-0.018,+0.398,+2.476,+3.524,+4.392,+5.331,+6.217,+7.084,+7.464,+7.048,+3.325)
MG_IntCierra = Array(10,"A","B","A","B","B","B","B","B","B","B",+3.325)
MX_IntAbre = Array(11,+0.361,+1.247,+3.325,+0.361,0,+0.361,+1.301,+1.663,+1.663,+1.663,+1.663,+3.325)
MY_IntAbre = Array(11,+0.343,-0.018,+0.398,+0.343,+1.229,+2.096,+3.036,+3.922,+4.952,+7.048,+7.464,+3.325)
MG_IntAbre = Array(11,"A","B","B","A","B","B","B","B","B","A","B",+3.325)
MX_Slash = Array(2,0,+3.325,+3.325)
MY_Slash = Array(2,0,+7.5,+3.325)
MG_Slash = Array(2,"A","B",+3.325)
MX_BackSlash = Array(2,+3.983,0,+3.983)
MY_BackSlash = Array(2,0,+8.995,+3.983)
MG_BackSlash = Array(2,"A","B",+3.983)
MX_Migual = Array(4,0,+3.325,+3.325,0,+3.325)
MY_Migual = Array(4,+1.211,+1.211,+3.705,+3.705,+3.325)
MG_Migual = Array(4,"A","B","A","B",+3.325)
MX_Bajo = Array(2,0,+9.145,+9.145)
MY_Bajo = Array(2,-2.512,-2.512,+9.145)
MG_Bajo = Array(2,"A","B",+9.145)
MX_DosPuntos = Array(4,0,0,0,0,0)
MY_DosPuntos = Array(4,+0.813,+1.229,+3.723,+4.139,0)
MG_DosPuntos = Array(4,"A","B","A","B",0)
MX_PuntoComa = Array(4,0,-0.416,0,0,0)
MY_PuntoComa = Array(4,0,-1.663,+2.91,+3.325,0)
MG_PuntoComa = Array(4,"A","B","A","B",0)
MX_Peso = Array(14,0,+1.663,+2.078,+3.036,+3.307,+2.711,+0.633,+0.036,+0.307,+1.247,+1.663,+3.343,+1.663,+1.663,+3.343)
MY_Peso = Array(14,+1.247,+0.831,+0.831,+1.265,+2.277,+3.126,+4.373,+5.223,+6.235,+6.669,+6.669,+6.253,+7.5,0,+3.343)
MG_Peso = Array(14,"A","B","B","B","B","B","B","B","B","B","B","B","A","B",+3.343)
MX_Amberstand = Array(13,0,+0.831,+1.898,+4.898,+4.066,+0.542,+0.38,+1.066,+2.096,+2.783,+2.62,+0.054,0,+4.898)
MY_Amberstand = Array(13,+0.741,+0.036,+0.253,+2.494,-0.036,+5.584,+6.614,+7.392,+7.392,+6.614,+5.584,+1.825,+0.741,+4.898)
MG_Amberstand = Array(13,"A","B","B","B","A","B","B","B","B","B","B","B","B",+4.898)
MX_AbreParent = Array(3,+0.851,+0.02,+0.851,+0.851)
MY_AbreParent = Array(3,-0.867,+3.705,+8.295,+0.851)
MG_AbreParent = Array(3,"A","B","B",+0.851)
MX_CierraParent = Array(3,0,+0.831,0,+0.831)
MY_CierraParent = Array(3,-0.867,+3.705,+8.295,+0.831)
MG_CierraParent = Array(3,"A","B","B",+0.831)
MX_Comillas = Array(4,0,+0.416,+2.494,+2.078,+2.494)
MY_Comillas = Array(4,+5.837,+7.5,+7.5,+5.837,+2.494)
MG_Comillas = Array(4,"A","B","A","B",+2.494)
MX_Porcent = Array(21,0,+6.651,+2.494,+2.494,+2.133,+1.247,+0.361,0,+0.361,+1.247,+2.133,+2.494,+4.518,+4.157,+4.518,+5.404,+6.289,+6.651,+6.289,+5.404,+4.518,+6.651)
MY_Porcent = Array(21,0,+7.5,+6.253,+6.253,+7.139,+7.5,+7.139,+6.253,+5.367,+5.006,+5.367,+6.253,+2.133,+1.247,+0.361,0,+0.361,+1.247,+2.133,+2.494,+2.133,+6.651)
MG_Porcent = Array(21,"A","B","A","B","B","B","B","B","B","B","B","B","A","B","B","B","B","B","B","B","B",+6.651)
MX_Asterisco = Array(4,0,+3.343,+3.343,0,+3.343)
MY_Asterisco = Array(4,+0.813,+4.139,+0.813,+4.139,+3.343)
MG_Asterisco = Array(4,"A","B","A","B",+3.343)
MX_Grado = Array(9,+1.265,+2.133,+2.512,+2.133,+1.265,+0.38,0,+0.38,+1.265,+2.512)
MY_Grado = Array(9,+5.006,+5.367,+6.253,+7.139,+7.5,+7.139,+6.253,+5.367,+5.006,+2.512)
MG_Grado = Array(9,"A","B","B","B","B","B","B","B","B",+2.512)
MX_Diam = Array(13,0,+3.325,+2.854,+1.679,+0.505,+0.017,+0.017,+0.505,+1.679,+2.854,+3.342,+3.342,+2.854,+3.342)
MY_Diam = Array(13,0,+7.5,+5.984,+6.472,+5.984,+4.809,+3.147,+1.972,+1.484,+1.972,+3.147,+4.809,+5.984,+3.342)
MG_Diam = Array(13,"A","B","A","B","B","B","B","B","B","B","B","B","B",+3.342)
MX_Mayor = Array(3,0,+3.325,0,+3.325)
MY_Mayor = Array(3,+1.229,+2.476,+3.723,+3.325)
MG_Mayor = Array(3,"A","B","B",+3.325)
MX_Menor = Array(4,0,+3.343,+3.343,0,+3.343)
MY_Menor = Array(4,+2.476,+1.229,+3.723,+2.476,+3.343)
MG_Menor = Array(4,"A","B","A","B",+3.343)
MX_Vertical = Array(2,0,0,0)
MY_Vertical = Array(2,-3.777,+12.054,0)
MG_Vertical = Array(2,"A","B",0)
MX_espacio = Array(0,6) 
MY_espacio = Array(0,6)
MG_espacio = Array(0,6)



'=== Ingresos ===
XPOS = GetOEMDRO(1072)
YPOS = GetOEMDRO(1073)
Top_Mat = GetOEMDRO(1077)
Depth = Abs(GetOEMDRO(1075))
Rapid_dis = GetOEMDRO(1079)
Feed = Abs(GetOEMDRO(1070))
Porcentaje = GetOEMDRO(1082)
Height = Abs(GetOEMDRO(1081))
RPM =GetOEMDRO (1083)
ToolNum =GetOEMDRO (1084)

'=== Comprobaciones ===
While Feed <= 0
  Feed=Question ("FeedRtae can't be zero or negative, Input a right Value:")
  Call SetUserDRO(1070, Feed)
Wend
While Height = 0
  Height= Question ("Height can't be zero,Input a right Value:")
  Call SetUserDRO(1081, Height)
Wend
While Rapid_dis < Top_Mat
 Rapid_dis=Question ("Rapid Height must be > Top Material, Input a right Value:")
  Call SetUserDRO(1079, Rapid_dis)
Wend

'=== Escala y Direccion ===
Escala = Height / 10
If GetUserLED(1050) Then '0°
	If GetUserLED(1041) Then
		X1 = -1*Escala
		X2 = 0
		Y1 = 0
		Y2 = Escala
	Else
		X1 = Escala
		X2 = 0
		Y1 = 0
		Y2 = Escala
	End If
End If
If GetUserLED(1051) Then '90°
	If GetUserLED(1041) Then
		X1 = 0
		X2 = -1*Escala
		Y1 = -1*Escala
		Y2 = 0
	Else
		X1 = 0
		X2 = -1 * Escala
		Y1 = Escala
		Y2 = 0
	End If
End If
If GetUserLED(1052) Then '180°
	If GetUserLED(1041) Then
		X1 = Escala
		X2 = 0
		Y1 = 0
		Y2 = -1*Escala
	Else
		X1 = -1 * Escala
		X2 = 0
		Y1 = 0
		Y2 = -1 * Escala
	End If
End If
If GetUserLED(1053) Then '270°
	If GetUserLED(1041) Then
		X1 = 0
		X2 = Escala
		Y1 = Escala
		Y2 = 0
	Else
		X1 = 0
		X2 = Escala
		Y1 = -1 * Escala
		Y2 = 0
	End If
End If
If GetUserLED(1041) Then
	GG="G03"
	GM="G02"
else
	GG="G02"
	GM="G03"
end If

'=== GCode ===
OpenTeachFile "write.tap"

IF GetOEMLED(73)=0 Then
	IJ=0
Else
	IJ=1
	SetIJMode( 0 )
End If

Code "G00 G49 G40  G17 G80 G50 G90 "
If GetUserLED (1059) then
	Code"M6 T"&ToolNum 
End if
If GetUserLED(1055)then
	Code "G20"
Else
	Code"G21" 
End if
IF GetUserLED(1056) Then
	Code"M03 S"& RPM
Else
	Code "M04 S"& RPM
End if
IF GetUserLED(1058) Then
	Code"M08"
End if
If GetUserLED (1059) then
	Code "G00 G43 H"&ToolNum
End if
Corte = Top_Mat - Depth
Code "G00 Z" & Rapid_dis
Code "G00 G90 X" & XPOS & "Y" & YPOS
Code "F" & Feed

'=== Detecta Letra ===
Total = GetVar(1500)
For J = 1 To Total
	Codigo = GetVar(1500 + J)

	Total = 0
	'=== Escribe ===
	Select Case Codigo
		Case 21 'A
			LetraG = MG_AA
			LetraX = MX_AA
			LetraY = MY_AA
		Case 35 'B
			LetraG = MG_BB
			LetraX = MX_BB
			LetraY = MY_BB
		Case 33 'C
			LetraG = MG_CC
			LetraX = MX_CC
			LetraY = MY_CC
		Case 23 'D
			LetraG = MG_DD
			LetraX = MX_DD
			LetraY = MY_DD
		Case 13 'E
			LetraG = MG_EE
			LetraX = MX_EE
			LetraY = MY_EE
		Case 24 'F
			LetraG = MG_FF
			LetraX = MX_FF
			LetraY = MY_FF
		Case 25 'G
			LetraG = MG_GG
			LetraX = MX_GG
			LetraY = MY_GG
		Case 26 'H
			LetraG = MG_HH
			LetraX = MX_HH
			LetraY = MY_HH
		Case 18 'I
			LetraG = MG_II
			LetraX = MX_II
			LetraY = MY_II
		Case 27 'J
			LetraG = MG_JJ
			LetraX = MX_JJ
			LetraY = MY_JJ
		Case 28 'K
			LetraG = MG_KK
			LetraX = MX_KK
			LetraY = MY_KK
		Case 29 'L
			LetraG = MG_LL
			LetraX = MX_LL
			LetraY = MY_LL
		Case 37 'M
			LetraG = MG_MM
			LetraX = MX_MM
			LetraY = MY_MM
		Case 36 'N
			LetraG = MG_NN
			LetraX = MX_NN
			LetraY = MY_NN
		Case 30 'Ñ
			LetraG = MG_ENNE
			LetraX = MX_ENNE
			LetraY = MY_ENNE
		Case 19 'O
			LetraG = MG_OO
			LetraX = MX_OO
			LetraY = MY_OO
		Case 20 'P
			LetraG = MG_PP
			LetraX = MX_PP
			LetraY = MY_PP
		Case 11 'Q
			LetraG = MG_QQ
			LetraX = MX_QQ
			LetraY = MY_QQ
		Case 14 'R
			LetraG = MG_RR
			LetraX = MX_RR
			LetraY = MY_RR
		Case 22 'S
			LetraG = MG_SS
			LetraX = MX_SS
			LetraY = MY_SS
		Case 15 'T
			LetraG = MG_TT
			LetraX = MX_TT
			LetraY = MY_TT
		Case 17 'U
			LetraG = MG_UU
			LetraX = MX_UU
			LetraY = MY_UU
		Case 34 'V
			LetraG = MG_VV
			LetraX = MX_VV
			LetraY = MY_VV
		Case 12 'W
			LetraG = MG_WW
			LetraX = MX_WW
			LetraY = MY_WW
		Case 32 'X
			LetraG = MG_XX
			LetraX = MX_XX
			LetraY = MY_XX
		Case 16 'Y
			LetraG = MG_YY
			LetraX = MX_YY
			LetraY = MY_YY
		Case 31 'Z
			LetraG = MG_ZZ
			LetraX = MX_ZZ
			LetraY = MY_ZZ
		Case 51 'a
			LetraG = MG_a
			LetraX = MX_a
			LetraY = MY_a
		Case 65 'b
			LetraG = MG_b
			LetraX = MX_b
			LetraY = MY_b
		Case 63 'c
			LetraG = MG_c
			LetraX = MX_c
			LetraY = MY_c
		Case 53 'd
			LetraG = MG_d
			LetraX = MX_d
			LetraY = MY_d
		Case 43 'e
			LetraG = MG_e
			LetraX = MX_e
			LetraY = MY_e
		Case 54 'f
			LetraG = MG_f
			LetraX = MX_f
			LetraY = MY_f
		Case 55 'g
			LetraG = MG_g
			LetraX = MX_g
			LetraY = MY_g
		Case 56 'h
			LetraG = MG_h
			LetraX = MX_h
			LetraY = MY_h
		Case 48 'i
			LetraG = MG_i
			LetraX = MX_i
			LetraY = MY_i
		Case 57 'j
			LetraG = MG_j
			LetraX = MX_j
			LetraY = MY_j
		Case 58 'k
			LetraG = MG_k
			LetraX = MX_k
			LetraY = MY_k
		Case 59 'l
			LetraG = MG_l
			LetraX = MX_l
			LetraY = MY_l
		Case 67 'm
			LetraG = MG_m
			LetraX = MX_m
			LetraY = MY_m
		Case 66 'n
			LetraG = MG_n
			LetraX = MX_n
			LetraY = MY_n
		Case 60 'ñ
			LetraG = MG_enneMin
			LetraX = MX_enneMin
			LetraY = MY_enneMin
		Case 49 'o
			LetraG = MG_o
			LetraX = MX_o
			LetraY = MY_o
		Case 50 'p
			LetraG = MG_p
			LetraX = MX_p
			LetraY = MY_p
		Case 41 'q
			LetraG = MG_q
			LetraX = MX_q
			LetraY = MY_q
		Case 44 'r
			LetraG = MG_r
			LetraX = MX_r
			LetraY = MY_r
		Case 52 's
			LetraG = MG_s
			LetraX = MX_s
			LetraY = MY_s
		Case 45 't
			LetraG = MG_t
			LetraX = MX_t
			LetraY = MY_t
		Case 47 'u
			LetraG = MG_u
			LetraX = MX_u
			LetraY = MY_u
		Case 64 'v
			LetraG = MG_v
			LetraX = MX_v
			LetraY = MY_v
		Case 42 'w
			LetraG = MG_w
			LetraX = MX_w
			LetraY = MY_w
		Case 62 'x
			LetraG = MG_x
			LetraX = MX_x
			LetraY = MY_x
		Case 46 'y
			LetraG = MG_y
			LetraX = MX_y
			LetraY = MY_y
		Case 61 'z
			LetraG = MG_z
			LetraX = MX_z
			LetraY = MY_z
		Case 78 '$
			LetraG = MG_peso
			LetraX = MX_peso
			LetraY = MY_peso
		Case 83 '%
			LetraG = MG_porcent
			LetraX = MX_Porcent
			LetraY = MY_Porcent
		Case 79 '&
			LetraG = MG_Amberstand
			LetraX = MX_Amberstand
			LetraY = MY_Amberstand
		Case 80 '(
			LetraG = MG_AbreParent
			LetraX = MX_AbreParent
			LetraY = MY_AbreParent
		Case 81 ')
			LetraG = MG_CierraParent
			LetraX = MX_CierraParent
			LetraY = MY_CierraParent
		Case 75 '_
			LetraG = MG_Bajo
			LetraX = MX_Bajo
			LetraY = MY_Bajo
		Case 38 '+
			LetraG = MG_mas
			LetraX = MX_mas
			LetraY = MY_mas
		Case 76 ':
			LetraG = MG_DosPuntos
			LetraX = MX_DosPuntos
			LetraY = MY_DosPuntos
		Case 82 '"
			LetraG = MG_Comillas
			LetraX = MX_Comillas
			LetraY = MY_Comillas
		Case 70 '?
			LetraG = MG_IntCierra
			LetraX = MX_IntCierra
			LetraY = MY_IntCierra
		Case 71 '¿
			LetraG = MG_IntAbre
			LetraX = MX_IntAbre
			LetraY = MY_IntAbre
		Case 68 'coma
			LetraG = MG_coma
			LetraX = MX_coma
			LetraY = MY_coma
		Case 69 'Punto
			LetraG = MG_Punto
			LetraX = MX_Punto
			LetraY = MY_Punto
		Case 77 ';
			LetraG = MG_PuntoComa
			LetraX = MX_PuntoComa
			LetraY = MY_PuntoComa
		Case 72 '/
			LetraG = MG_Slash
			LetraX = MX_Slash
			LetraY = MY_Slash
		Case 73 '\
			LetraG = MG_BackSlash
			LetraX = MX_BackSlash
			LetraY = MY_BackSlash
		Case 74 '=
			LetraG = MG_Migual
			LetraX = MX_Migual
			LetraY = MY_Migual
		Case 39 '-
			LetraG = MG_menos
			LetraX = MX_menos
			LetraY = MY_menos
		Case 1 '1
			LetraG = MG_1
			LetraX = MX_1
			LetraY = MY_1
		Case 2 '2
			LetraG = MG_2
			LetraX = MX_2
			LetraY = MY_2
		Case 3 '3
			LetraG = MG_3
			LetraX = MX_3
			LetraY = MY_3
		Case 4 '4
			LetraG = MG_4
			LetraX = MX_4
			LetraY = MY_4
		Case 5 '5
			LetraG = MG_5
			LetraX = MX_5
			LetraY = MY_5
		Case 6 '6
			LetraG = MG_6
			LetraX = MX_6
			LetraY = MY_6
		Case 7 '7
			LetraG = MG_7
			LetraX = MX_7
			LetraY = MY_7
		Case 8 '8
			LetraG = MG_8
			LetraX = MX_8
			LetraY = MY_8
		Case 9 '9
			LetraG = MG_9
			LetraX = MX_9
			LetraY = MY_9
		Case 10 '0
			LetraG = MG_0
			LetraX = MX_0
			LetraY = MY_0
		Case 84 '*
			LetraG = MG_Asterisco
			LetraX = MX_Asterisco
			LetraY = MY_Asterisco
		Case 85 '°
			LetraG = MG_Grado
			LetraX = MX_Grado
			LetraY = MY_Grado
		Case 40 'spc
			LetraG = MG_espacio
			LetraX = MX_espacio
			LetraY = MY_espacio
		Case 86 'Diam
			LetraG = MG_Diam
			LetraX = MX_Diam
			LetraY = MY_Diam
		Case 87 '>
			LetraG = MG_Mayor
			LetraX = MX_Mayor
			LetraY = MY_Mayor
		Case 88 '<
			LetraG = MG_Menor
			LetraX = MX_Menor
			LetraY = MY_Menor
		Case 89 '|
			LetraG = MG_Vertical
			LetraX = MX_Vertical
			LetraY = MY_Vertical
	End Select
  
	Lineas = LetraG(0)
	GC = "G01"
	For I = 0 to Lineas-1
		G6789 = LetraG( I  + 1 )
		If G6789 = "A" Then
			If GC <> "G00" Then Code "G00 Z" & Rapid_dis
		Else
      			If GC = "G00" Then 
        			Code "G00 Z" & Top_Mat
        			Code "G01 Z" & Corte
      			End If
		End If
		Select case G6789
			Case G6789 = "A"
				GC = "G00"
			Case G6789 = "B"
				GC = "G01"
			Case G6789 = "C"
				GC = GG
			Case G6789 = "D"
				GC = GM
		End Select
		XX = XPOS + LetraX(I + 1) * X1 + LetraY(I + 1) * X2
		YY = YPOS + LetraX(I + 1) * Y1 + LetraY(I + 1) * Y2

		Code GC & " X" & XX & " Y" & YY
	Next
	Largo = LetraG( Lineas + 1)


'=== Actaliza DRO'S ===
	XPOS = XPOS + (    Largo + 3.268 * Porcentaje / 100) * X1 
	YPOS = YPOS + (    Largo + 3.268 * Porcentaje / 100) * Y1 
	Code "G00 Z" & Rapid_dis
Next
Call SetUserDRO(1072, XPOS)
Call SetUserDRO(1073, YPOS)
Code "G00 X" & XPOS & " Y" & YPOS

' Restaura IJ Mode
If IJ=1 then SetIJMode( 0 )

Code"M30"
If GetUserLED(1063) Then SaveWizard()
CloseTeachFile()
call LoadStandardLayout()
call LoadTeachFile()    