0
$\begingroup$

I built a model and it previewed correctly. When rendering for STL export (F6), I got an assertion error:

ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: e->incident_sface() != SFace_const_handle() File: /mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_S2/SM_const_decorator.h Line: 329

Most of the model rendered correctly, but one component disappeared.

Moving the object didn't change the problem, but isolating just the disappearing part gave me a correct render of that part.

$\endgroup$
1
  • $\begingroup$ I had the exact same error yesterday! I assumed it was a bug in the library I was using, but maybe there's more to it? $\endgroup$
    – Opifex
    Commented Mar 3, 2021 at 9:12

1 Answer 1

1
$\begingroup$

Reading between the lines on other forums, I found that the GCAL renderer will render a malformed object, but it will fail when a binary operator, such as union or intersection, is applied to that object.

There was a discussion about degenerate points (two points in a polygon list that were the (nearly) the same values. I had this situation, but fixing it did not solve the problem.

I rederived the face lists, and found that for one face the vertices were listed in the opposite order from the others. Rather then using right-hand-rule, I had used left-hand-rule.

Reordering the vertices for the one face fixed the problem. There was no way to see the problem from the preview.

A more useful diagnostic message would have been helpful, or a tool for checking polyhedra for being manifolds could have saved me hours of experimenting and failing.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .