ddb64 Posté(e) le 10 février 2009 Posté(e) le 10 février 2009 Bonjour à tous, j'essaie désepérément de récupérer la valeur d'un attribut de bloc pour inséerer cette valeur sous forme de texte (le but est de repérer les extrémités d'un acier numéroté par le bloc en question).je coince pour convertir la valeur extraite en un texte. merci d'avance à tous les cadors du lisp... voilà le code: (defun c:attlire () (setq ent(car(entsel))) (if(=(cdr(assoc 0(entget ent)))"INSERT") (if(=(cdr(assoc 66(entget ent)))1) (progn (setq liste nil) (while(if ent(not(=(cdr(assoc 0(entget ent)))"SEQEND"))) (if(=(cdr(assoc 0(entget ent)))"ATTRIB") (setq liste(append liste (list (cdr(assoc 1(entget ent))))))) (setq ent(entnext ent)) ) ) ) ) (setq ptins_txt (getpoint "\nPoint d'insertion du texte")) (setq num (rtos liste 2 0)) (command "-texte" "s" "standard" ptins_txt "4.0" "0" pause num) )
Bred Posté(e) le 10 février 2009 Posté(e) le 10 février 2009 Bonsoir, je te propose un peu plus simple je pense.Je te laisse faire les tests à l'interieur du code Choix attribut :(setq att (car (nentsel))) Récupération valeur Attribut :(setq val-att (cdr (assoc 1 (entget att)))) Choix du point :(setq pt (getpoint "\n Sélection point :")) Création du texte avec entmakeen type "romans"sur calque "Calque"(entmake (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(100 . "AcDbMText") '(7 . "romans") '(8 . "Calque") (list 10 (car pt) (cadr pt) (caddr pt)) (cons 1 val-att)) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
philouie Posté(e) le 11 février 2009 Posté(e) le 11 février 2009 Bonjour, Tu peux essayer les express tools. Voir "burst.lsp" Cordialement phil
ddb64 Posté(e) le 11 février 2009 Auteur Posté(e) le 11 février 2009 Merci beaucoup à BRED pour la réponse très rapide, c'est exactement ce que je cherchait à faire. Merci également à Philouie, mais Burst décompose le bloc, or ce bloc est lié à une nomenclature, je ne peux donc pas le décomposer. cordialement Dom :D
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