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