← All ideas
  • Published 16 Aug 2019

Set absolute rotation

the ability to set an absolute rotation of object(s) with respect to a coordinate system would be useful.

83.3%

Development Status: Incomplete

Upvote 5 Downvote 1
richard
16 Aug 2019

13 Comments

Josephbburg

This is easily done with basic python.

richard Author

* @Josephbburg * I did tryed googling this but had no success. The little info that I did find, fried my brain as I am not a programmer. I would be interested if you could illustrate your answer with some code though.

Josephbburg

* @richard * It is a little tricky to explain, but what you have to do is get the matrix of your coordinate system with mathutils, or from the object itself (ob.matrix_local, for example) and then apply it to your rotation:

mat = ob.matrix_local
rot =mathutils.Euler(12,13,14)
other_ob.rotation = mat @ rot

Somthing like that. After writing this down I don't think it's as basic now! I guess when you get used to doing it it seems easier than it is. But it's really kinda mathy. But really I think everyone should learn the Python and how the math-parts interact, at least at a basic level. You work with the computer every day, might as well learn it's language, right?

1
richard Author

* @Josephbburg * Many thanks for the reply. This is as I feared! I will try to find a tutorial, but so far I have no found anything that is both complete or relevant.

jason

How would this differ from using advanced numerical input or entering rotation values in the Sidebar?

richard Author

* @Jason van Gumster * I mean setting absolute values and not relative changes to rotation.

jason

* @richard * For verts/edges/faces, or objects?

richard Author

* @Jason van Gumster * I was thinking of edges, faces and objects.

jason

* @richard * Objects is already doable in Object mode from the Sidebar. For components like verts, edges, and faces, that's slightly more difficult because the rotation needs to be relative to some specific point/edge/plane. Aside from their normals, those individual components don't have a localized coordinate system. You could say you want it relative to the global coordinate system, but there's still the question of what point you're rotating about. My suggestion would be the 3D cursor.

I think for this idea to be at all actionable, you're going to have to make a few mock-ups that show how you think the interface and workflow might behave in Blender's interface.

richard Author

* @Jason van Gumster * I see it as being useful when trying to ensure symmetry of a mesh not on a rectilinear grid. I often utilise user defined transform orientations but still miss the ability to set absolute rotation.

jason

* @richard * Then I suggest you make a mock-up that illustrates the workflow you want.

richard Author

* @Jason van Gumster * I want to be able to take an edge in edit mode and assign an absolute rotation to it.

richard Author

* @Jason van Gumster * After reading your reply I looked again and it became clear that assigning an absolute rotation to objects is not doable without specifying an object axis.