Files
MetaBox/Scripts/Modeling/Edit/LDMT/ldmt_cleanMesh.py
2025-04-17 04:52:48 +08:00

94 lines
3.0 KiB
Python

import os
import math
from ldmt_function.ldmt_loadUIFile import get_maya_window, load_ui_file
import maya.OpenMayaUI as omui
from ldmt_core import ldmt_cmds as ld
from functools import partial
import maya.cmds as cmds
import maya.mel as mel
try:
from Qt.QtCore import *
from Qt.QtGui import *
from Qt.QtWidgets import *
from Qt import __version__
from Qt.QtCompat import loadUi, wrapInstance
except ImportError:
from Qt.QtCore import *
from Qt.QtGui import *
from Qt.QtUiTools import *
from Qt import __version__
from Qt.QtCompat import loadUi, wrapInstance
import maya.OpenMaya as om
import maya.api.OpenMaya as om2
import random
import ast
LDMTPATH = ld.getPath('LDMT')
ldmt_uifile = LDMTPATH + '/ldmt_ui/ldmt_cleanMesh.ui'
ldmt_window_name = 'ldmt_cleanMesh'
ldmt_button_name = 'btn_'+ldmt_window_name.split('_')[1]
'''
#UI
'''
class ldmt_cls(QDialog):
def __init__(self, parent = get_maya_window()):
super(ldmt_cls, self).__init__(parent)
self.window_name = ldmt_window_name
self.setWindowTitle(ldmt_window_name)
self.setWindowFlags(Qt.Window)
self.move(QCursor.pos() + QPoint(20,20))
# update status bar so it's not only show in help line window.
self.set_ui()
self.setupBtn()
# self.statusbar.showMessage(ld.tag())
# self.installStartBar()
def set_ui(self):
main_layout = QVBoxLayout(self)
self.ui = load_ui_file(ldmt_uifile)
if self.ui is None:
cmds.warning("UI file not found: {}".format(ldmt_uifile))
return
main_layout.addWidget(self.ui)
def setupBtn(self):
self.ui.btn_select.clicked.connect(self.select)
self.ui.btn_cleanup.clicked.connect(self.cleanup)
def select(self):
mel.eval('polyCleanupArgList 4 { "0","2","1","0","1","1","1","0","1","1e-005","1","1e-005","1","1e-005","0","1","1","0" };')
def cleanup(self):
mel.eval('polyCleanupArgList 4 { "0","1","1","0","1","1","1","0","1","1e-005","1","1e-005","1","1e-005","0","1","1","0" };')
def installStartBar(self):
allQWidgets = self.findChildren(QWidget)
for i in allQWidgets:
i.installEventFilter(self)
def eventFilter(self, obj, event ):
'''Connect signals on mouse over'''
if event.type() == QEvent.Enter:
self.oldMessage = ld.tag()
self.statusbar.showMessage(' '+obj.statusTip(),0)
elif event.type() == QEvent.Leave:
self.statusbar.showMessage(' '+self.oldMessage, 0)
pass
event.accept()
return False
# def closeEvent(self,event):
# ld.turnToolBtnOff(self,ldmt_button_name)
# cmds.deleteUI(ldmt_window_name)
def ldmt_show():
if cmds.window(ldmt_window_name, exists=True):
cmds.deleteUI(ldmt_window_name)
app = QApplication.instance()
dialog = ldmt_cls(parent=app.activeWindow())
dialog.show()
app.exec_()
if __name__ == '__main__':
ldmt_show()