myExportCmd -f "c:/temp" -verbose "pCube3";maya.cmds.myExportCmd('-f', 'c:/temp', '-verbose', 'pCube3')maya.cmds.myExportCmd('pCube3', f='c:/temp', verbose=True)Can we see an example of how you are defining your MSyntax? Are you use addArg()? If so you probably want to switch to using the object list instead
Justin
--
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 python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/8efe0c53-8bfd-4c53-9cf1-7ba90939f72d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
static MSyntax getSyntax()
{
MSyntax syntax;
syntax.addFlag(kOutFileFlagShort, kOutFileFlag, MSyntax::kString);
syntax.addFlag(kVerboseFlagShort, kVerboseFlag);
// ... More addFlag calls here
syntax.enableQuery(false);
syntax.enableEdit(false);
syntax.setObjectType(MSyntax::kStringObjects, 1);
return syntax;
}
plugin.registerCommand( MY_EXPORT_CMD, myExportCmd::creator, myExportCmd::getSyntax);
Calls like this return true if I call the plugin from MEL, false if I call it from Python:
flagSet = inputArgs->isFlagSet(kVerboseFlag, &status);
MArgList args2 = MArgList(args); // This line is interesting. If I call from Python, I get nothing at all from the << operator unless I do this. Calling from MEL, it works with or without this line.
MString argsStr;
std::ostringstream stream;
stream << args2;
std::string str = stream.str();
argsStr = MString(str.c_str());
MGlobal::displayInfo(argsStr);
Can we see an example of how you are defining your MSyntax? Are you use addArg()? If so you probably want to switch to using the object list instead
Justin
On Mon, Mar 6, 2017, 7:52 PM Michael Boon <boon...@gmail.com> wrote:
Hi all, I have yet another question about arguments to Maya C++ plugins.--I have a plugin that accepts flags and objects using an MSyntax and MArgDatabase, and everything works as expected when I call it from MEL, like this:myExportCmd -f "c:/temp" -verbose "pCube3";Calling it from Python like this works:maya.cmds.myExportCmd('-f', 'c:/temp', '-verbose', 'pCube3')But calling it the expected way doesn't:maya.cmds.myExportCmd('pCube3', f='c:/temp', verbose=True)If I do it like the last example above, the plugin gets the "pCube3" object string, but doesn't get any flag arguments at all.Is that expected? I've seen tutorials on writing plugins in Python that work correctly (like the last example above), but I can't find mention online of C++ plugins that do. I thought there would be mention of it not working, though.Thanks again!
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 python_inside_maya+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/8efe0c53-8bfd-4c53-9cf1-7ba90939f72d%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 python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/df48b821-cbe8-4574-9b47-05819edfa5a2%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/8efe0c53-8bfd-4c53-9cf1-7ba90939f72d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.