capde06 Posté(e) le 17 février 2009 Posté(e) le 17 février 2009 avant j'utilisais un bloc avec 3 attributsavait ma petite fonction pour récupérer la valeur de mes attributsmaintenant j'utilise ligne de repére multiple avec mon bloc(pratique et conviviale a mon avis)mais problèmeje n'arrive pas a faire une fonction pour récupérer la valeur d'un attribut si vous avez eu ce problème.....merci de m'aider voila ma fonction pour la valeur d'un attibut;; ;valeur d'un attribut : entité avant entget + etiquette (defun val_eti(enti eti / alt) (setq ent_att (entnext enti)) (while (/= (cdr (assoc 0(entget ent_att))) "SEQEND") (if (= (cdr(assoc 2(entget ent_att))) eti) (setq alt (cdr(assoc 1(entget ent_att)))) ) (setq ent_att (entnext ent_att)) ) alt) Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
(gile) Posté(e) le 17 février 2009 Posté(e) le 17 février 2009 Salut, Pour récupérer la valeur d'un attribut;;; GetAttValue ;;; Retourne la valeur d'un attribut (ou nil si l'étiquette n'est pas trouvée) ;;; ;;; Arguments ;;; blk : le nom d'entité du bloc ;;; tag : le nom de l'étiquette de l'attribut (defun GetAttValue (blk tag / lst loop val) (setq lst (entget (entnext blk)) loop (= "ATTRIB" (cdr (assoc 0 lst))) ) (while loop (if (= (strcase tag) (cdr (assoc 2 lst))) (setq val (cdr (assoc 1 lst)) loop nil ) (setq lst (entget (entnext (cdr (assoc -1 lst)))) loop (= "ATTRIB" (cdr (assoc 0 lst))) ) ) ) val ) Pour attribuer une valeur à un attribut;;; GetAttValue ;;; Attribue une valeur de un attribut ;;; Retour : ENAME du bloc (ou nil si l'étiquette n'est pas trouvée) ;;; ;;; Arguments ;;; blk : le nom d'entité du bloc ;;; tag : le nom de l'étiquette de l'attribut ;;; val : la valeur à attribuer (defun SetAttValue (blk tag val / lst loop) (setq lst (entget (entnext blk)) loop (= "ATTRIB" (cdr (assoc 0 lst))) ) (while loop (if (= (strcase tag) (cdr (assoc 2 lst))) (progn (entmod (subst (cons 1 val) (assoc 1 lst) lst)) (setq loop nil) (entupd blk) ) (setq lst (entget (entnext (cdr (assoc -1 lst)))) loop (= "ATTRIB" (cdr (assoc 0 lst))) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
capde06 Posté(e) le 18 février 2009 Auteur Posté(e) le 18 février 2009 Merci Gileces fonctions marchent sur des blocs.mais ne marche pas quand les blocs sont attaches a des ligne de repères multipleson tombe la sur une entité complexe trop complexe pour moi je voulais mettre une image mais je ne sais comment on fait Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
(gile) Posté(e) le 18 février 2009 Posté(e) le 18 février 2009 Salut, Les repères multiples sont arrivés avec la 2008, et moin je suis resté à 2007, je ne peux donc pas faire de test... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 18 février 2009 Posté(e) le 18 février 2009 Bonjour à toutes et tous, capde06, pour poster une image, tu peux par exemple passer par ce site d'hébergement, et copier l'adresse de l'image dans ton post, ce qui donne => http://images2.hiboox.com/images/0809/17f3503989e42ccc5777d333669e748c.jpg Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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