roger-BERNERD Posté(e) le 12 octobre 2009 Posté(e) le 12 octobre 2009 Bonjour,Je souhaiterais avoir un parametre recuperant d'autre parametres exemple le parametre "designation" contient le resultat du parametre "diam_fil" et le resultat du parametre "long_libre"pour avoir la synthaxe DESIGNATION = RESSORT Ø1 LONG=25Merci pour votre aideRoger
hoppla Posté(e) le 12 octobre 2009 Posté(e) le 12 octobre 2009 Tu peux additionner deux paramètres Texte avec un simple +Exemple : DESIGNATION = TOTO + TITI Tu peux également transformer un paramètre numérique en texte avec la formule ITOS()Exemple : PARAM_TEXTE = ITOS(PARAM_NUMBER) Donc en cumulant les 2 tu peux construire ta DESIGNATION
roger-BERNERD Posté(e) le 12 octobre 2009 Auteur Posté(e) le 12 octobre 2009 Merci pour votre reponse .......mais:je recupere bien les valeurs du Øfil et la valeur de la Longueur mais si je rajoute le mot RESSORT cela ne fonctionne plus.designation=RESSORT ITOS(diam_fil) + ITOS(long) ERREURdesignation=ITOS(diam_fil) + ITOS(long) RESULTAT 1 25 Autre manipJ'ai cree une note 3d qui est le reflet de ce que je voudrais comme designation etJe pensais pouvoir recuperer le contenu de cette note 3d dans mon parametre designation, mais la aussi j'ai des message d'erreur quand j'ecris la reletion:designation=note_3:3 Avez vous d'autres astuces pouvant repondre a mon probleme ? Merci
hoppla Posté(e) le 12 octobre 2009 Posté(e) le 12 octobre 2009 Pour ajouter une chaine de caractères il faut la mettre entre guillemets:DESIGNATION = "RESSORT" + ITOS(DIAM_FIL) Pour la récupération de la note dans un paramètre je n'ai jamais testé, d'habitude on fait le contraire; récupérer la valeur du paramètre dans la note.
roger-BERNERD Posté(e) le 12 octobre 2009 Auteur Posté(e) le 12 octobre 2009 Ok Merci j'arrive a mes fins .......mais,Comment recuperer la valeur reel des parametres.J'ai vu que l'on pouvait recuperer la valeur avant la virgule et la valeur apres la virgule et ensuite les assembler dans une chaine .Ca me parait bien lourd pour recuperer une valeur reelle. Merci pour votre aide
hoppla Posté(e) le 12 octobre 2009 Posté(e) le 12 octobre 2009 Je ne connais malheureusement pas d'autre approche que celle ci pour récupérer les décimales. Si quelqu'un en connait une je suis preneur.
denisbebrm Posté(e) le 26 octobre 2009 Posté(e) le 26 octobre 2009 Je viens de lire ce forum...Comment récupérer la valeur avec 2 ou 3 ou plus décimal en mode texte ?
hoppla Posté(e) le 26 octobre 2009 Posté(e) le 26 octobre 2009 Si tu parles un peu anglais tu trouveras la réponse ici:http://www.mcadcentral.com/proe/forum/forum_posts.asp?TID=36129
denisbebrm Posté(e) le 27 octobre 2009 Posté(e) le 27 octobre 2009 Merci, la solution est OK même si un peut laborieuse...
hoppla Posté(e) le 27 octobre 2009 Posté(e) le 27 octobre 2009 Il faut copier la formule dans un document texte et faire un copier-coller le jour où tu en as besoin.La bonne nouvelle est qu'en général on utilise ce genre de formule sur un gabarit ou dans une famille de pièces, donc une fois entrée il n'y a en théorie plus besoin d'y revenir.
fhughes Posté(e) le 27 octobre 2009 Posté(e) le 27 octobre 2009 Voici les relations que j'utilise dans mes gabarits de démarrage. Elles détectent automatiquement si certaines des cotes de la pièce sont nommées :"longueur", "largeur", "hauteur", "profondeur", "diametre" ou "epaisseur" /**** ATTRIBUTION DES PARAMETRES DIMENSIONNELS ***** IF EXISTS ("designation") DESIGNATION_LONGUE=DESIGNATIONELSE DESIGNATION_LONGUE=REL_MODEL_NAME()ENDIF /*** POUR CHANGER LE NOMBRE DE DÉCIMALES APRÉS LA VIRGULE : DECIMALES=2 IF EXISTS("diametre") _C=ITOS(DIAMETRE*10^DECIMALES) _P=STRING_LENGTH(_C)-DECIMALES _F="," + EXTRACT(_C,_P + 1,DECIMALES) DESIGNATION_LONGUE=DESIGNATION_LONGUE + " Ø" + EXTRACT(_C,1,_P) IF _F != EXTRACT(",000000000000000",1,DECIMALES + 1) DESIGNATION_LONGUE=DESIGNATION_LONGUE + _F ENDIFENDIF IF EXISTS("hauteur") _C=ITOS(HAUTEUR*10^DECIMALES) _P=STRING_LENGTH(_C)-DECIMALES _F="," + EXTRACT(_C,_P + 1,DECIMALES) DESIGNATION_LONGUE=DESIGNATION_LONGUE + " H:" + EXTRACT(_C,1,_P) IF _F != EXTRACT(",000000000000000",1,DECIMALES + 1) DESIGNATION_LONGUE=DESIGNATION_LONGUE + _F ENDIFENDIF IF EXISTS("largeur") _C=ITOS(LARGEUR*10^DECIMALES) _P=STRING_LENGTH(_C)-DECIMALES _F="," + EXTRACT(_C,_P + 1,DECIMALES) DESIGNATION_LONGUE=DESIGNATION_LONGUE + " l:" + EXTRACT(_C,1,_P) IF _F != EXTRACT(",000000000000000",1,DECIMALES + 1) DESIGNATION_LONGUE=DESIGNATION_LONGUE + _F ENDIFENDIF IF EXISTS("profondeur") _C=ITOS(PROFONDEUR*10^DECIMALES) _P=STRING_LENGTH(_C)-DECIMALES _F="," + EXTRACT(_C,_P + 1,DECIMALES) DESIGNATION_LONGUE=DESIGNATION_LONGUE + " P:" + EXTRACT(_C,1,_P) IF _F != EXTRACT(",000000000000000",1,DECIMALES + 1) DESIGNATION_LONGUE=DESIGNATION_LONGUE + _F ENDIFENDIF IF EXISTS("epaisseur") _C=ITOS(EPAISSEUR*10^DECIMALES) _P=STRING_LENGTH(_C)-DECIMALES _F="," + EXTRACT(_C,_P + 1,DECIMALES) DESIGNATION_LONGUE=DESIGNATION_LONGUE + " e:" + EXTRACT(_C,1,_P) IF _F != EXTRACT(",000000000000000",1,DECIMALES + 1) DESIGNATION_LONGUE=DESIGNATION_LONGUE + _F ENDIFENDIF IF EXISTS("LONGUEUR") _C=ITOS(LONGUEUR*10^DECIMALES) _P=STRING_LENGTH(_C)-DECIMALES _F="," + EXTRACT(_C,_P + 1,DECIMALES) DESIGNATION_LONGUE=DESIGNATION_LONGUE + " L:" + EXTRACT(_C,1,_P) IF _F != EXTRACT(",000000000000000",1,DECIMALES + 1) DESIGNATION_LONGUE=DESIGNATION_LONGUE + _F ENDIFENDIF Comme on peut le constater, ces relations complètent automatiquement le paramètre "designation_longue" à partir du paramètre "designation" et des paramètres dimensionnels, permettant ainsi d'obtenir facilement des nomenclatures de débit précises...Remarque : si le paramètre "designation" n'existe pas, c'est le nom de la pièce ou de l'assemblage qui est utilisé comme base pour la designation longue. [Edité le 28/10/2009 par fhughes] Changer ses habitudes, c'est déjà innover...
hoppla Posté(e) le 21 décembre 2009 Posté(e) le 21 décembre 2009 Pour transformer en texte une cote ou un paramètre TOTO avec 2 chiffres après la virgule, et en une seule ligne de relation: TOTO_TEXTE=extract(itos(TOTO*100),1,string_length(itos(TOTO*100))-2)+"."+extract(itos(TOTO*100),string_length(itos(TOTO*100))-1,2) 10.75 => 10.7510.375 => 10.3810.1 => 10.1010 => 10.00 Pour ne pas mettre 2 chiffres après la virgule lorsque la valeur d'origine n'en a pas je n'ai pas trouvé de solution en une seule ligne... il faut passer par qq conditions [Edité le 21/12/2009 par hoppla]
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant