繁体   English   中英

如何将命令行翻译成 python 代码

[英]How to translate command-line into python code

我目前正在使用 python 并且我在语法上遇到了一些真正的问题。 我想在我的脚本中包含一个 Cura 命令行,但我不知道如何实际解析该行,以便从我的 Blender 脚本中执行该命令。 我的代码如下,我真的不知道这是否有效:

def main(context):
    blend_file_path = bpy.data.filepath
    directory = os.path.dirname(blend_file_path)
    target_file = os.path.join(directory,bpy.path.basename(bpy.context.blend_data.filepath) +'.stl')
    bpy.ops.export_mesh.stl(filepath=target_file)   

cevar = 'CuraEngine slice -j "C:\\Programme\\Ultimaker Cura 4.5\\resources\\definitions\\fdmprinter.def.json"' +' -l ' + directory + bpy.path.basename(bpy.context.blend_data.filepath) +'.stl +o '+ directory + bpy.path.basename(bpy.context.blend_data.filepath) +'.gcode'
os.system(cevar)

使用此代码

import subprocess

cmd_args = [
    "CuraEngine",
    "slice",
    "-j",
    "C:\\Programme\\Ultimaker Cura 4.5\\resources\\definitions\\fdmprinter.def.json",
    "-l",
    f"{os.path.join(directory,bpy.path.basename(bpy.context.blend_data.filepath))}.stl",
    "+o",
    f"{os.path.join(directory, bpy.path.basename(bpy.context.blend_data.filepath))}.gcode",
]

output = subprocess.Popen(cmd_args, stdout=subprocess.PIPE).communicate()[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM