Ditto what Judah said - if you want to use the api, you're gonna
either need to know python or C++... and if you don't want to
compile...

However, regarding pymel + maya API... first, you need to ask yourself
a question: what do you want to use the API for?  Are you looking to
gain access to all of the API methods / functions to use when writing
scripts? Or do you want to write plugins  - which allows the creation
of custom node types, manipulators, locators, etc, as Count Zero
pointed out?

It's a very important distinction, because, depending on which you
intend to do, there are very different restrictions on what methods /
etc you can safely use.  If you're doing script-level programming, you
can use... pretty much everything.  There are dangers associated with
mixing in some of the API functions in in scripts (mainly due to
issues with undo), but there are ways around these (the simplest /
most brute force being just disabling undo, for instance).  If this is
your goal, then pymel may be a good option for you - it will enable
you to get at a lot of the API functionality without the extra hassle
that dealing directly with the API can involve.

If, on the other hand, you want to do api-level programming - ie,
plugins - there are a lot more restrictions on what you can use:
essentially, you're stuck with only using what the API provides, and
none of the script level stuff - ie, maya.cmds, which has all the
mel-like functions you're probably used to.  In this context, pymel is
less useful, for the simple reason that it's never really been
designed to be used in this context.  While it does have a fair amount
of internal workings for dealing with the api, they're not really
easily accessible, and would probably just make things even more
confusing for someone new to the API.  (We do have plans to eventually
provide more API-level support, but that's another discussion
entirely...)

In either case, though, if your goal is really to LEARN the maya API,
pymel is probably NOT the best option.  While it provides access to a
lot of the API functionality, it's also essentially trying to protect
you from it.  The goal with pymel is that you shouldn't need to know
the details of the api - which is great if you just want to use it,
but not if you want to learn it.  If you want to learn about the API,
then either check out MRV or just use the standard python API... (or,
bite the bullet and learn it in C++... the python API is just a crude
wrap over the top of the C++ api, and introduces a number of other
complications, so in many ways the API only really makes sense when
you view it through a C++ lens...)

- Paul

-- 
http://groups.google.com/group/python_inside_maya

Reply via email to