Aller au contenu

Objets superposés


Cyrchap

Messages recommandés

Bonjour à tous,

j'ai un fichier contenant de nombreux calques et j'aimerais savoir si dans certains d'entre eux il y a des polylignes, ligne, symboles... qui sont dupliqués.

 

Il y a bien la commande overkill mais si je dois passer mes calques un par un !

Si quelqu'un a un lisp ou en connait un

Soit les objets dupliqués sont effaces et/ou transférés dans un calque, soit j'ai la liste des calques qui contiennent les doublons.

 

Merci pour vos réponses

Cyrchap

Lien vers le commentaire
Partager sur d’autres sites

Salut.

 

Si tu as AutoCAD MAP, il y a la commande nettoyer...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Effectivement mais je veux juste les objets superposés calque par calque.

 

Je sais que j'ai des objets dupliqués qui sont par exemple dans le calque bordure T2 qui sont aussi dans le calque limite voie ou tour d'arbre ou autre.

Je veux être sûr que lorsque je fait mon quantitatif de bordure T2 il n'y ai pas plusieurs fois la même chose.

Sur un très gros projet il est difficile de se rendre compte que tel linéaire ou symbole est dupliqué ici ou la.

 

( Tout cela bien sûr est du à des erreurs de manip et ne devrait pas arriver !)

 

 

Salut.

 

Si tu as AutoCAD MAP, il y a la commande nettoyer...

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

1) Quand je veux evaluer la qualite d'un DWG, j'utilise parfois cette excellente Routine "TRI" de notre Grand Maitre Patrick_35 qui va TRIER les objets par calque, et transferer TOUS les Objets, par Type dans un "Sous-calque" SPECIFIQUE !

 

2) Apres je teste, evalue, etc, PAR CALQUE !!

 

3) Routine "TRI" testee et operationnelle sur AutoCAD 201X et aussi sur AutoCAD 2018 ...

 

4) Un AutoCAD MAP 20XX avec une requete SUBTILE sur le groupe de dessins permettrait d'arriver au MEME resultat ...

 

5) Comme d'habitude, Chargement par la commande: APPLOAD

Et Execution par la commande: TRI

 

6) Apres "Eclatement" du DWG avec la Routine "TRI", je fais eventuellement du "Selection Rapide", "EPURER" (Overkill), "MAPCLEAN / NETTOYER (Si AutoCAD MAP) ...

et CE calque par calque ou par Groupe de calque en ayant laisse visibles QUE les calques qui m'interessent ...

 

Bye, lecrabe

 

 
;;
;; Tri des entites par calque et transfert dans des sous-calques
;; Si Calque nomme A alors --> A__TEXT, A__2LINE, A__HATCH, A__POLYLINE, etc
;; Routine VLisp "TRI" par P35 le 23/03/2009 (Suite a une demande de "lecrabe")
;; Nouvelle version 1.1 qui separe XREF & BLOC et fonctionne sur AutoCAD >= 2000
;; 
;; Re-Teste sur AutoCAD MAP 2018 par Patrice ... 
;;
 
(defun c:TRI (/ doc ent lay lck nom ori pro sel tot txt)
 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (if (ssget "x")
   (progn
     (vlax-for ent (setq sel (vla-get-activeselectionset doc))
(cond
  ((and (eq (vla-get-objectname ent) "AcDbBlockReference")
	(vlax-property-available-p ent 'path)
    )
    (setq nom "Xref")
  )
  (T
    (setq txt (substr (vla-get-objectname ent) 5)
	  tot 2
    )
    (while (and (> (vl-string-elt txt tot) 90)
		(< tot (1- (strlen txt)))
	   )
      (setq tot (1+ tot))
    )
    (and (eq (1- (strlen txt)) tot)
      (setq tot (1+ tot))
    )
    (setq nom (substr txt 1 tot))
  )
)
(setq ori (vla-item (vla-get-layers doc) (vla-get-layer ent))
      lck (vla-get-lock ori)
)

;;	(or (wcmatch (vla-get-layer ent) (strcat "* - " nom))
;;	    (and (vl-catch-all-error-p (setq lay (vl-catch-all-apply 'vla-item (list ;; (vla-get-layers doc) (setq txt (strcat (vla-get-layer ent) " - " nom))))))

(or (wcmatch (vla-get-layer ent) (strcat "*__" nom))
    (and (vl-catch-all-error-p (setq lay (vl-catch-all-apply 'vla-item (list (vla-get-layers doc) (setq txt (strcat (vla-get-layer ent) "__" nom))))))

	 (setq lay (vla-add (vla-get-layers doc) txt))
	 (foreach pro '('color 'freeze 'layeron 'linetype 'lineweight 'material 'plottable 'viewportdefault)
	   (and (vlax-property-available-p lay (eval pro))
	     (vlax-put lay (eval pro) (vlax-get ori (eval pro)))
	   )
	 )
    )
    (vla-put-lock lay :vlax-false)
    (vla-put-lock ori :vlax-false)
    (vla-put-layer ent txt)
    (vla-put-lock lay lck)
    (vla-put-lock ori lck)
)
     )
     (princ (strcat "\nTravail sur " (itoa (vla-get-count sel)) " objet(s)."))
     (vla-delete sel)
   )
   (princ "\nDessin vide.")
 )
 (vla-endundomark doc)
 (princ)
)

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Oui celui là je l'avais, mais il ne répond pas tout a fait à mon besoin.

Tout comme dans Covadis il y a Topologie / Nettoyage des segments , mais c'est toujours un calque à la fois. Si on prend plusieurs calque le contrôle se fait sur plusieurs.

Ah, il y a aussi le contrôle de la topologie avec le listing associé qui peut-être va me dépanner.

 

Affaire à suivre

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

avec la commande OVERKILL, il suffit de décocher "Calque" dans le 1er tableau "Ignorer la propriété de l'objet" pour qu'il ne traite que les doublons dans le même calque et pas entre les calques différents. On peut même tout décocher pour être sûr de ne traiter que les objets parfaitement identique

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Salut, effectivement j'ai fait un test rapide et ça fonctionne parfaitement.

Dans mes essais au début avec cette commande , j'avais laissé des coches et le traitement se faisait sur tout ce qui était affiché.

Comme quoi l'expression qui dit, il vaut mieux un qui sait, que cent qui cherchent ce vérifie encore.

 

Merci pour cette précision

Cyrchap

 

Bonjour,

 

avec la commande OVERKILL, il suffit de décocher "Calque" dans le 1er tableau "Ignorer la propriété de l'objet" pour qu'il ne traite que les doublons dans le même calque et pas entre les calques différents. On peut même tout décocher pour être sûr de ne traiter que les objets parfaitement identique

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

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é