Also have a look at both the SDK Documentation and Python API Documentation at Autodesk Media and Entertainment 2014 SDK Documentation page. There are some examples but bear in mind that with basic python knowledge (provided you don't have extensive SDK knowledge) you'd be better off learning MAXScript - at least much more straightforward, less verbose and easy to reason about, especially when working with existing scene. Compare for example any of the sample scripts, for example:
import MaxPlus
obj = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.Cylinder)
obj.ParameterBlock.Radius.Value = 10.0
obj.ParameterBlock.Height.Value = 30.0
node = MaxPlus.Factory.CreateNode(obj)
mod = MaxPlus.Factory.CreateObjectModifier(MaxPlus.ClassIds.Bend)
mod.ParameterBlock.BendAngle.Value = 45.0
node.AddModifier(mod)
# and in max: python.ExecuteFile "demoBentCylinder.py"
Versus MAXScript version:
obj = Cylinder radius:10 height:30
addModifier obj (Bend angle:45)
Another comparison, running the load function of unwrap modifier:
import MaxPlus
UNWRAP_INTERFACE = MaxPlus.Interface_ID(1404256411, 419396280)
obj = MaxPlus.Factory.CreateNode(MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.Cylinder))
mod = MaxPlus.Factory.CreateObjectModifier(MaxPlus.ClassIds.Unwrap_UVW)
unwrap = MaxPlus.FPInterface__CastFrom(mod.GetInterface(UNWRAP_INTERFACE))
obj.AddModifier(mod)
obj.Select()
unwrap.Invoke(unwrap.FindFn('load'))
Versus
obj = Cylinder isSelected:true
m = Unwrap_UVW()
addModifier obj m
m.load()
As a homework, try to call a function with multiple parameters, there's no FPParams (so what, you might say, it's just an Array or FPValues) but what's worse, there seems to be no way to pass such an array to the Invoke function...
That said, I really like it and will certainly be using it a lot in future 🙂