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.

  • $\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


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.


You must log in to answer this question.

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