Sorry, I missed to explain something.

To get changes on a node I use the
getSetAttrCmds function of MPlug on all its writeable attributes.

(I suppose that is the same command that is called when a file is saved.)

So that makes it convinient for me because I don't have to care about what
type of attribute it is, what data type etc.
All I need to store is the mel command the function above spits out and
then re-apply it later.

But if *some* mel commands don't work apart from file openening time, this
all crumbles apart a bit. :/
and I might have to do things "properly" after all.

seb



On Sun, Dec 25, 2011 at 3:33 PM, Justin Israel <[email protected]>wrote:

> Just for my own understanding, could you explain why python is not an
> option for your problem when you are calling out from it to mel commands?
> What specifically requires that you do a mel.eval() from a python
> environment? I must be missing something :-)
>
> If "one liner" keyframe range setting is what you needed, here are some
> interesting python one-liners:
>
> *Value is the same: *(this is a 'duh' I'm sure, but just starting with it)
> cmds.setKeyframe("polySphere2.sa", t=(1,5), v=18)
> *
> *
> otherwise...
>
> *list comprehension:*
> _ = [cmds.setKeyframe("polySphere2.sa", t=k, v=v) for k,v in ktv =
> [(1,18), (5,18)]]
>
> *mapping:*
>
> _ = map(lambda x: cmds.setKeyframe("polySphere2.sa", t=x[0], v=x[1]), ktv
> = [(1,18), (5,18)])
>
>
> -- justin
>
>
>
> On Dec 24, 2011, at 4:49 PM, Sebastian Schoellhammer wrote:
>
> Hmpf, that is a bummer.
> So the reason why I don't get an error when I execute in a mel console is
> that it 'silently fails'?
>
> Bah and I thought I found a neat shortcut for my custom presets. I'm
> making something that let's you store animation/expressions  as well and so
> needs to create/change nodes. Those commands would have been a simple and
> general solution if it weren't for that problem :/
>
> merry christmas! :)
>
> On Fri, Dec 23, 2011 at 9:11 PM, Nicolas Combecave <
> [email protected]> wrote:
>
>> You seem to want to set your keyframes all in one pass directly on the
>> animCurve, which seem to only be possible during file opening, di-uring io
>> operations.
>> http://forums.cgsociety.org/archive/index.php/t-898721.html
>>
>>
>> 2011/12/23 Sebastian Schoellhammer <[email protected]>
>>
>>> No, sadly the only thing I get is "syntax error" and yes in this case
>>> mel.eval would be by far the most convenient way.
>>>
>>>
>>>
>>> On Fri, Dec 23, 2011 at 1:52 PM, Justin Israel 
>>> <[email protected]>wrote:
>>>
>>>> Are you able to post the specific error? Did it give you any more
>>>> information that what you provided?
>>>> Also, is there any reason you cant do it from python?
>>>>
>>>> On Dec 22, 2011, at 2:17 PM, Sebastian Schoellhammer wrote:
>>>>
>>>> Hello,
>>>>
>>>> I have a weird problem with mel.eval
>>>>
>>>> import maya.mel as mel
>>>> mel.eval('setAttr -s 2 "polySphere2_subdivisionsAxis.ktv[0:1]" 1 18 5
>>>> 18;')
>>>> mel.eval('setAttr "polySphere2_subdivisionsAxis.i" 5;')
>>>>
>>>> The first one is giving me a syntax error, the second works fine.
>>>> Both work when I copy the exact string into a mel console.
>>>> Is there some funky character conversion going on?
>>>>
>>>> Hum, any hints are greatly appreciated!
>>>>
>>>> Thanks,
>>>> Seb
>>>>
>>>>
>>>>
>>>>  --
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> Sebastian Schoellhammer
>>>
>>> Sr. Technical Artist
>>> Square Enix LTD
>>> www.square-enix.com
>>>
>>>
>>>
>>> --
>>> 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
>>
>
>
>
> --
> Sebastian Schoellhammer
>
> Sr. Technical Artist
> Square Enix LTD
> www.square-enix.com
>
>
> --
> 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
>



-- 
Sebastian Schoellhammer

Sr. Technical Artist
Square Enix LTD
www.square-enix.com

-- 
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