PDA

Voir la version complète : Tuto vidéo Python - 02 Introduction au SDK python



gr4ph0s
12/09/2016, 01h12
Salut tout le monde.
Dans cette seconde vidéos toujours destinée aux personnes n'ayant jamais fait de programmation auparavant.
Nous allons créer un script qui nous permettra de décaler le positionnement de nos UV.
Ceci nous permettra de voir le fonctionnement des classes dans le python.
Mais aussi de découvrir les fonctions de Cinéma 4D relative au tag uvw.


https://vimeo.com/182322638
Le lien direct :
https://vimeo.com/182322638


Bien sûr, tout commentaire est le bienvenue.

Math1712
09/02/2017, 15h44
Super ces tutos !

Une question dans le SDK que veut dire (void) exemple Bool (https://developers.maxon.net/docs/Cinema4DCPPSDK/html/ge__sys__math_8h.html#afdcfe6db5bea87bd493a3fe2c51 3d5ef) AddUndo (https://developers.maxon.net/docs/Cinema4DCPPSDK/html/class_gv_node_master.html#aa67c846b31fa1b0dea53819 a0fb5f1a1) (void) ?

Merci

Math

xs_yann
09/02/2017, 16h45
Ça veut tout simplement dire que la méthode AddUndo ne prend pas de paramètre.
En C++ c'est équivalent à "Bool AddUndo()".

"void function()" est une fonction qui ne retourne rien.

Math1712
09/02/2017, 16h56
Ok merci Yann j'en suis toujours au stade brelo de base avec le code mais j'aime bien :icon_mrgreen:

gr4ph0s
09/02/2017, 18h20
Par contre je ne sais pas si c'est voulut mais la tu utilises le sdk c++ celui de python est disponible ici https://developers.maxon.net/docs/Cinema4DPythonSDK/html/index.html

alinal
13/04/2019, 08h55
Merci gr4ph0s pour tes deux vidéos qui permettent une initiation rapide de Python sous Cinema 4d.

Toutefois, l'utilisation du SDK n'est pas si facile que ça. Exemple, le programme suivant:

import c4d
from c4d import gui
#Welcome to the world of Python




def main():
print GEMB_YESNOCANCEL


if __name__=='__main__':
main()

devrait afficher la valeur de la constante globale GEMB_YESNOCANCEL. Or, on a une erreur sur la console:

Traceback (most recent call last):
File "'scriptmanager'", line 10, in <module>
File "'scriptmanager'", line 7, in main
NameError: global name 'GEMB_YESNOCANCEL' is not defined

Même chose pour toutes les constantes globales. Y-a-t-il un import à ajouter pour que ça marche?

oli_d
13/04/2019, 09h05
Salut,

Tu dois mettre c4d. devant ta constante


import c4d

def main():
print c4d.GEMB_YESNOCANCEL

if __name__=='__main__':
main()

ou sinon tu peux tout importer, mais c'est plutôt déconseillé :


from c4d import *

def main():
print GEMB_YESNOCANCEL

if __name__=='__main__':
main()

alinal
13/04/2019, 09h11
Merci de ta réponse Oli_d