Originally Posted by Cartierusm Acondit, what do you mean by draw half of it and then generate Gcode from that? I take it you mean draw half of it either vector or in a CAD program? Then what do I use to generate the Gcode? |
Think about looking down from the top of a finished piece. If you were to cut longitudinally along the center of the z-axis, you would have 1/2 of the finished piece. Then rotate the piece 90 degrees and lay it on the flat surface, and take an infinitesimally small slice the same direction as the first cut (but on piece rotated 90 degrees). You are left with a theoretical 2d slice that has a straight edge at the centerline of the z-axis and the profile of the cuts made by the cutting tool. Program to cut out that profile with X and Z moves, remembering that the part is hidden in your starting stock so by repeated cuts you have to uncover the hidden part.
You said that you currently use Rhino, how do you generate gcode from that? I started off drawing the parts, exporting a DXF and then using NCPlot do create gcode from the DXF. Eventually I had created enough sub routines that it became faster to write the gcode by calling my own subroutines.
Without showing all of the subroutines that I have written, this is what the code looks like to cut this part:
o230 call [1] [500] ( Change to tool 1 Facing & turning )
o500 call [0.650] [0.010] [-0.0625] [0.000] ( Face off end )
o130 call [0.630] [0.00] [0.375] [0.750] ( Turn end to 3/8 for spider )
o130 call [0.630] [0.75] [0.500] [1.500] ( Turn bearing surface to 1/2 )
o130 call [0.650] [2.25] [0.610] [0.500] ( Turn body to just under 5/8 )
o230 call [6] [800] ( Change to tool 6 threading )
o120 call [0.500] [0.700] [0.550] [0.4987] [0.050] ( Thread for bearing preload nut )
o230 call [9] [400] ( Change to tool 9 parting )
o240 call [0.650] [2.75] [0] ( Part of ballscrew end ) |
However, I use EMC2 rather than Mach.
Alan