http://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj2008-07-22T01:14:08.416ZPython Notesdaxx2kGoogle Notebook26110http://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDRGDQwoQl4LewbQj2008-07-22T00:42:21.847Z2008-07-22T01:14:08.416Z#----------------------------------DIGITAL TUTORS NOTES import maya.cmds as ... #----------------------------------DIGITAL TUTORS NOTES<br>import maya.cmds as mc<br>mc.polyCube(w=1, h=1, d=1, sx=1, sy=1, sz=1, ax=(0,1,0), cuv=1, ch=1)<br>mc.scale(4,4,4, r=True) #this is how to scale an obj , use quick help for a reference<br>mc.polyBevel("pCube1", offset=0.5, offsetAsFraction=1, autoFit=1, segments=1, worldSpace=1, fillNgons=1, mergeVertices=1, mergeVertexTolerance=0.0001, smoothingAngle=30, miteringAngle=180, angleTolerance=180, ch=1)<br><br>#------------------------------ variables sample<br>import maya.cmds as mc<br>cubeToBevel = mc.polyCube(w=1, h=1, d=1, sx=1, sy=1, sz=1, ax=(0,1,0), cuv=1, ch=1)<br>mc.scale(4,4,4, r=True)<br>mc.polyBevel(cubeToBevel, offset=0.5, offsetAsFraction=1, autoFit=1, segments=1, worldSpace=1, fillNgons=1, mergeVertices=1, mergeVertexTolerance=0.0001, smoothingAngle=30, miteringAngle=180, angleTolerance=180, ch=1)<br><br>#------------------------------- variables types<br><br>original = "rosco"<br>copycat = original<br><br># ----------------------------------------concatenating strings<br>print copycat<br>print copycat + " is the value of the string named copycat"<br><br># -------------------------------------concatenating string+int or float or hex<br>intLife = 42<br>fPI = 3.14<br>hexColor = 0xFFCC00<br>print "The value of IntLife is ... %d" % intLife<br>print "The value of fPI is ... %f" % fPI<br>print "The value of hexColor is ... %x" % hexColor<br><br>print "My values are %d and %f" % (intLife,fPI)<br><br># ------------------------------- selections<br>myFirstList = [ ] # array<br>myFirstList = [ "red", 21.00, 1 ] # you can create a multidimensional array ( string, float, int)<br>listKeys = <a href="http://mc.ls">mc.ls</a>(sl=True) # ls -sl<br><br>#----------------------------------------- for loop<br>listKeys = <a href="http://mc.ls">mc.ls</a>(sl=True)<br>selSize = len(listKeys) <br>for i in range(0,selSize,1) : # for i in range(start,end,increment)<br> rescaler = (i+1)*0.1<br> mc.scale(rescaler,rescaler,rescaler, listKeys[i], r=true)<br>print "done"<br><br>#--------------------------------------------------- Tutorial - procedural Cog<br><br>import maya.cmds as mc<br><br>pdStatus= mc.promptDialog(message="Please imput number of teeth", button="OK")<br>if pdStatus == "OK": # double equal to compare<br> numTeeth = mc.promptDialog(query=True, text=True)<br> numTeeth = int(numTeeth) # this is a function to change a string type into an int type<br><br>pdStatus2= mc.promptDialog(message="Please imput radius", button="OK")<br>if pdStatus2 == "OK": # double equal to compare<br> numRad = mc.promptDialog(query=True, text=True)<br> numRad = float(numRad)<br> gear = mc.polyPipe(subdivisionsAxis=numTeeth*2,radius=numRad, h=0.5)<br> # Set tbe value of intSA to be the pipe's subdivision axis<br> intSA = mc.getAttr(gear[1]+".subdivisionsAxis")<br> # Use formula to derive the start and end outer faces<br> intStartFace = (intSA * 2)<br> intEndFace = (intSA * 3) - 1<br> mc.select(clear=1)<br> ### Deselect all in use for loop to select every other face<br> for i in range (intStartFace, intEndFace, 2):<br> mc.select(gear[0]+".f[%d]" % i,add=True)<br> mc.polyExtrudeFacet(ltz=0.5)<br> mc.polySmooth(gear[0],continuity=0.5)<br> <br># ----------------------------------------Tutorial - disperser<br><br>import maya.cmds as mc<br>import random as rnd # help(random) to know what's inside random module<br><br>selList = <a href="http://mc.ls">mc.ls</a>(selection=True)<br>for obj in selList:<br> rangeX = rnd.randint (-10, 10)<br> rangeZ = rnd.randint (-10, 10)<br> mc.setAttr(obj + ".translateX", rangeX)<br> mc.setAttr(obj + ".translateZ", rangeZ)<br> <br>#---------------------------------------------- Disperser GUI<br><br> if mc.window("dWin", q=True, ex=True):<br> mc.deleteUI("dWin")<br>dWin=mc.window(title="Disperser",wh = (256,256))<br>mc.columnLayout()<br>mc.separator(h=10)<br>mc.text(label=" Set X Y Z Range Values for Translation")<br>rangeTField = mc.floatFieldGrp(numberOfFields=3)<br>mc.separator(h=10)<br>mc.text(label=" Set X Y Z Range Values for Rotation")<br>rangeRField = mc.floatFieldGrp(numberOfFields=3)<br>mc.separator(h=30)<br>mc.button(label="Disperser Selected",command="disperse()")<br>mc.showWindow(dWin)<br><br><br>def disperse():<br> import maya.cmds as mc<br> import random as rnd # help(random) to know what's inside random module<br> selList = <a href="http://mc.ls">mc.ls</a>(selection=True)<br> rangeTX = mc.floatFieldGrp(rangeTField, query=True, value1=True)<br> rangeTY = mc.floatFieldGrp(rangeTField, query=True, value2=True)<br> rangeTZ = mc.floatFieldGrp(rangeTField, query=True, value3=True)<br> rangeRX = mc.floatFieldGrp(rangeRField, query=True, value1=True)<br> rangeRY = mc.floatFieldGrp(rangeRField, query=True, value2=True)<br> rangeRZ = mc.floatFieldGrp(rangeRField, query=True, value3=True)<br> for obj in selList:<br> randomTX = rnd.randint (-rangeTX, rangeTX)<br> randomTY = rnd.randint (-rangeTY, rangeTY)<br> randomTZ = rnd.randint (-rangeTZ, rangeTZ)<br> randomRX = rnd.randint (-rangeRX, rangeRX)<br> randomRY = rnd.randint (-rangeRY, rangeRY)<br> randomRZ = rnd.randint (-rangeRZ, rangeRZ)<br> mc.setAttr(obj + ".translateX", randomTX)<br> mc.setAttr(obj + ".translateY", randomTY)<br> mc.setAttr(obj + ".translateZ", randomTZ)<br> mc.setAttr(obj + ".rotateX", randomRX)<br> mc.setAttr(obj + ".rotateY", randomRY)<br> mc.setAttr(obj + ".rotateZ", randomRZ)<br> <br>#---------- While loop<br>import maya.cmds as mc<br><br>startFrame = mc.playbackOptions(query=True, minTime=True)<br>endFrame = mc.playbackOptions(query=True, maxTime=True)<br>currentFrame = startFrame<br>while (currentFrame < endFrame) :<br> print " The frame is currently at %d" % currentFrame<br> currentFrame += 1<br> #break # use break to make sure to not brake maya<br># out of loop<br><br>#------------- bake animation to another obj<br>import maya.cmds as mc<br><br>startFrame = mc.playbackOptions(query=True, minTime=True)<br>endFrame = mc.playbackOptions(query=True, maxTime=True)<br>currentFrame = startFrame<br><br>goal = "pSphere1"<br>follower = "pSphere2"<br><br><br>while (currentFrame < endFrame) :<br> print " The frame is currently at %d" % currentFrame<br> goalTrans = mc.getAttr(goal + ".translate")<br> #mc.setAttr(follower+".translate",goalTrans[0][0],goalTrans[0][1],goalTrans[0][2])<br> mc.setKeyframe(follower, at="translateX", v=goalTrans[0][0])<br> mc.setKeyframe(follower, at="translateY", v=goalTrans[0][1])<br> mc.setKeyframe(follower, at="translateZ", v=goalTrans[0][2])<br> mc.currentTime(currentFrame)<br> currentFrame += 1<br> <blockquote class="gn_c"> examples code from digital tutors python video tutorials notes<br></blockquote>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDQp6QgoQnYG-_IUj2008-02-28T10:21:22.973Z2008-07-22T00:45:02.898ZUseful links
http://www.python.org - The Python home page
http://divei...<h2> Useful links </h2>
<p><a href="http://www.python.org/">http://www.python.org</a> - The Python home page
</p><p><a href="http://diveintopython.org/">http://diveintopython.org</a> - A really good programmers' guide to Python
</p><p><a href="http://it.diveintopython.org/toc/index.html">http://it.diveintopython.org/toc/index.html</a> (italian doc)<br></p><p><a href="http://docs.python.org/ref/ref.html">http://docs.python.org/ref/ref.html</a> - Python Reference Manual
</p><p><a href="http://docs.python.org/lib/lib.html">http://docs.python.org/lib/lib.html</a> - Python Library Reference</p><p><a href="http://www.penzilla.net/tutorials/python/">http://www.penzilla.net/tutorials/python/</a></p><a href="http://www.effbot.org/librarybook/">http://www.effbot.org/librarybook</a> (the eff-bot guide to) The Standard Python Library<br><br><a href="http://docs.python.it/">http://docs.python.it</a> (italian doc) e - zona Python<br><br><a href="http://aspn.activestate.com/ASPN/Cookbook/Python">http://aspn.activestate.com/ASPN/Cookbook/Python</a> (en doc) <br><br><a href="http://www.pycode.com/">http://www.pycode.com/</a><br><br><a href="http://iwiwdsmi.blogspot.com/">iwiwdsmi.blogspot.com</a> Sofeng's Blog<br><br><blockquote class="gn_c">This is a section to put useful links to python docs<br><br></blockquote>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDQPCQwoQm5bdrq0j2008-06-29T19:40:33.947Z2008-06-29T19:40:33.976ZGlobal Module Index<a href="http://docs.python.org/modindex.html">http://docs.python.org/modindex.html</a>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDQxBQwoQ9sDcrq0j2008-06-29T19:40:23.030Z2008-06-29T19:40:30.911ZGlobal Module Index<a href="http://docs.python.org/modindex.html"><br></a>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDRE-QwoQhNu8tawj2008-06-26T21:02:26.692Z2008-06-26T21:04:05.238ZCTYPES http://python.net/crew/theller/ctypes/ is an advanced ffi (Foreign F...CTYPES <br> <a href="http://python.net/crew/theller/ctypes/">http://python.net/crew/theller/ctypes/</a><br><blockquote class="gn_c">is an advanced ffi (Foreign Function Interface) package
for <a href="http://www.python.org/">Python</a> 2.3 and higher. In <a href="http://www.python.org/">Python</a> 2.5 it is already
included.<a href="http://python.net/crew/theller/ctypes/"></a></blockquote>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDRQEQwoQ1J2stawj2008-06-26T20:57:56.692Z2008-06-26T21:03:09.621Zoverride standard methods with maya cmds class bone: def __init__(self,b... override standard methods with maya cmds <br><blockquote class="gn_c"> <pre>class bone:<br> def __init__(self,bone):<br> self.bone=cmd.joint(n=bone)<br> cmd.select(cl=True)<br> return<br><br><br> def __radd__(self,other):<br><br><span> </span><span> </span><span> </span><span> </span>'''<br><span> </span><span> </span><span> </span><span> </span><span> </span>override the + add function<br><span> </span><span> </span><span> </span><span> </span>'''<br> cmd.parent(self.bone,other.bone)<br> return other.bone<br><br><br><br> def setName(self,newName):<br> '''<br> set bone name<br> '''<br> self.bone=newName<br> return cmd.rename(self.bone,newName)<br><br> <br> def getName(self):<br> '''<br> get bone name<br> '''<br> return self.bone<br><br><br> def setPos(self,pos):<br> '''<br> set local space position<br> '''<br> return cmd.xform(self.bone,ws=False,t=pos)<br><br> <br> def getPos(self):<br> '''<br> get local space position<br> '''<br> return cmd.xform(self.bone,q=True,ws=False)<br><br><br> def setWPos(self,pos):<br> '''<br> set world space position<br> '''<br> return cmd.xform(self.bone,ws=True,t=pos)<br><br> <br> def getWPos(self):<br> '''<br> get world space position<br> '''<br> return cmd.xform(self.bone,q=True,ws=True)<br></pre> <pre><br>b1=bone("osso0")<br>b2=bone("osso1")<br><br>b1+b2</pre></blockquote>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDQZVQwoQ_OH4qo4j2008-03-25T09:56:38.268Z2008-06-25T22:42:11.687ZPYMEL http://code.google.com/p/pymel/ http://www.highend3d.com/maya/download...PYMEL<br><a href="http://code.google.com/p/pymel/">http://code.google.com/p/pymel/</a> <br><a href="http://www.highend3d.com/maya/downloads/tools/syntax_scripting/Pymel-4844.html">http://www.highend3d.com/maya/downloads/tools/syntax_scripting/Pymel-4844.html</a><br>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDSMKQgoQ5P3FgJgj2008-04-24T10:54:00.420Z2008-04-24T10:54:00.455ZSofeng's Blog<a href="http://iwiwdsmi.blogspot.com/">http://iwiwdsmi.blogspot.com/</a>daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDQuXQgoQjd_S8Ykj2008-03-11T14:18:15.821Z2008-03-11T14:19:42.990ZPython Essential Reference - Google Book<img src="http://bks4.books.google.co.uk/books?id=kQom0WiUbZQC&printsec=frontcover&img=1&zoom=1&sig=grk5L02NdT667pwZrjR44WHc-wM" height="192" width="128">daxx2khttp://www.google.com/notebook/feeds/02636498222690413590/notebooks/BDQp6QgoQpJiOqoUj/NDQ7EQwoQ1bK7qogj2008-03-06T18:16:20.053Z2008-03-06T18:17:03.445ZPIL - Pyhton Image Library http://www.pythonware.com/media/data/pil-handbook....PIL - <span style="color:rgb(0, 0, 0)"><font face="MS Shell Dlg"><font color="#000000">Pyhton Image Library</font></font></span><br><a href="http://www.pythonware.com/media/data/pil-handbook.pdf">http://www.pythonware.com/media/data/pil-handbook.pdf</a> <br>daxx2k