Error message "Radius to end of arc differs....etc etc"

More
1 year 9 months ago #319151 by phillc54
It seems that the docs differ slightly with the code in regards to CENTER_ARC_RADIUS_TOLERANCE_MM.

The docs  state that the default is 0.00127 yet the code  sets the default to 0.02828. 

It seems that the default value is also the maximum allowed and the minimum allowed is 0.001.
 

Please Log in or Create an account to join the conversation.

More
1 year 9 months ago #319160 by hmnijp
What a coincidence! 
Just yesterday I was experimenting with this parameter and noticed that the value cannot be increased.
It's really only in the range of
#define CENTER_ARC_RADIUS_TOLERANCE_MM (2 * 0.01 * M_SQRT2)
#define MIN_CENTER_ARC_RADIUS_TOLERANCE_MM 0.001
rs274ngc_pre.cc
0.001 < tolerance < 0.0225


I wanted to disable the ARC_RADIUS_TOLERANCE constraint and see how interpolation works with a large difference between the start and end radius. This could be used to do spiral interpolation by extending the g-code to g2.1 / g3.1 - just copy interp_arc.cc, but there would be no radius difference check.

 

Please Log in or Create an account to join the conversation.

More
1 year 9 months ago #319167 by hmnijp
minimal changes allow spiral interpolation with large radius differences
 

Please Log in or Create an account to join the conversation.

More
1 year 9 months ago #319191 by gekonko
hello hmnijp,
could you please elaborate on that? 
I have tryed to comment out this section of the code in interp_arc.cc and then make the build, but I still get error message.
Code:
CHKS((abs_err > spiral_abs_tolerance * 100.0) ||           (rel_err > spiral_rel_tolerance && abs_err > spiral_abs_tolerance),       _("Radius to end of arc differs from radius to start: "        "start=(%c%.4f,%c%.4f) center=(%c%.4f,%c%.4f) end=(%c%.4f,%c%.4f) "        "r1=%.4f r2=%.4f abs_err=%.4g rel_err=%.4f%%"),        a, current_x, b, current_y,         a, *center_x, b, *center_y,         a, end_x, b, end_y, radius, radius2,        abs_err, rel_err*100);

Please Log in or Create an account to join the conversation.

More
1 year 9 months ago #319194 by gekonko
ok, I got it, there is section for error generating with and without compensation.
thank you.

Please Log in or Create an account to join the conversation.

More
1 year 9 months ago - 1 year 9 months ago #319196 by hmnijp

hello hmnijp,
could you please elaborate on that? 
I have tryed to comment out this section of the code in interp_arc.cc and then make the build, but I still get error message.
Code:
CHKS((abs_err > spiral_abs_tolerance * 100.0) ||           (rel_err > spiral_rel_tolerance && abs_err > spiral_abs_tolerance),       _("Radius to end of arc differs from radius to start: "        "start=(%c%.4f,%c%.4f) center=(%c%.4f,%c%.4f) end=(%c%.4f,%c%.4f) "        "r1=%.4f r2=%.4f abs_err=%.4g rel_err=%.4f%%"),        a, current_x, b, current_y,         a, *center_x, b, *center_y,         a, end_x, b, end_y, radius, radius2,        abs_err, rel_err*100);

 


The simplest solution with minimal changes is to fix the upper limit in "interp_internal.hh" file:
#define CENTER_ARC_RADIUS_TOLERANCE_MM (2 * 0.01 * M_SQRT2)
for example
#define CENTER_ARC_RADIUS_TOLERANCE_MM 1.001

after that the setting in the ini file will allow to set a higher value than before 
Last edit: 1 year 9 months ago by hmnijp.
The following user(s) said Thank You: gekonko

Please Log in or Create an account to join the conversation.

Time to create page: 0.330 seconds
Powered by Kunena Forum