User Coordinate Spaces
Open, NormalPublic

Description

I would like to implement 'User Coordinate Spaces' in Blender and would like feedback on the idea and workflow.

The basic idea is to be able to define new coordinate spaces (like in Transform Orientations) and use that as if it is the world. It would affect:

  • the grid (so it is visible what is the working coordinate system)
  • the numpad view navigation, home key and all other view commands
  • quadview
  • transform system (the axis locking are the axes of the selected UCS)
  • walk and fly modes
  • all other operators who use the Global transform would be using instead the UCS

I would propose to make a new list of coordinate spaces that is attached to the scene.
This list would have the 'World' coordinate space as predefined default and would hold all the new user defined coordinate spaces.

The user could define new spaces that are aligned with objects or in some useful alignment of the scene and switch to them for viewing and editing. This would be very useful to edit an object in place or to model something as in this example image.
The feature is opt-in, the default space is the 'world' and if no new space is created and selected everything will work the same as now.

Left to discuss is:

  • a good interface to define a new coordinate space (easy positioning: align to object, view, face.. and wiggly widgets from antonis to view and edit the result?)
  • the interface to select and manage existing spaces (UIList, rename, modify)
  • quick switching of spaces
  • possibility of having also automatic UCSs in local view or depending on data selection. Example: have a 'local' predefined UCS that will mean the local space of the selected object without the need to setup the space previously. This can be tested and better discussed *after* doing all the rest.

Details

Type
Design
Inês Almeida (brita_) updated the task description. (Show Details)
Inês Almeida (brita_) raised the priority of this task from to Normal.
Inês Almeida (brita_) claimed this task.
Inês Almeida (brita_) set Type to Design.

I understand that this should be another transform matrix applied at whole objects on the scene, in order to match the default coordinate system ¿?

Hey @Inês Almeida (brita_), sorry for taking so long to get back to you on this...

User Coordinate Spaces has been on my personal wish list for a long time, so it's great to see you wanting to tackle this.

An initial question: How would this coordinate with the Custom Transform Orientations? It seems to me these should be combined.

This comment was removed by Jonathan Williamson (carter2422).

Despite of opinion of some developers, I think this would be a feature "forgotten to make long versions ago" and maybe from very start as I see it as one of basic operations with object coordinate spaces.

I would suggest or make sure it's implemented some couple of things:

  1. Make visible also axis of objects, but those can be switched on/off in order to customize viewport. At the moment this role is only on manipulators and they don't allow to see where axis are traveling through.
  1. Rotation of axis in object mode with snapping option, by default - parallely to view plane.
  1. Dragging origin point on object mode parallely with view plane, optionally with snapping.

Is this still being worked on?

It would really be a great addition to blender.

There already is the custom transform oriëntation, but for a true UCS system it also needs a 'custom transform origin'.

and in the ui there needs to be a way to select the ucs in all the tranform panels, with the values updating relative to the ucs.

Hi Frederick, this is currently not being worked on, but not forgotten either.
I started this project, but meanwhile I got a full time job, which means that my free time for projects is not much.
Anyone is free to grab this task and it has been submitted as a possible google summer of code for this year, so it could be picked up.

This comment was removed by Megha Shastry (m_shastry).

You can check mechanical blender approach

https://vimeo.com/181214160

I would suggest to at least attach the sole example image to the ticket itself, as right now the link is dead :'(