def process(self, instance):
from maya import cmds
invalid = list()
for mesh in cmds.ls(instance, type="mesh", long=True):
faces = cmds.polyListComponentConversion(mesh, toVertexFace=True)
locked = cmds.polyNormalPerVertex(faces,
query=True,
freezeNormal=True)
invalid.append(mesh) if any(locked) else None
# On locked normals, indicate that validation has failed
# with a friendly message for the user.
assert not invalid, (
"Meshes found with locked normals: %s" % invalid)
self.log.info("The normals of \"%s\" are correct." % instance)
python类polyListComponentConversion()的实例源码
def process(self, instance):
from maya import cmds
invalid = list()
for mesh in cmds.ls(instance, type="mesh", long=True):
faces = cmds.polyListComponentConversion(mesh, toVertexFace=True)
locked = cmds.polyNormalPerVertex(faces,
query=True,
freezeNormal=True)
invalid.append(mesh) if any(locked) else None
# On locked normals, indicate that validation has failed
# with a friendly message for the user.
assert not invalid, (
"Meshes found with locked normals: %s" % invalid)
self.log.info("The normals of \"%s\" are correct." % instance)
def get_vertexes():
sl = cmds.ls(sl=True)
for s in sl:
uvs = cmds.polyListComponentConversion(s, tuv=True)
if not uvs:
continue
res = cmds.ls(uvs, fl=True)
# print(res)
def getVertUV(vertsList = [], *args):
"""use a vert input to get the UV value"""
uvVals = []
for v in vertsList:
uv = cmds.polyListComponentConversion(v, fv=True, tuv=True)
uvVal = cmds.polyEditUV(uv, q=True, u=True, v=True)
uvVals.append(uvVal)
return(uvVals)