13
$\begingroup$

When I press G, R, or S and enter a number, Blender will move, rotate, or scale the selection relative to its local value. Is there a way to press, say R > 4 > 5, and then some other key to have it set the absolute rotation to 45° instead of incrementing it by 45°? I know how to go into the object properties or right hand toolbar and set the position, rotation, and scaling there, I am wondering if there is a keyboard way to do it (as there is for most everything in Blender).

$\endgroup$
4
  • $\begingroup$ Related: blender.stackexchange.com/a/1282/599 $\endgroup$
    – gandalf3
    Dec 3, 2014 at 19:05
  • $\begingroup$ There probably is, but I'm not aware of it. I only know of the methods you mentioned. $\endgroup$ Dec 3, 2014 at 19:14
  • 5
    $\begingroup$ AFAIK there isn't currently a way to do this. But if you can think of some good use-cases, then maybe someone will implement it ;) $\endgroup$
    – gandalf3
    Dec 3, 2014 at 19:28
  • $\begingroup$ Blender is painting/animation oriented. 3D artists don't use electronic drawing boards and T-squares, location/size are approximate. Users searching for a free CAD software to replace (AutoCAD, 3DS, Maya, name-it) are indeed disappointed by the difficulty to reproduce elementary CAD features like absolute move. For those in this case, there are interesting free projects filling this technical need. They are built over different 3D engines (e.g. Cascade) supporting engineering purposes. $\endgroup$
    – mins
    Dec 22, 2019 at 11:51

5 Answers 5

10
$\begingroup$

Not entirely the answer you're looking for, but at least for some cases it works nicely to do one or more of the following:

  • Object > Clear > Location Alt+G
  • Object > Clear > Rotation Alt+R
  • Object > Clear > Scale Alt+S

And after that make the transform and input the desired value.

Also, it's important to mention that after pressing move G, rotateR or scale S, you can define:

  • global axis by pressing X,Y or Z
  • local axis by pressing XX, YY or ZZ.
$\endgroup$
1
  • $\begingroup$ Or this method. $\endgroup$
    – mins
    Dec 22, 2019 at 11:05
3
$\begingroup$

In the special case where you wish transform a set of selected vertices at any varying Z's to a planer absolute Z, use keystrokes (in edit mode) "S Z 0" (Scale, Z-Axis, 0). I offer the following add-on to align a set of vertices on the 0-Z build plate for 3D printing (with one keystroke):

bl_info = {
"name": "Move To ZOrigin",
"author": "Ropodiak",
"category": "Mesh"
}

import bpy
import bmesh

class MeshMoveToZOrigin(bpy.types.Operator):
"""Mesh Move To ZOrigin"""
bl_idname = "mesh.move_zorigin"
bl_label = "Move To ZOrigin"
bl_options = {'REGISTER', 'UNDO'}

def execute(self, context):

    # Get the active mesh
    obj = bpy.context.edit_object
    me = obj.data

    # Get a BMesh representation
    bm = bmesh.from_edit_mesh(me)

    bm.faces.active = None

    for v in bm.verts:
        if v.select:
            # Zero the z coordinate to place this part of the object on the stage
            v.co.z = 0.0

            # Show the updates in the viewport
            # and recalculate n-gon tessellation.
            bmesh.update_edit_mesh(me, True)

    return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(MeshMoveToZOrigin.bl_idname, text="Move To ZOrigin")

def register():
  bpy.utils.register_class(MeshMoveToZOrigin)
  bpy.types.VIEW3D_MT_edit_mesh.append(menu_func)

def unregister():
bpy.utils.unregister_class(MeshMoveToZOrigin)
bpy.types.VIEW3D_MT_edit_mesh.remove(menu_func)

if __name__ == "__main__":
register()
$\endgroup$
0
$\begingroup$

Of course it is possible. Setting or getting absolute position, rotation and scale is really basic. Press N to get the toolbar in the right side of the screen, between the 3D view and the properties bar (in the default layout). In the Transform toolset, you get Location, Rotation, Scale and Dimensions, which are actually the absolute values.

$\endgroup$
1
  • 1
    $\begingroup$ As I said in my original post: "I know how to go into the object properties or right hand toolbar and set the position, rotation, and scaling there, I am wondering if there is a keyboard way to do it". $\endgroup$
    – PGmath
    Jul 23, 2017 at 21:39
0
$\begingroup$

A method would be that you first reset or apply the Position, Rotation or scale and then set it with the value you need.

For example if you have an object rotated by 15° but you want it 45° do the following:

To reset rotation press

Ctrl+a Applies the previous rotation

or

Alt+r Reset the rotation to 0

then

r 4 5

to set the new rotation.

That is what is needed to set the absolute value as you asked.

Of course it works for the position, and scale too, you just need to change the key from r to g or s respectively.

None of the previous combination of Alt + some key work if you have already applied the transformation you need to reset by using the function achievable by pressing Ctrl+a menu.

What follows is a bit off topic but it might also help:

Alternatively it is possible to use just a relative value calculated as 45-15=30 and insert this result after pressing r.

The resulting angle will be the same in both solutions.

You may want to know that it is also possible to make Blender it self perform some calculations directly inserting the calculation to perform directly into the target field instead of calculating them by hands or by an external calculator. More or less all numerical fields (and in particular position, rotation, scale) allow calculations. Of course you must be careful with sign + or - when performing calculation using directly Blender fields, as elsewhere as well.

One more thing to remember: rotations and translations happen perpendicular to the current view (the direction you are looking the draw from). In other words if you are looking at the draw from above the rotation is performed by default around the z axis while you can grab and translate an object along the x as well the y axis. The aftermath are that if you are looking at the draw from a random direction that doesn't match to an axis the rotations and the translations will be executed relative to that custom view unless you lock the axis you need to use as "pivot" or as "direction"

$\endgroup$
-1
$\begingroup$

Select the object then go to Properties (usualy the right sidebar) -> Object (little yellow cube). There's Transform, which are absolute values for the object. If you enter Y: 45° it will be rotated 45° as an absolute value. I don't know of a shortcut for this.

$\endgroup$
5
  • 3
    $\begingroup$ The OP already said they knew how to go into the properties to do this. $\endgroup$ Dec 4, 2014 at 14:09
  • $\begingroup$ @RayMairlot I know what it means, but what does OP stand for? $\endgroup$
    – PGmath
    Dec 4, 2014 at 14:54
  • $\begingroup$ @PGmath 'Original Poster' $\endgroup$ Dec 4, 2014 at 15:14
  • $\begingroup$ Sorry I overlooked that. $\endgroup$
    – bortran
    Dec 5, 2014 at 7:51
  • $\begingroup$ This was what I was looking for. Thanks! $\endgroup$
    – Joehot200
    Aug 28, 2019 at 20:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .