我要将代码发送到3ds max脚本侦听器以使其运行。我认为这可以通过套接字编程来完成,但是线程Python模块不能在3ds max中工作。因此,当我尝试在没有线程的情况下使用"while true“来收听收到的消息时,程序就会死机。我该怎么办?
我正在为3ds max开发一个插件。但我希望我开发的程序的一些代码是保密的。此外,我想使用我的程序作为一个exe文件。但是,从外部干扰3ds max是不可能或不容易的。即使我们可以干预,3ds max也会使用自己的python库。其中之一是"pymxs“。但是不能使用"pip install pymxs“命令来安装它。如果我们想使用这个库,我们必须从3ds max的脚本菜单中运行每一段代码。我想要做的是在我自己的程序中指定要在3ds max中运行的代码,并将其发送到我为3ds max创建的客户端。在客户端,我想运行exec(received code)
代码。简而言之,我想发送3ds max的代码,以便由其脚本侦听器运行。
3ds Max不支持Python中的线程模块。这意味着我一次只能运行一个进程,在套接字编程中,我必须不断地侦听服务器以查看消息是否到来。我在"while true“循环中这样做,但当我这样做时,我不能使用3ds max,因为我使用的是那个1进程。这就是3ds max冻结的原因,但我无法避免使用线程。我需要在3ds max中随时从外部运行脚本。
发布于 2020-09-25 19:40:01
来自3ds max论坛的Answer by Drew Avis:
您可以尝试本教程中的方法,该方法使用Qt作为服务器,使用ExecuteMAXScriptScript()来运行脚本。
https://area.autodesk.com/tutorials/using-qt-in-3ds-max-utility-plug-ins/
https://stackoverflow.com/questions/63968901
复制相似问题