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

Reply via email to