Projecting surface to a Mesh

Good day rhino experts

I 'm still struggling in rhino to push a simple NURBS surface to a mesh…The drap tool would be perfect for me but dosn’t allow you to define a shape for your surface to push to the mesh. The command just lets you window (rectangular)…

Can any experts send me on the right path…I attached an image to describe what I’m doing. The mesh is like a sculpted surface created from a scanned point cloud. Some of the mesh surface has deep grooves and I’d like to cover the grooves with surfaces join them to be water tight and extract volumes. Thats my goal…

Alternatively I’ve converted mesh to nurbs surfaces with mixed results…I would rather localize the modeling were the deep grooves are.

Like to achieve in vanilla rhino but have tried t-splines - not user friendly for me

Thx for any advise

Wow my first post to forum…and no love at all :cry:

You could trim the draped surface with the outline of the mesh or some other curve, then shrink… --Mitch

Mitch thx so much for replying…

Yer Im a little new to rhino and don’t know all the commands and things you can do with surfaces…I did think about trimming but was not sure how to go about it.

I think I understand what u mean the out line of the mesh used as a cutting knife. I can try I sure had no idea you could do that. I would have to make my drap window bigger so it extends past the mesh edge. Don’t sure if I do that it will drap properly though?

Ill try…Cheers again

It should drape OK. If the drape"falls off" the edge of the mesh, it will project down to the value either automatically determined by setting "AutoDetectMaxDepth to Yes, or you can set it to No and manually set the max depth. In any case you are going to trim that part off later.

Beware that you are creating a trimmed surface here, even after shrinking it will still be a rectangular grid of points, some outside the trim boundary. Check the help under ShrinkTrimmedSrf for a bit more info on the concept.


I would try the Patch command, using the red surface as a starting surface and Pull set to 0. The tricky bit will be getting the right inputs (vertices) from the mesh - the points that fall under the surface, plus maybe a few more at the edges.

Here’s an example:
PatchAMesh.3dm (2.1 MB)

You could also ExtractPt from the input surface, Project those to the mesh and use the result in Patch.



A good way to get familiar with Rhino modeling terms and workflows, is to skim through the Rhino User’s Guide, and maybe the Level 1 and Level 2 Training Guides. The training guides are intended for instructor led classes so start with the User’s Guide first.

All three can be found on the Learn page on the Rhino Web site.

Mitch thx for injecting input…I’m quickly confirming that this is more complex than it sounds…

In anycase I’ll read up on shrinking as thats a command/term I’m unfamiliar with. Does the drapped surface become an exact fit or best fit surface to the mesh?

Wouldn’t accuracy of drapped surface be determined somewhat by the mesh and not just the gridded surface from drap command?


Thx Pascal for the suggestion

I’ll give that a try too but not sure of the workflow you presented. I’m little more familiar with patch command but I don’t know how a surface patch would take on the definition of my mesh (at least in my head at the moment).

I’ve downloaded your example and I’ll see what I can determine from it.

Cheers again

Yer thx John

I’d love to be super efficient in rhino but its finding time while we output regular paid work. I think training in rhino is well worth it and I’ll keep plugging away at the training doc which I already have.

Most of the prior work I’ve done in rhino has been with developing terrain surfaces that are error free and can be used downstream in mainstream mechanical parametric CAD systems like SW and SE.


Maybe this is relevant?


Tried to reproduce your workflow from your downloaded file. I got as far as (2) projecting the border curve to the mesh. Every attempt I get this same response

“The projection missed the selected objects”. Thats it nothing else

This obviously makes sense to somebody but not me the second surface I created like yours is plumb in-front of the mesh…What would I be doing wrong?

Anyway I do like your workflow I just hope I can get it to work. I’ll create a new file and new mesh and start the test again.


Thx cdordoni

I would hope that vanilla commands in rhino could achieve this, its just unlocking the correct workflow which is the easiest to follow and repeat. Thats my first choice.

I did know about resurf3d and yes this appears to be the end result that im trying to achieve in rhino…I’m not to keen on their workflow thou plus I’d need to pay more for the tool…Who knows maybe the path I have to take in the end but I hope not…

Thx for pointing it out

Well Im stumped tried this workflow on a new file different mesh and same result:

The projection missed the selected objects"

Im missing something not so obvious to me??? Any help?

Im drawing the curve on the cplane at which I am viewing them changing the view and moving the curve back outside of the mesh to project from there. Perhaps curve can only be projected from the cplanes at which they are drawn?

R ha got it seems that was it…what a weird command seems project curve only works from cplanes and projects in opposing directions which appears hard coded. WHY would you do that?? Surely you can project curves in one direction??? Must be just I don’t know how to.


The closeness of the draped surface to the mesh will be determined by the number of points you give it - the more points it has, the more “conformable” it will be, but also heavier. You will need to determine how dense it needs to be by trial-and-error, until it has enough detail but also does not fall into the holes that you want to cover. Those two things may be at cross purposes so it may be difficult if the level of detail you want to retain is at the same scale as the holes you want to span over.


Yer thx Mitch

What I don’t get from your comment is how you give points to a drapped surface command in the first place. The command seems all hard coded from start to finish. Off coarse I’m new to it so I probably have not discovered this yet. Perhaps it is editable after created then u just change default configuration of the drapped surface?


Well, I give the same advice all the time to all the “beginners” in my class: Read the command line. If you start the command you will see this:

While in the command, if you press F1 (Windows) you will get the help for the running command. You will see the following:

So you can see that if you can either set a point spacing directly, or if you set autospacing to off, you can set a number of points in the U (X) and V (Y) direction independently:

Experiment a bit with these options and see if you can get results you like… As I said previously, it may not be possible. Pascal’s Patch alternative will work similarly, but you have some different options, such as being able to set the “stiffness” of the patch surface.


And of coarse I didnt pay attention to that detail in my initial creation. Sorry mitch I should have been more careful and READ everything.

Your in depth explanation is a great help to me thou :grinning:

I will give it a go with the shrinking command which I will READ.

Cheers Phil


Made it thru to 4a but that is were u lost me. However I see how, like u said I can patch from split mesh. I notice patch best fits and extends way beyond the split mesh boundary. Im sure there are controls over this. I’ll have to play with that but instead from here I performed meshtoNurbs which produced a polysurface which I believe is nurbs.

Anyway I’ve a lot more to do here so I’ll be adding to this thread as I work thru it all.


In your initial frustration with the Project command, you are bumping up against a simple constraint in Rhino that can be described a viewport dependency. You’ll get a different response depending upon your active viewport when the command is executed (and maybe sometimes depending upon the viewport in which the command is initiated). A number of commands are viewport dependent, e.g. Project, Rotate, Bend and drafting or drawing many curves, while others are not, e.g. Join, Split, Explode. It sounds like you are quickly wrapping your head around the concepts Rhino employs, and like any new endeavor, there will be a few bumps along the way. Luckily, this is a very generous and responsive forum, and there are wonderful instructions, support materials and documentation for a continually evolving bit of software.

Best of luck,