I want to convert .obj to .stl in blender via python script.Here is my code.
import bpy
obj_in = '1b3c286bce219ddb7135fc51795b4038.obj'
stl_out = 'current.stl'
import_obj = bpy.ops.import_scene.obj(filepath=obj_in)
print(bpy.context.selected_objects)
for object in bpy.context.selected_objects:
bpy.ops.object.select_all(action='DESELECT')
object.select = True
bpy.ops.export_mesh.stl(filepath=stl_out, ascii=False)
I run the script in ubuntu16.04 shell, and the error was:
( 0.0000 sec | 0.0000 sec) Importing OBJ
'1b3c286bce219ddb7135fc51795b4038.obj'...
( 0.0001 sec | 0.0000 sec) Parsing OBJ file...
( 0.0131 sec | 0.0130 sec) Done, loading materials and images...
ProgressMaterial not found MTL: 'model.mtl'
( 0.0137 sec | 0.0136 sec) Done, building geometries (verts:621 faces:1902 materials: 153 smoothgroups:1) ...
( 0.0331 sec | 0.0330 sec) Done.
( 0.0333 sec | 0.0332 sec) Finished importing:
'1b3c286bce219ddb7135fc51795b4038.obj'
Progress: 100.00%
[bpy.data.objects['mesh5_mesh5-geometry'], bpy.data.objects['mesh2_mesh2 geometry'], bpy.data.objects['mesh4.002_mesh4-geometry'], bpy.data.objects['mesh4.001_mesh4-geometry'], bpy.data.objects['mesh1_mesh1 geometry'], bpy.data.objects['mesh3.002_mesh3-geometry'], bpy.data.objects['mesh3.001_mesh3-geometry']]
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Error: Object does not have geometry data
Blender quit
Is there any correct methods to convert .obj to .stl in blender via python scripts?
ob.select = True
) , also set it to context withcontext.scene.objects.active = ob
before calling the operator. Strongly suggest not usingobject
as a variable name as it is a basic python keyword. $\endgroup$ – batFINGER Jun 14 '18 at 3:12