Invité Patrick Posté(e) le 16 mai 2013 Posté(e) le 16 mai 2013 Y a-t-il une documentation sérieuse quelque part sur les possibilités offertes par les formules des champs dynamiques (la syntaxe de ce qui est utilisable dans le champ "Formule" ci-dessous)? En l’occurrence je voudrais un truc du genre: si un paramètre linéaire longueur de mon bloc dynamique est inférieur à une certaine valeur, inscrire une certaine valeur dans un certain attribut de ce bloc
Julian-Nihon Posté(e) le 16 mai 2013 Posté(e) le 16 mai 2013 Bonsoir, J'ai fait un test avec ca avec une simple ligne : $(if,$(<,%<\AcObjProp Object(%<\_ObjId 4556905360>%).Length \f "%lu2%pr1">%,25),%<\AcObjProp Object(%<\_ObjId 4556905360>%).Length \f "%lu2%pr1">%,"_") Ca marche plus ou moins bien ... :mellow: Je sais pas si ca pourra t'aider. Je re-essaierais demain au bureau. Sur ce, bonne nuit
Invité Patrick Posté(e) le 16 mai 2013 Posté(e) le 16 mai 2013 Oui la syntaxe serait du DIESEL? (ou à peu près selon mes anciens souvenirs)
Julian-Nihon Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Bonjour, Oui, c’était l’idée ...Je viens d'essayer ça au bureau (version 2007) dans un bloc. Résultat, j'arrive a rien ... :mellow: Je pense que la formule doit être plus compliquer que ce que j'ai poste précédemment, mais je n'ai pas (voir aucune connaissance) pour pousser le bouchon plus loin.Peut-être que sur les versions plus récente, ça marche mieux aussi ... Désolé de ne pas pouvoir aider plus ... :unsure:
bonuscad Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Oui la syntaxe serait du DIESEL? Oui c'est cela, avec les contrainte que l'on connaît: le langage diesel est un évaluateur de chaîne, donc on se retrouve limité en longueur d'évaluation (255 caractères de souvenir il me semble)En plus l'imbrication d'évaluation n'est pas toujours évidente, il n'y a qu'a voir les soucis évoqués par le GRAND DIESELISTE; notre ami Rebcao! Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bonuscad Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Oops, je reviens sur ce que j'ai dit. Ce que j'ai décrit et pour l'expression %<\AcDiesel>% Par contre, ce que tu demandes %<\AcExpr>% (formules) ne s'applique qu'aux tableaux d'autocad. Donc pour ce que tu veux faire, les formules ne conviennent pas, il te faut effectivement passer par le diesel. Pour l'obtenir, choisir "Autre" dans "Catégorie de champ" et prendre "ExpressionDiesel" Bon courage! Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bonuscad Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Bon par curiosité, j'ai refais l'exemple de Julian-Nihon (en diesel) et effectivement cela fonctionne. Mais le gros problème, comme le diesel a évalué le contenu, si on change la longueur de la ligne et bien le champ ne suis plus (il n'est plus dynamique, puisque que l'expression a été évaluée), donc à mon avis impasse si on compte modifier le paramètre dynamique du bloc par la suite! Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Salut J'ai déjà essayé plusieurs fois des conditions avec des objets et le résultat dans un attribut en diesel avec les champs, mais ça ne fonctionne que la 1ere fois.Le résultat est écrit directement et fait sauter la formule, ce qui fait que si l'on modifie, et bien plus rien ne se passe. Sinon, il reste les réacteurs. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
bonuscad Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Ouais, mais il reste une chose bizarre, Dans l'exemple ci-dessus avec une simple ligne, que je modifie la longueur de ma ligne et que je fais METTREAJOURCHAMP, ça ne fonctionne pas.Par contre si je rentre dans l'éditeur de texte EDITEXTMULT, et que je fais un click-droit en étant sur la valeur du champ et que prends "Mettre à jour le champs" dans le menu contextuel, là ça fonctionne !?!? :blink: Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 17 mai 2013 Posté(e) le 17 mai 2013 Ben, j'ai testé cette expression et que nenni, même dans le champ (aussi bien en texte qu'en attribut) $(if,$(<,%<\AcObjProp Object(%<\_ObjId 2093074672>%).Length \f "%lu6">%,50),"Val Inf","Val Sup") Edit : Cela fonctionne comme l'indique Bonus, mais uniquement en texte, pas en attribut. C'est surprenant car quand on édite le résultat, on voit d'écrit la longueur. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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