A command opposite to SubDivide would be great

A command to reduce globally the number of faces in a SubD object would be great IMHO

This would greatly simplify the task of reducing the number of faces that at the moment implies eliminating edges manually

Maybe this could be implemented as a right click on the Subdivide button



Hi Joao,

_QuadRemesh could do that for you.



Hi Joao - MergeCoplanarFaces and MergeAllCoplanarFaces may help in the meantime. I suppose Quadremesh on the extracted control polygon of a subD might also be a workaround.


Thank you both for the replies , I am going to try your suggestions


I wrote something a while back I’d been meaning to add as a tool, but here’s a script in case it is useful to anyone.
Given a mesh which was generated by a Catmull-Clark subdivision, it groups together faces into 4s to recreate the coarse faces.

Just doing this gets you the topology, but the shape will not be the same as the original mesh before subdivision, since the vertices get moved by the smoothing part of the subdivision.
Then I found and implemented bits of this paper [Lanquetin and Neveu 2006], which describes a neat way to recover exactly the original vertex positions just from the subdivided version.

This script gives the option to just to do the topological grouping, or to also do this vertex relocation.
Note that this will only work if the input mesh has fully Catmull-Clark topology - i.e. quad faces which can be grouped into 4s.

Reverse_Catmull_Clark.gh (21.6 KB)

For closed meshes without any valence 3 vertices it should recover the original exactly.
Valence 3 vertices require a slightly more involved procedure described in the paper to find the weights which recover the exact positions, which I didn’t implement here, but instead used an approximation that gets pretty close. If it would be useful the exact version doesn’t look to hard to add though.
Any naked vertices are just kept fixed, and I didn’t think at all about creases here, so it assumes everything is smooth.


Fantastic, thank you !

1 Like

This is super useful. I’d love to see an unsubdivide fuction native in Rhino.


@DanielPiker - so… do I have your blessing to make you a YT to add this functionality to Rhino?

RH-61918 Reduce SubD faces



Absolutely. Glad to hear it’s useful


Is there any new options on this front? I don’t use Grasshopper, so @DanielPiker awesome script won’t work for me, sadly!

1 Like