Are self intersecting meshes dirty from a 3D printing perspective?
I have never much cared about self intersecting meshes when slicing with Cura. Geometry like the one below are often practical. I for instance add lots of rivets that self intersect with the base geometry:
Now I have switched printer, and am using Simplify3D instead. All of a sudden, I get lots of problems with these models. The intersection of the objects become hollow. Simplify3D has a setting to join the outer solid shell but it also fills holes (such as the center hole of a gear).
I make models to sell so this is a big deal for me.
EDIT: Also, they printed perfectly fine in formlabs "slicer".
Self intersecting meshes are considered dirty, yes. The reason you haven't had trouble before is probably that the software you were using was cleaning your mesh for you, behind the scenes.
Generally speaking, these meshes can be cleaned without too much trouble by software like netfabb (https://www.netfabb.com/) which has a nice free version that I use for basic cleaning of some of my meshes. A quick google on "netfabb free fix mesh" should turn up a tutorial or two.
If you're interested in learning more about an operation you can use to make this a single unified mesh, it's called a Boolean Union, and the blender project has a nice (open source, I think?) implementation of such: (https://www.blender.org/manual/modeling/modifiers/generate/booleans.html)
Except for the netfabb free version there's a free online STL repair service (based on netfabb) at https://tools3d.azurewebsites.net/ also, every copy of Windows 10 includes an app called "3D Builder" that does not actually build 3D models but as a pretty good auto-repair feature
hmmm, so joining the separate closed but intersecting meshes like the cubes in the OP's image is one thing, but do you know if netfabb and blender can also fix self-intersection on a single connected mesh?
@Andy Netfabb has the ability to fix *some* self intersections, yes. However it is case-by-case; generally if the self-intersections "aren't bad" Netfabb can handle it -- but it can be tricky to perform complex self-intersection resolution, because it eventually converges into something quite similar to mesh booleans as described above.