maya python 与 mel 间的数据传递方法总结-原创

    技术2022-07-11  81

    一个网友的maya python 与mel语言变量传递方式,但感觉有些细节说的还不明确。现自己测试的代码分享给大家。

    1、maya python 编程环境下,变量传递互相传递的方法:

    1) mel 变量 ==> python 变量: 例如: import maya.mel as mel

    全局变量$abc 为提前在 mel编程环境下,定义的全局字符串变量,命令为 global string $abc ; $abc=“Namo Amitabha”;

    tjh = mel.eval(‘global string a b c ; abc; abc;abc=$abc;’) print(tjh)

    #返回结果为 Result: Namo Amitabha,从而实现了夸环境提取 mel 变量到 python 环境的方法。

    2) python 变量 ==> mel 变量:同理 例如下: import maya.mel as mel tjh = ‘hello my friends’ mel.eval( ’ global string a b c ; abc; abc;abc=python "tjh" ; ’ )

    #之后再mel环境下,输入print $abc ; 得到 Result: hello my friends ,实现了python 到 mel 变量传递

    2、maya mel 编程环境下,变量传递互相传递的方法:

    1) python 变量 ==> mel 变量: 例如: // 提前在 python 环境里第一个了全局变量 tjh =‘Namo Amitabha’ string a b c ; p y t h o n ( " i m p o r t m a y a . m e l a s m e l " ) ; p y t h o n ( " m e l . e v a l ( ′ abc; python("import maya.mel as mel") ; python("mel.eval(' abc;python("importmaya.melasmel");python("mel.eval(abc = python \"tjh\" ;’ )") ;

    // 结果得到 Result: amitabha ,实现了maya中获取python 全局变量值的目的//

    2)mel 变量 ==> python 变量: 例如: // 提前在 mel 环境里定义全局变量 global string $abc = "hello my friends "; python(“import maya.mel as mel”) ; python("tjh = mel.eval(‘global string a b c ; abc; abc;abc=$abc;’) ") ;

    // python环境下输入 print(tjh) ,得到结果 hello my friends ,实现了maya中获取mel 全局变量传递到python的目的//

    南无阿弥陀佛

    Processed: 0.011, SQL: 9