Hi All, I noticed an odd quirk with the Naive CAM detector when debugging an issue with circular arc blending. In particular, I was trying to find the source of this "error":
(Starting from X56.09083 Z0.49686 ) N1 G1 X20.16452 N2 X19.2665 Z0.86884 N3 X18.89452 Z1.76686 https://www.dropbox.com/s/bpg2xvxa30yrpzl/following%20error.png It looks like the short segment (N2) is being eliminated entirely. It looks like the Naive CAM detector is using a linear distance as a tolerance based on this post in the forums: http://linuxcnc.org/hardy/dapper/index.php/french/forum/20-g-code/19371-g64-p-q-naive-cam-tolerance-setting I'm not sure what the original intent of Naive CAM detection was, but eliminating a segment that is clearly "not tangent" by its angle with the previous line seems counter-intuitive to me. However, this behavior does make sense if its job is to "coarsen" a given path by a certain linear tolerance. A more subtle issue here is that the Naive CAM detector uses the P word of G64 if Q is not specified. So, if I specify G64 P0.5 (like in the image above), then it also assumes Q0.5 by default. To me, this is bad because the blend tolerance (P0.5) is effectively applied twice. In the example above, line N2 is eliminated entirely, which means the path is already up to 0.5mm from ideal when it is passed to the trajectory planner. Now, TP applies a blend with tolerance, leading to another 0.5mm deviation, for a total of 1mm possible deviation. If the default behavior was always to make Q0, then a user would have to explicitly ask for a Naive CAM tolerance. To explicitly get the same situation as above, a user would call: G64 P0.5 Q0.5 By explicitly calling the Q term, it's much more apparent that we're applying two separate tolerances to the path. Does this sound like a reasonable change? If so, it looks like just deleting lines 1508-1509 in interp_convert.cc would do it. -Rob ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers