César Vonc
01/06/2013, 16h33
Salut,
J'ai un petit soucis lorsque je créé un déformateur Surface, je n'arrive pas à simuler le clic sur le bouton Initialiser, en python.
J'utilise bien CallButton, mais rien ne se passe, le déformateur n'est pas initialisé.
import c4d
def main():
cube = c4d.BaseObject(c4d.Ocube)
plan = c4d.BaseObject(c4d.Oplane)
doc.InsertObject(cube)
doc.InsertObject(plan)
defo = c4d.BaseObject(1024552)
defo[c4d.ID_CA_SURFACE_DEFORMER_OBJECT_CAGE] = plan
defo.InsertUnder(cube)
c4d.CallButton(defo, 1001)
c4d.EventAdd()
if __name__=='__main__':
main()
Pourtant, ça fonctionne lorsque je colle ensuite cette ligne dans la console, après avoir sélectionné le déformateur :
c4d.CallButton(doc.GetActiveObject(), 1001)J'imagine que c'est un problème de mise à jour, j'ai essayé avec des c4d.EventAdd() un peu partout, sans succès. J'ai oublié quelque chose ? : P
J'ai un petit soucis lorsque je créé un déformateur Surface, je n'arrive pas à simuler le clic sur le bouton Initialiser, en python.
J'utilise bien CallButton, mais rien ne se passe, le déformateur n'est pas initialisé.
import c4d
def main():
cube = c4d.BaseObject(c4d.Ocube)
plan = c4d.BaseObject(c4d.Oplane)
doc.InsertObject(cube)
doc.InsertObject(plan)
defo = c4d.BaseObject(1024552)
defo[c4d.ID_CA_SURFACE_DEFORMER_OBJECT_CAGE] = plan
defo.InsertUnder(cube)
c4d.CallButton(defo, 1001)
c4d.EventAdd()
if __name__=='__main__':
main()
Pourtant, ça fonctionne lorsque je colle ensuite cette ligne dans la console, après avoir sélectionné le déformateur :
c4d.CallButton(doc.GetActiveObject(), 1001)J'imagine que c'est un problème de mise à jour, j'ai essayé avec des c4d.EventAdd() un peu partout, sans succès. J'ai oublié quelque chose ? : P