Doo Sabin Subdivision script

I found this old post from 2005 (16 years ago) -

https://blenderartists.org/t/doo-sabin-subdivision-script-now-available/334641

Credit to the author for posting it.

The thread is locked so I can’t bring it back to life.

I tried updating the script so it runs on blender 2.93

I’ve almost got it working - original mesh on left - and doo sabin attempt on right:



Here’s the code I have so far… it has lot of debug statements and needs a lot of work…

https://github.com/edzop/bpydoosabin

Making some progress -

1 Like

I’m having some problem with some use cases the vertex order is causing the face to be folded over on itself…

I have not been able to determine which vertex order or rule works with all use cases.

I really liked TopMod - the above shape reminds me of what I used to be able to do on TopMod.

The previous posts show some problems with the vert_face vertex ordering. Until that’s fixed I’m experimenting with the option of disabling vert_faces to leave holes where they would be.

The icosphere on the right has one level of doo sabin then a solidifier and catmull clark+ wireframe to highlight the geometry. The center object has doo sabin applied twice. Left object one level of doo sabin. It seems to be working on complex meshes with the exception of the vert_face center code (where the holes are). Will fix that soon when I figure out the best way to fix the vertex ordering issue.

1 Like

Same scene top view.

1 Like

1 Like

Doo Sabin applied once (red) and twice (yellow with more holes).



Top left - Original Mesh
Right side - Catmull Clark (1 and 2 levels)
Bottom - doo sabin (1 and 2 levels) with vertfaces disabled (the holes)

Testing on two different icospheres (top 3 subdivisions, bottom 2 subdivisions).
Left no doo sabin, center doo sabin once, right doo sabin twice.

I wrote this code so long ago and completely forgot about it, until someone dusted it off and brought it back to life.

I like what you are doing, and I like these renders!

3 Likes

A user interface has been added:

Experimenting with different generation options on shapes:

I was amazed by how tight and efficient your code was. I learned a lot of new things about python in the process of studying your code. - Cheers!