PDA

Voir la version complète : Obtenir la valeur d'une DU en COFFEE



phanault
15/01/2007, 22h07
Salut les pros du COFFEE,

j'ai beau chercher la documentation et ce forum, je ne trouve pas la manière d'extraire la valeur d'une DU (donnée utilisateur) à l'intérieur du code COFFEE. J'ai étudié les classes, mais je ne saisis pas comment on peut trouver cette information.

Un peu d'aide seerait grandement appréciée.

Merci ! :odile:

paspas
15/01/2007, 22h16
salut

en fait les DU font partie des container

donc tu glisse la DU dans la console* en bas* et apparait :* *#ID_USERDATA:1** * *le 1 est le numero de ta DU

il change suivant la DU

donc pour recupere la DU* :

var ma_variable = op#ID_USERDATA:1;*

pour changer la variable

op#ID_USERDATA:1=5;


op etant l'objet sur lequellle est la DU

cette methode est un raccourci par rapport a la methode des container mais les deux marche



paspas

phanault
16/01/2007, 01h26
Merci beaucoup pour ces explications paspas. J'apprécie ton aide. Je vais tenter de trouver l'endroit, dans la documentation, où ils en parlent.

paspas
16/01/2007, 01h36
pour la console

c est dans "description" a partir de l index

pour le fait que ce soit un container perso je l ai lu sur le forum ( merci majoul :poucehaut:)

ps le truc du raccourci aussi remerci majoul :poucehaut:

paspas

xs_yann
17/01/2007, 17h48
Bonjour, :D

Et c'est impossible de les mettres dans une variable pour dire par exemple :


var cube = doc->FindObject("Cube");
var xCube = cube#PRIM_CUBE_LEN:VECTOR_X;
var ma_DU = op#ID_USERDATA:1;
xCube=ma_DU;

on est obligé de mettre

cube#PRIM_CUBE_LEN:VECTOR_X=op#ID_USERDATA:1;
:?:

paspas
17/01/2007, 18h05
var cube = doc->FindObject("Cube");
var xCube = cube#PRIM_CUBE_LEN:VECTOR_X;
var ma_DU = op#ID_USERDATA:1;
xCube=ma_DU;


ta ligne
var xCube = cube#PRIM_CUBE_LEN:VECTOR_X; recupere la valeur comme le ferrai
GetData(PRIM_CUBE_LEN:VECTOR_X);

donc non*

xCube=ma_DU;* *doit etre* * cube#PRIM_CUBE_LEN:VECTOR_X=ma_DU; et la ca remplace le* *SetData(........)

en general je declare toute mes DU au debut de programme dans une liste ( ben oui j ai ete habituer en turbo pascal lol )

// liste DU

var ma_DU1 = objet #ID_USERDATA:1;
var ma_DU2 = objet #ID_USERDATA:2;
var ma_DU3 = objet #ID_USERDATA:3;
var ma_DU4 = objet #ID_USERDATA:4;
......

et ensuite je n utilise plus que les nons des variables


en fin j esaigne de garde tj le meme shema sinon* :coup:

pour resumer*

var ma_DU4 = objet #ID_USERDATA:4; remplace* * var ma_DU4 = container_objet ->GetData(ID_USERDATA:4);
objet#ID_USERDATA:1=ma_variable ;* remplace* * * container_objet->SetData(ID_USERDATA:4,ma_variable);

et donc on* ne doit plus passer par la declaration de container ==>> un peu plus rapide et un peu moin lourd


paspas

phanault
17/01/2007, 18h08
Super ces expliactions. Merci paspas. :poucehaut:

xs_yann
17/01/2007, 18h13
Merci beaucoup paspas. :prie:
Je vais tester ça.