I put together a small addon for you:
bl_info = {
"name": "Move & rotate",
"blender": (2, 80, 0),
"location": "VIEW_3D > Tools > Move and rotate"
}
import bpy
from bpy.types import (Panel,Operator,AddonPreferences,PropertyGroup)
xyz_rot = (0,0,0)
xyz_loc = (1,1,1)
class MYADDON_OT_rotate_obj(bpy.types.Operator):
"""rotate the obj"""
bl_idname = "myops.rotate_obj"
bl_label = "rotate_obj"
def execute(self, context):
#convert degrees to radians
x = xyz_rot[0]*pi/180
y = xyz_rot[1]*pi/180
z = xyz_rot[2]*pi/180
xyz_rot = (x,y,z)
#Rotates all the selected objects: if you know the name of the obj you want to rotate use
#bpy.data.objects["Robot_Arm_Lower"].rotation_euler = xyz_rot
for obj in bpy.context.selected_objects:
obj.rotation_euler = xyz_rot
return {'FINISHED'}
class MYADDON_OT_move_obj(bpy.types.Operator):
"""move the obj"""
bl_idname = "myops.move_obj"
bl_label = "move_obj"
def execute(self, context):
#moves all the selected objects: if you know the name of the obj you want to move use
#bpy.data.objects["Robot_Arm_Lower"].location = xyz_loc
for obj in bpy.context.selected_objects:
obj.location = xyz_loc
return {'FINISHED'}
#-------------------UI-----------------------------------------------------
class MYOPS_PT_move_obj(bpy.types.Panel):
"""Creates a Panel in the Tool tab"""
bl_label = "Rotate & Move"
bl_idname = "MYOPS_PT_move_obj_ui"
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = "Rotate & move"
bl_context = "objectmode"
@classmethod
def poll(self,context):
return True
def draw(self, context):
layout = self.layout
scene = context.scene
#Label
layout.operator("myops.rotate_obj", text = "Rotate")
layout.operator("myops.move_obj", text = "Move")
#-------------REGISTRATION--------------------
classes = (
MYADDON_OT_rotate_obj,
MYADDON_OT_move_obj,
ROTATE_MOVE_PT_tool,
)
def register():
from bpy.utils import register_class
for cls in classes:
register_class(cls)
def unregister():
from bpy.utils import unregister_class
for cls in reversed(classes):
unregister_class(cls)
if __name__ == "__main__":
register()
#Sometimes i get some registration errors when debugging an addon. If you get the same error try uncommenting the following lines
#unregister()
#register()
you may want to modify it to fit your needs: for example you may want to create 2 sliders to control the xyz_rot and xyz_loc from the UI without having to re-run the addon (btw, you don't need to install it from the user preferences like normal addons, you can just use it like a script if you want).
the addon/script creates a panel in the tool tab, but feel free to move it where you want

EDIT
As you mention in the comment you are running Blender 2.79b and you don't know how to use python, so you could try to use the following script:
import bpy
from math import pi
#change your parameters here
move = True #If "True" the objects move: write "False" to disable it
rotate = True #If "True" the objects rotate: write "False" to disable it
xyz_rot = (0,0,0) #What rotation you want your objects to have (in degrees)
xyz_loc = (1,1,1) #What position you want your objects to have
objName = "" #The name of the object you want to move/rotate, if you need to move one object only.
# If you leave it as "" the script will move/rotate all the selected objects. (Recommended)
# ------------- CODE ----------------
#Rotates all the selected objects (or the desired object if objName is not "")
if rotate:
#convert degrees to radians
x = xyz_rot[0]*pi/180
y = xyz_rot[1]*pi/180
z = xyz_rot[2]*pi/180
xyz_rot = (x,y,z)
if objName == "":
for obj in bpy.context.selected_objects:
obj.rotation_euler = xyz_rot
else:
bpy.data.objects[objName].rotation_euler = xyz_rot
#Moves all the selected objects (or the desired object if objName is not "")
if move:
if objName == "":
for obj in bpy.context.selected_objects:
obj.location = xyz_loc
else:
bpy.data.objects[objName].location = xyz_loc
To run it, just paste it in the text editor, play with the parameters at the top and hit the "run script" button.
Every time you run it the selected objects (or the object you put in objName) will rotate and/or move based on the two flags ("move" and "rotate") and the two "xyz_loc" and "xyz_rot".
This should work both in 2.79 and 2.80, but you don't get the fancy panel and buttons of the precedent code