This is a little engraving program I wrote for my own use. This script is free for all to modify, distribute etc. Just make sure you give credit were credit is due. ----------------------------------------------------------------- Note: This script is a badly structured, badly commented hack job with minimal testing written by a washed-up old programmer now working in management (i.e. promoted to a position were he cannot possibly do any more damage to the code base). Your mileage may vary and you've been warned. Use at your own risk, I'm not responsible for any damage you do to your machines or yourself. Always check the GCode manually before running the program. Always use eye-protection. /Oakes 1. Usage: Start the program by doubleclicking the Engraver_1_00.exe file. Press F1 to select the .cvs file that you would like to GCode. Press F2 to GCode the last file again. Press F4 to turn Debug on or off (Toggle) See below for details on the .cvs format, also check out the examples. 2. General Parameters: ZUpperLevel = Surface height of the material. ZTotal = Total cutting depth. ZMaxCut = Max cutting depth per pass. Nrb of passes = ZTotal / ZMaxCut. ZRapid = Rapid height (make sure that this value is great enough to clear any obstructions). ZFeed = G1 Feed in the Z direction. XYFeed = G1 Feed in the XY directions. RMP = RMP of the spindle Debug = Set to D for a debug feature not intended to be engraved (panel outline, center circle etc) 3. Specific command parameters: TA;Text;Font;Heigth;X,Y,Angle,Radius;FocusCharacter;XPlacement;YPlacement;Separation;LineSeparation;ZUpperLevel;ZTotal;ZMaxCut;ZRapid;ZFeed;XYFeed;RMP;Debug Used to engrave a line of text at a angle + radius from a coordinate (good for rotaries, gauges, watches etc) Text = The text to be engraved. Use [ as new line. Font = The font to use. Height = The height of the text. X,Y,Angle,Radius = The position of the text. X,Y is the center, Angle(0 = Up, 180 = Down) and Radius is used to place the text from this center. FocusCharacter = If FocusCharacter = 0 XPlacement and YPlacement refers to the entire line of Text, if FocusCharacter > 0 XPlacement and YPlacement is refers to character number FocusCharacter (from left to right). Example: If Text is ABCD and FocusCharacter is 3 then XPlacement and YPlacement refers to the character C XPlacement = The justification in the X direction. Use L, C or R (for Left, Center and Right). YPlacement = The justification in the Y direction. Use B, C or T (for Bottom, Center and Top). Separation = The separation between Characters. LineSeparation = The separation between Lines of text. T;Text;Font;Heigth;X,Y;;XPlacement;YPlacement;Separation;LineSeparation;ZUpperLevel;ZTotal;ZMaxCut;ZRapid;ZFeed;XYFeed;RMP;Debug Used to engrave text at a position. Text = The text to be engraved. Use [ as new line. Font = The font to use. Height = The height of the text. X,Y = The position of the text. XPlacement = The justification in the X direction. Use L, C or R (for Left, Center and Right). YPlacement = The justification in the Y direction. Use B, C or T (for Bottom, Center and Top). Separation = The separation between Characters. LineSeparation = The separation between Lines of text. C;X,Y,Radius;;;;;;;;;ZUpperLevel;ZTotal;ZMaxCut;ZRapid;ZFeed;XYFeed;RMP;Debug Used to engrave a circle. X,Y,Radius = X,Y is the center. Radius is self explanatory. L;X0,Y0:X1,Y1:X2,Y2:X3,Y3:::::Xn,Yn;;;;;;;;;ZUpperLevel;ZTotal;ZMaxCut;ZRapid;ZFeed;XYFeed;RMP;Debug Used to engrave lines. X0,Y0:X1,Y1:X2,Y2:X3,Y3:::::Xn,Yn = Points on the line. Example 0,0:0,2:2,2:0,2:0,0 will engrave a square with a side of 2. LA;X,Y,Angle,Start,TotalLength;;;;;;;;;ZUpperLevel;ZFinal;ZMaxCut;ZRapid;ZFeed;XYFeed;RMP;Debug Used to engrave a line at an angle from a center point (good for gauges, watches etc) X,Y,Angle,Start, TotalLength = Draws a line with a lenght of TotalLength from the center (X,Y) position at an Angle. Start is used to select where the line starts. Use F for a full line from the center (X,Y) Example: LA;0,0,10,65,70 will draw a line from 0,0 at a 10 degrees angle. The line starts at a length of 65 from the center and ends at a length of 70 from the center. STARTFILE;Filename Used to specify a file that will be inserted first in the GCode. Good for setting up the machine parameters (like G20/G21 etc). Default is Start.tap Example: STARTFILE;Start2.tap ENDFILE;Filename Used to specify a file that will be inserted at the end in the GCode (like M30 etc). Defualt is End.tap Example: ENDFILE;End2.tap GDIR;Directory Used to specify where to save the GCode. Default is C:\Mach3\GCode\ The directory will not be created, you have to do this manually. Example: GDIR;C:\Mach3\GCode\MyShinyPanel GCODE;GCode Used to insert GCode into the GCode file. Can be any valid GCode command. Example(pause): GCODE; M1 -------------------!!!!!!BIG WARNING!!!!!!!!!-------------------- If you use a GCODE command as the last command of the .csv file you need to make sure that the tool is lifted from the work before you make any other commands. Example: If you put GCODE; X40 Y30 as the last command in the file the tool will NOT be lifted before it is moved to 40,30. -------------------!!!!!!BIG WARNING!!!!!!!!!-------------------- COMMENT;Comment Used to insert a comment into the GCode file. Example: COMMENT; This is a comment! END Used to end the processing of the .csv file.