Oh thanks got lost in all the website overhauls. It's on its way. Olivier
PS : Maya has not been Frenchizified so there is no difference in the menus from the US version. John Creson wrote: > http://usa.autodesk.com/adsk/servlet/item?id=12331406&siteID=123112&SelProduct=Maya > > I'm not sure what the French link might be, but there is a link in every Maya > > Help > Report a Problem > > also > > Help > Suggest a Feature > > On Tue, Sep 22, 2009 at 5:19 AM, Olivier Renouard > <[email protected]> wrote: > >> Support got a bit convoluted here as it goes through our reseller, but as >> soon as I can figure how things changed, I'll do that. >> >> Paul Molodowitch wrote: >> >> Huh - good to know. >> >> Anyone filed a bug report yet? >> >> - Paul >> >> On Mon, Sep 21, 2009 at 1:50 AM, Olivier Renouard >> <[email protected]> wrote: >> >> >> At least the cause of the error has been identified, there seems to be an >> incorrect wrap of multi use flags MSyntax in Python : >> >> http://www.3delight.com/en/modules/PunBB/viewtopic.php?pid=8600#p8600 >> >> Drake wrote: >> >> The current MTOR in RenderMan Studio 2 still doesn't provide python >> binding and there must be some reason but I didn't check it with their >> technical guys. I guess it is not in priority list. But there is prman >> (the renderer) for python started from prman 14.0 and we have >> experienced on it by developed a re-lighting tool based on prman's new >> re-lighting framework. Python binding works well except some re- >> lighting bug. >> >> - Drake >> >> On Sep 18, 12:07 am, Paul Molodowitch <[email protected]> wrote: >> >> >> Well, glad you got that sorted out. =) >> >> Still, I'm a little surprised that the PRMan plugin didn't also supply >> a python version of mtor - generally speaking, as long as the plugin >> is implemented "properly" - ie, uses MSyntax for it's command arg >> processing - it should make both a python and mel command. >> >> - Paul >> >> On Thu, Sep 17, 2009 at 3:41 AM, Drake <[email protected]> wrote: >> >> >> >> Hey Paul, >> >> >> Thx a lot for the detailed explanation. During the tracing of pymel's >> Mel class, I did notice the different handling of mel commands and mel >> functions and I didn't realize that I have found the solution yet. >> PRMan's mtor is command-styled and I would use pymel.mel.mtor >> ('control', 'getvalue', '-sync') for them. >> >> >> Sometimes, it is too convenient to use pymel such that we made some >> very fundamental mistakes~ >> >> >> -- Drake >> >> >> On Sep 17, 12:04 am, Paul Molodowitch <[email protected]> wrote: >> >> >> Hey drake - >> First of all, for commands from plugins, BOTH a python command and a >> mel command should be made. So, both of these should be valid: >> >> >> // From mel: >> mtor(...) >> >> >> # From python: >> import maya.cmds >> maya.cmds.mtor(...) >> >> >> Also, if you encounter problems with pymel.mel's wrapping, you can >> always fall back on the the default maya.mel.eval, which just >> evaluates a mel string: >> >> >> import maya.mel >> maya.mel.eval('mtor ...') >> >> >> Thus far, I've just talked about stuff in maya's standard python/mel >> - now onto pymel. Note that I don't have access to Renderman myself, >> so I can't give definitive answers on the mtor command, but this >> should point you in the right direction. >> >> >> In pymel, you can access the maya.cmds python function as normal: >> >> >> import pymel >> pymel.mtor(...) >> >> >> Note, however, that if you did something like this: >> >> >> from pymel import * >> loadPlugin('mtor.so') >> mtor(...) >> >> >> ...you would get: >> >> >> # NameError: name 'mtor' is not defined # >> >> >> The reason here is that when you did the 'from pymel import *', the >> 'mtor' command was not defined - you will have to either re-import * >> into your namespace, or use pymel.mtor >> >> >> Making a guess at the syntax for the mtor command, the best way to >> invoke the command you were looking for would probably be something >> like this: >> >> >> mtor('control', 'getvalue', sync=True) >> >> >> If, for some reason, you have to use the MEL version of the command, >> note that pymel's 'mel' wraps things using the 'function' syntax of >> the mel command, not the 'command' syntax. If you're not clear on the >> difference between the two, here's an example: >> >> >> // mel command syntax: >> xform -q -translation; >> // mel function syntax: >> xform("-q", "-translation"); >> >> >> Thus, the correct way to invoke this command from pymel.mel would also be: >> >> >> pymel.mel.xform("-q", "-translation"); >> >> >> So, if you had to call mtor from python using the mel version, you >> would likely do something like this: >> >> >> pymel.mel.mtor('control', 'getvalue', '-sync') >> >> >> Finally, as a last fallback, you can use pymel.mel.eval, which is just >> a wrapper for the standard maya.mel.eval: >> >> >> pymel.mel.eval('mtor control getvalue -sync') >> >> >> On Wed, Sep 16, 2009 at 4:48 AM, Drake <[email protected]> wrote: >> >> >> It's a lovely design to use 'mel.ooxx(...)' to invoke mel function as >> 'ooxx ...' but we encountered one special case as Pixar's mtor >> function. In mel, mtor's function works like these: >> >> >> mtor control getvalue -sync; >> mtor control getvalue -rg dspyName; >> mtor control setvalue -rg "dspyQuantizeOne" -value $ooxx; >> ... >> >> >> We could not directly make it work through pymel as following: >> >> >> mel.mtor("control getvalue -sync") >> >> >> Therefore, I did my own dirty hack on Mel class to make the above code >> snippet work. I am wondering what is the suggested way to invoke some >> mel functions like 'mtor'? >> >> >> -- Drake >> >> >> >> >> >> >> -- >> Olivier Renouard >> >> >> >> >> >> -- >> Olivier Renouard >> >> > > > > > -- Olivier Renouard --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---
