"Executes a Python command that returns a string result from the command
engine"

Given the documentation, executePythonCommandStringResult wants to parse
the python statement through its own command engine. It kind of assumes
that the statement sent to this particular function is a single command
where it can automatically arrange to capture the string result. So if you
feed it larger snippets, the parser gets all wonky. What you can do instead
is first feed your supporting code to executePythonCommand(), and then just
call executePythonCommandStringResult() with your command. The following
works in python:

import maya.OpenMaya as om

bootstrap = """
def foo():
    xx = cmds.joint()
    return xx
"""
om.MGlobal.executePythonCommand(bootstrap)

c = "foo()"
ret = om.MGlobal.executePythonCommandStringResult(c)
print(ret)


On Mon, May 1, 2023 at 8:22 AM Rudi Hammad <rudiham...@gmail.com> wrote:

> Hi,
> I am writing a Plugin in C++ and I am having trouble figuring out how to
> get a return from python execute code.
> For instance, this works perfectly:
>
>  MString pyCommand2;
> pyCommand2 = "cmds.joint()";
> auto test2 = MGlobal::executePythonCommandStringResult(pyCommand2);
> MGlobal::displayInfo(test2);
>
> Here I get displayed "joint1", so it is catching the return. But this
> doesn't work
>
> MString pyCommand;
> pyCommand =
> "def foo():\n"
> "    xx = cmds.joint()\n"
> "    return xx\n"
> " foo()";
>
> auto test1 = MGlobal::executePythonCommandStringResult(pyCommand);
> MGlobal::displayInfo(test1);
>
> Here the return value that MGlobal::displayInfo(test1) should provide is
> empty.
> Any ideas?
>
> thanks
>
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/python_inside_maya/f8e57985-df64-40fe-b8fb-12906ab943b2n%40googlegroups.com
> <https://groups.google.com/d/msgid/python_inside_maya/f8e57985-df64-40fe-b8fb-12906ab943b2n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA0EcJYsompVz55YLj8zk7KRiDTyjTaPsFEGf3WCgtJwPA%40mail.gmail.com.

Reply via email to