I am time rich money poor A.K.A. retired and trying to do everything with minimal cost, I am also new to everything CNC.
It is probably quite a niche requirement for bas relief carving, but I have not been able to find free or open source software to generate GCODE from STL files that also will perform roughing cuts. I have several STL files that are deeper than my 1/8" V cutter can do.
I am wondering if this idea for a feature has any merit, the idea is to process the GCODE multiple times applying an incrementing depth limit. Then performing a final finish cut.
So if the job depth is greater than a preset max depth of cut a number of roughing passes would be done that leave a final skin thickness for the finishing cut.
For each roughing pass any depth would be limited to N x max_cut.
Where: N is the roughing pass number, max_cut is the maximum cut the tool can do.
For example if the job is 6.5mm deep, max_depth=3mm and skin = 1mm
First pass the cut would be Z + 1 but limited to -3
Second pass the cutwould be limited to -6 but as the maximum depth in the GCODE is -6.5 the deepest cut would be 5.5mm.
The final pass would run the original GCODE which would remove the remaining 1mm.
A possible optimisation would be to remember where it has already been cut to skin depth, move the tool to a safe height and skip all the GCODE to the next position that has not been cut to skin depth.
I am not familiar with any free CAM software that will rough out a toolpath. this table here may point you in the right direction.
I am also retired and I pay $18 per month for Carveco Maker, which has a roughing function. If you follow the video at the link…
…and head along to around 10:29, you will see the roughing passes that Carveco Maker produces with a specific roughing toolpath.
I don’t think this is how the roughing pass is achieved. The rough toolpath is offset from the finishing pass profile by an amount (maybe this is a fixed parameter?) and the .STL file also contains height information which is being read during the roughing and finishing toolpaths.
Measuring the finished profile and incrementing the depth would likely see the second pass cutting into the model because of the information for height and profile is not integrated. Without a 3D shape in space to follow, the movement in X and Y would be capable of 2.5D carving… if I understand your proposal correctly.
Could one draw an accurate profile around the area to be machined then have it repeat on many different layers, each with a separate toolpath. Yes, almost certainly. One issue with digital anything is that the discrete digital steps (unless you had a large number of steps in your descending passes) would make it unlikely to get smooth outlines.
I don’t know if any of this is helpful but as a Carveco Maker user, I have eliminated all of my 3D issues. I have used many varieties of software (both free and paid) and in the end decided that my time was far more valuable to me. I happily pay $18 per month (a few cups of coffee) and have no issues when processing 3D STL files.
I agree that a true roughing pass is different to a finishing path, as it is designed for quick bulk removal possibly using a larger cutter. My suggestion perhaps would have been better described as incremental, it is analogous to running the same GCODE several times with the Z zero initially set above the final height.
It is particularly aimed at a V-cutter but it would work with any tapered or parallel cutter, obviously, it would not work with something like a dovetail cutter.
If I understand you, you are asking for a new feature in gSender, yes?
What you are asking for is the process that is used in many paid CAD/CAM applications, as you likely know. When I rough out a model, the roughing pass is done is frequently done in multiple passes, the final pass leaving a very small amount to be removed by the finishing pass.
What CAM application are you using to generate your gcode? FYI, CamLab, developed by Sienci, is free and will do as many roughing passes as you set. Here is a video showing how to use CamLab
The video was done pre-gSender so it is using UGS as the code sender. The CamLab process will be the same using gSender.
You could do roughly the same thing, I believe, by simply re-setting your Z0 in gSender between passes. In fact, I sometimes do just that when I find that a carve is not as deep in real life as it seemed to be in the virtualization. I simply reset Z0 a bit deeper than the first cut and run the same gcode.
@gwilki Neat I had not seen CamLab, although the tools are limited to ball and flat, no V. I am using DeskProto free edition, it does all I need at the moment except roughing.
Yes, the idea is roughly the same as setting Z0 above the surface of the material, running the job, moving the Z0 down and running the job again. Repeat till full depth is reached. It is in fact how I got the idea.
The difference would be that it would be fully automatic and with the optimization would not do cuts where it had already reached the “skin”
As each cut is done at full finishing resolution the “skin” could be set to 0 and no final finish cut done. But I am not sure what the join between cuts would look like, it might have “tide lines”