Stretching an object 1D while orienting it on a surface

Hi all.

Here’s the the scenario :

Starting from pt1, I want to orient the solid object located in the center on a target curved surface, between ptA and ptB to get the result display on the right.

My question is, is it possible to stretch the solid object in only one direction while positioning it on the surface ?

The 1D option available with the _Orient command has the behavior I’d like to replicate when using the_OrientOnSurface command.

Actually , what I get is the scenario on the left ( Scaled uniformly in XYZ ) whatever option I choose in the option window.

Thanks in advance for any advise


Hi Rodolfo - no, OrientOnSrf does not have this, the mechanism is completely different. But Flow, or FlowAlongSrf might work, or might be made to work - I’ll have a play.


Thank you for your quick answer, Pascal.

I was expecting such answer and unfortunately, FlowAlongSrf is not the best strategy here for the intended purpose.

The need here is to orient many iterations of the same object directly on the target surface.
FlowAlongSrf leads to extra steps and a completely different approach that contaminate the making of decision.

Does this mean it is not possible to dynamically scale non uniformly the object with that command as it is actually developed or is this just a arbitrary logic that has been applied ?


Hi Rodolfo - the OrientOnSrf uses the ‘UDT’ refitting and deformation ‘morphs’ from one space to another - very different from a scaling operation.


Thanks you for the clarification, Pascal

This is the end of my hopes.


something like Splop i guess, but with the extra option of scale 1d (scale U/V)

Hi Encephalon

Because of the procedure used I would stick to the _Orient logic.

I my case, the intent is to take a ref object located on the ground
Keep the width ( Y ) and height (Z ) safe
Then pick two target locations ( A and B ) on a doubly curved surface and get the Length (X ) scaled according to the distance between A and B.

Repeat that procedure on the fly ( continuous command ) to get X iterations located elsewhere on the surface like _Orient permits.

… Having UDT tool that allows to morph the Bbox of a source object located on the WTop Cplane in the desired direction using two ref pts ( center + dir ) would be helpfull.

But this won’t happen as it is a too specific scenario.


there is ScaleByPlane when you chose object it kind of works like a scale but i does not seem to work accurately, maybe it is also not intended for it.

in this case i am also at the end of my latin and would have to recommend grasshopper for this task, a simple definition made to use with grasshopper player can be a handy tool if you would like to intuitively work in this manner.

but maybe FlowAlongSrf with history turned on could also work. like that you make your rough layout on the ground surface and fine tune it, having the flowed objects update instantly. not as intuitive but still gets the job done i think.

Well, Rhino native commands are always my first choice, but I guess I will have to play with Grasshopper to see if I can kook something for this case.