Title




x W  x H 

Tool Path

Input

G-Code

Save Input
Save G-Code
Send To Nick
Files Sent

Instructions

ChangeCutter([cutter diameter], [cutter material], [flute count]): The change cutter command uses the its parameters to calculate the appropriate feed rate and cutting speed, sets the cutter diameter for the visualization, and writes g-code to move the mill into a position where the cutter can be change. When drilling holes, the cutter diameter will be the size of the holes you want to drill, while milling operations will usually use either a half or quarter inch cutter. There are only two choices for cutter material, high speed steel (hss), and carbide. We will almost never use carbide cutters; they are expensive and reserved for either very small cutters or tools used for high speed surfacing. If you don't know you will be using a cabide cutter, it's safe to assume it's high speed steel (write hss). Similarly, you will almost always use 2 flute cutters. All drill bits are 2 fluted, and 2 flute cutters are preferred for aluminum. If we need to make steel parts, this might change, but we'll discuss that on a case by case basis.

Drill([x], [y], [depth]): This function writes g-code that will drill a hole at (x, y) to a certain depth. If you look at the g-code you will see that it produces G04 P0.??? commands. These commands cause the mill to pause for some number of seconds. The purpose of these pauses is to keep the drill from producing long shavings that can get caught on things or hit people.

Array([x], [y], [depth], [x offset], [y offset], [count]): The array command will drill several holes, starting at (x, y). Each new hole will be offset from the last hole by (x offset, y offset). You'll notice that the g-code is very similar to the drill command, but between holes there is a G91, and G00 X[x offset] Y[y offset], and then a G90 command. The G91 command puts the mill in relative coordinates mode, so the G00 command is interpreted as moving by the offset, rather than a specific place in space.

Bore([x], [y], [depth], [diameter], [exit type]): The bore command cuts a larg hole at (x, y) to a given depth. The command acts similarly to the drill command, except we need to specify the diameter (since we're not relying on the cutter diameter for size), and an exit type. The exit type dictates what the mill will do after it's done cutting the hole.

If you look at the g-code generated by the bore command, you will see that it first moves to a position just inside the circle and then runs a series of G03 commands that all end in the same (x, y) location, but at lower and lower z positions. When a G02 or G03 command is called but the XY position doesn't change, the mill knows to move in a circle, and when the z-axis position changes it creates a spiral. The spiral continues until the cutter reaches the bottom, then it takes one last pass all at the same depth.

Thread([x], [y], [depth], [diameter], [thread pitch]): Thread is very similar to bore, except you need to specify the thread pitch. Thread pitch is part of how we define machine screws. When specifying inch size screws, the thread pitch is described in threads per inch (a 10-32 screw has 32 threads per inch, and a 1/4-20 screw has 20 threads per inch). On the other hand, metric screws are defined by millimeters per thread (M12-1.0 has 1mm between threads). Truth is, this function is one I put together for some of my personal projects, and the team is unlikely to need it.

Path([depth], [offset], [path]): The path command will move the cutter along an offset path, to a desired depth. If you provide a positive offset value, the cutter will run that many units to the left of the path you describe, and negative offsets will run the cutter that many units to the right. The path you describe can be made up of three different segments: moves (m), lines (l), arcs (a), close path (z); I'll describe each below. The g-code generated by the path command will move the mill in a kind of spiral down, around the path, until it reaches the desired depth. Like the bore command, when the cutter reaches the bottom of the path, it will trace the path one last time at full depth.

Comments: You may annotate your code by starting a new line with a semi-colon (;). The entire line will be copied as is to the g-code window and will be ignored by the mill controller.

In-Line G-Code: G-code may be entered directly. The entire line will be copied with a little formatting to make it easier for this generator to keep track. This program doesn't interpret g-code, so errors in in-line code will need to be evaluated elsewhere.

SetZ([z]): Sets the elevation for the top surface of the part. This command is not necessary; the program assumes the top surface is at z=0. You would only use setZ if you had a part with complicated topography.