phobos34
13/11/2012, 10h41
Bonjour,
Voila je cherche a crée un script pour automatiser une tache sur une grand nombre de fichier .c4d.
Je me suis donc tourné vers le scripte "python_init.py" dans préférence pour qu'il s’exécute dès l'ouverture de C4D (vue qu'il n'y a pas de ligne de commande pour lancer c4d.exe + un script, comme dans maya ou max...)
Mon script doit donc automatisé l'ouverture d'un fichier.c4d (ca j'y arrive sans problème) et après collecter des informations dans celui-ci en vue de les exporter ?
j' arrive via un script a collecter des informations mais que quand c4d est déjà lancer et le fichier 3d déjà ouvert. (ça c'est facile)
Ce que je n'arrive pas a faire dans mon script "python_init.py" c'est a lire les information du fichier qu'il a ouvert lui (via la focntion "documents.LoadFile(FileName)")
le script lance les commande mais n'attend pas la fin de celle ci pour exécuter la suite (très bizarre), donc il lance la commende d'ouverture du fichier mais après si je vais par exemple un simple : "fps = doc.GetFps()" ça ne marche pas vue que le fichier 3d n'est pas encore ouvert.
Vous savez comment je peut arrivé a faire cela, est-ce que c'est seulement possible de le fait dans cinema 4d (j’espère car sinon je suis mal) ? la fonction "time.sleep()" dans une fonction ne marche pas, ça stop l’exécution de c4d.
voici mon code pour mes test (enfin une des 50 version que j'ai tester en viens):
import c4d
import sys
from c4d import documents,storage
def main():
FileName="e:/work/cine4d/test/test.c4d"
documents.LoadFile(FileName)
fps = doc.GetFps()
scenename = doc.GetDocumentName()
pathname = doc.GetDocumentPath()
rd = doc.GetActiveRenderData()
print fps
if __name__=='__main__':
main()
c4d.EventAdd() #update
merci pour le coup de main, ça fait 4 jours que je cherche en viens.(j'ai fait tous les forum sur cinema 4d du net sans trouver de solution)
Par avance merci (je sais c'est pas simple!)
Voila je cherche a crée un script pour automatiser une tache sur une grand nombre de fichier .c4d.
Je me suis donc tourné vers le scripte "python_init.py" dans préférence pour qu'il s’exécute dès l'ouverture de C4D (vue qu'il n'y a pas de ligne de commande pour lancer c4d.exe + un script, comme dans maya ou max...)
Mon script doit donc automatisé l'ouverture d'un fichier.c4d (ca j'y arrive sans problème) et après collecter des informations dans celui-ci en vue de les exporter ?
j' arrive via un script a collecter des informations mais que quand c4d est déjà lancer et le fichier 3d déjà ouvert. (ça c'est facile)
Ce que je n'arrive pas a faire dans mon script "python_init.py" c'est a lire les information du fichier qu'il a ouvert lui (via la focntion "documents.LoadFile(FileName)")
le script lance les commande mais n'attend pas la fin de celle ci pour exécuter la suite (très bizarre), donc il lance la commende d'ouverture du fichier mais après si je vais par exemple un simple : "fps = doc.GetFps()" ça ne marche pas vue que le fichier 3d n'est pas encore ouvert.
Vous savez comment je peut arrivé a faire cela, est-ce que c'est seulement possible de le fait dans cinema 4d (j’espère car sinon je suis mal) ? la fonction "time.sleep()" dans une fonction ne marche pas, ça stop l’exécution de c4d.
voici mon code pour mes test (enfin une des 50 version que j'ai tester en viens):
import c4d
import sys
from c4d import documents,storage
def main():
FileName="e:/work/cine4d/test/test.c4d"
documents.LoadFile(FileName)
fps = doc.GetFps()
scenename = doc.GetDocumentName()
pathname = doc.GetDocumentPath()
rd = doc.GetActiveRenderData()
print fps
if __name__=='__main__':
main()
c4d.EventAdd() #update
merci pour le coup de main, ça fait 4 jours que je cherche en viens.(j'ai fait tous les forum sur cinema 4d du net sans trouver de solution)
Par avance merci (je sais c'est pas simple!)