Scale Polar?

Occasionally, I need to do the equivalent of a scale1D, but polar about a point. I’ve been using FlowAlongCurve, but it’s kind of a process. Is there any kind of a Scale Polar or Stretch Polar command?

Something like this:

1 Like

Hi Hans - No built-in way or good workaround comes to mind I’m afraid.



Try making two spherical caps. One roughly lining up with the thing to be scaled, and the other being the result of the spherical scale on the first. Now call FlowAlongSrf with the first as the base and the second as the target. This should give you want you want. I’m not sure how difficult it is to get the spherical caps right. You may have to play around a bit.

Spherical scale.3dm (38.9 KB) Use the blue as base, black as target to scale the red thing.

Is this about different scale factors in each direction, or scaling as if the object was embedded in a sphere which was changing size?

One polar axis at a time would be great. The radial direction isn’t the same as a global 3-d scale, it’s what you’d have if you were able to leave the base sphere alone and scale outward (or inward) from there.




Hi everybody!
I’m also missing such a feature…
scaling in 1 or 2 dimensions, but leaving objects in place!
I design watches so usually I have text o dashes to position in a radial position.
It would be great to scale them e.g. in height without moving them away from their baseline.

History function is a great help, but does not work in all situations…

It would be a great addition to Rhino!!!

I would call it “Radial scale (1D or 2D)”

1 Like

Hi Mirko,

It might be you are helped with the command _TestScalePosition
Check the commandline for the options 1D 2D or 3D.



I posted a Grasshopper definition in this discussion

that may help with this type of scaling as well…

1 Like

Hi Mirkos - Without affecting the baseline … .one way out might be to make the layout as a linear one initially and then Flow (Rigid=Yes, I would think) from a line to the circle, using History. Then, you can scale1D the originals and the copies should update.

Here’s a quick example- the spacing is a little rough, but you’ll get the idea.
ScaleRadialViaFlow.3dm (391.4 KB)



Great Willem!!!
I didn’t knew this command… Cant’ find it even anywhere so I create my own button… :wink:
Thanks a lot!!!
This helps a lot, as I can now simply scale in 2D and then reposition!
I often have to correct graphics a few fractions of mm’s and check on the visual appearance.
Working dynamically (and with the help of the history function) is crucial.

Also thank you pascal! Flow + history is very powerful!
I actually work like this sometimes, but working “indirectly” can be a bit abstract…
That’s why I was looking for direct “radial scaling and modifying” commands!

It happens I need to project or extrude and cut the type on an inclide surface (in watchmaking called: rehaut or inner ring) and check on its (stretched) appearance.

If I manage to not break the history this is good dynamic or “parametric-style” workflow!

Thanks a lot for the help!!

(Grasshoper might be of help too, but I didn’t get around on learning it yet…)


This would even be better if the font could be changed!
I wonder if I can use the annotation text instead of this one… as it seems editable…
I will make a test!

Thanks again Pascal!

I’ve been having really good luck with FlowAlongSrf for the types of operations I’ve been doing with this, even doing handy stuff like remapping between toric and spherical base surfaces.

When I have some more time, I’ll try to write up a method for this.

I’d add to those requesting this polar scale feature. Would be very handy!