Blender,使用提示命令将 .stl 转换为 .obj
Blender, convert .stl to .obj with prompt commande
我想在不使用 blender 界面的情况下将 .stl 文件转换为 .obj。
为此,我想分两步完成:
1 个要混合的 STL
2 混合到 OBJ
实际上 BLEND 到 OBJ 使用此 python 代码可以正常工作:
import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"
obj_out = argv[0]
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y')
这批:
@echo off
rem Put the path of the blender folder
set PATH=C:\Program Files\Blender Foundation\Blender
set FILENAME=guitar.blend
set TARGET=guitar.obj
rem Launch
blender %FILENAME% --background --python convert_blend_to_obj.py -- %TARGET%
pause
这很完美。
问题在于要混合的 STL,它不适用于此 python 代码:
import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"
blend_out = argv[0]
bpy.ops.import_mesh.stl(filepath=blend_out, axis_forward='-Z', axis_up='Y')
与批次关联:
@echo off
rem Put the path of the blender folder
set PATH=C:\Program Files\Blender Foundation\Blender
set FILENAME=turbine.stl
set TARGET=turbine.blend
rem Launch
blender %FILENAME% --background --python convert_stl_to_blend.py -- %TARGET%
pause
我得到一个错误:文件 C:..\turbine.stl 不支持文件格式
Blender 退出
我认为问题出在我的 python 代码中,但我不知道要更改什么。
我在这里找到了第一个脚本的帮助:https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Wavefront_OBJ
在此先感谢您的帮助,也许有更好的方法。我不想启动搅拌机并手动进行。我只需要一个提示命令。
i got as an error : File format is not supported in file C:..\turbine.stl Blender quit
您收到的错误意味着 Blender 正在尝试将第一个命令参数读取为 .blend 文件。只需将脚本的参数放在“--”之后(如脚本注释中所述),它应该可以工作。
对脚本进行了一些更改,一步导入 STL 并导出 OBJ,以测试它是否有效:
import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"
stl_in = argv[0]
obj_out = argv[1]
bpy.ops.import_mesh.stl(filepath=stl_in, axis_forward='-Z', axis_up='Y')
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y')
并启动如下:
blender --background --python convert_stl_to_blend.py -- test.stl test.obj
我 运行 此代码在 OSX
上输入以下内容
/Applications/blender-2.77a-OSX_10.6-x86_64/blender.app/Contents/MacOS/blender --background --python convert_stl_to_blend.py -- fileIN.stl FileOut.obj
这段代码很有用,谢谢大家!
顺便说一句,我需要这段代码来处理目录中的所有文件,它们是数字,所以我使用以下代码让 blender 为我转换所有文件:
import bpy
import sys
for x in range(1, 20):
stl_in = str(x) +'.stl'
obj_out = str(x) +'.obj'
bpy.ops.import_mesh.stl(filepath=stl_in, axis_forward='-Z', axis_up='Y')
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y')
我想在不使用 blender 界面的情况下将 .stl 文件转换为 .obj。
为此,我想分两步完成:
1 个要混合的 STL
2 混合到 OBJ
实际上 BLEND 到 OBJ 使用此 python 代码可以正常工作:
import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"
obj_out = argv[0]
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y')
这批:
@echo off
rem Put the path of the blender folder
set PATH=C:\Program Files\Blender Foundation\Blender
set FILENAME=guitar.blend
set TARGET=guitar.obj
rem Launch
blender %FILENAME% --background --python convert_blend_to_obj.py -- %TARGET%
pause
这很完美。
问题在于要混合的 STL,它不适用于此 python 代码:
import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"
blend_out = argv[0]
bpy.ops.import_mesh.stl(filepath=blend_out, axis_forward='-Z', axis_up='Y')
与批次关联:
@echo off
rem Put the path of the blender folder
set PATH=C:\Program Files\Blender Foundation\Blender
set FILENAME=turbine.stl
set TARGET=turbine.blend
rem Launch
blender %FILENAME% --background --python convert_stl_to_blend.py -- %TARGET%
pause
我得到一个错误:文件 C:..\turbine.stl 不支持文件格式 Blender 退出
我认为问题出在我的 python 代码中,但我不知道要更改什么。
我在这里找到了第一个脚本的帮助:https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Wavefront_OBJ
在此先感谢您的帮助,也许有更好的方法。我不想启动搅拌机并手动进行。我只需要一个提示命令。
i got as an error : File format is not supported in file C:..\turbine.stl Blender quit
您收到的错误意味着 Blender 正在尝试将第一个命令参数读取为 .blend 文件。只需将脚本的参数放在“--”之后(如脚本注释中所述),它应该可以工作。
对脚本进行了一些更改,一步导入 STL 并导出 OBJ,以测试它是否有效:
import bpy
import sys
argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"
stl_in = argv[0]
obj_out = argv[1]
bpy.ops.import_mesh.stl(filepath=stl_in, axis_forward='-Z', axis_up='Y')
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y')
并启动如下:
blender --background --python convert_stl_to_blend.py -- test.stl test.obj
我 运行 此代码在 OSX
上输入以下内容/Applications/blender-2.77a-OSX_10.6-x86_64/blender.app/Contents/MacOS/blender --background --python convert_stl_to_blend.py -- fileIN.stl FileOut.obj
这段代码很有用,谢谢大家!
顺便说一句,我需要这段代码来处理目录中的所有文件,它们是数字,所以我使用以下代码让 blender 为我转换所有文件:
import bpy
import sys
for x in range(1, 20):
stl_in = str(x) +'.stl'
obj_out = str(x) +'.obj'
bpy.ops.import_mesh.stl(filepath=stl_in, axis_forward='-Z', axis_up='Y')
bpy.ops.export_scene.obj(filepath=obj_out, axis_forward='-Z', axis_up='Y')