import pickle import base64 import pymel.core as pmc import maya.cmds as cmds import maya.api.OpenMaya as om from itertools import izip from utils.qtshim import QtCore, logging from utils.mayautils import get_maya_window, UndoChunk from ConManUI import ConManWindow LogPath = os.path.dirname(__file__) LogFile = os.path.join(LogPath, "conman_log.log") logging.basicConfig(level=logging.WARN, filename=LogFile, filemode='w') log = logging.getLogger(__name__) log.setLevel(logging.WARN) # Global Data ================================================================= _CMan = None callback_list = [] # Add, Remove, Select Constraints ============================================= @QtCore.Slot() def create_con(conType, Offset, mOffset, weight, skipT, skipR, skipS): """ Pass options from UI to constraint creator and data storage.
#!/usr/autodesk/maya/bin/mayapy # encoding: utf-8 """ UI module for ConMan. Initially generated by pyside-uic from Qt Designer, heavily modified. """ from utils.qtshim import QtCore, QtGui, QtWidgets, logging Signal = QtCore.Signal log = logging.getLogger(__name__) class QListItemCon(QtWidgets.QListWidgetItem): """ Save constraint data for immediate retrieval through the UI. DAG path saved in scene from self.con_dag property. """ def __init__(self, data, parent=None): """ Subset of QListWidgetItem to store constraint data in the UI. :param data: Dict with constraint type and node, constrained node, targets. :param parent: Parent widget. """ super(QListItemCon, self).__init__(parent) self._data = data self._entry_label = "{} | {} | {}".format(str(self._data["object"]), self._data["type"],