Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
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)
Hi @oli_d you should call rdm_effector.Message(c4d.MSG_MENUPREPARE, doc) after its insertion in the doc like
rdm_effector.Message(c4d.MSG_MENUPREPARE, doc)
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) rdm_effector.Message(c4d.MSG_MENUPREPARE, doc) c4d.EventAdd() if __name__=='__main__': main()
Cheers, Maxime.
Merci Maxime !
It's work perfectly !