I have been waiting for this since Rhino 4! Illustrator has been doing it for a long while and I find it so useful to my work flow. Posted about it many years ago and I am so excited to see it being implemented!
This is great Giulio! Just from reading this I wanted to request block instance base point as another âspecial pointâ to add. I guess it would need to be a boolean since if you have mix of objects, non-blocks still need another special point defined.
How is the gradient defined? I did not have a chance to try but I imaging along X,Y,Z or maybe even along directional curve?
Another wish: random option but only from user-defined set of values (0.2, 0.4, 0.6, 0.8, 1 for example)
Also, why limit yourself just to Scale? The same can be very useful for other transforms (Move,Rotate). Not sure if you can combine all in one command or these are future commands. But if one command, they could be combined at once making it very powerful, like BoxEdit on steroids (big thing missing from BoxEdit was random option).
Iâve been using ''Box Edit" panel with the âtransform individual objectsâ option checked to come around this feature.
Following the same logic, it would be nice to also have something like âRotate eachâ.
In 3DS Max you can choose to apply transformations to the whole selection (as the whole group of objectâs âpivot point/gumballâ) or to individual objects âpivot points/gumballâ. That way you can just select what you need and apply the transformation to the selected group of objects. Works quite well
Thank you for posting this. Please feel free to let us know if you find any problems or have some requests.
Yes it might be nice to add âPeculiar pointsâ for objects, where these are not coincident with centroids. Our goal is to make this accurate. Gumball anchor points can help, but only at times. Block insertion points are some of these; curve start/end points, object minimae/maximae (if single and obtainable) might come in the future? Probably these will be added based on popular demand.
Currently, from a minimum to a maximum in order of selection.
OK; Iâll add this.
You guys are on fire!
About multiple axes, itâs a little different because each object needs a realignment plane, and this maybe could come from (axes of inertia?). I havenât thought about this enough.
RotateEach will surely be added if thereâs enough demand. Iâd like to get some feedback from ScaleEach to understand the needs.
Thanks guys for all the feedback so far. Keep it coming!
@piac If this was in response to my request for ScaleNUEach then my request was misunderstood. Iâm requesting ScaleNUEach to work similar to ScaleNU - separate scale factors in the x, y and z directions in either the World or Cplane coordinate system. NOT a different axis system for each object.
On reflection I agree with you, Array and ScaleEach are more distinctly separate transform tools than I had previously thought. I will delete my post here and make a new thread.
(as an aside: In Rhino, ArrayLinear only offsets each arrayed curve from each other, with the second reference point being the distance between each arrayed curve. In MoI, you can also array multiple curves within a set distance or within a curveâs extents.)
I see. Would it also be useful this way? Essentially, this would not need a new realignment plane, just a new base point for each object. Axes would not be changed. Correct?
Multiple section curves which will be used to create a surface, and need to change the proportions of each section curve relative to a corner of its bounding box but not the position of the section curve.
Thereâs a new âNUAxesâ option now, that should make what you ask possible. I didnât want to add a new âNUâ version of the command. See if itâs any useful!
@piac Thank you for letting us know about the new option.
A) A WorldCoordinates= option is needed like in ScaleNU.
B) The ability to apply a different scale fractor for each coordinate direction in one application of the command, like in ScaleNU, would be very useful. The function of the this option in ScaleEach and the function of ScaleNU should be consistent.
C) There are several problems with the interface which hinder itâs use.
Scenario 1: ScaleEach
Select multiple objects in response to prompt and Enter.
From= and NUAxes= options are no longer available.
Scaling is from object centroids with no other options available.
Scaling is uniform, not non-uniform.
Scenario 2:
Select multiple objects ScaleEach
From= and NUAxes= options are not longer available.
Scaling is from object centroids with no other options available.
Scaling is uniform, not non-uniform.
The first thing I tried was setting the Gumball origin for each object to the point I wanted them to scale from.
That didnât work or didnt seem to be implemented, but I can imagine situations where it would be useful. For example, if youâre scaling multiple columns in a building and you already know which corner of each column should stay anchored.
Ultimately, this kind of controlled, per-object behavior is something Grasshopper handles, since it starts to fall into the parametric realm.
If this was implemented I imagen it would be an option in the command line, âScale from gubal originâ