Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # GEARINATOR
- # _
- # /\_| |_/\
- # \ /
- # _/ \_
- # |_ _ _|
- # _| (_) |_
- # |_ _|
- # \ /
- # / _ _ \
- # \/ |_| \/
- import maya.cmds as mc
- myWindow = mc.window(title="GEARINATOR", wh=(200,300),bgc=[0.29296875,0.31640625,0.4609375])
- mc.columnLayout()
- mc.text(label=" ")
- mc.text(label="Number of Cogs:")
- intCogsField = mc.intFieldGrp(v1=12, numberOfFields=1, changeCommand="mainGear = updateGear(mainGear, True)")
- mc.text(label="Length of Cogs:")
- floatCogLengthField = mc.floatFieldGrp(v1=0.5, numberOfFields=1, changeCommand="mainGear = updateGear(mainGear, True)")
- mc.text(label=" ")
- mc.text(label="Gear height:")
- floatHeightField = mc.floatFieldGrp(v1=1.0, numberOfFields=1, changeCommand="mainGear = updateGear(mainGear, True)")
- mc.text(label="Gear thickness:")
- floatThicknessField = mc.floatFieldGrp(v1=1.0, numberOfFields=1, changeCommand="mainGear = updateGear(mainGear, True)")
- mc.text(label="Gear radius:")
- floatRadiusField = mc.floatFieldGrp(v1=2, numberOfFields=1, changeCommand="mainGear = updateGear(mainGear, True)")
- mc.text(label=" ")
- mc.text(label="Gear softness:")
- floatSoftnessField = mc.floatFieldGrp(v1=0.5, numberOfFields=1, changeCommand="mainGear = updateGear(mainGear, True)")
- mc.button(label="Done", command="mc.deleteUI(myWindow)")
- mc.button(label="Cancel", command="mc.delete(mainGear), mc.deleteUI(myWindow)")
- mc.showWindow(myWindow)
- def updateGear(gear, update):
- if update == True:
- mc.delete(gear)
- intCogs = mc.intFieldGrp(intCogsField, query=True, value1=True)
- floatCogLength = mc.floatFieldGrp(floatCogLengthField, query=True, value1=True)
- floatHeight = mc.floatFieldGrp(floatHeightField, query=True, value1=True)
- floatThickness = mc.floatFieldGrp(floatThicknessField, query=True, value1=True)
- floatRadius = mc.floatFieldGrp(floatRadiusField, query=True, value1=True)
- floatSoftness = mc.floatFieldGrp(floatSoftnessField, query=True, value1=True)
- floatSoftness = max(min(floatSoftness, 1), 0)
- gear = mc.polyPipe(subdivisionsAxis=intCogs*2, height=floatHeight, radius=floatRadius, thickness=floatThickness)
- #get variables
- intSA = mc.getAttr(gear[1]+".subdivisionsAxis")
- intStart = intSA * 2
- intEnd = (intSA * 3) - 1
- #get every other face
- mc.select(clear=True)
- for i in range(intStart, intEnd, 2):
- mc.select(gear[0]+".f[%d]" %i, add=True);
- mc.polyExtrudeFacet(ltz=floatCogLength)
- mc.polyBevel(gear[0],offsetAsFraction=1,fraction=floatSoftness)
- mc.polySmooth(gear[0])
- mc.select(clear=True)
- return gear
- mainGear = updateGear("asdf", False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement