Ahimsa Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 Bonjour, j'ai des hauteurs qui s'affichent sur un pylône.Ces hauteurs s'écrivent des fois à droite, et des fois à gauche. Je voudrais justifier le texte de la hauteur par la droite, mais je suis complètement bloqué. J'ai essayé plusieurs possibilités à base de modifications d'attribut. Mais je ne dois pas utiliser la bonne manière, car le résultat s'écrit très loin de mon point de base. L'insertion du texte seul fonctionne, mais pas avec la modif de l'attribut Avez-vous une idée ? Merci par avance ! ------------------------------------------ voila l'extrait du code en question :(setq noutext (vla-addText *ModelSpace*; Global Definition for Model Space "test" vinstexta 'un point variant composé des coordonnées du texte 3.75 ) ;_ end of vla-addtedxt ) (vlax-put-property noutext 'Layer calqtexttet ) ;changement de calque [color="#FF0000"] (vlax-put-property noutext 'Alignment "2" ) ; changement qui ne fonctionne pas.[/color]
lecrabe Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 Hello En passant vitesse Grand V, SVP as tu essaye la routine JU de notre indispensable Gilles ! Elle justifie a peu pres tout : Texte, MTexte, Attribut, etc ... avec une selection AutoCAD classique ! MERCI Gilles, Bye, lecrabe Autodesk Expert Elite Team
lili2006 Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 Bonjour à toutes et tous, Et après une synchronisation des attributs ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Ahimsa Posté(e) le 30 mars 2015 Auteur Posté(e) le 30 mars 2015 Merci pour vos retours ! Je cherche depuis tout à l'heure, mais sans succès... J'ai cherché dans la liste des lisp de (gile), et dans celles d'autres lispeurs connus, en recherche globale sur le forum avec divers mots-clés, sur les pages persos (celles que je connaissais)... mais rien :o( Je ne cherches pas au bon endroit, ou alors je dois changer mes yeux... Si vous avez un lien en réserve..., je suis preneur ;o) @lili: Synchronisation des attributs, que veux-tu dire par là ? Merci pour tout info. Si vous avez un moyen d'enregistrer ses action dans une macro... pour faire des tests... je suis preneur aussi..Dans Autocad, je sais où c'est (Texte sélectionné, propriété de la zone texte, justifier...) mais pas moyen de le retrouver par code...
lecrabe Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 Hello Voici JU ... Merci Gilles, Bye, lecrabe Autodesk Expert Elite Team
Ahimsa Posté(e) le 30 mars 2015 Auteur Posté(e) le 30 mars 2015 Merci beaucoup !!!Je regarde ça... En fait, ma fonction est presque correcte, j'arrive bien à faire la justification par la droite... Ce qui cloche, c'est que ça positionne le texte au point 0,0,0... c'est à dire à 6653789.88 de son point prévu... un peu loin pour le lire ;o) J'ai peut-être un point à lui préciser en plus... j'ai essayé, mais il n'a pas aimé mes essais.. je vais creuser ça aussi... Merci encore ! Je reviendrai pour la solution...
Patrick_35 Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 Salut Fonctionne pour un Texte (et non mtext ni attribut)(vlax-put noutext 'alignment 2) Fonctionne pour un attribut(setq position (vlax-get noutext 'insertionpoint)) (vlax-put noutext 'alignment 2) (vlax-put noutext 'textalignmentpoint position) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Ahimsa Posté(e) le 30 mars 2015 Auteur Posté(e) le 30 mars 2015 Merci Patrick ! je revenais pour donner la solution que j'avais trouvé... pas forcément la meilleure, mais ça fonctionne, et c'est le principal... ;o) effectivement, en épluchant le reste du code (c'est une mise à jour d'un gros projet existant) pour une autre modif, j'ai percuté sur un code de repositionnement : (vlax-put-property noutext 'TextAlignmentPoint thepoint ) Dans mon cas, c'est bien un texte seul (enfin je crois hihihi), L'alignement fonctionnait, mais la fonction d'alignement le positionnait en 0,0,0. Il me suffisait donc de repositionner dans ma position voulu APRES l'avoir aligné !!! CQFD Si je n'avais pas trouvé juste avant comment me sortir d’embarras, ta réponse m'aurais bien aidé !!! Merci beaucoup !!! Ca faisait 2 jours que je bloquais dessus, je comprenait pas pourquoi mon texte disparaissait. En fait il sortait bien loin de ma fenêtre visible... c'est un zoom étendu qui me l'a révélé. Je ne sais pas pourquoi cela arrive, mais je sais maintenant comment le remettre en ordre... Merci encore à tous ! Je passe en résolu. Si vous avez des précisions sur le pourquoi du déplacement, je veux bien comprendre... En attendant de comprendre le pourquoi, voila donc le code fonctionnel pour moi ;o) : (setq noutext (vla-addText *ModelSpace*; Global Definition for Model Space "test" vinstexta 'un point variant composé des coordonnées du texte 3.75 ) ;_ end of vla-addtedxt ) (vlax-put-property noutext 'Layer calqtexttet ) ;changement de calque (vlax-put-property noutext 'Alignment "2" ) ;changement d'alignement. Attention, seule, cette fonction déplace le texte en 0,0,0. (vlax-put-property noutext 'TextAlignmentPoint vinstexta ) ;Repositionnement suite alignement au même point que précédent.
Patrick_35 Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 Si tu as trouvé tout seul, bravo, c'est comme cela qu'on progresse vite. Je remarque que tu fais la création d'un texte et qu'ensuite tu changes plusieurs choses.Tu as déjà regardé la fonction lisp entmake ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Ahimsa Posté(e) le 30 mars 2015 Auteur Posté(e) le 30 mars 2015 @Patrick : Quand vous parlez d'attribut Lili et toi, ce sont les attributs d'un bloc ? ou ça peut être autre chose ? Vu que je fais un Addtext, je pensais peut-être bêtement que c’était un texte, non ? Je débute dans la manipulation des objets Autocad, je ne demande qu'à apprendre :ange:
Patrick_35 Posté(e) le 30 mars 2015 Posté(e) le 30 mars 2015 @Patrick : Quand vous parlez d'attribut Lili et toi, ce sont les attributs d'un bloc ? ou ça peut être autre chose ? Vu que je fais un Addtext, je pensais peut-être bêtement que c’était un texte, non ? Je débute dans la manipulation des objets Autocad, je ne demande qu'à apprendre :ange:C'est bien cela, mais on se méfie des abus de langage. (AddAttribute pour des attributs) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Ahimsa Posté(e) le 2 avril 2015 Auteur Posté(e) le 2 avril 2015 désolé pour le délai de réponse..., beaucoup de boulot, maintenant que j'étais débloqué, j'ai bien avancé. pour revenir sur ta réponse, tu as bien raison de te méfier des abus de langage, en programmation, cela peut apporter beaucoup de confusion... Merci pour le entmake, si j'ai bien compris, c'est une fonction qui va me créer l'objet et les paramètres associés, en une fois... et rien du tout s'il y a une erreur en route... Ca peut être très pratique ! Là, je dois faire évoluer un programme existant, donc je repars... de l'existant ;o)Mais dès qu'il y a de gros morceaux à modifier, je m'en servirai certainement ! A pluche !Ahimsa
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