This code is supposed to take all objects in a scene and export them as obj, centered in their own little file. The problem is moving them back afterwards-when I assign object location to a variable, then change the location, the variable also changes. Any ideas on how to get around that? Reopening the file without saving is not an option, because there are way too many objects in many of the scenes that this script has to work for that to be plausible.
def write_obj(apple, orange): #selects everything in a scene and puts them into a list bpy.ops.object.select_all(action="SELECT") q = bpy.context.selected_objects bpy.ops.object.select_all(action="DESELECT") l=0 #for every object in a scene, select->move to center->export obj #-> move back->deselect current object for i in q[:]: bpy.ops.object.select_name(name=q[l].name, extend=False) move = q[l].location bpy.ops.transform.translate(value = move*-1) bpy.ops.export_scene.obj(filepath="C:/Temp/"+q[l].name+".obj", check_existing=True, filter_glob="*.obj;*.mtl", use_selection=True, use_apply_modifiers=True, use_rotate_x90=True, use_edges=True, use_normals=False, use_hq_normals=True, use_uvs=True, use_materials=True, use_triangles=False, use_vertex_groups=False, use_nurbs=False, use_blen_objects=True, group_by_object=False, group_by_material=False, keep_vertex_order=False, path_mode="AUTO") bpy.ops.transform.translate(value = move) bpy.ops.object.select_all(action="DESELECT") l=l+1