Automating Blender workflow with opening OBJs and rendering them with options I have never done scripting in Blender, so I am looking how to solve this task. I have 1000 OBJ files that I have to import in Blender one by one, and to render each one under the same setting. The workflow is roughly like this:


import the OBJ
rotate and scale the object (constant value)
create a plane at z=0
put a lamp at a specific location
render the image
move the lamp to a second specific location 
render the second image


And this has to be done 1000 times (for each OBJ).

I am proficient with Python if it helps.
You will get the API calls for free by pulling down the Info Header as shown here:



Just perform the scene setup manually, select all lines A and copy'n paste the commands into a python file. You  might want to add the snippet from the comment by iKlsR.

bpy.ops.view3d.snap_cursor_to_center()
bpy.ops.mesh.primitive_plane_add(radius=1, view_align=False, enter_editmode=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.ops.transform.resize(value=(6.39051, 6.39051, 6.39051), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
bpy.ops.object.lamp_add(type='HEMI', view_align=False, location=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.ops.transform.translate(value=(0, 0, 6.98471), constraint_axis=(False, False, True), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
bpy.ops.transform.translate(value=(0, -6.91949, 0), constraint_axis=(False, True, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1, release_confirm=True)
bpy.ops.transform.rotate(value=-0.645382, axis=(-0.818828, 0.361665, -0.445779), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
bpy.context.space_data.context = 'RENDER'