Why do some models appear broken in slicing software?
In my slicing software (Slic3r) some of the vertices/walls of my model seem to have disappeared, so that the inside of the model - which should be solid - is visible, while the surface appears as a thin shell.
Why does this happen? Is it still safe to export the model for printing?
My understanding is that this occurs when the object is not a true solid. Since an STL holds the triangulation of each face and spline, the slicing engine is not "smart" enough to determine if there is a gap in the model and therefore if it should be filled in and how. When the slicer encounters a gap, it will either treat the endpoint as the end of the feature or navigate to the next point on the layer, resulting in either gaps in the print or extra inclusions that don't make sense.
I've noticed that my models will fail as a true solid when I use complex solid tools such as Union, Subtract, and Trim. A lot of times there will be a rounding error in how these tools interact with the solid model that will result in a small (sometimes not very small) gap in the outer shell of the solid model. When exported to an STL, the gap is retained.
@kareem mentioned it in their answer, but Microsoft does provide online tool(s) for 3D Printing including a solid repair tool. Use Microsoft 3D Tools to upload your STL and try to automatically detect and fix issues with your file(s).
`rounding error` That explains a lot. I often have to add or subtract a tiny fudge factor (eg 0.001 mm) when I'm using OpenSCAD to make it unambiguous when two faces or lines would otherwise coincide. Now I know why I need to do that *and* why it works.
It's been a while since I've had some better CAD tools available, but I think there's an inverse correlation between price of the CAD software and how often this error occurs lol I mostly use the free version of Sketchup and this happens almost every time. I ended up downloading solid checking plugins to avoid bad prints.