Checkbox for separate rough, finishing gcode files?

I saw a reference in an earlier thread to EstlCAM being able to export the rough and finishing passes as two gcode files, to give more manual control during the tool change. Thread:

Apparently I need new eyeballs though, because I’ve searched the EstlCAM menus and dialog boxes and could not find the checkbox that was mentioned. Any more specific pointers to locate it would be appreciated! :slight_smile:

The the roughing and finishing check boxes being referred to are only available when doing 3D carves. The G-code stuff is for single file fool changes (that can be added to Estlcam Setup : program : texts : tool change). It appears that Marlin supports an M00 pause for tool change, but resuming from a pause is only possible with a screen.

It appears that Marlin supports an M00 pause for tool change, but resuming from a pause is only possible with a screen.

In Marlin, if you enable the emergency command processor (requires modifying the firmware, recompiling, and reflashing), you can send an M108 from Repetier-Host to continue from an M00. See this section in configuration_adv.h:

/**
 * Emergency Command Parser
 *
 * Add a low-level parser to intercept certain commands as they
 * enter the serial receive buffer, so they cannot be blocked.
 * Currently handles M108, M112, M410, M876
 * NOTE: Not yet implemented for all platforms.
 */
//#define EMERGENCY_PARSER

> The roughing and finishing check boxes being referred to are only available when doing 3D carves.

Thanks for the clarification: that is interesting (and frustrating for me! :slight_smile: )

What I had in mind was doing finger-joint through-connections on an LR2, using:

  • 1/4" bit to bulk rough/pocket out the mortises, leaving an x mm buffer, then
  • 1/8" bit to finish the last x mm, and also get tighter into the corners (get them closer to square).

If the rough/finish gcode splitting is only a ‘Carve’ option in EstlCAM, it sounds like manually editing/inserting gcode is the way to go.

You could set your 1/4" w/ finishing allowance paths, save program (roughing), change the toolpath properties to 1/8" w/o finishing allowance (…or pocket, click to remove) and save program (finishing).

1 Like

Thank you! That would do perfectly, and I feel silly for not seeing it myself. I guess I felt compelled to pick a finishing tool whenever I set the finishing allowance.

(And to confirm it works, the EstlCAM pop-up info for “Finishing allowance” states:

Finishing Allowance:
If no finishing tool is selected, this field leads to according over- or undersizing of the object.

Perfect for making a two-file gcode rough-one-bit, finishing-another-bit.

Now, if there is a way to spit out carve toolpaths in two separate gcodes for roughing and finishing, that would be better than splitting them manually. I don’t always have the time to do a full carve in one sitting, so i manually seperate the roughing from the finishing.

It’s not unusual for my projects to have a handful of (single click Z probe/0 reset) tool changes and I would not be happy with any controller that didn’t have builtin support for tool changes and machining pause/resume (at any line and time)… Integrated CAM and control, e.g. making CAM edits and resuming, is also invaluable.

The carve finishing allowance just makes or adds a final pass that is finishing allowance deep. Using no finishing allowance and setting Z zero to the desired finishing allowance distance above the material would do the roughing. If roughing takes multiple passes a second program with just the tool depth per pass increased would be needed for single pass finishing (material top Z zero)… Automatic depth limit and tool diameter max width keep it simple, V-bit pocketing could complicate things.

Using a carve pocketing tool would require splitting, but its not hard to find the split point - you could even add a (multi line, visually obvious) ‘split here’ comment to texts : tool change.

I would not be happy with any controller that didn’t have builtin support for tool changes and machining pause/resume (at any line and time)… Integrated CAM and control, e.g. making CAM edits and resuming, is also invaluable.

I appreciate the insight. I’ve defaulted to using Octoprint for my CNC, just because I am familiar with it from 3D printing. For the initial and bit-change homing and zeroing, I manually type gcode through the Octoprint terminal. That’s been fine for single-tool CNC jobs, and marginal-but-still-okay for 2-bit jobs. You make a great argument for expanding my software horizons to make that whole process simpler and more robust, especially for multi-bit jobs!