Ok...no more coding before getting my first cup of coffee...I pasted the wrong block. Sorry!
http://pastebin.com/M2p4FhEu That one has the "not objExists", and an optional worldSpace boolean I will be quiet now :-) On Tue, Sep 11, 2012 at 9:29 AM, Justin Israel <[email protected]> wrote: > Not sure why I did that extra formatting on the first line... > > (http://pastebin.com/aWH2rw6p) > > a = "%s.delightVertexPointPref" % sh > > > > On Tue, Sep 11, 2012 at 9:27 AM, Justin Israel <[email protected]> wrote: >> Probably this: >> (http://pastebin.com/fAgffsQf) >> >> def attachPref(sh, worldSpace): >> a= "%s.%s" % (sh, "delightVertexPointPref") >> if cmds.objExists(a): >> cmds.addAttr(sh, dt="doubleArray", ln="delightVertexPointPref") >> >> # get points positons and write into one big string $data >> ptsCnt = cmds.getAttr("%s.controlPoints" % sh, s=True) >> data = [3*ptsCnt] >> for i in xrange(ptsCnt): >> if worldSpace: >> pos = cmds.xform("%s.vtx[%d]" % (sh, i), q=True, ws=True, t=True) >> else: >> pos = cmds.xform("%s.vtx[%d]" % (sh, i), q=True) >> data.extend(pos) >> >> cmds.setAttr(a, data, type="doubleArray") >> >> >> In python you can build up a list instead of formatting a string. >> >> >> On Tue, Sep 11, 2012 at 8:43 AM, f.michal <[email protected]> wrote: >>> Hello >>> I have a workin MEL code that I need to convert to python. >>> I'm not really sure how would I set values on doubleArray attributes - it's >>> weird already with MEL. >>> >>> So, what would be the translation of following into python : >>> >>> global proc attachPref(string $sh, int $worldSpace) >>> { >>> string $a= $sh + "." + "delightVertexPointPref"; >>> if(!`objExists ($a)`) >>> addAttr -dt "doubleArray" -ln "delightVertexPointPref" $sh; >>> >>> //get points positons and write into one big string $data >>> int $ptsCnt= `getAttr -s ($sh+".controlPoints")`; >>> string $data; >>> float $pos[3]; >>> for($i= 0; $i<$ptsCnt; ++$i) { >>> if($worldSpace) $pos= `xform -q -ws -t ($sh + ".vtx[" + $i + >>> "]")`; >>> else $pos= `xform -q -t ($sh + ".vtx[" + $i + "]")`; >>> $data += $pos[0] + " " + $pos[1] + " " + $pos[2] + " "; >>> } >>> >>> eval setAttr $a -type "doubleArray" (3*$ptsCnt) $data; >>> } >>> >>> The last line is the important part :) >>> >>> Thanks ! >>> ps. this is urgent :) >>> >>> -- >>> view archives: http://groups.google.com/group/python_inside_maya >>> change your subscription settings: >>> http://groups.google.com/group/python_inside_maya/subscribe -- view archives: http://groups.google.com/group/python_inside_maya change your subscription settings: http://groups.google.com/group/python_inside_maya/subscribe
