discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

zero thickness membranes in Preview as a result of difference()

NH
nop head
Thu, Apr 23, 2020 2:05 PM

Its value does have some considerations.

It needs to be small enough to not be visible but large enough to not allow
z-fighting when zoomed out a reasonable distance.

I also make sure it is representable exactly in floating point, so I use
1/128.

On Thu, 23 Apr 2020 at 14:51, Troberg troberg.anders@gmail.com wrote:

I call it itsy (as it itsy bitsy). Any small number where the precise value
isn't of importance.

Max Bond wrote

Your approach is the conventional one. But we usually call the variable
epsilon :)

Its value does have some considerations. It needs to be small enough to not be visible but large enough to not allow z-fighting when zoomed out a reasonable distance. I also make sure it is representable exactly in floating point, so I use 1/128. On Thu, 23 Apr 2020 at 14:51, Troberg <troberg.anders@gmail.com> wrote: > I call it itsy (as it itsy bitsy). Any small number where the precise value > isn't of importance. > > > Max Bond wrote > > Your approach is the conventional one. But we usually call the variable > > epsilon :) > > > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
NH
nop head
Thu, Apr 23, 2020 2:08 PM

Yes but only when the shared boundary can't be represented in floating
point. Objects with exactly shared faces can be unioned by CGAL.

On Thu, 23 Apr 2020 at 15:06, Kenneth R Sloan kennethrsloan@gmail.com
wrote:

This is a general principle of computing : “any program such depends on (a
== b) is broken”

Manufacturing has a similar concept : tolerance.

I disagree with the claim that only “difference” needs a tolerance.  It’s
also necessary when doing a “union” of two objects with a shared boundary.

Yes but only when the shared boundary can't be represented in floating point. Objects with exactly shared faces can be unioned by CGAL. On Thu, 23 Apr 2020 at 15:06, Kenneth R Sloan <kennethrsloan@gmail.com> wrote: > This is a general principle of computing : “any program such depends on (a > == b) is broken” > > Manufacturing has a similar concept : tolerance. > > I disagree with the claim that only “difference” needs a tolerance. It’s > also necessary when doing a “union” of two objects with a shared boundary. > > >> >> >> >> -- >> Sent from: http://forum.openscad.org/ >> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> > -- > -Kenneth Sloan > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
T
TLC123
Thu, Apr 23, 2020 2:52 PM

The common way to eliminate Z-fighting is switching to a logarithmic Z-buffer
But i'm not sure if OpenCSG Require linear Z-buffer for boolean ops.

Anyways i use the far faster and more robust 2d subsystem whenever possible.

--
Sent from: http://forum.openscad.org/

The common way to eliminate Z-fighting is switching to a logarithmic Z-buffer But i'm not sure if OpenCSG Require linear Z-buffer for boolean ops. Anyways i use the far faster and more robust 2d subsystem whenever possible. -- Sent from: http://forum.openscad.org/