2015-04-20 1 views
0

débutant ici avec une question très simple - Je veux créer 6 sphères dans des sphères, avec l'une au milieu rouge, l'autre sur le noir extérieur, et la reposez-vous quelque part entre les deux. J'ai des problèmes avec la couleur - j'obtiens l'erreur "itération sur la non-séquence de type." Voici mon code jusqu'à présent:Changer la couleur des sphères dans la boucle (python/rhino)

import rhinoscriptsyntax as rs 
import random 

maxNum=6 

a=(1/maxNum) 

pt0 = [50,50,50] 

pts = [] 
pts.append(pt0) 

for i in range (0,6): 

    sphere0= rs.AddSphere(pt0, 30*i) 

    rs.ObjectColor (sphere0, [(i+1)*2.55,0,0]) 

Merci beaucoup!

+0

Je suis assez sûr que ce n'est pas le message d'erreur. S'il vous plaît nous dit exactement comment il se lit et dans quelle ligne il se produit. Mieux vaut donner une trace complète. –

+0

OK, voici le plein retraçage: Message: itération sur non-séquence de type NoneType Traceback: ligne 423, dans ObjectColor, «/Users/étudiants/Bibliothèque/Application Support/Lamborot/Rhinocéros/MacPlugIns/IronPython/settings/lib/rhinoscript/object.py " ligne 18, dans ," /Users/students/Desktop/imagination.py " – Ava

+0

Désolé, je n'ai pas vu votre réponse plus tôt. La traceback vous indique qu'à la ligne 423 d'ObjectColor, une tentative est faite pour itérer sur un objet qui est None. C'est ce que signifie "de type NoneType". Cette fonction a été appelée à partir de la ligne 18 de votre script. La dernière ligne de votre script a un appel à ObjectColor, ce qui est logique. Vous passez deux arguments à cette fonction; le second est une liste donc il ne peut pas être None. Donc, l'autre est le problème, Qu'est-ce que sphere0 - la valeur de retour de AddSphere? Pourquoi ne pas l'imprimer et voir ce que c'est? –

Répondre

0

La première sphère que vous ajoutez a un rayon = 0, de sorte que l'appel AddSphere échoue et que le GUID renvoyé est none. C'est pourquoi vous ne pouvez pas définir la couleur.