Aller au contenu

textes en doublons à supprimer


Messages recommandés

Posté(e)

Bonjour,

 

Je suis en train de faire du ménage sur des fichiers AutoCAD que je dois intégrer sous MapInfo. Ces fichiers comportent des doublons, pour des polylignes (je compte utiliser les outils map >cartographie > nettoyage de dessins) et textes.

 

Mais pour ce dernier cas, je n'ai pas trouvé de moyen de supprimer les doublons.

 

Auriez vous des pistes à me suggérer?

 

Merci d'avance.

 

PS : je dispose de Autodesk Map 2004 - Covadis et MapInfo 8.0

Posté(e)

Si les outils EXPRESS sont chargés, essaie la commande OVERKILL !

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Un mot : nickel!

 

J'utilisais déjà pas mal les Express Tools mais je ne connaissais pas cette commande là... Et du coup je peux faire le contrôle des doublons et des textes en une fois!

 

Un grand merci...

Posté(e)

pour les textes superposés :

;**********************************************************************************************************************************************************
;;;    DEL_TXT.LSP
;**********************************************************************************************************************************************************
;Supprime les superpositions de textes (même point d'insertion, même calque, même rotation, même texte, même valeur de texte, même style, même hauteur PAS LES EXTENSION ET PAS LES MTEXTES)

(defun c:deldup_txt (/ ss ssdup	ct len e eb pt lay ang sty hgt str obj
	     obj_list)

 (princ "\nSelect text objects.")
;Select objects and filter all but block insert objects.
;;;  (setq ss (ssget (list (cons 0 "TEXT"))))
(setq ss (ssget "_X" (list (cons 0 "TEXT"))))
 
 (if ss ;If any valid objects were selected.
   (progn
     (princ "\nBuilding list of objects.")
     (setq ssdup (ssadd))
;Initialize new selection set to hold objects to delete
     (setq len (sslength ss))
;Find out how many objects were selected.      
     (setq ct 0)
     (while (< ct len) ;Loop through selected objects
(setq e (ssname ss ct)) ;Get an object name
(setq eb (entget e)) ;Get the entity list from the object name
(setq ct (+ ct 1)) ;Increment index into selection set
(setq pt (cdr (assoc 10 eb))) ;Access object's coordinate
(setq lay (cdr (assoc 8 eb))) ;Access object's layer
(setq ang (cdr (assoc 50 eb))) ;Access object's rotation angle
(setq sty (cdr (assoc 7 eb))) ;Access object's text style
(setq hgt (cdr (assoc 40 eb))) ;Access object's text height
(setq str (cdr (assoc 1 eb))) ;Access object's text string
;Make list of object properties

(setq obj (list pt lay ang sty hgt str))

(if (not (member obj obj_list))
;If these properties are not already in list
  (setq obj_list (cons obj obj_list)) ;Add them to the list
  (ssadd e ssdup) ;Else add object to selection set to delete
  ) ;End if
) ;End of while loop

     (if (> (sslength ssdup) 0)
;If there are any objects in the selection set to delete
(progn
  (princ "\nDeleting duplicate objects.")
  (setq len (sslength ssdup))
;Find out how many many objects to delete.      
  (setq ct 0)
  (while (< ct len) ;Loop through objects and delete.
    (setq e (ssname ssdup ct)) ;Get object name
    (setq ct (+ ct 1)) ;Increment index into selection set
    (entdel e) ;Delete duplicate object
    ) ;End of while loop

  (princ ;Print the number of objects deleted to command line 
    (strcat "\nDeleted "
	    (itoa len)
	    " duplicate objects."
	    ) ;_ Fin de strcat
    ) ;_ Fin de princ
  ) ;End progn
(princ "\nNo duplicates found.")
;Else no there were no duplicates to delete.
) ;End if

     ) ;End progn
   (princ "\nNo text objects selected.")
;Else there were no valid objects selected
   ) ;End if
 (princ)
 ) ;_ Fin de defun
(prompt
 "\ndeldup_txt : Supprimer les superpositions de textes"
 ) ;_ Fin de prompt
textscr  

 

Overkill supprime t'il les textes superposés ?

Autocad 2021 - Revit 2022 - Windows 10

Posté(e)
Overkill supprime t'il les textes superposés ?

 

Merci pour ton code.

 

Overkill supprime bien les textes superposés, textes simples en tous cas.

 

Du coup j'ai vérifié : cela fonctionne également pour les textes multilignes!

Posté(e)

Alors là je dis chapeau !

 

Je trouvais déjà cette commande géniale, mais je n'avais pas vue ces possibilités : effacer les entités identiques superposées. Je pensais que ça ne prenais que les objets simples, lignes, polylignes. Et moi qui utilisais 3 lisps différents (et incomplets) pour supprimer les doublons de textes, de blocs, de points... Dommage qu'on ne puisse pas choisir le type d'entité !

 

Merci pour l'info !

Autocad 2021 - Revit 2022 - Windows 10

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é