A bunch of mesh components break nGons, and pentagon faces on subDs are common enough that this can be a problem when moving subD objects to mesh and back.
Somebody made a python script that adds ngons to meshes, but it’s just calling _addNgonsToMesh, so it won’t fix non-planar ngons.
The subDcontrolpolygon component preserves non-planar ngons. I don’t remember all the mesh components break them. I know explodemesh
breaks them. I also remember that when I was writing this definition, I had to convert to breps and back because mesh components were breaking up planar ngons.
I see these issues as a good case for creating a subD join
component. Either that or a lot of mesh components need to be rewritten with a “preserve nGons” boolean toggle input.
Is there separate subD join in RhinoCommon? could a python component run it?