Fixing a messy boolean operation I'm splitting an object with a plane using a boolean modifier as described in Split a mesh with a plane. Roughly:


Duplicate the object.
Add a plane.
Apply an intersection Boolean modifier to the original object.
Apply a difference Boolean modifier to the duplicated object.


I did this twice to pull a thin slice out of my object, and the resulting mesh is much more complicated than it could be. I'm slicing with unmodified planes so the big main faces are actually flat, big end up broken up into many crazy smaller faces.



I'm imagining the cleanest slice would be a topological cylinder. Is there some way to get a cleaner slice than this (python manipulation is fine) - either a method to make a nice slice directly, or a way to clean up the slice I've already got?

Here is what I imagine as an ideal mesh:
I don't believe you can get a better result from a boolean modifier, they are nearly always messy, however, there are several ways to clean up a messy mesh. 

Method 1:
Rather than fixing it by hand it might be easier to just add a 'Remesh' modifier which will try to convert the mesh to a quad based mesh.

Setting the remesh modifier to 'smooth' mode and upping the Octree Depth (think of it as resolution of mesh) will result in a cleaner mesh. 

However, to get the the mesh as smooth as you want it may mean the resolution of the remesh would have to be quite high, but even at a lower resolution it can be a good starting point.

You could use a lower level remesh modifier and then a subsurf modifier after that to smooth it out again.

Method 2:
Another method is to select all the faces that make up the bottom of the mesh press F to make an ngon and then choose Ctrl + F > Poke Faces to subdivide them again. You would then also have to repeat this for the top of the mesh.

This should result in the 'topological cylinder' you mention in your question.