Wish: Override Layer Properties During Object Creation

I think the workflow for overriding an object’s Layer properties could be substantially improved by allowing them to be overriden from the start, during object creation, rather than after the object has been created.

A possible solution could be a context-sensitive menu that appears automatically whenever an object creation command is active, providing direct access to properties such as Linetype, Color, and Print Width without adding more permanent UI.

Normally, Rhino would remain exactly as it is now, with the regular toolbar tabs available.

When a creation command is started — Line, Polyline, Rectangle, Circle, Hatch, etc. — all tabs are deselected, and the container temporarily displays a compact set of Layer properties.

The default values would follow the current Layer properties, so nothing changes in the normal workflow. But when needed, any of them could be overridden directly while the object is being created. The change would apply only to the new object, without modifying the Layer properties globally, and without having to edit the object afterwards.

Once the command is completed or cancelled, the previous toolbar tab state would automatically return.

This would avoid adding another permanent toolbar or panel to the interface. It would simply reuse an area of the UI that is of limited use while a creation command is already active.

The idea is essentially to provide quick access to the current Layer properties exactly when they are needed, while keeping the existing Rhino interface unchanged the rest of the time.

Update:
Current Layer could also be included in the same contextual area. Rhino already provides quick access to it in the status bar, and conceptually it belongs to the same creation workflow: Layer, Color, Linetype, and Print Width are all attributes of the object being created.

This would bring the relevant creation properties together in one place while a creation command is active, without changing Rhino’s normal interface or workflow.

This ties directly into the broader issue of static vs. dynamic UI elements I mentioned here: [A related idea: optional automatic contextual flyouts].

A small update to clarify the idea:

I’ve revised the initial post and mockup to better emphasize the core issue: overriding Layer properties during object creation, rather than having to change them after the object has already been created.

Thanks to whoever added the Me too (the topic was originally in Serengeti) — apparently I’m not the only one who finds this workflow unnecessarily indirect. :slight_smile:

The context-sensitive properties area is just one possible UI approach, but I think it could provide this flexibility without adding more permanent UI or changing Rhino’s existing interface when no command is active.

@wim, @pascal — from a UI/development perspective, could something like this fit into Rhino’s future workflow, or is there another approach that McNeel would consider more appropriate?

@stevebaer, from a UI/development perspective, do you think something along these lines could fit into Rhino’s workflow, or is there another approach McNeel would consider more appropriate?

Hi Razvan -

Just set your default layer as required or change an object’s layer and get on with it.
-wim

I know, Wim — those are exactly the steps I’m trying to avoid. :slight_smile:
The idea is to override the object properties during creation, without changing the current layer and without editing the object afterward.

The contextual UI shown above is simply one possible way of making those creation-time overrides quickly accessible.

dear @badileanu - a workaround would be a toolbar with custom macros.
_selNone _selLast will select the last created / modified object(s)

sample - set new Object to “Demo” Layer:

_SelNone _SelLast _-ChangeLayer Demo _Enter _selNone

combine those macros with a nice template depending on your work / context.

Thanks Tom. Yes, that could be useful as a workaround for changing the layer after creation.

My proposal is a bit broader though — it’s about fast access to object properties during creation, not specifically about changing layers. The current layer may remain exactly the same; I may only want to override the linetype, color, print width, etc. while creating the object.