Rebuild Surface (from curve) - Not working

After extruding a surface from a curve, The rebuild surface command does not open, it defaults to Rebuild (not giving me the control points I need for u/v directions.

Rebuild surface works fine with other surface commands.

What do I need to do in order to extrude a surface from a curve then properly turn on the rebuild surface command?

If you extrudecrv the object will not be an Surface but Open Extrusion. Maybe copy the line and use loft to solve it. Dont know a better solution. Maybe someone else?

Thanks jordy!

Your method seems to work just fine.

I have seen in tutorials however an extrusion working as a surface, There must be some setting to turn an extrusion into a surface?

ConvertExtrusions will convert existing extrusions into surfaces/polysurfaces. To stop Rhino from creating them in the first place, UseExtrusions=No.

Cheers, --Mitch

Hello- this is a known bug in Rebuild I believe- it sees an extrusion and these, being different from surfaces - defined by the generating curve and not NURBS surface data - it gets the wrong idea about what it needs to rebuild. You can Explode and extrusion object to a surface, or use ConvertExtrusion, then Rebuild.


Wow! Thanks for the input Guy’s! I’m up and running and on my way!

This issue is cropping up for me at this time.

Neither Rebuild nor ConvertExtrusion will work on the extrusions I create.

I can explode them and rebuild the individual surfaces, but attempting to join those surfaces to create a rebuilt polysurface requires insurmountably time-consuming and problematic joinery.

Hello - please post an example and also indicate what you want to achieve by rebuilding - there may be a better way.


I need to adjust the diameter of this tunnel which slopes along a diagonal axis and then becomes horizontal.
When I scale it in width with the gumball, it becomes 50 times the digital size. And I still need to scale different parts of it in different ways. But working with cage edit won’t work (I assume because of its size.) So I figure I need to rebuild it. That doesn’t work unless I explode>rebuild it, but the rejoining the resulting rebuilt surfaces is unfeasible.

Won’tRebuild.3dm (7.9 MB)

Here’s a crack at it -

ExtractSrf & Rebuild the tunnel to clean up a little, replacing the original - still fairly dense.
Rebuild again, with a low point count along the tube - don’t delete the input.
Use the second surface to control the first via CageEdit, with PreserveStructure=Yes.
Move or scale rings of points as needed.
When done, MatchSrf for Position at the two ends of the tunnel, back to the planes at the ends.
Delete the cage.

Won’tRebuild_PG.3dm (3.7 MB)


Thanks Pascal. I follow but I’m not sure what necessitates this step:

Well, the ends, after the rebuild, may no longer quite hit the edges where they started at the end planes, so Join may fail.


Ah. After extract srf I won’t be dealing with polysurfaces but individual surfaces. I get it.

For lighter extrusions with many more surfaces, is this also the technique? This is essentially one hole surface through an extruded polygon. Wouldn’t a polysurface with a great many facets (and therefore surfaces) be a challenge with this method?

I create a lot of extrusions in my work, but rebuild and F10 doesn’t work for them. Solidpton solves the second problem, I realize.

Hm. I’m not sure I follow - there is nothing extrusion-ish in the file you sent. In general, editing individual surfaces is perfectly reasonable and expected in the Rhino workflow.
A polysurface with a lot of faces would be handled the same way if you wanted to modify one face.


Well, that shape I uploaded is an extrusion. Or it was, from a simple polygon. I did a boolean difference to it, using a lofted positive of the tunnel to carve the tunnel out of it. I edited the points on it a bit also.

I start most of my forms by extruding curves. This was a relatively simple polygon. But some are multifaceted curves creating more complex shapes. Can’t I cage edit or rebuild them as a whole and keep them intact ? Can’t I rebuild an entire polysurface to simplify it? Like with meshes?

Well, it might have been an extrusion when you first extruded the curve - depending on how your command UseExtrusions is set - or it might already have been a polysurface if UseExtrusions output type is set to Polysurface. But no matter -

all of the above modifications would have turned an extrusion object into a polysurface anyway - that’s just how it works.

CageEdit, yes. Cage Edit works by deforming the entire object. However most likely the object will become more complex (in terms of NURBS control point structure) than before.

Rebuild as a whole on a NURBS polysurface is not allowed in Rhino because it is an unreliable operation. This is because polysurfaces are really just a bunch of trimmed single surfaces “stuck together” by Join, their edges are within tolerance to each other at the joints. When you rebuild surfaces with fewer points to simplify, the edges can change, so rebuilding all of a polysurface’s individual surfaces would most likely result in the joints pulling apart. (You can actually try this yourself, explode a complex polysurface, Rebuild all the individual surfaces and try to join it back up into a whole again…)

This is different from meshes, which are really just a collection of points in space connected by a theoretical network of lines. So you can easily deform them locally and globally as one object.

You might want to have a look at the following nice thread for some mesh-surface differences and discussion.

Thankyou Helvetosaur. Some revelations there.

It leaves me wondering one thing: For this all to be the case, cage edit must automatically make adjustments so that joined edges stay joined (i.e. stay within tolerance). I am surprised that’s not the case with rebuild; but I am guessing that it’s because rebuilding more than one surface necessitates so many possible local changes at the joints that an algorithm can’t choose one without risking significant distortion; and that offering control of this involves too many variables to offer feasible controls to the user.

I don’t know how CageEdit or any of the other UDT tools actually work mathematically, but what I do know is that after most transformations, the resulting surfaces have many more control points (i.e. they have been “rebuilt” with a larger point count). I believe this is needed to give enough “flexibility” to the model so that everything can stay together while being transformed. You can try it yourself by cage editing some object and looking at the before and after isocurves.

Thanks. That’s a much simpler explanation than what I was going for.

Note if you cage edit single surfaces, you can set ‘PreserveSytructure=Yes’ as I noted above, and you don’t get the densifying effect.