我正在写一个MEL脚本,其中包括打开油脂笔UI工具栏。我想删除该工具栏上的关闭按钮。我试着做了
GreasePencilTool;
window -edit -tbm 0 greasePencilFloatingWindow;
但获得Error: line 2: window: Object 'greasePencilFloatingWindow' not found.
进一步测试显示正在运行
GreasePencilTool;
window -q -exists greasePencilFloatingWindow;
将返回0的结果。
在不同时间运行GreasePencilTool;
然后window -edit -tbm 0 greasePencilFloatingWindow;
按预期工作,就像工具栏已经打开时运行window -edit -tbm 0 greasePencilFloatingWindow;
一样。
但是,我需要能够在工具栏打开时立即删除关闭按钮。
我能想到的最接近的事情说明了我想要做的是Javascript回调函数,其中一旦当前函数完成后可以执行另一个函数......但是有没有办法在MEL中执行类似的操作?
我还尝试使用evalDeferred
命令但没有成功。
答案 0 :(得分:0)
油脂笔工具以异步方式启动,因此窗口将在一段未知的时间内不存在。这意味着您可以做的最好的事情就是触发一个定期检查的函数,并在下次找到正确命名的窗口时执行此操作;你可以将它附加到空闲时间脚本作业。
这太丑了。但它可能是唯一的方法,因为没有事件会在窗口到达时通知。如果你那样做,那么在剧本开始后让脚本工作自杀,这样它就不会在每次空闲支票上都坐在那里直到时间结束。