Good day, I’ve had my X-carve running for exactly a week now, and I’ve tried sticking to Easel for everything I do. The good news is that it’s doable, the bad news is that there is still a lot left to be desired. Instead of burying my commentary or not documenting it at all, I’d like to use this topic to just list all the things I’ve come across that I’d like different from an engineering perspective. I don’t personally care about the arts&crafts stuff, other people can address that side.
1. We really, really need a measurement-driven file input, preferably dxf. Whenever toolpath generation gets improved to do full 3D, IGES and/or STEP input would be nice too. If you’re really struggling with those interchange formats, STL is an easy place to start as it’s already got loads of open source meshing programs that you can just pop into Easel without any work on your side.
2. There needs to be an indication of the current tool position during milling.. Especially z-depth would be incredibly useful.
3. There should be a preview of the complete toolpath or if that’s too hard just a place to preview the g-codes you expect to send. Lots of open source g-code visualizers to choose from and just pop into easel, should be pretty easy. Provides a wealth of information on what the thing is supposed to do. Eliminates surprises.
4. Coolant and fan controls. Very simple addition; just add support for the g-codes to turn on coolant and fan.
5. Toolpath generation is kind of dumb. Toolpaths just seem to go in order of the shape that was first added up to the last added shape. This leads to funny situations where the toolpath starts routing out the part, and THEN starts doing all the inside cuts. That is disastrous for a part that would only be clamped on the outside, e.g. in a vise or screw bed. My very first cut had this issue, I’m glad I taped it down:
6. Would be incredibly useful to be able to export SVGs from Easel. Not in the least to be able to interpret what Easel thinks is correct syntax.
7. It would be even usefuller to be able to import other projects into the current project. Right now, it’s pretty hard to impossible to combine multiple projects into one panel.
8. It would be roughly as useful to be able to save as another project during editing, automatically making a copy. For instance, I’ve now done two projects that were longer than my x-carve could make, so I needed to import a drawing, resize it because easel doesn’t correctly interpret millimeters, move it around, cut out the stuff that doesn’t fit, mill it, move the workpiece down 300mm, start a new drawing, do the negative coordinate movement hack, cut out the stuff it can’t mill, do another milling. It would be so much nicer to just export parts or entire projects into a new file, half of this work would not need to happen.
9. Copying things over multiple times to make multiples of your current project should be a g-code export option, NOT a part of the project drawing. It sucks to copy stuff, realize something needs changing and having to change every single copy of your object instead of this just being automated.
10. Would be nice to have a proportional resize checkbox.
1. Can’t enter negative coordinates for shape or part placement in Easel. In order to shift an element or group of elements left or down, I have to put another element at the desired inverted location (e.g. if I want to shift the group to the bottom-left by 100x100mm, I need to put an element at x=100 and y=100) and then move the new top-right corner to coords 0,0 to get the whole thing shifted. So clearly Easel supports negative coordinates, it just doesn’t allow negative number entry.
2. I can’t get easel to step-down more than 0.1mm when choosing the material Aluminium. It can go as fast as I want, but I can’t take deeper cuts. This means Easel is useless to me once I switch to a heavier spindle, which I will.
3. Easel doesn’t accept groups or combinations of paths with coincident endpoints as single objects. If I have an SVG path composed of individual lines with the end with the ends of the lines coincident with each other, e.g. a box composed of 4 individual lines, Easel will not interpret this as a shape but instead as 4 individual lines. This means that inside, outside or filled cuts do not work, only on-line cuts. Easel should just do what every other SVG interpreter does and interpret coincident line endpoints in a single path declaration as a continuation of a path. This alone would save a lot of hassle converting files from dxf to svg.
4. Easel does not correctly apply the declared document units from SVG. If I make a drawing in inkscape that is 100x100mm in size and declare both drawing and document scales to be in mm, it still scales the drawing down to some strange small size in Easel, even though the only unit in the entire svg file is mm, there is nothing else to conclude than that all the coordinates are in mm.
5. The percent complete bar is calculated incorrectly. It uses the remaining number of line segments, not the remaining carving length to gauge completion time. This leads to the hilarious situation that carving out a really big box shape and two tiny holes shows 3% completion after milling out the big box for an hour, then it shoots up in 10% increments as it mills the holes.
This is all of the stuff I documented as I went along in the last week or so. My mill has now done about 36 hours of milling, all aluminum except for a single MDF try. I’m very impressed by the plug&play nature of the whole package. As much as I find Easel to be a very incomplete CAM package that needs serious work to get taken seriously in light of an almost 100 year old industry, it does what it says on the tin. It works, I’ve never had it crash outside of my own fault, I’ve never had wrong g-code generated, it works fine with my custom GRBL board. This is the first time (after owning 3 3D printers and helping with 3 bigger mach3 mills in the past) I was able to buy a machine, put it together in a few hours and start milling what I had prepared before. Truly excellent out of box experience. It is certainly a machine and toolchain that is 100% usable for engineering purposes.
So I’d love to contribute to this at least by documenting stuff I do and problems I find. I hope this is useful to you.