STL Roughing carve potential enhancements


I would like to share my feedback on how Easel Pro works on SLT 3d files, specially on the roughing pass

My idea is to do the following 3d model

I do have 3 items that i think would be interesting to consider to optimized carves

  • Toolpaths : They do only exist for Finishing but not for Roughing. I think is interesting to offer this option too as long as the ending is better when working against wood grain.


  • Roughing cut depth. I did try with a 6mm depth setup and the carve itself went fine. However is not optimized in order to let the finishing pass only need to finish. I ll explain may self better. Let say that an area shoukld end up carved at Z -11mm. First pass will remove 6mm, but the second one will remove additional 6mm and that an overall 12mm so the program decides to do nothing there on the second pass. Ideally sholud do something line Z = - $cut_depth + $terrain_delta + $security_margin

Lets say

  • For a point of -9 mm heigth , on the second pass the heigth would be -3mm
  • Cut depth would be 2 x 6 mm on the second pass
  • Presuming a security margin of 0.1mm


Z = -6 + 3 + 0.1 = -2.9

This obviously stands for a potential cut depth of -6mm but in some areas that would be a value among 0 and -6

This would pretty much last the same, but would carve way more volume on roughing, so the finishing carving bit would need to work way less and prevent the risk to get broken as long as those bits are not intended for such huge depths

You can see it graphically on how the piece does look like after roughing

  • The last point is about optimizing finishing time. Presuming my second point is feasible, simply the roughing pass could do 100% of the carve needed so the finishing carve simply would not need to to anything. Doing a quick math based on the area of my carve representing the “sea” , this would turn from 4,5h to 90 min on the finishing pass

Hope you find this feedback helpfull to make ease pro better


I forgot to add that , up to date , I have been doing this with a script of my own extracting elevation points from my file system and created the final gcode to be sent to the machine

This custom script does already the work of carving as much as it can on the roughing pass but not tresspasin max depth by any means

Here you can see how it looks like after the roughing carving bits, and you can compare that uptput with the one easel is doing ( previosu images )

I would appreciate to get info from the lab , stating whether you think this enhancement might eventually being included in the roadmap

I see there is not much interest on this topic as long as no one is answering
Is a pitty that any feedback might be given , at least in order to state the reason why this might not be considered interesting from a product perspective

Anyway i upload the final work after the finishing carve has been applied

Question: When you first generated a toolpath for your stl file, did you get any errors? I keep getting one stating that there’s nothing to carve.

1 Like

Can you share your settings (the right panel) and show the materials setting and bits (the top panel)?

Full-depth cutout with tabs and horizontal finish pass. I can generate a toolpath but I noticed halfway through both the rough and finish pass simulations, it shows the tool stop passing. So when I go to click on the green carve button up top, it goes through the steps to make sure it’s ready for carving and when I click on the last “ok” button, I get an error stating that there are no objects in my design that can be carved with my current settings.

When you generate toolpaths, what’s the carve time provided for the roughing? I see that the estimate before calculations is under 1 hour, which could mean 0 minutes IF that 0.13" depth per pass happens to be deeper than the pocket of the sign there…

Roughing pass would be 41 minutes. The finishing pass would be 5H 43M. There have been times I’ve changed the depth per pass just to see if things would change and still get the same error. I figured it had something to do with the STL file. Tried to import the STL file to fusion360 and export it as a DXF. Get a different error while importing the file. something about reading it.

Can you set the Project to “unlisted” and send me the Link, a DM is fine if you’re concerned with anyone having access to the file… The link only shares a copy and nobody can make changes to your copy…

The project share via a link process is shown about halfway through this video.

1 Like

the simulation runs though on my end without issue.

I’m not at home to try it with my cnc using the “carve” button but you could export the Gcode, then re-import it and run the carve that way… I was able to export and re-import without issue and it would run this without that fault of “nothing to carve”

Side note: IMO the 25% stepover is too large and a smaller stepover of around 10% would be more appropriate, although it would extend the carve time… you can combat this time extension by increasing the detail bits plunge rate to match the feed rate.

Notes on Expediting 3d Carves: 4 MUST KNOW tips for 3d carving with Easel - Recorded LIVE - YouTube

This is the error I get when I try to open the g code after exporting it. I think I got this same error when I tried to open it as a dxf file

And just a little extra info, I’ve installed and updated all my drivers and programs.


Nope, I’m not getting any error
I see the topic has changed focus
I want to reiforce the original suggestion for the “pro” behaviour
I ll try to summarize on how it currently works and how i think it should work , assuming a rough carve depth of 6mm

As mentioned before with the current behaviour it will make finishing carves to get broken

Point depth 11m
Current Expected
Rough pass 1 6mm 6mm
Rough pass 2 0mm 4mm
Finishing pass 5mm 1mm
1 Like

@Nacho, what feed speed did did you use for the roughing pass, I assume it was a 1/4" bit?

Just rough carved my first topo of this area, will do the finish pass tomorrow, I do not have a 1/8th round nose bit but do have a ball burr from my jewellers kit, so will run that one, likely spin it slow and push the feed as fast as I think it will take.
For me the topo is the holy grail, & never thought I would get to it this quickly.
Thanks to all esp Seth.

1 Like

Hey Nacho, My apologies. Didn’t mean to hijack your thread. Just saw that you had , What i assume is, a successful carve from an stl file.

In order to get the roughing bit (endmill) to achieve 2 steps (for a total of 10mm) you’d have to enter 5mm as the stepdown.
That would leave 1mm for the Finishing Bit (ball bit) to clear away.

Because the pocket total depth is less than 6mmx2 (12mm) this is why the roughing is not performing 2 passes… what you’re saying makes sense IF there was a user selectable “stock to leave” setting, but since this isn’t user selectable, the 1mm you’re expecting to be left just won’t always occur, unless one was to make it so with math (like I identified above) However, this doesn’t always work since there are very few flat portions when I carve reliefs, and extra stepdowns for roughing to stay within 1mm will make the roughing take more time than desired, so I kinda think it’s better the way it is…

However I’ve not tested what the pre-determined minimum “stock to leave” for the finishing pass is, whether it is 1mm or a slightly greater value…
One could import like a cube and determine what the, if any, default “stock to leave” is for that finishing pass…

You might be surprised that Vcarve, Carveco, and Fusion360 all basically operate the same way that Easel currently does for this scenario… Albeit the user can select a “final pass depth” and this could bring it in a little closer than easel does, but not always… and this does add more time…

Hi @AnthonyBAldridge

Please do find the cut settings I used for Xcarve
You are right , I am using a 1/4’’ bit as long as the piece is large enough 60cm x 40cm x 3cm
I simply agree that the output of topos is outstanding


Hi @SethCNC

The “stock to leave” feature is not the most important feature i was trying to summarize. I do see you point of optimizing time on finishing

The core of the post is to force the roughing to perform the pass even if the actual depth needed is only a subset of the cutting depth defined

The sample math you proposed works fine on works where the surface is pretty much plain. Which is not the case on topos and probably on many of the use cases where people is loading STL’s ( volumes and figures ). In a topo I will most likely have points of any depth needed. I build this table to summarize it

As you can see is not possible to set a cut depth that suits properly on any point.

I did not test the finishig using Easel because as there is no parameter of cut depth on the finishing I would simply get the finishing bit broken at the very first minute …

I do have a program generating the gcode from STL files taking into account pretty much the params covered on “Cut Settings” on Easel. However i still have some bugs, specially on frames endings probably not easy to notice on the pictures and XY shifts seem smoother on Easel than on my raw gcode. I do not have any interest on mantaining or evolving this logic if Easel Pro does the work fine.

I do have the optimization mentioned implemented on my routine and is simply like this

  • Get the min depth of any point covered by the roughing carve
  • If is smaller that the defined cut depth, you actually substract the difference in order to honor the min depth allowed at that XY
  • Plain surfaces are detected too and in those cases I do force “stock to leave” to 0 in order to get the finishing optimization you mentioned earlier.
  • If multiple elevations do exists in the area covered by the roughing bit, a configurable “stock to leave” is applied and the finishing bit must work on that area

I was capable to finish my work basically because i executed my gcode afterwards and prevent finishing bit to get broken

I do honestly do not know much about professional 3d tools on the market. My point was only to suggest an enhancement that

  • Will reduce overall work times ( Almost 5h with cut depth 2mm VS barely 2h with cut depth 6mm )
  • Protect machine and bits stress demand
  • Unlock feasibility to accomplish more types of projects with easel pro
  • In my mind , this might lead to more Pro users

In any case , my point was to share my thoughts and share ideas to make the solution better. But if my explanation has been understood and simply do not match on the current priorities/backlog, is not my intention to keep pushing in order to happen . I simply mean that is feasible, is useful , and does not seem to have a significant complexity