<<O>>  Difference Topic ArcCompensation (r1.3 - 20 Aug 2008 - AdrianBowyer)

META TOPICPARENT RepRapHostSoftware

Arc Compensation

Line: 67 to 67

As you can see, above R = 6.5 mm, the simple offset calculation of adding half t gives the right answer to within 10 microns. But below that the differences are significant.

Added:
>
>
The RepRap Java code implements the correction needed using two extruder parameters: Extruder0_ArcShortSides(0..) and Extruder0_ArcCompensationFactor(0..) (and similarly for other extruder numbers than 0). The correction described above is multiplied by Extruder0_ArcCompensationFactor(0..). Thus setting this to 0 (the default) means that no compensation is done. Setting it to 1 gives exactly the algebra above. But most extrudates are highly non-Newtonian; this seems to mean that one needs to set the factor much bigger than 1. To get the right effect for ABS I use 8, for example.

STL files know nothing about circles, of course; everything is faceted. The way the code works is to go round each polygon that results from a slice through the STL triangles examining each point and its immediate neighbours. If the two line segments to the neighbours are both shorter than Extruder0_AngleSpeedLength(mm) then a circle is fitted through the three points and the correction applied to the central one. This prevents the code from doing anything with points that, for example, form a right-angled corner in an object with two long sides. I set Extruder0_ArcShortSides(0..) to 2. That seems to pick up genuine arcs, curves and circles (which are made from lots of short segments, of course) while leaving gross features alone.


View topic | Diffs | r1.3 | > | r1.2 | > | r1.1 | More
Revision r1.2 - 26 Jul 2008 - 12:33 - AdrianBowyer
Revision r1.3 - 20 Aug 2008 - 21:48 - AdrianBowyer