def import_binding(*args, **kwargs): """Import a wrap binding onto the selected wrap node or mesh.""" cmds.loadPlugin('cvwrap', qt=True) wrap_node = get_wrap_node_from_selected() if wrap_node: data_dir = os.path.join(cmds.workspace(q=True, rd=True), 'data') file_path = cmds.fileDialog2(fileFilter='*.wrap', dialogStyle=2, cap='Import Binding', startingDirectory=data_dir, fm=1) if file_path: cmds.cvWrap(wrap_node, im=file_path[0])
def export_binding(*args, **kwargs): """Export a wrap binding from the selected wrap node or mesh.""" cmds.loadPlugin("cvwrap", qt=True) wrap_node = get_wrap_node_from_selected() if wrap_node: data_dir = os.path.join(cmds.workspace(q=True, rd=True), "data") file_path = cmds.fileDialog2( fileFilter="*.wrap", dialogStyle=2, cap="Export Binding", startingDirectory=data_dir, fm=0 ) if file_path: cmds.cvWrap(wrap_node, ex=file_path[0])
def rebind(self): components = self.components_to_rebind.text().split() faces = self.target_faces.text().split() wrap_node = self.cvwrap_combo.currentText() radius = self.sample_radius.value() # Make sure the faces are actual faces. If they are not, convert to faces. cmds.select(faces) cmds.ConvertSelectionToFaces() faces = cmds.ls(sl=True) cmds.select(components) cmds.ConvertSelectionToVertices() cmds.select(faces, add=True) cmds.cvWrap(rb=wrap_node, radius=radius) print 'Rebounded vertices'
def create_cvwrap(*args, **kwargs): cmds.loadPlugin('cvwrap', qt=True) sel = cmds.ls(sl=True) if len(sel) >= 2: kwargs = get_create_command_kwargs() result = cmds.cvWrap(**kwargs) print result else: raise RuntimeError("Select at least one surface and one influence object.")
def _create_cvwrap(control_object, target): """ Create a wrap deformer with cvwrap, if available. If the cvwrap plugin isn't available, return None. """ if not maya_helpers.load_plugin('cvwrap.mll', required=False): return None old_selection = pm.ls(sl=True) pm.select(target) pm.select(control_object, add=True) deformer_node = cmds.cvWrap() # Restore the old selection. pm.select(old_selection) return pm.PyNode(deformer_node)