mav Posté(e) le 16 juin 2008 Posté(e) le 16 juin 2008 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
Tramber Posté(e) le 16 juin 2008 Posté(e) le 16 juin 2008 Si les outils EXPRESS sont chargés, essaie la commande OVERKILL ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
mav Posté(e) le 16 juin 2008 Auteur Posté(e) le 16 juin 2008 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...
LUDWIG Posté(e) le 16 juin 2008 Posté(e) le 16 juin 2008 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
mav Posté(e) le 17 juin 2008 Auteur Posté(e) le 17 juin 2008 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!
LUDWIG Posté(e) le 18 juin 2008 Posté(e) le 18 juin 2008 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
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