# What is the python script to export the selected meshes in .obj?

I want to export my selected meshes in .obj in a relative path from the .blend file in python.

• Jul 19 '17 at 23:32
• ^ see that question for Blender 2.8 solution Jun 3 '20 at 15:42

export obj to relative file path script:

import bpy
import os

blend_file_path = bpy.data.filepath
directory = os.path.dirname(blend_file_path)
target_file = os.path.join(directory, 'myfile.obj')

bpy.ops.export_scene.obj(filepath=target_file)


further export obj options:

bpy.ops.export_scene.obj(filepath="", check_existing=True, axis_forward='-Z', axis_up='Y', filter_glob="*.obj;*.mtl", use_selection=False, 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')

• Hi, thank you it works. And how can i export it in a relative subfolder and an absolute path? Jul 20 '17 at 22:22
• he script i gave you exports to the folder of the .blend file if you want to ad a subfolder you can just add it in this line: target_file = os.path.join(directory, 'subfolder', 'myfile.obj') An absolute path you can provide as a string bpy.ops.export_scene.obj(filepath="C:/path/to/file.obj") Jul 21 '17 at 8:23
• I don't undertand which line i should replace. I want the user to type the absolute or relative path in the same place, then after the path it adds 'lod0_' then it takes the mesh's + name name = 'game_asset' and add + '.obj'. Jul 22 '17 at 12:02
• export to directory subfolder dont work
– DB3D
Apr 6 '19 at 10:42

See if that helps you :

How to write a simple Wavefront-OBJ exporter in Python?

Or you can simply use the export button in blender :

And make sure "Selectio Only" is checked