Could you say again what the problem was, the help flag doesn't work? Would it 
be possible to post a minimal example of the problem?

> On 3 Nov 2015, at 17:51, Rudi Hammad <[email protected]> wrote:
> 
> Hello again,
> I hope it is okey to keep asking. So far every thing I posted was solved so 
> thanks a lot for that
> I hope you could help me out wth that too.
> I bought Chayan Vinayak Dvd, and it excelent but there are some things that 
> remain unclear. So I am trying to build this command plugin that just builds 
> a joint when the argument jointRh is given
> Also, the help flag doesn´t work so...
> the command is cmds.myJointCommand(jRh=1)
> it register and unregister okey, so can someone try it out?
> Thanks
> 
> 
> 
> """--------------------------------------------------------------------------------[REQUISITOS]--------------------------------------------------------------------------------"""
> 
> ##[MODULOS,OBJETOS Y CLASS]##
> # modulos
> import maya.OpenMaya as OpenMaya
> import maya.OpenMayaMPx as OpenMayaMPx
> import sys
> # objetos y classes
> MPxCommand = OpenMayaMPx.MPxNode # class (que no objeto) de la que heredar
> 
> ##[VARIABLES]##
> kHelpShortFlg = "-h"
> kHelpLongFlg = "-help"
> helpMessage = "este commando sirve para crear una joint mediante un command 
> plugin"
> kMyJointShortFlg = "-jRh"
> kMyJointtLongFlg = "-jointRh"
> #--[nombre del commando]--#
> myCommandName = "myJointCommand"
> 
> """----------------------------------------------------------------------------------[CLASS]----------------------------------------------------------------------------------"""
> 
> ##[CLASS]##
> class MyJointPluginCommand(MPxCommand):
>     
>     #--[static Var]--#
>     myJointValue = None
>    
>     #--[methods]--#
>     # __init__
>     def __init__(self):
>         super(MyJointPluginCommand,self).__init__()
>         
>     # argumentParser
>     def argumentParser(self,argList):
>         syntax = self.syntax()
>         OpenMaya.MArgDatabase(syntax, argList)     #MArgDatabase 
> analiza(parse) command args, flags y flags args
>         mArgDatabase = OpenMaya.MArgDatabase(syntax, argList)
>         
>        #--[flags]--]
>         # flag corta help corta/larga
>         if mArgDatabase.isFlagSet(kHelpShortFlg): # isFlagSet() viene 
> heredado de la superclass de MArgDatabase que es MArgParse. Esto es para que 
> queriee que flag le he dado
>             self.setResult(helpMessage) # el mesaje de ayuda como arg
>             return OpenMaya.MStatus.kSuccess
>         if mArgDatabase.isFlagSet(kHelpLongFlg):
>             self.setResult(helpMessage)
>             return OpenMaya.MStatus.kSuccess          
>         # flag corta joint corta/larga
>         if mArgDatabase.isFlagSet(kMyJointShortFlg): 
>             self.myJointValue = 
> mArgDatabase.flagArgumentBool(kMyJointShortFlg, 0) # aqui le digo que tipo de 
> argumento espero recibir en la flag, y entr() los args son la flag, y el 
> indice por defecto
>             return OpenMaya.MStatus.kSuccess
>         if mArgDatabase.isFlagSet(kMyJointtLongFlg): 
>             self.myJointValue = 
> mArgDatabase.flagArgumentBool(kMyJointtLongFlg, 0)
>             return OpenMaya.MStatus.kSuccess
>    
>    
>         def isUndoable(self):
>             return true   
>    
>         def undoIt(self):
>             print "undo"
>             mFnDagNode = OpenMaya.MfnDagNode # para acceder al transform de 
> lo que quiero borrar
>             mDagModifier = OpenMaya.MDagModifier(mFnDagNode.parent(0)) # es 
> el stack de operacion
>             mDagModifier.deleteNode()
>             mDagModifier.doIt()
>             return OpenMaya.MStatus.kSuccess
>        
>         def redoIt():
>             mFnDagNode = OpenMaya.MFnDagNode()
>             objJoint = mFnDagNode.create("joint", "myJoint")
>             return OpenMaya.MStatus.kSuccess    
>            
>         def doIt(self,argList):
>             print "yeeeee"
>             self.argumentParser(argList) # como siempre, en OOP para usar un 
> metodo dentro de otro (nesting), uso self para indicar que el metodopertenece 
> a la class
>             if self.myJointValue != None:
>                 self.redoIt() # aqui dice es donde va el script donde pilla 
> vertices y pone cubos. redoIt porque se puede hacer varias veces. Y doIt 
> porque solo hace argumentParser una vez
>             else:
>                 print " nada que crear "
>             return OpenMaya.MStatus.kSuccess #es importante devolver el 
> estado de lo has hecho
>     
>     
> 
> 
>   
>             
> """----------------------------------------------------------------------------------[FUNCIONES]----------------------------------------------------------------------------------"""
> 
> ##[FUNCIONES]##
> 
> # def para atachar pointer
> def myCommandCreator():
>     return OpenMayaMPx.asMPxPtr(MyJointPluginCommand())
>     
> # MSyntax object    
> def mySyntaxCreator():
>     # creo objeto mSyntax
>     mSyntax = OpenMaya.MSyntax()
>     # addo flags
>     mSyntax.addFlag(kHelpShortFlg, kHelpLongFlg)
>     mSyntax.addFlag(kMyJointShortFlg, kMyJointShortFlg, 
> OpenMaya.MSyntax.kDouble) #indico tipo de variable que debe recibir   
>     return mSyntax 
> 
>        
> """------------------------------------------------------------------------------[REGISTRO
>  Y 
> DESREGISTRO]-----------------------------------------------------------------------------"""
> 
> #--[initialization command plugin]--#
> def initializePlugin(myMObject):
>     myPlugin = OpenMayaMPx.MFnPlugin(myMObject)
>     try:
>         myPlugin.registerCommand( myCommandName, myCommandCreator, 
> mySyntaxCreator ) #attacho pointer
>         sys.stderr.write("\n se ha inicializado correctamente " + 
> myCommandName)
>     except:
>         sys.stderr.write("\n meeeccc!! , fallo de registro de " + 
> myCommandName)
>        
> #--[uninitialization command plugin]--#
> def uninitializePlugin(myMObject):
>     myPlugin = OpenMayaMPx.MFnPlugin(myMObject)
>     try:
>         myPlugin.deregisterCommand(myCommandName) #aqui no requiere attachar 
> pointer, ya esta dentro del core
>         sys.stderr.write("\n se ha desinicializado correctamente " + 
> myCommandName)
>     except:
>         sys.stderr.write("\n meeeccc!! , fallo de desregistro de " + 
> myCommandName)
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/python_inside_maya/9eef9d5d-099a-4db6-ab06-87eaf0150be7%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/9CFDE867-730B-4D90-BD1D-015DE3A56718%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to