> Let's be clear though that both G64 and the Douglas-Peucker algorithm
> are just smoothing filters. They neither know nor care that your
> original curves are composed of circular-arc segments. If it's important
> to you to preserve their circular-arc character then you need to use a
> toolpath generator that works from your original 3D model rather than
> the triangulated surface model that was extracted from the model and
> transferred to Slic3r via an STL file. I seem to recall the subject of
> recreating circular arcs from line segments has been discussed on this
> list in the past but I don't recall any magic solutions being offered.
>

Douglas-Peucker is AFAIK only for simplifying many short line-segments into
fewer longer line-segments, within a given tolerance.
For arc-fitting one must also specify a [max, min] interval for the radius.
Also note that G-code only does arcs in the principal planes (xy, xz, yz)
and not general 3D arcs.
If someone finds or implements a good arc-fitting algorithm I would be
interested. As an example these waterline paths from the Tux model could
probably be simplified greatly by arc-fitting:
http://www.anderswallin.net/wp-content/uploads/2010/08/tux_offsets1.png
IIRC Dan Heeks might have already implemented an arc-fitting algorithm, so
it might be worth searching in the heekscad/cnc repos.

>
> I'm intrigued by the juxtaposition of the words "Slic3r" and "router".
> Are you using Slic3r to create 2D contours that you cut with a CNC
> router or are you using a CNC router with an extruder as a 3D printer?
> If the former, then you may want to look at so-called waterline milling
> algorithms used in CAD/CAM to see if you can generate more efficient
> toolpaths. Our very own Anders Wallin has opined on the subject
> (http://www.anderswallin.net/category/cnc/cam/waterline-cam/).
>

Note that there's a subtle difference between a Z-slice of an STL model and
a waterline milling path. They are identical only for a milling-cutter of
zero radius, and assuming the model has no undercuts.

The next idea people usually come up with is to first do a Z-slice
(corresponding to a zero-radius toolpath) and the offset outwards to get a
milling-path. This is correct for a cylindrical tool where the cutter
contact point will always be on the circumference of the end of the cutter.
(again assuming no undercuts).

The correct way to do waterlines with rounded cutters (BallCutter and
BullCutter in opencamlib parlance) is to move them along the chosen Z-plane
until they make contact with the model. This contact point is usually at a
higher Z-coordinate than the Z-coordinate of the tip of the tool.

I've been busy with other stuff lately, but I hope to improve opencamlib
and openvoronoi as time permits. If there are people willing to work on
GUIs and everything else that is needed for a CAM-program then I'd love to
collaborate.

Anders
------------------------------------------------------------------------------
Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete 
for recognition, cash, and the chance to get your game on Steam. 
$5K grand prize plus 10 genre and skill prizes. Submit your demo 
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to