lesourd2 Posté(e) le 13 septembre 2008 Posté(e) le 13 septembre 2008 Salut à tous Existe-t-il un moyen simple et rapide pour reperer des attributs de blocs en doublon. Merci de vos infos.
lili2006 Posté(e) le 13 septembre 2008 Posté(e) le 13 septembre 2008 Bonsoir à toutes et tous, Re lesourd2, Avec SSATT de "sel" de (gile), non ? Cette fonction te permettra de "gripper" les attributs que tu souhaites,... Ce n'est pas tout à fait ce que tu recherches, mais c'est une première idée,... ;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lesourd2 Posté(e) le 13 septembre 2008 Auteur Posté(e) le 13 septembre 2008 Salut Oui mais c'e n'est pas tout à fait ça , l'idée etait bonne.Pour faire simple ( on va esayer) Dans un dessin une dizaine de sorte de blocs differentsCes blocs ont des attributs avec 5 etiquettes L'idee est de pouvoir choisir dans l'ensemble du dessin1) le bloc2) l'etiquetteUne fois ces choix faits, reperer qu'aucune valeur soient indentiques dans les etiquettes choisies de chaque bloc .
(gile) Posté(e) le 13 septembre 2008 Posté(e) le 13 septembre 2008 Salut, Un petit truc vite fait : L'utilisateur sélectionne un attribut.Tous les blocs pour lesquels la valeur de cet attribut n'est pas unique sont mis en surbrillance.Faire REGEN pour supprimer la surbrillance. (defun c:duplatt (/ att elst tag ss lst) (vl-load-com) (if (and (setq att (car (nentsel "\nSélectionnez un attribut: "))) (setq elst (entget att)) (= (cdr (assoc 0 elst)) "ATTRIB") (ssget "_X" (list '(0 . "INSERT") (assoc 2 (entget (cdr (assoc 330 (entget att))))) ) ) (setq tag (cdr (assoc 2 elst))) ) (progn (vlax-for b (setq ss (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) (foreach a (vlax-invoke b 'GetAttributes) (if (= (vla-get-TagString a) tag) (and (setq lst (cons (cons (vla-get-TextString a) b) lst)) ) ) ) ) (foreach n lst (if (assoc (car n) (vl-remove n lst)) (vla-highLight (cdr n) :vlax-true) ) ) (vla-delete ss) ) ) ) [Edité le 14/9/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lesourd2 Posté(e) le 14 septembre 2008 Auteur Posté(e) le 14 septembre 2008 Salut (gile) Tout d'abord merci J'aurais une suggestion:j'aimerais ne pas avoir à selectionner chaque attribut pour justement eviter a chercher par rapport donc à ceux-ci leurs doublons.C'est a dire que si j'ai x attributs m'eviter de faire x selections pour reperer une eventuelle valeur indentique (enormement de valeurs à controler). Serait-il possible de faire une selection totale dans le dessin, ensuite de choisir un bloc,de choisir son etiquette et que là les valeurs des attributs de cette etiquette doublés,triplés,etc.. se mettent en surbrillance.
(gile) Posté(e) le 14 septembre 2008 Posté(e) le 14 septembre 2008 Salut, C'est ce fait le LISP, mais avec une seule sélection, le reste est automatisé: - la sélection de l'attribut permet de récupérer son étiquette (ATT1 par exemple) et le nom du bloc (BLOC1 par exemple) - tous les blocs BLOC1 sont sélectionnés - pour chaque bloc, la valeur de l'attribut ATT1 est lue et si elle se répète dans le jeu de sélection, le bloc est mis en surbrillance. Voir cette vidéo [Edité le 14/9/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lesourd2 Posté(e) le 14 septembre 2008 Auteur Posté(e) le 14 septembre 2008 Salut OK et merci (gile).
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