Orient on Mesh or Polysurface

I need a version of orient on surface that lets you use polysurface or meshes.

The problem with only one surface is that sometimes you need to populate the same object all around a part, and frequently the surface you selected is not big enough to cover the area you want.
If at least you could convert the part to mesh and place all the objects at once, that could be great.
Is there any hidden tool for this?

Hi Joaquin - what I do sometimes is Drape across the multiple surfaces to create a new target surface that is hopefully quite close to the real target object.


Thanks Pascal, interesting method!
I also use a workaround sometimes with contour and loft, to create the single base surface.


So it’s 2020 and no sign of “orient on mesh” оr “orient on polysurface”. :frowning:

That feels like the least of 2020’s problems. But no, there is no tool for that…



It would be a powerful tool though(!) and would continue to make Rhino a one stop shop for all things 3d for our business. Rapidly producing extruded text labels on polysurfs and meshes would be greatly simplified with this addition to the toolbox.


+1 to that

Hey all - what would you expect to happen if the oriented object crosses a G0 edge on the target? Like, the corner of a box, to take an extreme example… what should happen there?


hi Pascal,

Extreme case / best case scenario: allow to TAB [or other key] through the normal at each adjacent faces’ point and also the sum of all adjacent faces normal vectors [default] - so Normal to the box corner is a 45deg from each adjacent faces.


Hi Jarek - I’m wondering about the deformation of the object around the corner - presumably that is the context of the request, right, not a rigid transformation? On a fairly dense mesh and no serious hard corners, I can imagine the target could be a patch surface behind the scenes and the result could be about right, but on a G0 polysurface, - I just don’t know what if expected - maybe a mess is OK and users would apply this where it makes more sense.


Hi Pascal,

I have no idea what to do if the deformation was to be applied in case of meshes / polysurfaces, so I have no suggestion here, it is tricky for sure. So I was only thinking about the “Rigid” option, which would have a lot of use on its own.

This approach may work as it is the case with many other Rhino commands:

Hi Jarek - for a rigid orientation, then a face on a polysurface is enough of a target…? @carvecream - what exactly would be the goal for you to orient on a polysurface?


I would think so, I personally would not find orienting to vectorsum on edges/corners too helpful, but maybe there are some other use cases where it actually could be handy, instead of figuring that out manually.


Hm… OrientOnSrf uses a tangent plane with origin at the first pick point as the target - that can be found on a mesh face or a brep face - I guess what I am missing, in the one case of a polysurface as the target, and a rigid orientation, is what is wrong with how it works now? I think that is handled, unless there is some other consideration. For non-rigid then, my questions above…


pic attached. Example shown is a simple booled intersection of two cylinders. This is a closed polysurface. Orientonsrf will only allow picking one of the composite surfaces at a time. Would be nice to be able to array along the whole span of the polysfurface w/o being limited by patches. I understand there could be some math difficulty here.

Hi Pascal,
One thing that could be improved/added to this command is taking PolySufr/Mesh input, or many of them at once, and just use the current face/brep subsrf under cursor as input, instead of having to pre-pick a surface and be limited to it until the command is over, especially when making multiple copies. In other words, allow multiple objects/surfaces/meshes as input for base surface.

Got it, so for multiple locations, that makes sense, thanks.
@jarek - I think I get it now, thanks - =) it seems more of a UI refinement and not the actual orientation results that need to change.
RH-63180 OrientOnSrf: allow multiple targets



yes, from my standpoint that was always the biggest limitation. thanks!

If you wanted to make it really awesome, allow mixed input for meshes and surfaces/polysurfaces, and add a switch to orient to Normal or just keep original orientation without it being affected by the Normal :slight_smile:

I guess that might be relatively simple, but @dale tells me multiple targets is a bigger deal than one (like, me) might think, given that it has History…