Jeff, thanks for an awesome email. I will try to implement an elliptical arc cut as a subroutine and I will, of course, make it public. It may be a while before I get to it.
i On Fri, Apr 22, 2011 at 9:34 AM, Jeff Epler <[email protected]> wrote: > The reason that emc only supports line and arc moves in the motion > planner is because these are in some sense the simplest forms of motion. > > Both lines and circular arcs have very simple "equal arc length time > parameterizations", which is a fancy way of saying that it's easy to > find the point that is a given distance along the curve. > > Furthermore, the trapezoidal velocity profile is easy to apply to both > line and arc. In the case of the arc, the acceleration to stay on the > curve is exactly perpendicular to the acceleration to start and stop at > the two ends of the curve. (and for a line, the only acceleration is to > start and stop) > > So to describe in an elliptical arc trajectory, you will ultimately have > to approximate the path with either lines or circular arcs. In emc2.4 > and above, you have the option of specifying movements as quadratic or > cubic Bézier curves which are then internally converted to arcs. > > For a given number of uniform subdivisions, circular arcs will almost > always give a better approximation to any continuous curve than lines > will, so when writing an elliptical arc subroutine I'd either use arcs > directly, or use the Bézier curve gcodes to specify them indirectly. > > I know I've run across a better source than this, but here's one > description of a method to approximate ellipses with cubic Bézier > curves: > http://www.spaceroots.org/documents/ellipse/node22.html > http://www.spaceroots.org/documents/ellipse/elliptical-arc.pdf > > Ah, this may be the other article I was thinking of, which is geared > towards the postscript language: > http://www.tinaja.com/glib/ellipse4.pdf > > Here's a description of how to approximate an ellipse using arcs: > http://www.geometrictools.com/Documentation/ApproximateEllipse.pdf > > Here's a page I ran into which may have more interesting links about > this topic: > http://answers.google.com/answers/threadview?id=706840 > > If you need to reach a specified accuracy, I recommend the arc-based > methods. emc's spline implementation doesn't offer any accuracy > guarantee or even a tunable parameter to improve accuracy (aside from > the fact that subdividing a spline into 2 or more sub-splines will lead > to a better approximation). With the arc-based methods, you can use the > approximation accuracy formulae from the papers, and you know that emc > is following the ellipses up to the deviation allowed by the G64 P- > parameter plus following error. > > If you're going for looks, then I suspect the spline methods will lead > to a good looking result with less programming effort. > > Jeff > > > ------------------------------------------------------------------------------ > Fulfilling the Lean Software Promise > Lean software platforms are now widely adopted and the benefits have been > demonstrated beyond question. Learn why your peers are replacing JEE > containers with lightweight application servers - and what you can gain > from the move. http://p.sf.net/sfu/vmware-sfemails > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users > ------------------------------------------------------------------------------ Fulfilling the Lean Software Promise Lean software platforms are now widely adopted and the benefits have been demonstrated beyond question. Learn why your peers are replacing JEE containers with lightweight application servers - and what you can gain from the move. http://p.sf.net/sfu/vmware-sfemails _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
