Boutique Cinema 4D
Affichage des résultats 1 à 21 sur 21

Discussion: format cof.

  1. #1

    format cof.

    salut les p'tit lou

    j'aimerais simplement savoir comment enregistré du code coffee au format cof. car chez moi ca ne marche pas
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  2. #2
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    format cof.

    Le format cof c'est tout simplement du format texte (ASCII) dont tu changes l'extension. Donc soit tu fais ton code COFFEE dans un éditeur de texte et tu sauves avec une extension .cof, ou bien tu fais ton script dans une expression COFFEE dans C4D, et là aussi tu sauvegardes avec l'extension .cof depuis l'éditeur COFFEE.
    Le format cob par contre est la version compilée d'un fichier cof, par conséquent on ne peut pas modifier un fichier cob . :wink:

    Si tu as mis ton fichier cof dans le répertoire "Plugins" de C4D mais que ton programme n'apparait pas dans C4D c'est que tu dois avoir une erreur dans ton code, ouvres tout simplmenet la fenêtre "Console" c'est elle qui affiche les messages d'erreurs des scripts et plugins. :wink:

  3. #3
    Squatteur
    Date d'inscription
    février 2003
    Messages
    151

    format cof.

    salut,
    je pense qu'il suffit de l'ouvrir dans un éditeur de texte et de l'enregistrer sous avec la bonne extension ( attention, active l'affichage des extensions de fichier si t'es sous windows )
    NB: le format .cof est destiné aux plugins il me semble. Si ce n'est pas ce que tu veux faire, je crois que tu peux le laisser en format texte et l'importer directement dans la console COFFEE de c4d.

    grillé... :roll:
    On ne peut pas être au four et l&#039;argent du beurre.

  4. #4

    format cof.



    moi j'essai d'enregistrer comme illustre sur l'image mais il me le formate qu'en fichier txt et non en cof.
    comment fait on pour rajouter cette fameuse extension????????

    mon but etant de creer des sliders "un peu comme les DU " via resedit
    pour controlle la rotation et le deplacement des os

    seulement c'est la premier fois que je m'aventure sur ce terrain et j'ai beaucoup de chose a apprendre etant donné que je ne connais pas grand chose sur la facon de faire; par exemple a quoi correspond

    Code:
    const var PLUGIN_ID = 1121114;
    enfin bon si tengaal pouvait m'aiguille quant a la marche a suivre pour commencer a creer ce p'tit plug :bail:
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  5. #5
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    format cof.

    Pour tes extensions, il suffit dans Windows d'aller dans les options de dossier et d'activer l'affichage des extensions.Sinon, en faisant un clic droit puis "Propriétés" ou bien "Renommer" tu peux normalement changer le nom de fichier donc son extension.
    Quand tu sauve ton script depuis la fenêtre COFFEE, tu peux également taper le nom du fichier avec son extension ".cof"...

    const var PLUGIN_ID = 1121114;
    C'est une valeur (var) fixe (const) appelée PLUGIN_ID et qui représente la valeur 1121114.
    Ici il s'agit plus précisément du numéro d'identification du plugin. Chaque plugin doit être enregistré auprès de Maxon (www.plugincafe.com) pour obtenir un numéro ID unique, et ainsi éviter les conflits entre les différents plugins.

  6. #6

    format cof.

    merci shrek

    j'en sais maintenant un peu plus donc en renommant mon fichier

    trucmuch txt. en trucmuch cof. ca fonctionne si j'ai bien compris!!!!!

    autre chose
    je demande mon numero ID a maxon des les premisse du code (donc tous de suite, et pas quant le plug in est terminé, c'est ca ?????

    autre chose, il est assez facile de mettre des sliders via resedit mais comment faire pour que mes sliders controlle la rotation d'un os par exemple

    dois je coddé en disant que:
    si je selectionne un os dans une hierarchie celui a acces aux valeur de rotation dans un edit box et un slider sur les axes X,Y,Z
    et que si je bouge mes sliders, il tourne mes os sur l'axe definie

    en gros comment je fais interagir mon code avec les sliders et les edits box de resedit

    comme je suis super debutant dans ce domaine tous ne dois pas forcement etre clair pour toi
    mais j'ai vraiment envie de commencer a faire quelque chose de gerable pour mes os sans pour autant etre une bete incontesté en programation c4d et je suis sur que c'est possible :oops:

    si tu peux me donner la methodologie a suivre pour faire ca je suis tous ouie car je n'ai pas peur de dire que pour le moment je patauge un peu

    en tous cas merci a toi (et bien sur tous les autres , c'est vraiment cool de pouvoir compter sur une communaute comme celle de frenchcinema 4d qui ne m'a jamais decu)

    chapeau bas a tous :love:
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  7. #7

    format cof.

    personne au bout du fil :mrgreen:
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  8. #8
    Gourou Avatar de Realzeb
    Date d'inscription
    octobre 2003
    C4D version
    R14 Studio
    OS
    OSX 10.8.4
    Messages
    3 715

    format cof.

    si nagua il y a au moins moi, mais là, moi du sol, je te vois passer dans un avion à 2 000 m d'altitude, tes compétences en la matière, là me dépassent totalement, donc je lis et me refixe juste la mâchoire de temps en temps... pour me dire : "mais, keskidi ! mais de quoi il parle..." :mrgreen:
    • Mon très vieux site : http://frapatsai.free.fr
    • Mon WIP : Robotiquement vôtre / Roberta : http://frenchcinema4d.fr/showthread....eus-in-Machina
    • Mon WIP : Curiosity on Mars : http://frenchcinema4d.fr/showthread....=1#post1013768

  9. #9

    format cof.

    mais t'inquiete dans le domaine de la prog c4d je ne dois pas etre plus balaise que les autres bien aux contraire

    seulement je me dis qu'avec la version que j'ai de c4d et ce que je veux faire avec mon projet d'anim, on ne peut faire autrement que passe par le coffe si on veux faire quelque chose de correct :mrgreen:

    donc avec les vacances si je peux preparer aux mieux mes outils pour la rentrer ca me vas

    donc le but de ce que j'essaie de faire pour le moment est tous simple en theorie en revanche en pratique "pas evident"

    donc pour resumé je veux juste faire un programme coffee:
    POUR FAIRE EN SORTE DE PILOTE LES OS EN ROTATION

    vous allez me dire, mais pourquoi veux t'il faire ca alors qu'il y a l'outils adequat, seulement sur mon programme
    1/ je veux faire en sorte qu'en selectionnant un OS sont nom s'affiche dans un edit box :coup:
    2 /de pouvoir controllé leurs rotations sur leurs axes respectifs a l'aide de sliders :coup:

    en gros on aurai plus qu'a selectionné l'os A ou B pour lui appliqué la rotation voulue
    "a mon avis ca devrais etre plus fluide que l'outils rotation de c4d"
    :coup:

    du coup pour le moment j'ai creer mais sliders X Y et Z, ca fonctionne et maintenant j'essaie de comprendre comment controllé cette fameuse rotation sur un os par le biais de ces sliders


    Code:
    main&#40;doc,op&#41;
    &#123;
    	var p = op->GetPosition&#40;&#41;;
    
    	if &#40;p.y>400.0&#41; p.y = 400.0;
    	if &#40;p.y<0.0&#41;   p.y = 0.0;
    
    	p.x = -400.0;
    	p.z = 0.0;
    
    	op->SetPosition&#40;p&#41;;
    &#125;
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  10. #10

    format cof.

    alors voila ou j'en suis

    je fait mes 3 sliders X Y et Z
    J'applique un tag expression coffee ou je glisse ce code

    Code:
    // 3D slider x
    
    main &#40; Document, Object &#41;
    
    	&#123;
    
    		var the_Position	= Object->GetPosition &#40; &#41;;
    
    			the_Position.x		= -300;
    
    			the_Position.y		= Clamp &#40; -400.0, 400.0, the_Position.y &#41;;
    
    			the_Position.z		= 0;
    
    			Object->SetPosition &#40; the_Position &#41;; 
    
    	&#125;
    Code:
    // 3D slider Y
    
    main &#40; Document, Object &#41;
    
    	&#123;
    
    		var the_Position	= Object->GetPosition &#40; &#41;;
    
    			the_Position.x		= -200;
    
    			the_Position.y		= Clamp &#40; -400.0, 400.0, the_Position.y &#41;;
    
    			the_Position.z		= 0;
    
    			Object->SetPosition &#40; the_Position &#41;; 
    
    	&#125;
    Code:
    // 3D slider Z
    
    main &#40; Document, Object &#41;
    
    	&#123;
    
    		var the_Position	= Object->GetPosition &#40; &#41;;
    
    			the_Position.x		= -100;
    
    			the_Position.y		= Clamp &#40; -400.0, 400.0, the_Position.y &#41;;
    
    			the_Position.z		= 0;
    
    			Object->SetPosition &#40; the_Position &#41;; 
    
    	&#125;

    ensuite

    je prends un cube (pour voir)

    ou je lui applique ce code

    Code:
    main &#40; the_Document, the_Object&#41;
    
    	&#123;
    		var slider	= the_Document->FindObject &#40; "X" &#41;;		if &#40; !slider &#41; return;
    		var slider1	= the_Document->FindObject &#40; "Z" &#41;;		if &#40; !slider1 &#41; return;
    		var slider2	= the_Document->FindObject &#40; "Y" &#41;;		if &#40; !slider2 &#41; return;
    
    		var the_Target_Position				= slider->GetPosition &#40; &#41;;
    		var the_Target_Position1				= slider1->GetPosition &#40; &#41;;
    		var the_Target_Position2				= slider2->GetPosition &#40; &#41;;
    
    		var the_Minimum_Rotation			= vector &#40; 0.0, -PI * 1, 0.0 &#41;;
    		var the_Maximum_Rotation			= vector &#40; 0.0, PI * 1, 0.0 &#41;;
    		var the_Minimum_Rotation1			= vector &#40; 0.0, 0.0, -PI * 1 &#41;;
    		var the_Maximum_Rotation1			= vector &#40; 0.0, 0.0, PI * 1&#41;;
    		var the_Minimum_Rotation2			= vector &#40; -PI * 1, 0.0, 0.0 &#41;;
    		var the_Maximum_Rotation2			= vector &#40; PI * 1, 0.0, 0.0 &#41;;
    
    		var the_Relation					= BoxStep &#40; -400.0, 400.0, the_Target_Position.y &#41;;
    		var the_Relation1					= BoxStep &#40; -400.0, 400.0, the_Target_Position1.y &#41;;
    		var the_Relation2					= BoxStep &#40; -400.0, 400.0, the_Target_Position2.y &#41;;
    
    
    		var the_Rotation					= Mix &#40; the_Minimum_Rotation, the_Maximum_Rotation, the_Relation &#41;;
    		var the_Rotation1					= Mix &#40; the_Minimum_Rotation1, the_Maximum_Rotation1, the_Relation1 &#41;;
    		var the_Rotation2					= Mix &#40; the_Minimum_Rotation2, the_Maximum_Rotation2, the_Relation2 &#41;;
    
    			the_Object->SetRotation &#40; the_Rotation &#41;;
    			the_Object->SetRotation &#40; the_Rotation1 &#41;;
    			the_Object->SetRotation &#40; the_Rotation2 &#41;;
    
    	&#125;
    et la!!! pas d'erreur mais le script ne fonctionne que sur l'axe Y
    comment resumé ce code pour qu'il marche sur ces 3 axes independamment???????????????????????????????????? ???????


    :bounce: :bounce: :bounce: :bounce: :bounce: :bounce: :bounce:

    :bounce:
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  11. #11
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    format cof.

    C'est une vraie uzine à gaz ton machin ! :shock:

    Je ne comprend pas trop la suite de tes axes X,Z,Y pour la gestion des rotations ?
    La correspondance HPB est YXZ.

    C'est normal que ta rotation agisse seulement sur Y, puisque le 3e slider qui pour toi correspond à Y définit le vecteur the_Rotation2.
    Or à la fin de ton script tu changes 3 fois la rotation de l'objet, c'est donc la dernière qui est prise en compte.

    Il faut appliquer 1 seule fois le SetRotation(Rotation_finale).

    Commences par utiliser seulement 2 variables pour tes rotations mini et maxi. Ainsi tu as 2 vecteurs du type (rotationX, rotationY,rotationZ)

    var Mini_Rotation=vector(-Pi*1,-PI*1,-PI*1); // mini
    var Maxi_Rotation=vector(Pi*1,PI*1,PI*1); // maxi

    (Il faudra que tu m'explique l'utilité du "PI*1" ! :mrgreen: )

    Tu fait pareil pour tes valeurs the_Relation1 2 et 3, tu utilises 1 seule valeur sous forme d'un vecteur:
    the_Relation contiendra donc 3 valeurs .x , .y et .z)

    Tu auras donc au final:
    var the_rotation=vector(0,0,0); //tu créés ton vecteur de rotation finale
    the_rotation.x=Mix ( Mini_Rotation.x, Maxi_Rotation.x, the_Relation.x );
    the_rotation.y=Mix ( Mini_Rotation.y, Maxi_Rotation.y, the_Relation.y );
    the_rotation.z=Mix ( Mini_Rotation.z, Maxi_Rotation.z, the_Relation.z );

    Puis enfin the_Object->SetRotation ( the_rotation );

    Mais bon je ne sais pas si ton truc est plus pratique que de tourner manuellement l'os... :roll:
    L'idéal est de faire un vrai plugin et non un script, tu auras ainsi accès aux éléments d'interface (fenêtre, boutons, sliders...) mais bon, il faut déjà que tu connaisses les bases indispensables du COFFEE. :wink:

  12. #12

    format cof.

    Mais bon je ne sais pas si ton truc est plus pratique que de tourner manuellement l'os...
    L'idéal est de faire un vrai plugin et non un script, tu auras ainsi accès aux éléments d'interface (fenêtre, boutons, sliders...) mais bon, il faut déjà que tu connaisses les bases indispensables du COFFEE.
    justement le but final est d'integrer tous ca en forme de plug in via resedit
    mais comme tu dis faut d'abord que j'apprenne corectement a codé et donc je passe d'abord par cette etape et ensuite "si je suis a niveau bien sur" je le ferais en plugin

    j'etudie tous ce que tu m'a dis plus haut (j'espere que j'aurais compris avant noel :mrgreen: )

    en tous cas marci beaucoup "je pense que j'ai pas fini de te solicité :mrgreen:
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  13. #13
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    format cof.

    Resedit permet juste de dessiner des interfaces, c'est à toi dans ton plugin de charger ces ressources produites puis de gérer chaque éléments de cette interface pour les connecter aux valeurs de ton système.

  14. #14
    Gourou Avatar de walien
    Date d'inscription
    octobre 2003
    C4D version
    R15 Studio
    OS
    Windows 8 64bits
    Messages
    4 623
    Billets dans le blog
    1

    format cof.

    Incroyable ocmment vous devenz insolent

    Ouaisssss vas y comment tu m'a traité espèce de Vecteur, tu vas voir je vais te clamper ton axe Y

    scuzez moi
    Inspiration - Site Web
    C4D - RealFlow - Turbulence FD

  15. #15

    format cof.

    ah d'accord pour resedit

    donc en gros tous ce sue j'essai de faire en coffee ne me servira pas si j'edit un vrai plug "tous le code vas changer" :coup:
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  16. #16
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    format cof.

    Citation Envoyé par nagua
    ah d'accord pour resedit

    donc en gros tous ce sue j'essai de faire en coffee ne me servira pas si j'edit un vrai plug "tous le code vas changer" :coup:
    Non, pas du tout ton plugin gère en fait 2 choses:
    - le noyau : le coeur du programme, son action sur les objets. (ce que tu fais actuellement en script)
    - l'interface: la gestion des éléments de l'interface (récupération des valeurs, des textes, des éléments activés ou non...)

    Ensuite il faut "connecter" les 2 parties, de manière à ce que les paramètres changés par l'utilisateur dans la fenêtre du plugin, soient appliqués à ton noyau (variables). :wink:

  17. #17

    format cof.

    c'est bien ce que je pensez en parcourant les threads de steph 3d
    le tous est de savoir connecté le programme avec l'intreface graphique
    mais avant ca il faut vraiment que j'apprenne le coffee correctement
    "dommage que les seul ressources sont celles de tengaal qui sont genial pour debuter et ce vieux manuel sdk que l'on ne comprend qu'a moitié"

    si vous connaissez des tuto ou livre de programation coffee ca m'interresse car a voir si l'on est pas englophone c'est un peu mort de tous savoir correcement??????????????
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  18. #18
    Dépendant
    Date d'inscription
    janvier 2003
    C4D version
    R14 Prime
    Messages
    449

    format cof.

    salut nagua

    les tutos coffee que connaît:

    http://www.nthd.org/nthd/69

    http://www.peranders.com/c4d8/tute/tutcofsdk.html

    http://www.peranders.com/c4d8/tute/tutcofnode.html

    http://www.vgd.co.uk/pages/notebook/...use_intro.html


    et le plus important c'est la maîtrise des matrices :

    http://www.maxoncomputer.com/tutoria...tutorialID=136

    Citation Envoyé par nagua
    dommage que les seul ressources sont celles de tengaal qui sont genial pour debuter et ce vieux manuel sdk que l'on ne comprend qu'a moitié"
    je pense que c'est largement suffisant pour apprendre le coffee, le reste n'est que de la pure logique et rien de plus.

    A+

  19. #19

    format cof.

    MERCI majoul pr toute cette doc forte interressante :mrgreen:

    mais ces pour ca que j'ai resolu mes problemes :cry2:

    si j'applique le code de tengaal tous ce que j'arrive a faire ces appliqué une rotation sur mon cube sur les 3 axes xyz alors que je veux que les axes de rotation soit appliqué indépendamment sur le slider approprié x y ou z

    quand je bouge mon slider en position x: le cube tourne en rotation sur l'axe x mais est bloqué sur les 2 autres axes (y et z donc)

    quand je bouge mon slider en position y: le cube tourne en rotation sur l'axe y mais est bloqué sur les 2 autres axes (x et z donc)

    quand je bouge mon slider en position z: le cube tourne en rotation sur l'axe z mais est bloqué sur les 2 autres axes ( y et x donc)

    quand j' applique le code ci dessous: je bouge mon slider z et il me tourne le cube sur l'axe z
    comment arrivé a construire la matrice pour faire en sorte qu'il bouge ce meme cube sur l'axe x en bougeant le slider x et faire de meme avec le slider y :coup:
    (je comprends le methodologie mais je suis encore trop novice pour pouvoir l'appliqué avec 2 autres sliders)
    Code:
    main &#40; the_Document, the_Object&#41;
    
    	&#123;
    
    var slider	= the_Document->FindObject &#40; "Z" &#41;;
    if &#40; !slider &#41; return;
    
    var the_Target_Position				= slider->GetPosition &#40; &#41;;
        
    
    var the_Minimum_Rotation			= vector &#40; 0.0, 0.0, -PI * 1 &#41;;
    var the_Maximum_Rotation			= vector &#40; 0.0, 0.0, PI * 1&#41;;
    
    var the_Relation					= BoxStep &#40; -400.0, 400.0, the_Target_Position.y &#41;;
    
    
    var the_Rotation					= Mix &#40; the_Minimum_Rotation, the_Maximum_Rotation, the_Relation &#41;;
    
    
    	the_Object->SetRotation &#40; the_Rotation &#41;;
    	&#125;

    (Il faudra que tu m'explique l'utilité du "PI*1" ! )
    j'aurais pu faire PI tous simplement
    "si j'enleve PI ; le cube sera bloqué sur l'axe ou il est appliqué
    alors que si je fais PI2 (donc 3.14*2) le cube tourneras 2 fois plus vite par rapport a la position du slider sur y donc au final quand le slider est a -400 sur y le cube aura tourné de -360°, pour PI: il aura touné de -180 sur l'axe z (donc B)
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  20. #20

    format cof.

    bon ben j'ai trouvé un script avec exactement ce que je voulais faire ds les exemple (j'ai pas l'ere c.. :arg: )

    donc pour les gros naze "comme moi " qui voudrais en benificiais

    vous prenez un fichier cof. ou vous mettais le code ci dessous et puis vous n'avez plus qu' a recharge la console et voila

    Code:
    // be sure to use a unique ID obtained from www.plugincafe.com
    var PLUGIN_ID = 1000450;
    // be sure to use a unique ID obtained from www.plugincafe.com
    
    // ***********  Definition of my dialog  ****************
    class MyDialog &#58; GeDialog
    &#123;
    	private&#58;
    		var my_op;  // local object cache for speedup
    		var my_doc; // local document cache for speedup
    		var first;
    
    		EnableGadgets&#40;&#41;;
    
    	public&#58;
    		MyDialog&#40;&#41;;
    
    		// from GeDialog
    		CreateLayout&#40;&#41;;
    		Init&#40;&#41;;
    		CoreMessage&#40;id,msg&#41;;
    		Command&#40;id,msg&#41;;
    &#125;
    
    MyDialog&#58;&#58;EnableGadgets&#40;&#41;
    &#123;
    	Enable&#40;4001,my_op!=NULL&#41;;
    	Enable&#40;4002,my_op!=NULL&#41;;
    	Enable&#40;4003,my_op!=NULL&#41;;
    &#125;
    
    MyDialog&#58;&#58;MyDialog&#40;&#41;
    &#123;
    	super&#40;PLUGIN_ID&#41;;
    	my_op = NULL;
    	my_doc = NULL;
    	first = TRUE;
    &#125;
    
    MyDialog&#58;&#58;CreateLayout&#40;&#41;
    &#123;
    	SetTitle&#40;"RotateIt!"&#41;;
    
    	AddGroupBeginV&#40;4000,BFH_SCALEFIT,2,"Group",0&#41;;
    	&#123;
    		AddGroupBorderSpace&#40;4,4,4,4&#41;;
    
    		AddStaticText&#40;1000,0,0,0,"H",0&#41;;
    		AddEditSlider&#40;4001,BFH_SCALEFIT,350,0&#41;;
    
    		AddStaticText&#40;1000,0,0,0,"P",0&#41;;
    		AddEditSlider&#40;4002,BFH_SCALEFIT,350,0&#41;;
    
    		AddStaticText&#40;1000,0,0,0,"B",0&#41;;
    		AddEditSlider&#40;4003,BFH_SCALEFIT,350,0&#41;;
    	&#125;
    	AddGroupEnd&#40;&#41;;
    	return TRUE;
    &#125;
    
    
    MyDialog&#58;&#58;Init&#40;&#41;
    &#123;
    	var doc = GetActiveDocument&#40;&#41;; if &#40;!doc&#41; return FALSE;
    	var op = GetActiveObject&#40;doc&#41;;
    
    	my_doc = doc;
    	my_op  = op; // even if it's NULL
    	first  = TRUE;
    
    	if &#40;my_op&#41;
    	&#123;
    		var w = my_op->GetRotation&#40;&#41;;
    		SetDegree&#40;4001,Degree&#40;w.x&#41;,-180.0,180.0,1.0&#41;;
    		SetDegree&#40;4002,Degree&#40;w.y&#41;,-180.0,180.0,1.0&#41;;
    		SetDegree&#40;4003,Degree&#40;w.z&#41;,-180.0,180.0,1.0&#41;;
    	&#125;
    	EnableGadgets&#40;&#41;;
    
    	return TRUE;
    &#125;
    
    MyDialog&#58;&#58;Command&#40;id,msg&#41;
    &#123;
    	if &#40;!my_op || !my_doc&#41; return FALSE;
    	switch &#40;id&#41;
    	&#123;
    		case 4001&#58;
    		case 4002&#58;
    		case 4003&#58;
    		&#123;
    			StopAllThreads&#40;&#41;; // VERY IMPORTANT!!!
    
    			var w = vector&#40;Radians&#40;GetDegree&#40;4001&#41;&#41;,Radians&#40;GetDegree&#40;4002&#41;&#41;,Radians&#40;GetDegree&#40;4003&#41;&#41;&#41;;
    
    			if &#40;first&#41;
    			&#123;
    				// only add undo before changing the object the first time, not while dragging the slider
    				my_doc->StartUndo&#40;&#41;;
    				my_doc->AddUndo&#40;UNDO_OBJECT_BASEDATA,my_op&#41;;
    				my_doc->EndUndo&#40;&#41;;
    				first = FALSE;
    			&#125;
    
    			my_op->SetRotation&#40;w&#41;;
    
    			if &#40;msg->GetData&#40;BFM_ACTION_INDRAG&#41;&#41; // refresh only view while dragging
    				DrawViews&#40;DA_ONLY_ACTIVE|DA_NO_THREAD|DA_NO_ANIMATION|DA_ONLY_ACTIVE_VIEW&#41;;
    			else
    			&#123;
    				// when releasing the slider send a message to all managers
    				first = TRUE;
    				GeEventAdd&#40;ACTIVE_OBJECT_CHANGED&#41;;
    			&#125;
    		&#125;
    	&#125;
    	EnableGadgets&#40;&#41;;
    	return TRUE;
    &#125;
    
    MyDialog&#58;&#58;CoreMessage&#40;id,msg&#41;
    &#123;
    	switch &#40;id&#41;
    	&#123;
    		// every time something has changed in the scene refresh my local data
    		case NEW_DOCUMENT&#58;
    		case DOCUMENT_CHANGED&#58;
    		case NEW_ACTIVE_OBJECT&#58;
    		case ACTIVE_OBJECT_CHANGED&#58;
    		&#123;
    			Init&#40;&#41;;
    			return TRUE;
    		&#125;
    		break;
    	&#125;
    	return FALSE;
    &#125;
    
    // ***********  Definition of my Menu plugin ****************
    class MyMenuPlugin &#58; MenuPlugin
    &#123;
    	public&#58;
    		MyMenuPlugin&#40;&#41;;
    
    		GetID&#40;&#41;;
    		GetName&#40;&#41;;
    		GetHelp&#40;&#41;;
    		GetState&#40;&#41;;
    		Execute&#40;doc&#41;;
    
    		RestoreLayout&#40;secret&#41;;
    &#125;
    
    MyMenuPlugin&#58;&#58;MyMenuPlugin&#40;&#41;
    &#123;
    	super&#40;&#41;;
    &#125;
    
    MyMenuPlugin&#58;&#58;GetState&#40;&#41;
    &#123;
    	return CMD_ENABLED;
    &#125;
    
    MyMenuPlugin&#58;&#58;GetID&#40;&#41;
    &#123;
    	return PLUGIN_ID;
    &#125;
    
    MyMenuPlugin&#58;&#58;GetName&#40;&#41;
    &#123;
    	return "RotateIt!";
    &#125;
    
    MyMenuPlugin&#58;&#58;GetHelp&#40;&#41;
    &#123;
    	return "Rotate an object interatictively";
    &#125;
    
    var d;
    
    MyMenuPlugin&#58;&#58;Execute&#40;doc&#41;
    &#123;
    	d->Open&#40;TRUE,-1,-1&#41;;
    &#125;
    
    MyMenuPlugin&#58;&#58;RestoreLayout&#40;secret&#41;
    &#123;
    	if &#40;!d&#41; d = new&#40;MyDialog&#41;;
    	d->RestoreLayout&#40;secret&#41;;
    &#125;
    
    
    main&#40;&#41;
    &#123;
    	d = new&#40;MyDialog&#41;;
    
    	Register&#40;MyMenuPlugin&#41;;
    &#125;
    au plus on en connait sur un sujet,au plus on s&#039;apercoit qe l&#039;on ne connait rien<br /><br />cinema 4DXL 7.033<br />http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=8110<br /><br />&lt;img src=&quot;http://www.nagua-design.com//images/banniere/88x31.jpg&quot; alt=&quot;annuaire gratuit nagua design!!venez vous inscrire!!&quot; &gt;<br />http://www.nagua-design.com

  21. #21
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    format cof.

    Ca c'est pour le cas d'un MenuPlugin, mais il y a également des structures différentes pour les ShaderPlugin, FilterPlugin, et autres...

    Dans la doc Coffee, il y a les structures vierges toutes faites, c'est dans la partie "Exemples" -> "XLEnt Framework" ! :wink:

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet