Clean Extract

This script essentially does a Maya extract to selected faces. But it also cleans the history and puts the new geo in a new group.

To Run: Select faces you wish to extract then run the script.

#Clean Extract Maya Version 1.0.0
#Bryanna London
#!/usr/bin/env python

import maya.cmds as cmds

def cleanExtract():

    #define selected objects
    objectShapes = cmds.ls(selection = True, objectsOnly = True)
    objects = cmds.listRelatives(objectShapes, parent = True)

    #Only get selected faces
    selected = cmds.ls(selection = True, flatten = True)
    #extract the faces
    cmds.polyChipOff(selected, kft = True, ch = True, off = False, dup = False)
    sepGeo = cmds.polySeparate(objects, rs = True, ch = True, n = objects[0] + "_old")

    #Combine new pieces into one mesh
    if len(sepGeo) > 3:

        newGeo = cmds.polyUnite(sepGeo[1:], n = objects[0] + "_new")
        cmds.bakePartialHistory(newGeo, ppt = True)

    if len(sepGeo) <= 3:
        cmds.rename(sepGeo[1], objects[0] + "_new")

    #delete non deformer history
    cmds.bakePartialHistory(objects, ppt = True)
    cmds.ungroup(objects)

cleanExtract()

© 2016 Bryanna London

Advertisement