如何在maya中从MArgList中提取列表?(Python)
编辑(解决方案?):我可以通过将数组转换成字符串并在另一端解析和重新创建它们来实现这一点。如果有人有更好的方法,我将不胜感激 原件: 我创建了一个类,它扩展了如何在maya中从MArgList中提取列表?(Python),python,maya,Python,Maya,编辑(解决方案?):我可以通过将数组转换成字符串并在另一端解析和重新创建它们来实现这一点。如果有人有更好的方法,我将不胜感激 原件: 我创建了一个类,它扩展了MPxCommand来创建一个插件,并且一直在尝试分析doIt()函数中的MArgList,以从args变量中提取几个列表。我试图拉一个字符串列表和一个长度不一致的整数列表,这样我就不能(我想)在调用命令时多次填充标志 我已经用MArgParser成功地提取了单个变量,但还没有找到提取完整列表的方法 MArgList似乎有我想要的功能asS
MPxCommand
来创建一个插件,并且一直在尝试分析doIt()
函数中的MArgList
,以从args变量中提取几个列表。我试图拉一个字符串列表和一个长度不一致的整数列表,这样我就不能(我想)在调用命令时多次填充标志
我已经用MArgParser
成功地提取了单个变量,但还没有找到提取完整列表的方法
MArgList
似乎有我想要的功能asStringArray(index)
和asIntArray(index)
,但当我使用它们时,我得到了错误:
# Error: TypeError: file Command.py line 163: in method 'MArgList_asIntArray', argument 2 of type 'unsigned int &' #
编辑:
如果我运行cmds.myCommand(s=“hello”)
,此代码将把args
中的“hello”放入self.myStr
,但我希望能够运行cmds.myCommand(s=[“hello”,“world”])
,并且能够从args
变量中获取数组并将其放入self.myStr
我希望这能澄清我想做的事情。我认为你的问题在于该函数的声明:
'MArgList_asIntArray', argument 2 of type 'unsigned int &'
int&
是对int的引用,也就是说,如果给函数一个int,函数会改变它,而变量会反映变化
也许你已经看到了:传递一个常数是不可能的
我根本不喜欢python,所以我不知道仅仅声明一个int,初始化它,然后将它作为参数2传递给函数是否足够。你能分享你的代码吗?了解你的问题并不容易
'MArgList_asIntArray', argument 2 of type 'unsigned int &'