Thank you @m_adam it's really helpful! I was going to a wrong direction. I chose to do a project that has every new aspect to explore :)) I will for sure disturb you in future with my questions. I appreciate your suggestions.
I have 90 strut shaping a sphere in this scene. each strut is a linear cloner of cubes and they represent LED strips. I want to animate the light in realtime. So, I am trying to animate the sphere with effectors and change the color, then send the color data through Lumos Library to a Raspberry Pi to animate light. I'm awfully new to C4D and Python in C4D.
I know I have to give address to each cube and link it with the address I have for the LED pixel. But that goes way further. what I'm struggling with now is capturing data of each cloner.
Thanks for your patience,
Oh I see. I take that note for python effector, thanks. I think I explained it in a very wrong way because as I see you have a cloner as the child of other cloner. In my example, I have 90 different cloners. I will attach my example.
@m_adam when I ran the code you posted, I got the error "Failed to retrieves op and its child". I am calling each function in the main to realize what each of them is doing. But I think all of them are linked to one another.
So my main question is that when you say I need to select my objects in order, how should I exactly do this? I put the Python Effector in the effectors list for each 90 cloners that I have, and I assumed this would work.
Wow! thanks Adam. I have to take my time to process all the useful information you gave me. I will reply on this post if I have further questions.
I'm sorry if I'm posting a repeated topic. I am trying to get color data from multiple mo-graph in python to send out to a micro controller for realtime animation.
I am explaining what I've done so far
I have 90 linear cloners of cubes (there are 30 of them in each cloner). I want to get color data from each clone and send the rgb color to the controller. After a couple of hours searching I came to this conclusion to make a blank 2D list, append each cloner as an object to the list and therefore, I can have an ID to retrieve the data from. from my one week experience in C4D and python, I wrote this code. I set 2 cloners as user data. this it absolutely not working. If any one has done sth similar to what I want to do, his/her help would be much appreciated.
from c4d.modules import mograph as mo
from c4d import utils
n = 2
m = 33
Matrix = [ * m for i in range(n)]
Obj1 = op[c4d.ID_USERDATA,2]
Obj2 = op[c4d.ID_USERDATA,1]
count = len(Obj1)
for j in range (32):
Matrix[j] = Obj1
Matrix[j] = Obj2
md = mo.GeGetMoData(op)
if md==None: return False
cnt = md.GetCount()
marr = md.GetArray(c4d.MODATA_MATRIX)
carr = md.GetArray(c4d.MODATA_COLOR)
for i in reversed(xrange(0, cnt)):
md.SetArray(c4d.MODATA_COLOR, carr, True)
md.SetArray(c4d.MODATA_WEIGHT, warr, True)