def attachRIBArchive(): _updateNodes() nodes = _getAndVerifyByAttr('attachMesh') select = pm.selected() archives = [] for sel in select: if sel.hasAttr('filename'): archives.append(sel) if len(archives) != 1: raise Exception('not 1 RIBArchive selected') for node in nodes: node.attachRIBArchive(archives[0])
def sel(addt_attr=None): _updateNodes() if not addt_attr: addt_attr = _crHandle out = [] selected = pm.selected() for obj in gNodes: if _isSelected(obj, selected): out.append(obj) for obj in CRObject._gNodes: if _isSelected(obj, selected): out.append(obj) return out
def searchBadExtraordinaryVtx(self, mesh): try: cmds.select(mesh, r=True) mel.eval('PolySelectConvert 3') selected = pm.selected(fl=True) badExtraordinaryVtx = [i for i in selected if len(i.connectedEdges()) > 6] cmds.select(d=True) if badExtraordinaryVtx == []: badExtraordinaryVtxList = [] else: badExtraordinaryVtxList = [str(i) for i in badExtraordinaryVtx] except AttributeError: # PYMEL COMMAND GETS ERROR IF MESH IS INTERMEDIATE OBJECT # TEMPORARILIY SEND WITH EMPTY LIST BUT NEED TO RE-CHECK # ONCE INTERMEDIATE OBJECT IS CHECKED OF OR REMOVED badExtraordinaryVtxList = [] return badExtraordinaryVtxList
def getAllNodes(): selected = pm.selected() nodes = [] for node in selected: nodes.extend(_conglomerateNodes(node)) return nodes
def inner(*args, **kwargs): sel = list(pm.selected()) result = func(*args, **kwargs) pm.select(sel, replace=True) return result