Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Recherche de blocs double

2 RÉPONSES 2
Répondre
Message 1 sur 3
robyz
1261 Visites, 2 Réponses

Recherche de blocs double

bonjour à tous,

je recherche une routine vba (ou autre) qui me permette de sélectionner tous les éléments blocs en double sur un dessin.

Par double j'entends qui ont le même X et Y d'insertion (pas forcément le Z).

Et ainsi supprimer les doublons

Merci
2 RÉPONSES 2
Message 2 sur 3
Anonymous
en réponse à: robyz

"robyz" a écrit dans le message de news:5819563@discussion.autodesk.com...
bonjour à tous,

je recherche une routine vba (ou autre) qui me permette de sélectionner tous
les éléments blocs en double sur un dessin.

Par double j'entends qui ont le même X et Y d'insertion (pas forcément le
Z).

Et ainsi supprimer les doublons

Merci

****

Bonjour
une petite routine en lisp qui pourra peut être t'aidé
Charge le prog et tu lance dbl
a bientôt
tonio
;------------------------------------------------------
(defun xmember (elt lst fuzz / kt lo res)
;------------------------------------------------------
(setq kt 0 lo (length lst))
(while (< kt lo)
(if (equal elt (nth kt lst) fuzz)
(setq kt lo res T)
)
(setq kt (1+ kt))
);fin while
res

);fin defun
;------------------------------------------------------
(defun c:dbl(/ slc ct ll ent ntt pti ls lsp lst)
;------------------------------------------------------
(setq slc (ssget "x" (list (cons 0 "insert")))
ct 0
ll (sslength slc)
sll (ssadd)
)
(while (< ct ll)
(setq ent (ssname slc ct)
ntt (entget ent)
pti (cdr (assoc 10 ntt))
nom (cdr (assoc 2 ntt))
ct (1+ ct)
)
(if (setq ls (assoc nom lst))
(progn
(setq lsp (cdr ls))
(if (xmember pti lsp 0.01)
(setq sll (ssadd ent sll))
(setq lst (subst (cons nom (append lsp (list pti))) ls lst))
)

);fin progn
(progn
(setq lst (append lst (list (list nom pti ))))
);fin progn
);fin if
)
(if (and sll (/= 0 (sslength sll))) (command "_erase" sll ""))
(princ)
);fin defun
Message 3 sur 3
magdi_95
en réponse à: Anonymous

Bonjour a tous

Je continus ce post car j'aurais la meme question que "robys" mais pour les TEXTES , peut on modifier le lisp de Tonio

pour qu'il réalise le meme travail (recherche et efface) mais pour des textes superposés ayant donc les meme coordonnés?

Par avance Merci pour vos reponse

Magdi

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report