I’ve historically struggled with OpenSCAD being pickier about the manifold-ness of imported STLs than any other program I’ve used. I usually have to go through several rounds of “import into Foo, run a few cleanup routines, try it in OpenSCAD, still not enough, go try another program, etc.” Earlier today I tried updating OpenSCAD to 2026.06.04, dev build, switching the backend to Manifold (as I heard it was more forgiving), trying again, no luck. A slightly more useful error, but no actual success. Meshlab said the file was totally manifold. Then, noticing that the model alone rendered fine – it was only when I combined it with anything that I got a non-manifold error – I tried the following:
union() { import("MODEL.stl"); import("MODEL.stl");}
Render, export to MODEL_2.stl, use that stl in my file, and presto! It rendered fine. Go figure. (I had to use the Manifold engine, I had to union the import, I had to export and re-import.) I don’t know how many files this will work with, how many problems it can fix, but give it a go, maybe it’ll get you the last step of the way.