Поскольку вы используете функцию, самым простым способом было бы использовать return
в вашем if
состоянии, чтобы она никогда не продолжала остальные функции:
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
cmds.confirmDialog(title= 'Attribute not found ', message = attr+' attribute was not found', button =['OK'])
return
print "Continuing script"
check_attr("someAttr")
Вы также можете использоватьOpenMaya.MGlobal.displayError
, чтобы отобразить его на панели задач Maya:
import maya.OpenMaya as OpenMaya
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
OpenMaya.MGlobal.displayError(attr + ' attribute was not found')
return
print "Continuing script"
check_attr("attr")
Хотя будьте осторожны, поскольку OpenMaya.MGlobal.displayError
просто отображает ошибку, она не останавливает выполнение, как cmds.error
.Вы также можете использовать cmds.error
, но я обнаружил, что ошибка, отображаемая на панели задач, гораздо менее читаема.