2

我目前正在使用subprocess.call()外部 python 脚本打开 Rhino 并运行 Rhino 命令行。

rhinoPath = "C:\\Program Files (x86)\\Rhinoceros 5\\System\\Rhino4.exe"
rhinoCommandFilePath = "Z:\\Arkangus\\2019\\RhinoCommand.txt"
scriptCall = "_-ReadCommandFile {0}".format(rhinoCommandFilePath)
callScript = '"{0}" /nosplash /runscript="{1}" /runscript="_-Exit"'.format(rhinoPath, scriptCall)
subprocess.call(callScript)

但是,这意味着每次我运行脚本时都打开 Rhino,然后再关闭它。

有没有办法检查 Rhino 是否已经打开并将 RhinoCommand 文件直接运行到 Rhino 中?

我不是在寻找 Rhino 和 Python 之间的管道。

谢谢!

4

1 回答 1

1

检查 Rhino 是否已经打开(注意:这只是我的问题的部分答案):

检查程序是否以编程方式运行

import psutil

def is_rhino_open():
    for pid in psutil.pids():
        p = psutil.Process(pid)
        if p.name() == "Rhino5.exe":
            print ("Rhino5 is running!")

其他方式:直接在 Python 中使用 Rhino 的计算功能(无需打开 Rhino),带有 CPython3.x 模块rhino3dmcompute_rhino3d.

https://discourse.mcneel.com/t/run-script-from-windows-command-prompt-with-open-rhino/80736/2?u=gabriel.taquet

于 2019-03-20T13:40:22.607 回答