Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.
7503 a373 500
If you have a path of segments in a row, maybe the firmware could decided if a some are ment do define an actual arc segment. In this case, the segements can be splitted, so that the arc is more precise. This requires of course a maximum change in direction to allow a split, and a nearly constant length of the segments. I think that the offsetting can be done by a series expansion. Not sure if the math is right.
A similar method seems to be implemented in slic3r already, but direct firmware is maybe possible.

Required operations:
One would require the following float operations to have one additional split:
* for the knowledge if its a feature or not and splitting should be done : 4 subtractions + 2 multiplications. One global float cosFeatureAngle.

If splitting is to be performed:
* calculating the radius: one division, 2 additions, one multiplication one sqrt one division
* calculating the offset vector: 2 multiplications 1 divisions , 2 subtractions + 2 multiplications;
* calculating the new position M: 2 additions one multiply 2 additions
Total: 3 divs 8 mul 10 adds 1 sqrt ; if I count correctly.

Extrusion correction:
+ 1 vector length calculation |BM|==|MC|, one division.
+ one additional additive variable to the extrusion position.
Total: 1 divs 3 mul 3 adds 1 sqrt ; if I count correctly.

The whole thing would not only approximate arcs that span over multiple segments, but also would approximate splines by a local radius.

Don't be the product, buy the product!