[OpenSCAD] avoiding assertion violation

Dan Shriver tabbydan at gmail.com
Wed Jul 17 11:57:12 EDT 2019

Ok, I guess I made multiple errors.
For some reason I assumed that (if I input a curve or a line) I'd get the
whole volume from the y axis out to the points.
Obviously, what I actually get is just a shell of zero thickness for that
curve or line.

Is it better for me to get a full volume by adding one point to the polygon
[0.0001, 0] and then if I want a non-zero thickness shell doing subtract
with an offset of the solid.  Or is it better for me to make the polygon
with twice as many points (each point has a corresponding double that is
offset by the thickness)?  I ask because elsewhere it seemed like
difference() {} might be something one wants to avoid in OpenSCAD for
performance reasons.


On Wed, Jul 17, 2019 at 11:19 AM Parkinbot <rudolf at digitaldocument.de>

> So your problem is clear. You try to rotate around a single vertex and get
> a
> singularity.
> The following modification avoids this problem by introducing another point
> on the y axis and creating an edge on the y axis.
> function coshPolygon(multiplier, power, domain, flip, steps) =
>     let (flipValue = flip ? cosh( ( multiplier *(pow(domain,power))) ) : 0)
>     let (result = [for(i = [0.0001: (domain / steps) : domain]) [i,
> flipValue - cosh(  ( multiplier *(pow(i,power)))  )] ])
>         concat(result, [[0, result[len(result)-1][1]]]);
> --
> 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/20190717/bf3f7013/attachment.html>

More information about the Discuss mailing list