[OpenSCAD] avoiding assertion violation

Dan Shriver tabbydan at gmail.com
Wed Jul 17 17:22:49 EDT 2019


Nop_head: when I did my original hypDome() {code given earlier in the
thread} it looked hollow but that could be some weird artifact.  I am using
the 2018 release of OpenSCAD (not the latest one) and I see this:

[image: image.png]

For a shell with thickness I simply make a new function that assigns
coshPolygon() to a vector, then I make a second vector taking the elements
of the first vector (in reverse order) and subtracting the "thickness" from
the y value (which isn't exactly correct as it should be on an angle with
both x & y values altered).

On Wed, Jul 17, 2019 at 12:20 PM nop head <nop.head at gmail.com> wrote:

> You don't get a shell, you get a 3D solid who's cross section is the 2D
> shape. The problem is if that 2D shape only touches the Y axis at a single
> point then the 3D shape has a pinch point there where it has zero thickness
> in the Z direction.
>
> If you want to make a shell then the 2D shape should be the cross section
> of a shell and yes that is faster made in 2D before the extrude than in 3D
> with a differences after.
>
> On Wed, 17 Jul 2019 at 16:58, Dan Shriver <tabbydan at gmail.com> wrote:
>
>> 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.
>>
>>
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> Virus-free.
>> www.avast.com
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link>
>> <#m_8551169469257401297_m_2910737154312055855_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>> On Wed, Jul 17, 2019 at 11:19 AM Parkinbot <rudolf at digitaldocument.de>
>> wrote:
>>
>>> 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
>>>
>> _______________________________________________
>> OpenSCAD mailing list
>> Discuss at lists.openscad.org
>> http://lists.openscad.org/mailman/listinfo/discuss_lists.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/9817dfd1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 20016 bytes
Desc: not available
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20190717/9817dfd1/attachment.png>


More information about the Discuss mailing list