def save_poseDeformerList(obj): '''stores poseDeformer files for the curreitnnt object Args: obj (pm.PyNode): the object to get deformers from Returns (boolean): whether the export worked on not Usage: save_poseDeformerList(pm.ls(sl=True)[0]) ''' poseDeformers = get_connectedPoseDeformers(obj) if poseDeformers: folder = os.path.join( environ.POSEDEFORMERS, obj ) versionFolder = lib_env.folder_detectVersions( folder, versionUp=True ) if versionFolder: folder = versionFolder else: folder = os.path.join(folder, 'v001') if not os.path.exists(folder): os.makedirs(folder) for poseDeformer in poseDeformers: file = os.path.join(folder, poseDeformer+'.ma') command = 'poseDeformer_export(\"%s\", \"%s\", -1)'%(poseDeformer,file) print command eval( command ) else: pm.warning('Object %s has no pose deformers attached to it...'%obj)
def get_poseDeformers(obj): '''Finds all of the pose deformers for the selected object and applies them Args: name (string): the name of the deformer obj (pm.PyNode): the object to apply to Returns (boolean): pm.nt.poseDeformer Usage: get_poseDeformers(pm.ls(sl=True)[0]) ''' folder = os.path.join( environ.POSEDEFORMERS, obj ) versionFolder = lib_env.folder_detectVersions( folder, versionUp = False ) if versionFolder: folder = versionFolder else: pm.warning('Folder does not exist') current_psd = get_connectedPoseDeformers(obj) if os.path.exists(folder): os.chdir(folder) poseList = [] for file in glob.glob("*.ma"): print file poseList.append( os.path.splitext(file)[0].replace('_POSD','') ) for pose in poseList: if not pose+'_POSD' in current_psd: create_poseDeformer(pose, obj) else: pm.warning('PoseDeformer %s"_POSD" already exists on object %s'%(pose,obj)) load_poseDeformerList(pose+'_POSD',obj,folder,1) else: pm.warning('Object: %s does not have any deformers available in folder: %s'%(obj,folder))