Skip to content

Instantly share code, notes, and snippets.

@kanishk2391
Last active January 23, 2018 03:49
Show Gist options
  • Save kanishk2391/ee70c8402970806c912e91c5aa282591 to your computer and use it in GitHub Desktop.
Save kanishk2391/ee70c8402970806c912e91c5aa282591 to your computer and use it in GitHub Desktop.
import maya.cmds as cmds
import maya.mel as mel
def cadCleanUp():
mrgVrtx=cmds.checkBox(mrgVtxChkBox,v=True,q=True)
mrgThreshold=0.001
laminaFaces=cmds.checkBox(lamFacChkBox,v=True,q=True)
nonManifoldGeo=cmds.checkBox(nmfGeoChkBox,v=True,q=True)
maintainNormals=cmds.checkBox(mainNorChkBox,v=True,q=True)
print mrgVrtx,mrgThreshold,laminaFaces,nonManifoldGeo,maintainNormals
r=cmds.ls(sl=True)
for i in r:
if maintainNormals==1:
cmds.duplicate(i,n="dummyMesh")
if mrgVrtx==1:
cmds.polyMergeVertex(i,d=mrgThreshold)
if laminaFaces==1:
cmds.select(None)
cmds.select(i)
mel.eval('polyCleanupArgList 4 { "0","1","1","0","0","0","0","0","0","1e-005","0","1e-005","0","1e-005","0","-1","1","0" };')
cmds.DeleteHistory(i)
if nonManifoldGeo==1:
cmds.select(None)
cmds.select(i)
mel.eval('polyCleanupArgList 4 { "0","1","1","0","0","0","0","0","0","1e-005","0","1e-005","0","1e-005","0","1","0","0" };')
cmds.DeleteHistory(i)
if maintainNormals==1:
print "yes"
cmds.select(None)
cmds.transferAttributes("dummyMesh",i,uvs=0,nml=1,col=0,pos=0,spa=0)
print i
cmds.select(i)
cmds.DeleteHistory()
cmds.delete("dummyMesh")
def transferNormals():
r=cmds.ls(sl=True)
if len(r)==2:
cmds.transferAttributes(r[0],r[1],uvs=0,nml=1,col=0,pos=0,spa=1)
cmds.DeleteHistory(r[1])
# Make a new window
#
window=None
window = cmds.window( title="CAD Cleanup!", iconName='Short Name', widthHeight=(260,200))
cmds.rowColumnLayout( numberOfColumns=1 )
cmds.columnLayout( adjustableColumn=True )
cmds.separator(h=10)
cmds.text(label="CAD Cleanup!!",h=20,bgc=(0.2,0.2,0.2))
cmds.separator(h=10)
cmds.rowColumnLayout( numberOfColumns=2 )
mrgVtxChkBox=cmds.checkBox("Merge Vertices",v=1)
lamFacChkBox=cmds.checkBox("Lamina Faces",v=1)
nmfGeoChkBox=cmds.checkBox("NonManifold Geometry",v=1)
mainNorChkBox=cmds.checkBox("Maintain Normals",v=1)
cmds.setParent( '..' )
cmds.rowColumnLayout( numberOfColumns=1 )
cmds.separator(h=10)
cmds.button( label='CLEAN UP!!',c="cadCleanUp()",h=30)
cmds.separator(h=10)
cmds.text(label="Select the Source Mesh and then the Target Mesh")
cmds.separator(h=10)
cmds.button( label='TRANSFER NORMALS',c="transferNormals()",h=30)
cmds.separator(h=10)
#cmds.button( label='Close', command=('cmds.deleteUI(\"' + window + '\", window=True)') )
cmds.setParent( '..' )
cmds.showWindow( window )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment