Hi,
When I run the following code that creates an effector, everything works perfectly. If I save the file, close it and open it again, the effector does nothing and it is impossible to make it work.
import c4d
def main():
res = c4d.BaseObject(c4d.Onull)
cloner = c4d.BaseObject(1018544)
cloner.InsertUnder(res)
rdm_effector = c4d.BaseObject(1018643)
rdm_effector.InsertUnder(res)
inex_data = cloner[c4d.ID_MG_MOTIONGENERATOR_EFFECTORLIST]
inex_data.InsertObject(rdm_effector,1)
cloner[c4d.ID_MG_MOTIONGENERATOR_EFFECTORLIST] = inex_data
if op:
op.InsertUnder(cloner)
doc.InsertObject(res)
c4d.EventAdd()
if __name__=='__main__':
main()
With CallCommand it works, but it's not very practical.
import c4d
from c4d import gui
def main():
res = c4d.BaseObject(c4d.Onull)
cloner = c4d.BaseObject(1018544)
cloner.InsertUnder(res)
if op:
op.InsertUnder(cloner)
doc.InsertObject(res)
doc.SetActiveObject(cloner)
c4d.CallCommand(1018643) # Effecteur Randomisation
c4d.EventAdd()
return
if __name__=='__main__':
main()
Bug or incompetence?
(C4D r21.207 and s22.016 on macos 10.13.6)