Generate Toolpaths: Order of Operations

What is the hierarchy or “order of operations” when Easel generates tool paths?
Is there anything different between Easel and Pro when it comes to this?
What are the features that you get with Pro? V-carve and now a couple different path rules?

I am beginning to get frustrated with the “capabilities” of Easel.

By this point I would expect that Easel (or at least Pro) would have the ability for the user to “choose” or “override” the order of operations to minimize carve time or do things in a more logical way.

I am wanting to carve a round ornament out of thin stock, and Easel decided to carve out the through cut circle before doing the middle relief carve so the work piece no longer had good stability and the middle carve will get ruined.

I I can look at the path order and see this flaw. It’d be nice if I could tell Easel to do the circle cut last.

In another carve, the tool paths go from one side to the other rather than doing operations nearby.

Has this kind of path optimization ever been discussed?
What if anything is currently under development with Easel? Should we all just forgo Easel and use an AutoDesk or other well established product?

You can handle this by separating the operations into different “workpieces” within Easel.

Easel is pretty darn good for a free program that makes it super easy to create CNC carved projects. It has some flaws, but so does Fusion 360. My students (12-14yr) can make ornaments like what you’re describing with little instruction. I teach them to use Autodesk Inventor and Fusion 360, but the CAM part of that isn’t something they can just think their way through. I have to drag them through that.
Toolpath optimization is something all CAM software should be trying to improve, and it is not a trivial programming feat.
Can you share the Easel project where it does the pocket before the profile? I think it usually gets that right.
Note: I use Fusion for most things, but when you just want to carve and don’t want to calculate the optimal load or the lead in feedrate, Easel is a pretty slick piece of work.

I guess I just have too high expectations in 2018.
When I was finishing up my BSME in 2000, we had to manually write the g-code. The software was only just getting to where it could generate decent paths. It was good at simulating (especially the mistakes) but not so much for generating.

To me, it is important to make your students learn how to write the code themselves. Even if it is just something simple. Too many people today “know” how to use things but don’t really know.

That is why I want a guide of some kind as to how Easel plans its paths. I want to know how it really works so that I can overcome its shortcomings and even to take advantage of things that might be “features”. I like many of the things that it does like the steps before carving. There are just some things that need to have options when there might need to be a different path to the final product.

Here is the project in question:

In AutoCAD: I drew circles, traced a picture with polylines, created text that I wmfout then wmfin in, and finally create a DXF.

I could export the g-code, rearrange the order of the paths in a text editor, and then import the modified g-code.

What would be cool is if the g-code generation would come up with “operations” that could be sorted by the user, see the simulation of the changes, then finalize the g-code.

1 Like

Here’s Easel’s way of reordering the operation (albeit separate jobs).
That said, you’re right, it should not cut the profile before the pocket. I’d call that a bug and let Inventables support know about it.

Agreed if that’s what I was teaching them. We’re just lucky enough to have machines to make the cool things they design. The course is a little bit of CAD, Robotics, & Programming. I teach another course on electronics. in the electronics course, I’ve had a few kids design and build little CNC machines. They learn gcode.

So there is almost a built-in way to control order of operation within a single carve.
Have the g-code generated in the order of the workpieces.

Not only could I then have the circle cut guaranteed to be last, but I could alter the way the pocket is created to reduce the “jump over” from one side of the hope lettering to the other.

1 Like

Can anyone explain how using workpieces to change cut order actually works? I created two work pieces to dictate the order of operations, but no matter how I order the workpieces, the cut order remains the same?

can you share your Easel Project?
Go to Project>Share >Change it to “unlisted” and Copy that link. Thanks!

This Flag video shows how I use multiple workpieces to control what bit goes where, but there is not a way to control order of operations within a carve. like I can’t force it to start carving my stars one row at a time, or something like that.

Hey Seth - thanks so much for the reply and help. Below is my file:

I’ve tried moving various elements to the front and back, as well as moving the work pieces left and right - but the cuts always start with four circle quadrant cutouts, rather than the recessed grooves and recessed slot (work piece on the far left).

You want to move those shapes that you specifically want to cut to a separate workpiece without the other shapes. Then, just cut the grooves and slots workpiece first.


Brandon Parker

1 Like

Oh - so theres no way to cut them in sequence automatically? I would have to restart each workpiece separately? That is ridiculous, LOL. The whole point is to not have to be at the CNC and tend it. Looks like I will be searching for new software. Seems like it would be relatively easy to set up in the software using the workpieces as sequential cut maps, so the cutting flows from one to the next - I assumed that is the way it worked. In anycase, that explains why I was pulling my hair out wondering why it wasn’t working.

Thanks for the help though - appreciate it!

1 Like

No, there is no way to dictate to Easel what you want carved in any specific order. This is why people place their outline cuts on a separate workpiece, because Easel automatically places them on the Detail pass which typically does not work because the outline is carving out the material from a larger piece of stock that is thicker than the bit’s cutting length.

This is VERY dangerous, so just be aware of the hazards of leaving any CNC to fend for itself in the event something goes awry. Just watch what happened to Darwin Garage a few years ago.


Brandon Parker

the file appears to not be shared properly (you can click it and open in an incognito window to see what others see) . . .

yes, you’d either have to run as as separate carves, OR export the gcode files (go to project>export gcode) and then re-combine them into a single file, which you can import and run as a single carve… it certainly is more work than some other software.

Thanks Seth - I would still be in the same room as my CNC, but if I’m cutting a part, then have to come back to the CNC every five minutes to start another workpiece file and another set of cuts, that is pure comedy, and grossly inefficient. I assumed that the workpieces would be carved from left to right, so you could set up your tool path cuts to run in sequence - this would seem to be very basic functionality, and easy to implement (says the non-programmer!). If each workpiece is its own file anyway, with its own toolpaths, then a simple macro could sequence the workpiece tool paths together? In anycase, without this basic functionality, this software would be painfully slow to use for efficient production. I’m looking at Carbide 3D right now, which offers great control of tool paths, but is abysmal at being able to import and manipulate vectors - something that easel does pretty well actually. The search goes on!

From a programming perspective, it would not be too terribly difficult to implement, but Inventables would have to provide functionality to set up a chain/string of things to do. Some people might have several workpieces for one side, but then have two final pieces to be carved on the other side. That would preclude just chaining all workpieces together…not to mention any bit changes required.

It is not impossible, but would require a lot more planning for implementation that one might think just to try and capture all possible scenarios a user might want.


Brandon Parker

1 Like

I’m sure there is more to it than I think. If someone is flipping the piece or doing a bit change, then launching a new file/workpiece would be easier then. What I think would be relatively easy is to just have the software sequentially run workpieces in each project. A simple continue/pause/resume selection between each workpiece would allow hyper efficient flow - making cuts in sequence (choosing workpieces to cut sequentially), pause to flip pieces or change bits, etc. I guess that would need to integrate with re-zeroing, but to keep all the steps of a job in order, in the same project would be ideal.

1 Like

Indeed, keeping things for one project together is why we now have multiple workpieces in a project.

Everything you describe is doable and would be very nice. It is just a matter of implementation & testing.

Having a Sequence of Operations setup or macro where the user can just say…

  1. Initiate Carve Process
  2. Zero all axes
  3. Carve Workpiece 3
  4. Hold for bit change
  5. Zero Z-Axis, Use last XY
  6. Carve Workpiece - “Order of operations” setup here if you want one cut before the other
  7. Continue Next
  8. Carve Workpiece 1
  9. End Carve Process

…would be nice…

There is just a lot that goes into that behind the scenes, not to mention regression testing with all of the existing features. Also, there would be a lot of automated checks, balances, and warnings in there as well.

It’s all about time and development…


Brandon Parker

You could take multiple workpieces, download the gcode for each of them, and then copy and paste them all together in the desired order, removing the “M5” at the end of each other than the very last one. this can often be more work than it’s worth…

A few other softwares do have the ability to set cut sequences, but I think these only apply to perimeter cuts… (carveco, Vetric, Fusion360)

1 Like

Why do think that was Winston’s SO3? Maybe you linked a different video. I can’t imagine Winston would run a machine with that much dust.

But, I agree, you should always be within earshot of a CNC.

I misspoke…

I was thinking about Winston Moy’s video about the subject when I was copying the link and writing the post.


Brandon Parker

1 Like