discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

manifold error

TA
Todd Allen
Thu, Oct 17, 2024 5:26 PM

Using OpenSCAD-2024.10.17.ai20964-x86_64.AppImage I get a manifold error
when attempting to render a difference of two objects which each render
separately when the Manifold backend is enabled.  The difference renders
using CGAL and even renders using Manifold if I have already rendered it
using CGAL.  If this is of interest I can probably create a short script
with this issue although the objects are somewhat complex created by
rounded_prism() and screw_hole() of BOSL2.  If I should report this via
github or something else, please let me know.

Using OpenSCAD-2024.10.17.ai20964-x86_64.AppImage I get a manifold error when attempting to render a difference of two objects which each render separately when the Manifold backend is enabled. The difference renders using CGAL and even renders using Manifold if I have already rendered it using CGAL. If this is of interest I can probably create a short script with this issue although the objects are somewhat complex created by rounded_prism() and screw_hole() of BOSL2. If I should report this via github or something else, please let me know.
JB
Jordan Brown
Thu, Oct 17, 2024 5:49 PM

On 10/17/2024 10:26 AM, Todd Allen via Discuss wrote:

Using OpenSCAD-2024.10.17.ai20964-x86_64.AppImage I get a manifold
error when attempting to render a difference of two objects which each
render separately when the Manifold backend is enabled. 
The difference renders using CGAL and even renders using Manifold if I
have already rendered it using CGAL.  If this is of interest I can
probably create a short script with this issue although the objects
are somewhat complex created by rounded_prism() and screw_hole() of
BOSL2.  If I should report this via github or something else, please
let me know.

Cut it down to as simple a case as you can, and then ask here or file an
issue on Github.

I'm not sure what you mean by "a difference of two objects which each
render separately when the Manifold backup is enabled".

Do you mean that you have Manifold enabled, and you have two objects A
and B that render OK individually but when you try to render them
together you get an error?

Is each object non-trivial, in the sense of having at least one boolean
operation?  You can build a garbage object with polyhedron() and it will
"render" fine until you try to combine it with anything else. 
(Similarly for importing garbage objects with import().)  Try unioning
each of them with a small cube.

I don't believe OpenSCAD currently clears the cache when you switch
between CGAL and Manifold.  You should explicitly clear the cache with
Design / Flush caches - and really, for any kind of diagnosis involving
rendering, clear the cache before each render attempt.

On 10/17/2024 10:26 AM, Todd Allen via Discuss wrote: > Using OpenSCAD-2024.10.17.ai20964-x86_64.AppImage I get a manifold > error when attempting to render a difference of two objects which each > render separately when the Manifold backend is enabled.  > The difference renders using CGAL and even renders using Manifold if I > have already rendered it using CGAL.  If this is of interest I can > probably create a short script with this issue although the objects > are somewhat complex created by rounded_prism() and screw_hole() of > BOSL2.  If I should report this via github or something else, please > let me know. Cut it down to as simple a case as you can, and then ask here or file an issue on Github. I'm not sure what you mean by "a difference of two objects which each render separately when the Manifold backup is enabled". Do you mean that you have Manifold enabled, and you have two objects A and B that render OK individually but when you try to render them together you get an error? Is each object non-trivial, in the sense of having at least one boolean operation?  You can build a garbage object with polyhedron() and it will "render" fine until you try to combine it with anything else.  (Similarly for importing garbage objects with import().)  Try unioning each of them with a small cube. I don't believe OpenSCAD currently clears the cache when you switch between CGAL and Manifold.  You should explicitly clear the cache with Design / Flush caches - and really, for any kind of diagnosis involving rendering, clear the cache before each render attempt.