Unable to generate a viable STL mesh for 3D printing

I am trying to create a simple nameplate model using three.js and three-bvh-csg and export it as STL for 3D printing, but no matter what I have tried the mesh always has non-manifold edges. I have this mesh working in Python using trimesh and shapely but I need to refactor it in JS.

My nameplate has a stencil cut out of the top surface with a design but every time I use this method to subtract the stencil:

nameplateBrush = evaluator.evaluate(nameplateBrush, stencilBrush, SUBTRACTION);

The resulting mesh is unslicable. There’s always open edges / holes. I’ve even tried using Gemini to see if it could point me in the right direction but nothing it has suggested made a difference. It seems to be primarily down to the fact I’m trying to use three-bvh-csg operations and it’s screwing the mesh.

So it it actually possible to produce a full manifold mesh after applying three-bvh-csg operations? Even using the example they provide on the GitHub repo doesn’t work.

Are there other libraries anyone would recommend I use because it just seems like three.js is not suitable for this.

this is a limitation of the current version of three-bvh-csg, see this post for more details Open mesh after using three-bvh-csg - #5 by gkjohnson

Use the Manifold CSG library. It’s way more robust and really fast.