Smoother curves

Hey everyone,

We updated Easel late last week to improve the toolpaths it generates for curves.

As you may know, Easel converts curves into a series of short line segments to put in Gcode. Easel used to use a fixed target length for these lines, which worked pretty well most of the time but occasionally left things looking noticeably jagged, particularly in areas of “tighter” curves.

Easel’s new approach uses more points through areas that need it, and fewer points through areas that are smoother and straighter. The end result is smoother curves obtained using a similar total number of points.

Here are a couple of plots to show the before and after:

The improvement is most noticeable in the tight curves inside the letters, especially at the bottom of the x and t.


Great job guys keep up the good work.

Nice, but why not just implement arcs?

Gcode arcs (G2 and G3) must be arcs of a circle—they can’t precisely represent arbitrary curves like (non-circular) ellipses or the bezier curves in SVG paths and font definitions, so while those commands would be great for circles, we’d still need some kind of piecewise approximation for everything else.

1 Like

Good point for Beziers!

I had to Google bezier curve.

Oops—I added a link to the Wikipedia article in the post. Thanks! :smile:

1 Like

@rodovich big thanks to you and all of the Inventables team for the continued development. You guys are awesome!

Also, don’t think that I didn’t notice the “auto zoom to material” feature update… it’s the little things that make a nice UX and that one is a nice touch.