jalna Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 Bonjour,Après avoir passé du temps avec ses s........s d'extraction de données, AutoCad réagit n'importe comment!!ED faites sur des attributs.Sans rien changer, AutoCAD arrive à voir des changements et me dit de mettre à jour (pas mal je trouve)Sans parler des erreurs fatales!!Bref ça me gonfle réellement, et je suis surpris d'être le seul à avoir ce problème.... Sinon si quelqu'un connait le moyen de récupérer une somme sur une zone d'attributs, sans être une usine à gaz, mais dans le style des ED de 2006, je suis preneur!! Autrement dit : c'est tellement bien de revenir en arrière!!Merci 2008 :mad: :mad: :mad: "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
Patrick_35 Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 Salut LXL ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 Hello Si tu veux avoir simplement la somme d'un certain attribut de bloc par rapport à une sélection globale ou classique avec en plus un seuil de déclenchement, tu peux utiliser cet excellent programme de Gilles : ;;; Addition de la valeur d'un attribut sur un bloc/symbole;;; par Gilles le 09/08/2008 - Anciennement ADDATTVAL;;; On selectionne d'abord un attribut;;; puis APRES par une selection AutoCAD classique;;; tous les blocs/symboles "concernes" seront traites;;; Nouvelles options : Choix d'un seuil de traitement;;; en mode >= ou en mode (defun c:ATT_TOT (/ seuil ing att elst tag ss n tot blk) (initget "Oui Non") (if (= "Oui" (setq seuil (getkword "\nChoix d'un seuil [Oui/Non] : ")) ) (progn (initget "Inférieur Supérieur") (or (setq ing (getkword "Choisissez une option [inférieur/Supérieur] : " ) ) (setq ing "Supérieur") ) (initget 1) (setq seuil (getreal "\nValeur du seuil: ")) ) ) (and (setq att (car (nentsel "\nSélectionnez un attribut: "))) (setq elst (entget att)) (= (cdr (assoc 0 elst)) "ATTRIB") (setq tag (cdr (assoc 2 elst))) (princ "\nSélectionnez les blocs ou : ") (or (setq ss (ssget (list '(0 . "INSERT") (assoc 2 (entget (cdr (assoc 330 elst)))) ) ) ) (setq ss (ssget "_X" (list '(0 . "INSERT") (assoc 2 (entget (cdr (assoc 330 elst)))) ) ) ) ) (setq n -1) (setq tot 0) (while (setq blk (ssname ss (setq n (1+ n)))) (setq att (entnext blk)) (while (and att (setq elst (entget att)) (/= (cdr (assoc 2 elst)) tag) ) (setq att (entnext att)) ) (if (setq val (distof (cdr (assoc 1 elst)))) (if seuil (if (= ing "Supérieur") (and ( (and ( ) (setq tot (+ tot val)) ) ) ) ) (alert (strcat "Total = " (vl-princ-to-string tot))) (princ)) Le Decapode Autodesk Expert Elite Team
jalna Posté(e) le 21 octobre 2008 Auteur Posté(e) le 21 octobre 2008 Salut Patrick_35 Merci de prêter attention à mon message... :D En fait c'est un problème d'extraction de données et non pas de liaisons de données............. Je suis charrette mais je regarde ton lisp qui a l'air sympa des que j'ai 5mn. Un exemple http://img513.imageshack.us/img513/4931/eden4.jpg "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
jalna Posté(e) le 21 octobre 2008 Auteur Posté(e) le 21 octobre 2008 Salut le décapode! Je ne comprend pas bien le lisp de Gilles :exclam: J'ai ce type de message ; erreur: type d'argument de comparaison incorrect: 10.19 "Non" "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
(gile) Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 Salut, Il y avait effectivement une erreur dans le LISP si on choisit "Non" au seuil Voilà une version corrigée ;;; Addition de la valeur d'un attribut sur un bloc/symbole ;;; par Gilles le 09/08/2008 - Anciennement ADDATTVAL ;;; On selectionne d'abord un attribut ;;; puis APRES par une selection AutoCAD classique ;;; tous les blocs/symboles "concernes" seront traites ;;; Nouvelles options : Choix d'un seuil de traitement ;;; en mode >= ou en mode (defun c:ATT_TOT (/ seuil ing att elst tag ss n tot blk) (initget "Oui Non") (if (= "Oui" (setq seuil (getkword "\nChoix d'un seuil [Oui/Non] [b]: ")) ) (progn (initget "Inférieur Supérieur") (or (setq ing (getkword "Choisissez une option [inférieur/Supérieur] : " ) ) (setq ing "Supérieur") ) (initget 1) (setq seuil (getreal "\nValeur du seuil: ")) ) (setq seuil nil) ) (and (setq att (car (nentsel "\nSélectionnez un attribut: "))) (setq elst (entget att)) (= (cdr (assoc 0 elst)) "ATTRIB") (setq tag (cdr (assoc 2 elst))) (princ "\nSélectionnez les blocs ou [b]: ") (or (setq ss (ssget (list '(0 . "INSERT") (assoc 2 (entget (cdr (assoc 330 elst)))) ) ) ) (setq ss (ssget "_X" (list '(0 . "INSERT") (assoc 2 (entget (cdr (assoc 330 elst)))) ) ) ) ) (setq n -1) (setq tot 0) (while (setq blk (ssname ss (setq n (1+ n)))) (setq att (entnext blk)) (while (and att (setq elst (entget att)) (/= (cdr (assoc 2 elst)) tag) ) (setq att (entnext att)) ) (if (setq val (distof (cdr (assoc 1 elst)))) (if seuil (if (= ing "Supérieur") (and ( (and ( ) (setq tot (+ tot val)) ) ) ) ) (alert (strcat "Total = " (vl-princ-to-string tot))) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 Bonjour Au temps pour moi. Je pensais Excel pour l'extraction de données. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
jalna Posté(e) le 21 octobre 2008 Auteur Posté(e) le 21 octobre 2008 OKMerci à vous! Il semble que le lisp à des petits problèmesSouvent une réponse du style totale = nilPourquoi faut il sélectionner 2 fois le premier attribut :casstet: Autrement dit PourquoiSélectionnez un attribut:Et choix des objets "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
(gile) Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 Il semble que le lisp à des petits problèmesSouvent une réponse du style totale = nil Le LISP retourne nil quand la routine n'aboutit pas, par exemple parce qu'il n'y a pas de sélection valide. Pourquoi faut il sélectionner 2 fois le premier attribut :casstet: Autrement ditPourquoiSélectionnez un attribut:Et choix des objets La première sélection d'un attribut permet d'identifier le bloc et l'attribut (son étiquette).Ensuite, l'utilisateur sélectionne les blocs (uniquement ceux de même nom) et additionne les valeurs des attributs ayant la même étiquette que le premier attribut sélectionné. Peut-être n'est ce pas la routine qu'il te faut ? Si tu veux ajouter les valeurs d'attributs appartenant à des blocs différents, il faudra choisir les attributs un par un. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 22 octobre 2008 Posté(e) le 22 octobre 2008 Hello Desole, je n'avais pas vu l'erreur car j'utilisais toujours un seuil ! :o Comme quoi il faut TOUT tester !! :casstet: Le Decapode PS: Pour info cette routine ATT_TOT fonctionne MEME sur un vieil AutoCAD 2002 ! :P [Edité le 22/10/2008 par lecrabe] Autodesk Expert Elite Team
jalna Posté(e) le 22 octobre 2008 Auteur Posté(e) le 22 octobre 2008 ok merci des précisions!! En fait je pense à une routine. -Sélection des polylignes de surfaces (contour des pièces) soit une par une ou par sélection de zone.-Hachurage des zones de sélection (polylignes sélectionnées) sur un calque non imprimable-Total des zones à placer sur un texte. le fait de hachurer permetterait quand on sélectionne le texte résultant des zones de voir par surbrillance les zones concernées. Vous en pensez quoi? "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
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