



import maya.cmds as mc | |
from maya.api.OpenMaya import MGlobal | |
sel = mc.ls(sl=1) | |
ret = mc.polyCompare(sel,v=1,e=1,fd=1) | |
if ret != 0: | |
MGlobal.displayInfo("geos NOT match!") | |
else: | |
MGlobal.displayInfo("geos match!") |
''' | |
source : https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/python_inside_maya/rpO70NI1jc0/I10eDlxZCQAJ | |
''' | |
import maya.OpenMaya as om | |
def catchFileImport(ret, fileObj, *args): | |
print "Importing:", fileObj.resolvedFullName() | |
om.MScriptUtil.setBool(ret, True) | |
mid = om.MSceneMessage.addCheckFileCallback(om.MSceneMessage.kBeforeImportCheck, catchFileImport) |
getApplicationVersionAsFloat;
import pymel.core as pm
pm.mel.getApplicationVersionAsFloat()
# 2016.0
import maya.cmds as mc | |
import pymel.core as pm | |
def separateShapes(grp=None): | |
grp = grp or mc.ls(sl=1)[0] | |
SUFFIX = "_separated_geo" | |
def getUniqueName(name): | |
newName = name | |
idx = 1 | |
while True: | |
if not mc.objExists(newName): | |
break | |
else: | |
newName = "{0}_{1}".format(name,idx) | |
idx+=1 | |
return newName | |
def getAwesomeName(shapeName): | |
name = str(shapeName).split('|')[-1].split(':')[-1].split('.')[0] | |
name = name + SUFFIX | |
return getUniqueName(name) | |
shapes = mc.ls(grp,dag=1,ni=1,shapes=1) | |
newTrs = [] | |
with pm.UndoChunk(): | |
for eachShape in shapes: | |
newName = getAwesomeName(eachShape) | |
newTr = mc.createNode("transform", name=newName) | |
mc.parent(eachShape, newTr, shape=True, r=True) | |
newTrs.append(newTr) | |
return newTrs | |
separateShapes() |