Hi everyone,
After at least 45 hours of doing Python research
(I'm a beginner) , I made a script with a GUI that places object (A) on every single vertice of a selected object (B):
Code:
import maya.cmds as cmds
name='firstWin'
if cmds.window(name,exists=True,q=True)==True:
cmds.deleteUI(name)
winname=cmds.window(name,title='The Window of Opportunity',w=600,h=600,bgc=(0.5,0.1,0.6),sizeabl e=False)
cmds.columnLayout(adj=True)
cmds.textFieldButtonGrp('obj1',label='Object1', text='Name of Selected Obj', buttonLabel='Select Obj',bc='pasteSelectedName1()')
cmds.textFieldButtonGrp('obj2',label='Object2', text='Name of Selected Obj', buttonLabel='Select Obj',bc='pasteSelectedName2()')
cmds.floatSliderGrp(field=True,label='Scale Object1',minValue=.01,maxValue=2,fieldMinValue=.01 ,fieldMaxValue=2,value=1,cc='findValues',dc='findV alues')
cmds.button(label='CLICK',bgc=(0.4,0.3,0.9),c='ver tSnap()')
cmds.showWindow(name)
def pasteSelectedName1():
sel=cmds.ls(sl=True)[0]
cmds.textFieldButtonGrp('obj1',e=True,text=sel )
def pasteSelectedName2():
sel=cmds.ls(sl=True)[0]
cmds.textFieldButtonGrp('obj2',e=True,text=sel )
cmds.polySphere(sx=20,sy=20,r=5)
cmds.polyCone(sx=8,sy=1,sz=0)
def vertSnap():
#Store selected obj in variable
objA = cmds.textFieldButtonGrp('obj1',q=True,text=True)
objB = cmds.textFieldButtonGrp('obj2',q=True,text=True)
numOfVerts=cmds.polyEvaluate(objB,v=True)
for i in range(numOfVerts):
pos=cmds.pointPosition('%s.vtx[%s]' %(objB,i))
dup=cmds.duplicate(objA)[0]
cmds.setAttr('%s.t' %dup,pos[0],pos[1],pos[2])
Now that objA is duplicated onto each of Obj B's vertices, I want to be able to scale objA through the floatSlider with a minimum value of 0.1 and max of 2. Would someone mind helping me do this? I'd really appreciate it.