Python/MAYA

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
nabnab
User
Beiträge: 2
Registriert: Montag 28. Juli 2008, 21:21
Kontaktdaten:

Montag 28. Juli 2008, 21:49

Hallo Allerseits,
Es ist mein erster Eintrag, also Entschuldigung falls es zu plump werden sollte.
Zuerst der Part der funktioniert:

-----------------------------------------------------------------------------------
############################
#ich selektiere ein Objekt frage die Werte und gebe die aus.

import maya.cmds as mc
tX = mc.getAttr('fin.translateX',time=0) #
tY = mc.getAttr('fin.translateY',time=0) #
tZ = mc.getAttr('fin.translateZ',time=0) # werte sammeln

vectorObj = (sex1,sex2,sex3) # alles in ein tupel paken

print vectorObj #Tupel ausgeben

#################################
das funktioniert soweit bestens :-)
------------------------------------------------------------------------------------

Also nun zu meine Problem. Ich versuche von mehreren Selektierten Objekten die Werte auszulesen:


--------------------------------------------------------------------------------
#############################################

import maya.cmds as cmds

lisVAR = cmds.ls(sl=True)# namen aus der selektion in eine liste speichern

print lisVAR #liste testen

laengVAR = len(lisVAR)#laenge der liste auslesen

print laengVAR #laebge der liste testen

for i in range(0,laengVAR,1): #bei jedem durchlauf auf naechste ID der Liste zugreifen
print lisVAR #ID testen
a = lisVAR #Element der liste mit i an a string zuweisen
TX = cmds.getAttr(a.translateX, time=0)#hier sollte nun die traslateX rauslesen
TY = cmds.getAttr(a.translateY, time=0)
TZ = cmds.getAttr(a.translateZ, time=0)
print lisVAR+": "+TX+TY+TZ

##############################################
-------------------------------------------------------------------------------------------
So wie ich das verstehe musste „a“ ein String mit dem Wert aus der Liste mit der ID „i“ sein.
Leider brauche ich diesen String in einem String...
Wie mache ich das ambesten..
danke

hier die maya ausgabe:
############################################
import maya.cmds as cmds

lisVAR = cmds.ls(sl=True)
print lisVAR
laengVAR = len(lisVAR)
print laengVAR

for i in range(0,laengVAR,1):
print lisVAR
a = lisVAR
TX = cmds.getAttr('a.translateX', time=0)
TY = cmds.getAttr('a.translateY', time=0)
TZ = cmds.getAttr('a.translateZ', time=0)
print lisVAR+": "+TX+TY+TZ
[u'pCube1', u'pCube2', u'pCube3', u'pCube4']
4
pCube1



############################################


Ach so und hier die Maya Fehlermeldung
############################################
# Error: Object a.translateX is invalid
# Traceback (most recent call last):
# File "<maya console>", line 11, in <module>
# TypeError: Object a.translateX is invalid #


############################################
Danke im Vorraus
nabnab
User
Beiträge: 2
Registriert: Montag 28. Juli 2008, 21:21
Kontaktdaten:

Dienstag 29. Juli 2008, 14:41

Problem gelösst:

....
TZ = cmds.getAttr(a+".translateZ")

....
Antworten