편집 (솔루션) : 배열을 문자열로 변환하고 다른 끝에서 구문 분석하고 다시 작성하여이를 수행 할 수있었습니다. 누구든지 더 좋은 방법이 있다면 나는 그것을 고맙게 생각할 것입니다.Maya의 MArgList에서 목록을 가져 오려면 어떻게합니까? (파이썬)
원본 : 나는 플러그인을 만들 MPxCommand
를 확장하는 클래스를 생성하고, 인수 변수에서에서 목록의 몇 가지를 끌어 오기 doIt()
함수에서 MArgList
을 구문 분석하는 방법을 알아 내기 위해 노력 해왔다
MArgParser
으로 개별 변수를 가져 왔지만 전체 목록을 가져올 방법을 찾지 못했습니다.
# Error: TypeError: file Command.py line 163: in method 'MArgList_asIntArray', argument 2 of type 'unsigned int &' #
편집 :
class myCommand(omMPx.MPxCommand):
def __init__(self):
omMPx.MPxCommand.__init__(self)
def newSyntax(self):
syntax = om.MSyntax()
syntax.addFlag("-s", "-string", om.MSyntax.kString)
return syntax
def doIt(self, args):
stringFlag = "-s"
parser = om.MArgParser(self.newSyntax(),args)
if parser.isFlagSet(stringFlag):
self.myStr = parser.flagArgumentString(stringFlag, 0)
print self.myStr
이 코드는 둘 것이다 "
MArgList
asStringArray(index)
및
asIntArray(index)
로 원하지만 내가 그들을 사용해보십시오 사용할 때이 오류가 무엇을 가지고 나타납니다 hello "
cmds.myCommand(s = "hello")
을 실행하면
args
에서
self.myStr
으로 바뀌지 만
cmds.myCommand(s = ["hello", "world"])
을 실행할 수 있고에서 배열을 가져올 수 있어야합니다.변수를 입력하고
self.myStr
에 입력하십시오.
나는 무엇을 하려는지 분명히합니다.
'MArgList_asIntArray', argument 2 of type 'unsigned int &'
int &
이, 즉 당신이 함수에 제공하는 int는 함수가 변경됩니다, int 형에 대한 참조와 변수의 의지 :
코드를 공유 할 수 있습니까? 당신의 문제를 따르는 것은 쉽지 않습니다. – user1767754