[OpenSCAD] avoiding assertion violation

Ronaldo Persiano rcmpersiano at gmail.com
Tue Jul 16 20:54:41 EDT 2019


In some sense this is a bug of rotate_extrude(). OpenScad complains when
some edge of the polygon crosses the Y Axis because that would generate a
self-intersection 3D object. The current case is a limit case of the
forbiden crossing and OpenScad should issue an error as well.

A terça, 16/07/2019, 21:02, MichaelAtOz <oz.at.michael at gmail.com> escreveu:

> If you don't do a union, OpenSCAD does it implicitly, at various places,
> including a global one.
> Union() does not 'clean up', it just joins objects, if they touch properly.
>
> Don't focus too much on the irrational number issue.
>
> Those points are fine in themselves. Such CGAL errors tend to come from
> interactions between objects.
>
> But in this case it comes from the rotate_extrude.
>
> rotate_extrude(angle=360)
> {
>     tip=0; // 0.0001;
>     polygon(points=[ [tip, 73.2099], [1, 72.66682], [2, 70.4477], [3,
> 64.1422], [4, 46.9017], [5, 0] ]);
> }
> cube();  // test for CGAL issues
>
> With tip=0 it gets the CGAL error, I initially suspected it may be a bug.
> At
> first glance I would expect it to be able to make such a shape.
> The problem is the tip forms what I call a singularity. If you look at a
> sphere it doesn't have such a convergence point. There have been similar
> problems with a torus which meets in the middle.
>
> However, I think the problem is at the tip it is infinitely thin. So CGAL
> can't tell the difference between the top surface and the inside surface.
>
> A fix is to add a point along the centre axis jut below the tip to provide
> thickness.
>
> rotate_extrude(angle=360)
> {
>     thick=0.2; // this value is a design choice you should make
>     polygon(points=[ [0, 73.2099-thick], [0, 73.2099], [1, 72.66682], [2,
> 70.4477], [3, 64.1422], [4, 46.9017], [5, 0] ]);
> }
> cube(1); // test for CGAL issues
>
> That works.
>
> While the base doesn't produce a error, having the taper down to a fine
> point is probably asking for trouble.
> So I'd also suggest adding a point like [5-0.001, 0] on the end so it isn't
> approaching infinitely thin.
>
>
>
>
>
>
> -----
> Admin - email* me if you need anything, or if I've done something stupid...
>
> * click on my MichaelAtOz label, there is a link to email me.
>
> Unless specifically shown otherwise above, my contribution is in the
> Public Domain; to the extent possible under law, I have waived all
> copyright and related or neighbouring rights to this work. Obviously
> inclusion of works of previous authors is not included in the above.
>
> The TPP is no simple “trade agreement.”   Fight it!
> http://www.ourfairdeal.org/   time is running out!
> --
> Sent from: http://forum.openscad.org/
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss at lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20190716/3d42b071/attachment.html>


More information about the Discuss mailing list