Options/settings for Subdivide command in WIP - Bug?

Are you looking for ToSubD?

Hi @Mahdiyar
Nope, this is the direct implementation of the Catmull-Clark subdivision. If you use Subdivide in Rh6 you get a set of command line options (subdivision level, whether to maintain corners/creases and whether to delete input). In the WIP it just executes with no settings available in the command line.


ToSubD command has MeshCreases, MeshCorners and DeleteInput options.
You can use Subdivide command on SubD objects as many times as you want.
You can use ExtractControlPolygon to extract underlying mesh:


Is that what you’re talking about?

Hi @inju and @Mahdiyar
Ah, yes, you are both right - thanks! But still… It’s a somewhat tedious route for something that used to be quick. Let me explain: I’m using Subdivide to refine meshes on bought 3D assets, where often some details are a bit to rough for close-up renders. Instead of re-modelling, often it’s enough to subdivide once or twice. It might kille some of the finer details, but at least it rounds the meshes off nicely. Having to convert to subd is no problem on simple geomtries, but for a full car body, it becomes a little heavy.

Having the options available directly in the Subdivide command is just a LOT quicker! Maybe this will be my opportunity to sink my teeth in the GrasshopperPlayer and make my own little command with Weaverbirds Catmull-Clark :slight_smile:

For such a task there is a QuadRemesh.

@inju - I know, but it’s still a LOT slower than what we currently have in R6. I don’t need to re-mesh or re-topo the geometry. I just need to add one or two rounds of Catmull-Clark subdivision, and currently that takes less than a second by calling Subdivide once or twice.

Hi, Jakob,

I made this change in Rhino 7 several months ago to eliminate options that confused some users and have SubDivide do what most users want most of the time. You are the first person to say the removed options were useful.

The removed V6 options were

SubDivisionCount = 1 or 2
Creases = Yes/No
Corners = Yes/No

My understanding from reading this thread is that you are using SubDivide to edit an ordinary mesh object. (Input = mesh, output = mesh).

Of the 4 R6 options, which ones did you regularly use and why?

Can you post a V6 .3dm file with example input meshes in it along with the V6 SubDivide options you used on those input meshes?

This will help me get a better understanding of what to consider putting back into V7 and how to handle defaults and other UI considerations.

– Dale Lear

I understand you.
in WIP SubDivide you can start as many times as necessary.
Or another InsertPoint command.

Hi @dalelear
I’m just now moving my production work to V7, so that’s probably why I haven’t noticed before. I’ll try to explain my use case a little better, when I get to work tomorrow, but basically it’s subdividing coarse meshes, so that they’ll render with no visible mesh edges in Keyshot - but I’ll show’n’tell tomorrow :+1:
Regards, Jakob

Hi @dalelear
I dug a little further, and it seems that it’s NOT the settings - it seems as if the level of subdivision or maintaining creases/corners has nothing to say in this matter. I’m not really an expert in mesh-lingo, so I’ll try to explain. Look at the attached screen grab.
The part is from a car dash that was bought as a mesh model, and in order to get a smoother mesh for rendering, I use Subdivide to smooth the rather coarse mesh - usually once or twice depending in the level of detail needed.
As you can see, the V6 version “interpolates” the coarse mesh, making it more and more soft/round for each round of subdivision. The WIP version “just” subdivides the existing polygons in their place, adding the needed faces, but not rounding them off. So it might be a completely different command I need? I’ve tried to see if the weld angle would have anything to say, but I can’t seem to find a solution that works. Am I barking up the wrong tree? File attached (in V6 format) for reference.

Subdivide V6 vs WIP.3dm (601.1 KB)
Thanks in advance,

Any grid in 7 WIP can be smoothed with a single click of a button, in a very short time!

Hi @inju
Yes, but AGAIN, that’s not the point here. See video for V6 and WIP below. V6 is a LOT quicker than V7, yes (the vidoes are 7 seconds vs 1 minute and 40 seconds long, respectively)? Actually the V6 version was subdivided 2 times, but I wasn’t sure if my computer would crash, if I subdivided what was already a MASSIVE Sub-D object another time in V7. Also, using ExtractRenderMesh on the Sub-D is not really an option, as those meshes are way too detailed - 6.000.000 faces vs. 387.000 faces in the V6 version in this case. I just want Subdivide to give me the same result as in V6 without having to convert to sub-d and extracting the control polygon.


Sorry, but so many faces did not SubD, and your approach to working with the model.
If SubD features in WIP 7 for your modeling method are not in demand, you can use the Rhino V6 version, I don’t see a problem here.
Success to you!

Hi, Jakob,

I finally had time to look into this.

In V7 WIP SubDivide on a mesh leaves existing vertices in place.
Apparently, in V6 SubDIvide treated the mesh as a Catmull Clark control polygon and subdivided it.

One workaround for the current V7 WIP is to

  1. Use ToSubD to convert the mesh to a subd (deleteinput = true)
  2. Run SubDivide on the SubD.
  3. Use ExtractControlPolygon on the SubD to get the Catmull-Clark subdivision of the input mesh as a SubD control polygon.

I’m still trying to understand why this change was made.


Hi @dalelear, I was trying to do exactly what you suggest here yesterday, and in the process I realized I was losing all my mesh UV information: BUG: ToSubD is losing mesh UV coordinates

Do you know why that’s happening?



That means you missed my post. The way it behaves in V6 is useful for meshes that are otherwise smoothed during rendertime. In fact it would be much better if objects could subdivide at rendertime.

@dalelear any news on subdivide for meshes in V7?

V6 (what I want):


subdivide in V6 gives me these options:
Command: Subdivide
SubDivide options ( SubDivisionCount=1 Creases=No Corners=No DeleteInput=Yes )

V7 gives me no options

1 Like

I’ve created RH-62762 to add support for meshes to the Rhino 7 SubDivide command and do it in a way so the public C++, .NET, and python SDKs have access too.


sorry, it wasn’t very clear to me. I too want to use SubDivide but using python API. I want to do that for only selected meshes in my entire model. How can i do that?