2
$\begingroup$

I am currently working on a huge scene with modular building blocks and for the moment I have to export one object at the time which is extremely time consuming. Is it any way to select say 30 objects inside Blender and use the .obj exporter/some kind of script to export each object separate instead?

$\endgroup$
2

1 Answer 1

4
$\begingroup$

certainly! but it's a little hacky. Run this from text editor for a few objects selected. Make sure to change the folder to a valid path.

import bpy
import os

folder = '/home/zeffii/Uploads/'

selected = bpy.context.selected_objects.copy()
bpy.ops.object.select_all(action='DESELECT')

for obj in selected:
    name = obj.name.replace('.', '_')
    obj.select = True
    fullpath = os.path.join(folder, name + '.obj')
    bpy.ops.export_scene.obj(
        filepath=fullpath, 
        check_existing=True, 
        axis_forward='-Z', 
        axis_up='Y', 
        use_selection=True, 
        use_animation=False, 
        use_mesh_modifiers=True, 
        use_edges=True, 
        use_smooth_groups=False, 
        use_smooth_groups_bitflags=False, 
        use_normals=True, 
        use_uvs=True, 
        use_materials=True, 
        use_triangles=False, 
        use_nurbs=False, 
        use_vertex_groups=False, 
        use_blen_objects=True, 
        group_by_object=False, 
        group_by_material=False, 
        keep_vertex_order=False, 
        global_scale=1, 
        path_mode='AUTO')
    obj.select = False

Most of those options in export_scene are default and you can remove those lines, or comment them out, but some of them may be useful if you want to change them later.

There's a nice Template for this in (with a slightly different approach - as in, it checks to see if the destination is valid first, which is handy if you aren't too familiar with paths): TextEditor -> Templates -> Python -> Batch Export


update:

https://gist.github.com/zeffii/529d435d5853e92dcc51

I'm not entirely sure how to inherit all the properties from the original exporter operator for objs. I could add them individually if you need specific props, else it would be wasted effort adding them all.

With the exporter code, you navigate to select a folder, don't have to type any thing, just hit the Export selected Objects as obj button at the end.

$\endgroup$
9
  • $\begingroup$ Big thanks! I will try it out and i will mark this solved if it worked. $\endgroup$ May 27, 2015 at 12:21
  • $\begingroup$ Thanks but it didnt work, also i dont understand what the template is suppose to do, should i run that to check the validity of the filepath i write in some text inside the text editor? can you help me to write a script so that i can attach it to a shortcut instead? thanks! $\endgroup$ May 27, 2015 at 15:44
  • $\begingroup$ Yeah, I almost finished the add-on code for it, which would let you pick a folder from a panel instead. $\endgroup$
    – zeffii
    May 27, 2015 at 16:06
  • $\begingroup$ but in the meantime, you sould start blender from a console / prompt and try running the code, in order to get the error. ' it's not working ' is too vague $\endgroup$
    – zeffii
    May 27, 2015 at 16:15
  • $\begingroup$ I've added a version of the script which when Run, in TextEditor will add a menu item to File -> Export. see the update $\endgroup$
    – zeffii
    May 27, 2015 at 17:47

You must log in to answer this question.

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