3dsmax:如何使用cmd模拟从资源管理器拖放mxs到3dsMax?

3dsmax: How to use cmd to simulate Drag and Drop mxs from explorer to 3dsMax?

我希望找到一种更简单的方法来从 max 外部 "send" 将 maxscripts 转换为 max 以更新帧范围和其他一些项目。

我已经为我们的大多数主要 mxs 工具编写了一个 floater,但希望为我们可能从外部应用程序生成然后 "inject" 到 Max 中的脚本提供一些额外的灵活性。希望使用命令行调用来执行 .ms 文件的 "drag and drop"。

我看到线程(和文档中)讨论了 max 的内部 DnD,但在从外到内进行时遇到了困难,在此先感谢您的帮助!

您可以为此使用 OLE 自动化。首先,您需要公开 fileIn 函数。将此脚本放入启动文件夹中:

registerOLEInterface #(fileIn)

然后用您选择的 programming/scripting 语言创建一个命令行工具。假设在 python 中借助 pywin32,这将是 maxOLE.py:

的内容
import win32com.client
import sys

conn = win32com.client.Dispatch("MAX.Application")
conn._FlagAsMethod("fileIn")
conn.fileIn(sys.argv[1])

和命令行调用:

python maxOLE.py "C:/Scripts/script.ms"

或从该外部应用程序将文件路径直接传递给 conn.fileIn。当然,您也可以公开 execute 函数并使用它来传递其他命令。