Aller au contenu

Reperage des attributs en doublon


Messages recommandés

Posté(e)

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 differents

Ces blocs ont des attributs avec 5 etiquettes

 

L'idee est de pouvoir choisir dans l'ensemble du dessin

1) le bloc

2) l'etiquette

Une fois ces choix faits, reperer qu'aucune valeur soient indentiques dans les etiquettes choisies de chaque bloc .

Posté(e)

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

Posté(e)

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.

 

 

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité