自动完成“创建多边形工具”Maya

时间:2015-03-13 15:05:47

标签: python python-2.7 polygon maya pymel

我试图找到一种方法来创建一个自动完成"创建多边形工具"在Maya中,在Python中。因此,在构建几何体时,它将选择先前的几何体和当前的几何体,并运行一系列命令。

但是,我遇到了麻烦,其中Create Poly工具实际上并没有让你退出它的命令。

有人知道解决这个问题吗?

这是我的代码的一小部分:

from pymel.core import *
def codeToExecute():
    #lists, combines, does a few other things like deleting history
polyCreateFaceCtx('newCtx',mp=4)
setToolTo('newCtx')                      #allows you to create a polygon
maya.mel.eval('CompleteCurrentTool')     #need this to stop it from continuing its loop
geo=ls(sl=True)
codeToExecute()

但是,由于它一起运行,它会设置工具以创建多边形并自动退出。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用

强制退出上下文
cmds.setToolTo('selectSuperContext') 

将切换到选择工具并完成多边形工具。但是,由于你已经将它放在这里不能正常工作,我认为:你会在不等待用户创建内容的情况下立即切换到该工具。

您可以更轻松地设置一次性scriptJob来查找新对象创建,该对象将在用户自行退出命令时运行:

def do_something(*_):
    print cmds.ls(sl=True)

cmds.scriptJob(e=('DagObjectCreated', do_something), runOnce =True)
cmds.polyCreateFaceCtx('newCtx',mp=4)
cmds.setToolTo('newCtx')   

当用户自己完成工具时,将触发scriptJob。