<big>
Generate a temp BMP in the $PROGDIR$ folder Generates a G00 file ( Binary format, not same as MOT/TXT)
Download
Converts the G00 to a TXT/MOT which is then uploaded to the laser. Needs laser to be on.
Printer Driver
Have a Windows 7 raster print driver to start with, need some more CMD's from the TXT file. Checked in basic windows xpsras ddk sample into SVN (probably needs to be in DDK src/print/ folder)
typedef int (WINAPI *t_M05_access_flash)(DWORD type,PDWORD data); typedef int (WINAPI *t_M05_arc_center)(int ch1,int ch2,long cenx,long ceny,double angle); typedef int (WINAPI *t_M05_arc_final)(int ch1,int ch2,int dir,long fx,long fy,long r); typedef int (WINAPI *t_M05_call_sub)(int subid, double* param, int paramnum); typedef int (WINAPI *t_M05_change_voltage)(int v); typedef int (WINAPI *t_M05_check_alarm)(int ch); typedef int (WINAPI *t_M05_check_batch_done)(); typedef int (WINAPI *t_M05_check_buffer)(int BufferType); typedef int (WINAPI *t_M05_check_done)(int ch); typedef int (WINAPI *t_M05_check_ecp_num)(); typedef int (WINAPI *t_M05_check_EncA)(int ch); typedef int (WINAPI *t_M05_check_EncB)(int ch); typedef int (WINAPI *t_M05_check_EncZ)(int ch); typedef int (WINAPI *t_M05_check_home)(int ch); typedef int (WINAPI *t_M05_check_limit)(int ch); typedef int (WINAPI *t_M05_check_SD)(int ch); typedef int (WINAPI *t_M05_check_status)(int ch); typedef unsigned int (WINAPI *t_M05_check_status32)(int ch); typedef int (WINAPI *t_M05_checkin_bit)(int cardno,int bitno); typedef int (WINAPI *t_M05_checkin_byte)(int cardno); typedef int (WINAPI *t_M05_close_file)(); typedef int (WINAPI *t_M05_close_link)(int ch); typedef int (WINAPI *t_M05_compile_work_file)(char* filename); typedef int (WINAPI *t_M05_comm_read_data)(DWORD dwDataLenBytes, PBYTE pchDataIn, PBYTE pchDataOut); typedef int (WINAPI *t_M05_control_func)(int FuncID); typedef int (WINAPI *t_M05_con_hmove)(int ch , int dir); typedef int (WINAPI *t_M05_con_hmove2)(int chx , int dirx , int chy , int diry); typedef int (WINAPI *t_M05_con_hmove3)(int chx , int dirx , int chy , int diry , int chz , int dirz); typedef int (WINAPI *t_M05_con_line2)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_con_line3)(int chx , long disx ,int chy , long disy ,int chz , long disz); typedef int (WINAPI *t_M05_con_pmove)(int ch,long step); typedef int (WINAPI *t_M05_con_pmove2)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_con_pmove3)(int chx , long disx ,int chy , long disy ,int chz , long disz); typedef int (WINAPI *t_M05_con_vmove)(int ch , int dir); typedef int (WINAPI *t_M05_con_vmove2)(int chx , int dirx , int chy , int diry); typedef int (WINAPI *t_M05_con_vmove3)(int chx , int dirx , int chy , int diry , int chz , int dirz); typedef int (WINAPI *t_M05_create_file)(PBYTE filename, DWORD filelenbytes); typedef int (WINAPI *t_M05_c_change_voltage)(int v); typedef int (WINAPI *t_M05_c_curve_begin)(); typedef int (WINAPI *t_M05_c_curve_end)(); typedef int (WINAPI *t_M05_c_curve_vertex)(int IsMove); typedef int (WINAPI *t_M05_c_delay_time)(int ms); typedef int (WINAPI *t_M05_c_fast_line2)(int chx,long disx,int chy,long disy); typedef int (WINAPI *t_M05_c_move_start)(); typedef int (WINAPI *t_M05_c_move_pause)(); typedef int (WINAPI *t_M05_c_move_resume)(); typedef int (WINAPI *t_M05_c_move_stop)(); typedef int (WINAPI *t_M05_c_set_laser_mode)(int mode); typedef int (WINAPI *t_M05_c_set_blow_mode)(int mode); typedef int (WINAPI *t_M05_c_set_commonIO_3)(int mode); typedef int (WINAPI *t_M05_c_set_common_IO)(int PortID,int mode); typedef int (WINAPI *t_M05_c_set_max_accel)(double ac); typedef int (WINAPI *t_M05_c_set_move_profile)(double ls, double hs, double ac); typedef int (WINAPI *t_M05_c_set_power)(int LowPower,int HighPower, double LowSpeed, double HighSpeed, int Mode); typedef int (WINAPI *t_M05_c_set_vector_profile)(double ls,double hs,double ac); typedef int (WINAPI *t_M05_decel_stop)(int ch); typedef int (WINAPI *t_M05_decel_stop2)(int ch1,int ch2); typedef int (WINAPI *t_M05_decel_stop3)(int ch1,int ch2,int ch3); typedef int (WINAPI *t_M05_delay_time)(int ms); typedef int (WINAPI *t_M05_del_file)(int FileID); typedef int (WINAPI *t_M05_del_all_file)(void); typedef int (WINAPI *t_M05_download_work_file)(char* filename); typedef int (WINAPI *t_M05_fast_arc_center)(int ch1,int ch2,long cenx,long ceny,double angle); typedef int (WINAPI *t_M05_fast_hmove)(int ch , int dir); typedef int (WINAPI *t_M05_fast_hmove2)(int chx , int dirx , int chy , int diry); typedef int (WINAPI *t_M05_fast_hmove3)(int chx , int dirx , int chy , int diry , int chz , int dirz); typedef int (WINAPI *t_M05_fast_line2)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_fast_line2_to)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_fast_pmove)(int ch,long step); typedef int (WINAPI *t_M05_fast_pmove2)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_fast_pmove3)(int chx , long disx ,int chy , long disy ,int chz , long disz); typedef int (WINAPI *t_M05_fast_vmove)(int ch , int dir); typedef int (WINAPI *t_M05_fast_vmove2)(int chx , int dirx , int chy , int diry); typedef int (WINAPI *t_M05_fast_vmove3)(int chx , int dirx , int chy , int diry , int chz , int dirz); typedef int (WINAPI *t_M05_get_abs_pos)(int ch,long *pos); typedef int (WINAPI *t_M05_get_board_info)(int* info); typedef DWORD (WINAPI *t_M05_get_board_ver)(); // returns as packed DWORD 10.10.10.10 etc typedef int (WINAPI *t_M05_get_cmd_counter)(); typedef int (WINAPI *t_M05_get_debug_info)(LPCTSTR info); typedef int (WINAPI *t_M05_get_dll_info)(double* info); typedef int (WINAPI *t_M05_get_encoder)(int ch,long *enc); typedef DWORD (WINAPI *t_M05_get_err)(int index); typedef int (WINAPI *t_M05_get_file_num)(int* CurFileID, int* FileNum); typedef DWORD (WINAPI *t_M05_get_hdw_ver)();// returns as packed DWORD 10.10.10.10 etc typedef DWORD (WINAPI *t_M05_get_last_err)(); typedef DWORD (WINAPI *t_M05_get_lib_ver)();// returns as packed DWORD 10.10.10.10 etc typedef int (WINAPI *t_M05_get_rel_pos)(int ch,long *pos); typedef double (WINAPI *t_M05_get_rate)(int ch); typedef int (WINAPI *t_M05_get_sn)(unsigned char* sn); typedef unsigned int (WINAPI *t_M05_get_status)(int ch); typedef int (WINAPI *t_M05_init_board)(void); typedef int (WINAPI *t_M05_main_begin)(); typedef int (WINAPI *t_M05_main_end)(); typedef int (WINAPI *t_M05_mi_checkin_bit)(int bitno); typedef int (WINAPI *t_M05_mi_checkin_byte)(); typedef int (WINAPI *t_M05_move_pause)(); typedef int (WINAPI *t_M05_move_resume)(); typedef int (WINAPI *t_M05_m_move_pause)(); typedef int (WINAPI *t_M05_m_move_resume)(); typedef int (WINAPI *t_M05_m_move_stop)(); typedef int (WINAPI *t_M05_m_move_start)(); typedef int (WINAPI *t_M05_m_fast_line2)(int chx,long disx,int chy,long disy); typedef int (WINAPI *t_M05_m_set_vector_profile)(double ls,double hs,double ac); typedef int (WINAPI *t_M05_m_set_vector_profile2)(double start_ls, double hs, double end_ls, double ac, double dc); typedef int (WINAPI *t_M05_m_curve_vertex)(); typedef int (WINAPI *t_M05_m_curve_begin)(); typedef int (WINAPI *t_M05_m_curve_end)(); typedef int (WINAPI *t_M05_m_set_period)(double period); typedef int (WINAPI *t_M05_m_set_power)(int LowPower,int HighPower); typedef int (WINAPI *t_M05_m_set_laser_mode)(int mode); typedef int (WINAPI *t_M05_m_set_blow_mode)(int mode); typedef int (WINAPI *t_M05_m_set_commonIO_3)(int mode); typedef int (WINAPI *t_M05_m_set_common_IO)(int PortID,int mode); typedef int (WINAPI *t_M05_m_delay_time)(int ms); typedef int (WINAPI *t_M05_m_change_voltage)(int v); typedef int (WINAPI *t_M05_mc_set_vector_conspeed)(double conspeed); typedef int (WINAPI *t_M05_mc_con_line2)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_mc_delay_time)(int ms); typedef int (WINAPI *t_M05_mc_change_voltage)(int v); typedef int (WINAPI *t_M05_mc_set_laser_mode)(int mode); typedef int (WINAPI *t_M05_mc_set_blow_mode)(int mode); typedef int (WINAPI *t_M05_mc_set_commonIO_3)(int mode); typedef int (WINAPI *t_M05_mc_set_common_IO)(int mode); typedef int (WINAPI *t_M05_mc_set_vector_profile)(double vl , double vh , double ad); typedef int (WINAPI *t_M05_mc_fast_line2)(int chx , long disx ,int chy , long disy); typedef int (WINAPI *t_M05_mc_begin_cut)(); typedef int (WINAPI *t_M05_mc_end_cut)(); typedef int (WINAPI *t_M05_on_comm)(int ch); typedef int (WINAPI *t_M05_outport_bit)(int cardno,int bitno,int status); typedef int (WINAPI *t_M05_outport_byte)(int cardno,int byte); typedef int (WINAPI *t_M05_outport_data)(DWORD Addr,DWORD Data); typedef int (WINAPI *t_M05_open_file)(BYTE fileID, PDWORD filelen, PBYTE filename); typedef int (WINAPI *t_M05_open_link)(int ch, int rate); typedef DWORD (WINAPI *t_M05_read_data)(DWORD addr); typedef int (WINAPI *t_M05_reset_cmd_counter)(); typedef int (WINAPI *t_M05_reset_err)(); typedef int (WINAPI *t_M05_reset_pos)(int ch); typedef int (WINAPI *t_M05_end_backlash)(int ch); typedef int (WINAPI *t_M05_send_cmd)(DWORD dwDataLenDword, PDWORD pdwData); typedef int (WINAPI *t_M05_send_data)(DWORD dwDataLenBytes, PBYTE pchData); typedef int (WINAPI *t_M05_set_abs_pos)(int ch,long pos); typedef int (WINAPI *t_M05_set_backlash)(int ch,int blash); typedef int (WINAPI *t_M05_set_batch_flag)(int flag); typedef int (WINAPI *t_M05_set_cmd_counter)(int type,int counter); typedef int (WINAPI *t_M05_set_comm)(LPVOID pcMSComm); typedef int (WINAPI *t_M05_set_conspeed)(int ch , double conspeed); typedef int (WINAPI *t_M05_set_ellipse_ratio)(float ratio); typedef int (WINAPI *t_M05_set_encoder_mode)(int ch,int mode,int multip,int count_unit); typedef int (WINAPI *t_M05_set_getpos_mode)(int ch,int mode); typedef int (WINAPI *t_M05_set_home_mode)(int ch,int origin_mode); typedef int (WINAPI *t_M05_set_laser_mode)(int mode); typedef int (WINAPI *t_M05_set_blow_mode)(int mode);/*Add on 21.09.2005*/ typedef int (WINAPI *t_M05_set_commonIO_3)(int mode);/*Add on 25.02.2006*/ typedef int (WINAPI *t_M05_set_common_IO)(int PortID,int mode);/*Add on 02.03.2006*/ typedef int (WINAPI *t_M05_set_pulse_per_milimter)(double pulseX,double pulseY,double pulseZ); typedef int (WINAPI *t_M05_set_level_in)(int ch,int status); typedef int (WINAPI *t_M05_set_level_sprt)(int ch,int status); typedef int (WINAPI *t_M05_set_maxspeed)(int ch , double maxpeed); typedef int (WINAPI *t_M05_set_outmode)(int ch,int mode,int logic); typedef int (WINAPI *t_M05_set_power_mode)(int mode); typedef int (WINAPI *t_M05_set_profile)(int ch , double vl , double vh , double ad); typedef int (WINAPI *t_M05_set_pwm_frq)(double frq); typedef int (WINAPI *t_M05_set_ramp_flag)(int flag); typedef int (WINAPI *t_M05_set_scan_backlash)(int p); typedef int (WINAPI *t_M05_set_scan_step)(int step); typedef int (WINAPI *t_M05_set_scan_startpos)(int pos); typedef int (WINAPI *t_M05_set_senddata_flag)(int flag); typedef int (WINAPI *t_M05_set_s_curve)(int ch,int mode); typedef int (WINAPI *t_M05_set_s_section)(int ch,double rate1,double rate2); typedef int (WINAPI *t_M05_set_signal_in)(int ch,int status); typedef int (WINAPI *t_M05_set_vector_conspeed)(double conspeed); typedef int (WINAPI *t_M05_set_vector_profile)(double vl , double vh , double ad); typedef int (WINAPI *t_M05_set_work_mode)(int mode); typedef int (WINAPI *t_M05_set_work_file)(char* file); typedef int (WINAPI *t_M05_set_xy_ratio)(double r); typedef void (WINAPI *t_M05_show_err)(int flag); typedef int (WINAPI *t_M05_start_backlash)(int ch); typedef int (WINAPI *t_M05_start_run)(); typedef int (WINAPI *t_M05_stop_run)(); typedef int (WINAPI *t_M05_sub_begin)(int subid); typedef int (WINAPI *t_M05_sub_end)(int subid); typedef int (WINAPI *t_M05_sudden_stop)(int ch); typedef int (WINAPI *t_M05_sudden_stop2)(int ch1,int ch2); typedef int (WINAPI *t_M05_sudden_stop3)(int ch1,int ch2,int ch3); typedef int (WINAPI *t_M05_system_test)(int type,int* pdata); typedef int (WINAPI *t_M05_sys_set)(int id, double* param, int paramnum); typedef int (WINAPI *t_M05_sysset_end)(); typedef int (WINAPI *t_M05_trig_position)(int ch,int destpos,int condition); typedef int (WINAPI *t_M05_verify_ecp_num)(unsigned char* pnum,int len); typedef int (WINAPI *t_M05_work_begin)(); typedef int (WINAPI *t_M05_work_end)(); typedef int (WINAPI *t_M05_write_data)(DWORD Addr,DWORD Data); typedef int (WINAPI *t_M05_write_data_block)(DWORD DataLen,PDWORD Data); typedef int (WINAPI *t_M05_write_ecp_num)(unsigned char* pnum,int len); typedef int (WINAPI *t_M05_write_file)(DWORD dwDataLenBytes, PBYTE pchFileData); typedef int (WINAPI *t_M05_write_power_data)(DWORD DataLen,PUCHAR Data); typedef int (WINAPI *t_M05_write_power_tab)(int TabType,DWORD DataLen,PDWORD Data); typedef int (WINAPI *t_M05_GetCanUseTime)(void);
// working on (parameters not confirmed)
typedef int (WINAPI *t_M05_c_set_multi_power)( int a1, int a2, int a3, int a4, double a5, double a6, int a7); typedef int (WINAPI *t_M05_change_multi_voltage)( int a1, int a2); typedef int (WINAPI *t_M05_ReadDogNumber)(char *a1); typedef int (WINAPI *t_M05_WriteDogNumber)(char *a1); typedef int (WINAPI *t_M05_change_voltage2)(int a1); typedef int (WINAPI *t_M05_SetHasUseTime)(int a1); typedef int (WINAPI *t_M05_SetCanUseTime)(int a1); typedef int (WINAPI *t_M05_GetCardNumber)(int a1); typedef int (WINAPI *t_M05_GetHasUseTime)(void); typedef int (WINAPI *t_M05_set_power_compensate)(int a1, int a2, int a3); typedef int (WINAPI *t_M05_set_pwm2_frq)(double a1); typedef int (WINAPI *t_M05_mc_change_multi_voltage)(int a1, int a2); // @8
Header
VER,1,0,0,0 FNM,Test.ext FLG,0,0,0 TYP,1
Body
SUB001 CMD101,0 SET002,20000 SET014,1,0,2,2 CMD109,1 CMD102,416,20833,97222 CMD104,6944 CMD401,416,880,41666,900 CMD402,900 CMD409,416,880,3000,41666,900,5000 //set ramp speeds and power CMD408,900,5000 CMD050,2,1 CMD002,63556,42631 CMD050,1,1 //laser on CMD103,416,41666,69444 CMD001,63556,42631 // move CMD050,1,0 //laser off i’m surprised it rasterises the vectors though, i was expecting to see a command for a circle that defined a center,radius etc.
speed change. 100 to 300 changes servo ramp up/down
CMD401,416,880,13888,900 CMD409,416,880,3000,13888,900,5000 CMD103,416,13888,69444 CMD401,416,880,<span style="color:#FF0000">41666<span style="color:#000000">,900 CMD409,416,880,3000,<span style="color:#FF0000">41666<span style="color:#000000">,900,5000 CMD103,416,<span style="color:#FF0000">41666<span style="color:#000000">,69444
power change 9 to 99 ( *100)
CMD401,416,880,13888,900 CMD402,900 CMD409,416,880,3000,13888,900,5000 CMD408,900,5000 CMD401,416,880,13888,<span style="color:#FF0000">9900<span style="color:#000000"> CMD402,<span style="color:#FF0000">9900<span style="color:#000000"> CMD409,416,880,3000,13888,<span style="color:#FF0000">9900<span style="color:#000000">,5000 CMD408,<span style="color:#FF0000">9900<span style="color:#000000">',5000
horizontal line moved in y
CMD002,62466,45271 CMD001,62466,45271 CMD001,69328,45271 CMD002,69328,45271 SUB603,416,20833,97222,69328,45271 CMD001,69328,45271 CMD001,69328,45271 CMD001,62466,45271 CMD001,62466,45271 CMD001,69328,45271 CMD001,69605,44993 CMD001,69605,45548 CMD001,62188,45548 CMD001,62188,44993 CMD001,69605,44993 CMD002,62466,45175 CMD001,62466,45175 CMD001,69328,45175 CMD002,69328,45175 SUB603,416,20833,97222,69328,45175 CMD001,69328,45175 CMD001,69328,45175 CMD001,62466,45175 CMD001,62466,45175 CMD001,69328,45175 CMD001,69605,44898 CMD001,69605,45453 CMD001,62188,45453 CMD001,62188,44898 CMD001,69605,44898
horizontal line moved in x
CMD001,69328,45271 CMD002,69328,45271 SUB603,416,20833,97222,69328,45271 CMD001,69328,45271 CMD001,69328,45271 CMD001,69328,45271 CMD001,69605,44993 CMD001,69605,45548 CMD001,69605,44993 CMD001,69492,45271 CMD002,69492,45271 SUB603,416,20833,97222,69492,45271 CMD001,69492,45271 CMD001,69492,45271 CMD001,69492,45271 CMD001,69770,44993 CMD001,69770,45548 CMD001,69770,44993
CMD401,416,4000,2777,6000(Power) CMD402,6000(Power) CMD409,416,4000,3000,2777,6000(Power),5000 CMD408,6000(Power),5000 6000 is 60 CMD401,416,5000(Corner Speed),2777,7000 CMD402,7000 CMD409,416,5000(Corner Speed),3000,2777,7000,5000 5000 is 50 CMD401,416,4000,2777(speed),6000 CMD409,416,4000,3000,2777(speed),6000,5000 CMD103,416,2777(speed),69444 1388 is 10 2777 is 20 13888 is 100 41666 is 300 Multiply by 138.88888 ish
changed speed to 100000 didn't seem to affect it, probably limited in controller
I think 416 means its addressing the config, or speed settings
Engrave second number (1 or 2) is Axis, second number is probably amount -/+ to move , delta
SUB609 is what the machine does when you press TEST
SUB609 // Start TEST routine CMD102,416,20833,97222 // setup speeds CMD103,416,20833,97222 CMD104,13888 CMD001,69444,48615 // move position CMD001,62489,48615 // move CMD001,62489,41667 // move CMD001,69444,41667 // move CMD001,69444,48615 // move SUB609 // end
SUB610 is what the machine does when you press CUT
SUB610 // start CUT routine CMD104,13888 // in both CMD102,416,20833,97222 CMD001,69722,48893 CMD103,416,3472,69444 CMD401,416,4000,3472,4000 // set power etc CMD409,416,4000,4000,3472,4000,4000 // set speeds CMD050,1,1 // Laser on CMD001,62211,48893 // move to position CMD001,62211,41389 // move CMD001,69722,41389 // move CMD001,69722,48893 // move CMD050,1,0 // Laser off SUB610 // end routine
8 Back 9 Fwd 10 X Left 11 X Right 12 Stop all ( except laser ) 13 Z Up 14 Z Down 0x10 toggle laser on/off (CMD050 1,1)
M05_on_comm(1); if( M05_open_link(1,115200) ) \t\t { \tMessageBox(L"Failed to open comm"); \treturn ; } if ( M05_init_board() ) { }
==== M05_download_work_file ===\t\t\t
Send the MOL file to the laser control board. M05_download_work_file("C:\\\\laser.mol");
Compile a TXT file to a MOL file, replaces .txt with .mol, saves in same place. M05_compile_work_file("c:\\\\laser.txt");
Delete all the files on the laser cutter M05_del_all_file();
VER,1,0,0,0 FNM,Test.ext FLG,0,0,0 TYP,2 SYS001 SET001,0 SET002,20000 SET003,4 SET004,3 SET005,2 SET006,0 SET007,201733 SET008,126083 SET009,0 SET010,25216 SET011,-25216 SET012,0 SET013,0 SET014,1,0,2,0 SET015,1,252.1670610,2,252.1670610,3,252.1670610 SET016,1000 SET017,50 SET018,0 SET019,1,1,0 SET020,10000,300.0000000,10000,300.0000000 SET021,5.0000000,0.0115000,0.0028750,5.0000000,0.0115000,0.0028750 SET022,100,100 SET023,0,0 SET024,5.0000000,5.0000000 SET025,3276,3276 SET026,0 SET027,0,0 SET028,0,100 SUB601,1,2521,75650,50433,378250,3782505,1260 SUB601,2,2521,75650,50433,378250,3782505,1260 SUB601,3,1260,75650,25216,126083,2521670,756 SUB602,2521,10086,378250,3782505,2521,10086,378250,3782505,1,1,2521,126083,378250,3782505,1260,1260,201733,126083 SUB611,1260,5043,126083,2521670,1,1260,75650,126083,2521670,504,0 SYS001
The laser stores the cut type, power, speed in a second file, if you save as test.ecp there will be a test.ini too
For engrave it'll look like
(these are the diffs for a multilayer file)
LayerColor_0=12615680 LayerColor_1=16636309 SPLITBLOCK_NUMBER=0 TechnicsMode=**TECHNICS_LASERENGRAVE** LaserCutConnerPower=**55.00000** LaserCutWorkPower=**60.00000** LaserCutSpeed=**20.00000** LaserEngravePower=50.00000 LaserEngraveSpeed=50.00000 TechnicsMode=TECHNICS_LASERENGRAVE LaserCutConnerPower=55.00000 LaserCutWorkPower=60.00000 LaserEngravePower=50.00000 LaserEngraveSpeed=55.00000 TechnicsMode=TECHNICS_LASERENGRAVE LaserCutConnerPower=55.00000 LaserCutWorkPower=60.00000 LaserCutSpeed=20.00000 LaserEngravePower=50.00000 LaserEngraveSpeed=60.00000
for cut
LayerColor_0=16636309 LayerColor_1=12615680 OneWorkNeedTimes=2 TotalWorkTimes=0 SPLITBLOCK_NUMBER=2 SPLITBLOCK_NUMBER_0=0.00000 SPLITBLOCK_NUMBER_1=100000.00000 TechnicsMode=**TECHNICS_LASERCUT** LaserCutConnerPower=5.00000 LaserCutWorkPower=10.00000 LaserCutSpeed=30.00000 LaserEngravePower=//20.00000// LaserEngraveSpeed=//100.00000// TechnicsMode=TECHNICS_LASERCUT LaserCutConnerPower=5.00000 LaserCutWorkPower=10.00000 LaserEngravePower=20.00000 LaserEngraveSpeed=100.00000 TechnicsMode=TECHNICS_LASERCUT LaserCutConnerPower=5.00000 LaserCutWorkPower=10.00000 LaserCutSpeed=40.00000 LaserEngravePower=20.00000 LaserEngraveSpeed=100.00000
VER,1,0,0,0 FNM,Test.ext FLG,0,0,0 TYP,1
SUB001 SET002,20000 CMD101,2 CMD405,4861,1 CMD102,416,20833,97222 CMD107,1,4166,41666,1388888 CMD108,2,1388 CMD402,1000 CMD408,1000,6000 CMD001,-4761,19 CMD050,2,1 CMD406,2752513,11052f CMD005,1,6288 CMD006,2,33 CMD406,2818050,0b0000,aaaaaa CMD005,1,-4789 CMD006,2,47
CMD402,1000 CMD408,1000,6000
CMD005,1,6288 CMD006,2,61
CMD005,1,-4789 CMD006,2,75
CMD005,1,6288 CMD006,2,89
CMD402,1100 CMD408,1100,6000
CMD005,1,-4789 CMD006,2,103
CMD402,1200 CMD408,1200,6000
CMD005,1,6288 CMD006,2,117
CMD402,1300 CMD408,1300,6000
CMD005,1,-4789 CMD006,2,130
CMD402,1400 CMD408,1400,6000
CMD005,1,6288 CMD006,2,144
CMD402,1500 CMD408,1500,6000
CMD005,1,-4789 CMD006,2,158
CMD402,1600 CMD408,1600,6000
CMD005,1,6288 CMD006,2,172
CMD005,1,-4789 CMD006,2,186
CMD005,1,6288 CMD006,2,200
CMD402,1700 CMD408,1700,6000
CMD005,1,-4789 CMD006,2,214
CMD005,1,6288 CMD006,2,228
CMD005,1,-4789 CMD006,2,242
CMD402,1800 CMD408,1800,6000
CMD005,1,6288 CMD006,2,255
CMD005,1,-4789 CMD006,2,269
CMD005,1,6288 CMD006,2,283
CMD005,1,-4789 CMD006,2,297
CMD402,1900 CMD408,1900,6000
CMD005,1,6288 CMD006,2,311
CMD005,1,-4789 CMD006,2,325
CMD005,1,6288 CMD006,2,339
CMD005,1,-4789 CMD006,2,353
CMD005,1,6288 CMD006,2,367
CMD005,1,-4789 CMD006,2,380
CMD005,1,6288 CMD006,2,394
CMD402,2000 CMD408,2100,6000
CMD005,1,-4789 CMD006,2,408