def test_art3dPaintCtx(self): polyCube() polyCube() select('pCube1', 'pCube2') from maya.mel import eval as mel mel("Art3dPaintTool") mel("art3dPaintAssignFileTextures color") self.assertPyNodes(art3dPaintCtx('art3dPaintContext', q=1, shn=1)) self.assertPyNodes(art3dPaintCtx('art3dPaintContext', q=1, hnm=1))
def error( msg ): cmd = 'error "%s"' % str(msg).replace('\\','/').replace('"','\\"').replace('\r','/r').replace('\n','\\n') print cmd try: mel( 'error "%s"' % str(msg).replace('\\','/').replace('"','\\"').replace('\r','/r').replace('\n','\\n') ) except: pass
def copyIt(): _firstObj = mc.ls(sl=1, head=1) _secondObj = mc.ls(sl=1, tail=1) _translate = ["translateX", "translateY", "translateZ"] _rotate = ["rotateX", "rotateY", "rotateZ"] _scale = ["scaleX", "scaleY", "scaleZ"] _firstError = [] _secondError = [] _tCBvalue = [] _rCBvalue = [] _sCBvalue = [] _tCBstatic = [] _rCBstatic = [] _sCBstatic = [] _tCBstatic.append(mc.checkBoxGrp("tCB", q=1, v1=1)) _tCBstatic.append(mc.checkBoxGrp("tCB", q=1, v2=1)) _tCBstatic.append(mc.checkBoxGrp("tCB", q=1, v3=1)) _rCBstatic.append(mc.checkBoxGrp("rCB", q=1, v1=1)) _rCBstatic.append(mc.checkBoxGrp("rCB", q=1, v2=1)) _rCBstatic.append(mc.checkBoxGrp("rCB", q=1, v3=1)) _sCBstatic.append(mc.checkBoxGrp("sCB", q=1, v1=1)) _sCBstatic.append(mc.checkBoxGrp("sCB", q=1, v2=1)) _sCBstatic.append(mc.checkBoxGrp("sCB", q=1, v3=1)) for _x in range(len(_tCBstatic)): if _tCBstatic[_x]: _tCBvalue.append(_translate[_x]) if _rCBstatic[_x]: _rCBvalue.append(_rotate[_x]) if _sCBstatic[_x]: _sCBvalue.append(_scale[_x]) if len(_tCBvalue) == 0 and len(_rCBvalue) == 0 and len(_sCBvalue) == 0: warn = r'warning "请选择需要复制的属性";' mm.mel(warn) #mc.warning('请选择需要复制的属性') return for eachTrans in _translate: if mc.attributeQuery(eachTrans, node=_firstObj[0], exists=1) == 0: _firstError.append(eachTrans) if mc.attributeQuery(eachTrans, node=_secondObj[0], exists=1) == 0: _secondError.append(eachTrans) for eachRotate in _rotate: if mc.attributeQuery(eachRotate, node=_firstObj[0], exists=1) == 0: _firstError.append(eachRotate) if mc.attributeQuery(eachRotate, node=_secondObj[0], exists=1) == 0: _secondError.append(eachRotate) for eachScale in _scale: if mc.attributeQuery(eachScale, node=_firstObj[0], exists=1) == 0: _firstError.append(eachScale) if mc.attributeQuery(eachScale, node=_secondObj[0], exists=1) == 0: _secondError.append(eachScale) allValue = _tCBvalue + _rCBvalue + _sCBvalue for x in allValue: if _firstError.count(x): warn = r'warning "首选物体没有 %s 属性";' % x mm.eval(warn) #sys.stdout.write(u'首选物体没有 X 属性') #mc.warning('首选物体没有 ' x '属性') return if (_secondError.count(x)): warn = r'warning "后选物体没有 %s 属性";' % x mm.eval(warn) #mc.warning('后选物体没有 ' x '属性') return _attValue = '' _firstAttr = _firstObj[0] + '.' + x _secondAttr = _secondObj[0] + '.' + x _attValue = mc.getAttr(_secondAttr) mc.setAttr(_firstAttr, _attValue)