Hello everyone!
From what I have gathered as a new user, in Rhino 5 objects do not seem to have an actual local coordinate system (LCS), like most other 3D programs I have used so far, do. Is that correct?
I’m recapping here something you guys surely know, for the sake of discussion - in 3ds Max, Maya, Cinema4D, Blender, Softimage (god rest it’s soul) etc. every 3D object has a LCS (a transformation matrix, data-wise) called pivot/axis/whatever. The translation part of the matrix defines the object’s center (where it is rotated/scaled about), and the rest of the matrix store rotation/scale/shear values. Whenever an object gets to be drawn, all of it’s points are transformed by the LCS first.
The matrix is always displayed in some panel, and can be edited, numerically, or interactively with some viewport widget.
Also, hierarchies can be built, which means that the children are also transformed by their parent’s objects LCS, cascadingly.
Additionally, some programs (Max, Softimage…) also sport a ‘temporary pivot’, which adds the flexibility to quickly rotate/scale around other points that the local pivot, so it does not have to be ‘destroyed’. (C4D lacks a bit here, btw…)
Ok… in Rhino, all this is kind of confusing… or let’s say ill-conceived?
The Gumball seems to combine a LCS and a temporary pivot, but in a peculiar way.
Because, if the Gumball is set to ‘Align to CPlane’, it stays permanent after relocating it, after deselect/select, and even save/reload(!), for all objects. But the moment I switch to ‘Align to World/Object’, the relocated Gumballs of all object ‘reset’. Not good!
Also, I would expect the BoxEdit panel to be the place to edit the transforms numerically, but only position and size are remembered/displayed, not rotation and scale.
Also, other programs can switch to all sorts of different reference coordinate systems (Global, Local, Ref, Plane, View, etc.). Rhino just has ‘World CPlane’ and ‘Current CPlane’. The most important missing here being ‘local’ - which I would expect to be the Gumball.
In fact, ideally, the LCS and the Gumball should be two different things, just like in Max or Softimage. The Gumball could reflect the LCS if it is set to ‘local’ mode, or be relative to some other reference coordinate system, but it should also work as a ‘temporary working pivot’.
Also, ref coord switching could be unified across the Gumball’s ‘Menu ball’ and the BoxEdit Panel.
Do I make sense so far?
Just checked Bongo… it adds pivots and parent/child hierarchies, but the pivots are sort of ‘proprietary’ - they are only used inside Bongo. The Gumball ignores them.
Also, the Bongo ‘Monitor’ panel is actually just that - a monitor, you cannot edit the values. So it’s no replacement for the BoxEdit panel.
I am willing to accept Rhino having a different approach to things, but after all, local transforms are a fundamental concept in 3D, and mighty as Rhino is, it seems to be lacking here. Or am I missing something obvious?
So, to sum it up, I would like to edit object transforms numerically, and use the Gumball to reliably reflect an object’s LCS, so I don’t have to relocate it all the time.
Are there any plugins/scripts? Maybe some kind of replacement for BoxEdit, where you can simply edit the LCS?
That would require that a LCS (besides the Gumball) actually exists - or do Rhino modeling tools always ‘bake’ the point positions to world space?
Any plans for V6 maybe to add a pivot/LCS, or refurbish the Gumball?
Secondly: In other 3D programs, there’s always the concept of a ‘Null’ object, a LCS merely. Do we have something similar here? Do Rhino Points store only position, or a complete LCS, so they could be used as some kind of workaround for a local pivot?
Thanks for reading and any insights!
Best regards
Eugen