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)