如何从Windows命令提示符运行Openscad

时间:2017-06-22 13:58:37

标签: python subprocess call command-prompt openscad

我试图在Windows 7中通过命令提示符运行OpenScad。但是我无法让它工作。 我将以下目录添加到Path

"C:\Program Files\OpenSCAD\"

并尝试运行以下脚本:

from os import listdir
from subprocess import call

files = listdir('.')
for f in files:
    if f.find(".scad") >= 0:            # get all .scad files in directory
        of = f.replace('.scad', '.stl') # name of the outfile .stl
        cmd = 'call (["openscad.com",  "-o", "{}",  "{}"])'.format(of, f)   #create openscad command
        exec(cmd)

此外,我尝试使用openscad,openscad.exe,openscad.com,到目前为止没有成功。 我得到的错误是:

Traceback (most recent call last):
  File "C:\Users\Desktop\scad2stl.py", line 9, in <module>
    exec(cmd)
  File "<string>", line 1, in <module>
  File "C:\Users\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 247, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Users\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 676, in __init__
    restore_signals, start_new_session)
  File "C:\Users\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 955, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The specified file could not be found

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我刚刚看到了这个线程,我使它可以在Windows Power Shell上运行,但不能在cmd上运行。因此,例如,这不适用于cmd>

  
    

openscad -o render.png --imgsize = 2048,2048 assembly.scad

  

但是它确实可以在Power Shell上运行(请注意Bigining中的./):

  
    

./ openscad -o render.png --imgsize = 2048,2048 assembly.scad

  

希望有帮助。 最好的问候