This is probably a long shot, but I thought I'd ask in case anyone
else has ran into this:

First off, I'm new to the API, but have a good grasp on mel and
Python.  I'm going through the Complete Maya Programming book and re-
writing the plugin examples as scripted plugins.  So far, so good...

Here's the problem:  I'm making a syntax for my command so I can
capture and process the flags, pretty much like the book shows (if you
have it, page 319):

    @staticmethod
    def newSyntax():
        syntax = om.MSyntax()
        syntax.addFlag(Posts3Cmd.numberFlag, Posts3Cmd.numberFlagLong,
om.MSyntax.kLong)
        syntax.addFlag(Posts3Cmd.radiusFlag, Posts3Cmd.radiusFlagLong,
om.MSyntax.kDouble)
        syntax.addFlag(Posts3Cmd.heightFlag, Posts3Cmd.heightFlagLong,
om.MSyntax.kDouble)
        return syntax

The bug is this:  The first .addFlag applied is ignored by Maya.  When
I run the command, it will completely skip whatever flag is listed
first.  If I reorder the above syntax.addFlag methods, I can easily
change the behavior.  The fix is a total hack:

    @staticmethod
    def newSyntax():
        syntax = om.MSyntax()
        syntax.addFlag("-d", "-dummy", om.MSyntax.kNoArg)
        syntax.addFlag(Posts3Cmd.numberFlag, Posts3Cmd.numberFlagLong,
om.MSyntax.kLong)
        syntax.addFlag(Posts3Cmd.radiusFlag, Posts3Cmd.radiusFlagLong,
om.MSyntax.kDouble)
        syntax.addFlag(Posts3Cmd.heightFlag, Posts3Cmd.heightFlagLong,
om.MSyntax.kDouble)
        return syntax

I simply make a dummy syntax as the first one, and now everything
works quite happily.
Huh?  This can't possibly be right.  Look familiar to anyone?

thanks

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

Reply via email to