Aller au contenu

Nettoyer


Patrick_35

Messages recommandés

Bonjour

 

Je mets au point une routine pour nettoyer efficacement des dessins.

Effacer les textes vides, les lignes de longueur 0, les groupes vides, nettoyer les dictionnaires, etc...

J'aimerai que vous m'indiquiez si la routine ne "nettoie" pas trop fort et si je n'ai pas oublié d'autres options possibles.

 

edit : Mise à jour du lien (v2.03)

 

@+

 

[Edité le 23/6/2010 par Patrick_35]

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 122
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Salut patrick,

Petite comparaison

Purge maison sur un fichier de travail:

Nombre total d'erreurs trouvées 0, corrigées 0

Trouvé 0 blocs sans référence.

 

Trouvé 0 calques sans référence.

 

Trouvé 0 types de lignes sans référence.

 

Trouvé 0 styles de texte sans référence.

 

Trouvé 0 fichiers formes sans référence.

 

Trouvé 0 styles de cote sans référence.

 

Trouvé 0 style de Multilignes sans référence.

 

Trouvé 0 stylestraceur sans référence.

 

Trouvé 0 styles de tableau sans référence.

 

Trouvé 0 matériaux sans référence.

 

Trouvé 0 styles visuels sans référence.

 

Trouvé 0 styles de ligne de repère multiple sans référence.

 

Suppression de application enregistrée "ACAD_EXEMPT_FROM_CAD_STANDARDS".

Suppression de application enregistrée "ACAD_MLEADERVER".

Suppression de application enregistrée "AcadAnnoAV".

Suppression de application enregistrée "AcadAnnoPO".

Suppression de application enregistrée "AcadStringInfo".

Suppression de application enregistrée "ACAUTHENVIRON".

Suppression de application enregistrée "AcDbBlockRepBTag".

Suppression de application enregistrée "AcDbDynamicBlockTrueName".

Suppression de application enregistrée "AcMapDMDisplayStyleRegapp".

Suppression de application enregistrée "ADE".

Suppression de application enregistrée "AeccLand60".

Suppression de application enregistrée "AME_SOL".

Suppression de application enregistrée "COVADIS_PROFILS".

Suppression de application enregistrée "COVADIS_SYMBOLE".

Suppression de application enregistrée "COVAMETRE_LIN".

Suppression de application enregistrée "COVAMETRE_SFC".

Suppression de application enregistrée "COVAPFM_ATTRIB".

Suppression de application enregistrée "COVAPFM_COT_PPROJ".

Suppression de application enregistrée "COVAPFM_COUPES".

Suppression de application enregistrée "DCO15".

Suppression de application enregistrée "MapGWS".

Suppression de application enregistrée "PCV_PLATEFORME".

Suppression de application enregistrée "RAK".

23 applications enregistrées supprimé.

 

-Gain 30ko

 

Avec ton lisp:

 

Nombre total d'erreurs trouvées 0, corrigées 0

 

0 objets effacés

 

-Gain 3k0

 

Je pense qu'il manque des choses...

 

 

Pourtant ma purge maison est pas tres compliquée.

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

Je pense qu'il manque des choses...

 

 

Pourtant ma purge maison est pas tres compliquée.

Oui, mais comme je suis loin de penser à tout, c'est aussi le sujet du post :cool:

 

Merci pour la purge des applis, je l'avais oubliée

Par contre, je n'ai pas un gain de 30ko :(

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Non avec le tiens je gagne rien que 3ko.

 

Ma purge un script (a mes souvenirs inspiré de toi):

TILEMODE

1

_-layer

ch

0

 

_audit

o

_-purge

to

*

n

_-purge

to

*

n

_-purge

to

*

n

_-purge _r _n

_zoom _e

 

Pas tres complexe comparée à ton lisp.

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

Je veux bien te croire

 

D'autant plus que je purge aussi avec un

(repeat 3 (vla-purgeall doc))

Cela n'aurait pas la même incidence qu'avec 3

(command "_.purge" "_all" "*" "_no")

 

Surprenant

 

Merci de ton aide

 

ps: je ne fais pas que purger, j'efface aussi les textes vides, les lignes de longueur 0, les dictionnaires vide, etc..

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Patrick_35 : si le fichier rhymone est quasi clean, c'est un peu normal que ton purgeur

ne donne pas grand chose...

 

Le wbloc est assez radicale, mais vire pas mal de cochonneries, mais il y a des soucis :

les filtres des calques et les groupes existants sautent.

 

Pour info, j'ai fait une moulinette (pas très propre), mais qui scan

les définitions des blocs et affiches les blocs vides.

Puis la fonction qui nettoie ces blocs en les retirant du dessin (directement)

ou dans les définitions des blocs. Bien-sur, pour purger à fond, la fonction

est récursive dans le sens ou tant qu'il existe un bloc vide, on scanne et on supprime.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

 

je purge avec ca

 

 (defun c:urto ()
 (setvar "cmdecho" 0)
 (command "regnauto" "ac")
 (setvar "cmdecho" 0)
 (command "snapang" "0")
 (command "-DIMSTYLE" "R" "STANDARD")
 (command "DIMSCALE" "1")
 (command "-AECDWGSETUP" "U" "4" "2" "8" "7" "2" "m²" "6" "2" "m³" "NON" "EC" "7" "1000" "10" "")
 (command "zoom" "et")
 (command "-purger" "APPSENREG" "*" "n")
 (command "-purger" "to" "*" "n")
 (princ)
)

 

11 958 ==> 9037 avec "URTO"

 

11 958 ==> 9017 avec "JAV"

 

gain : 20ko de moins avec JAV

 

 

Dans la version 2011 et aussi 2010 de memoire ca purge aussi les texte vide et ligne de longueur zero a partir de la fenetre de purge mais je n'ai pas si a partir de la commande ca purge aussi les textes vide et tout le TRALALA

 

a+

phil

 

 

 

 

 

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Salut Patrick_35,

 

Voici les résultas de "jav.lsp" sur le fichier de ce post qui pose pb =>

 

http://free0.hiboox.com/images/2110/1d86dab9a0f7157af2afe23f0f33ab26.jpg

 

(gile) annonce 9 zombies,...

 

Pour le reste, je ne sais pas,...

 

Si, après une récupération, on trouve également 207 erreurs,... Avec jav.lsp aussi !

 

 

Le rapport

 

Un bon fichier de tests il me semble, et ça rendrait service à la communauté,...

 

Merci, :P

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Je suis en deplacement donc je ne peux pas tester ta routine avant la fin de la semaine prochaine, neanmoins je suis un "tritureur / nettoyeur" de dessins AutoCAD depuis au moins 12 ans et ce avec les outils de nettoyage de MAP, des routines Lisp variees et diverses et aussi avec la topologie de Map.

 

Je suis bien sur preneur de toute routine supplementaire et efficace ! :)

 

Je pense que toute routine de nettoyage doit proposer :

- soit l'effacement,

- soit le forcage dans une couleur (dlgcolor) des objets susceptibles d'etre effaces

 

Trouver les Points, Blocs, Textes, MTextes dont le point d'insertion XY est "tres proche" (Choix d'un rayon de recherche) me semble tres interessant !

 

C l'eternel probleme des doublons !! :exclam:

 

Sans parler des lignes, arcs, cercles, polylignes, etc ... ;)

 

Le Decapode

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Lilian,

 

il me semble effectivement avoir trouvé 9 zombies dans ton fichier lors du premier test, mais dans les suivants, je ne les plus vus ?!

 

Patrick_35

 

il est difficile d'évaluer jusqu'où doit aller un nettoyage automatique sans savoir à quoi est destiné le fichier notamment pour les objets créés par des applications verticales (Architecture, MEP, Civil 3d, MAP 3d) ou autres (Covadis etc.).

 

Si le fichier doit être réutilisé sur une ou plusieurs de ces applications il faudrait bien sur épargner les objets utiles à celles-ci.

Si le fichier ne doit plus jamais être utilisé que sur AutoCAD, on peut y aller franchement, supprimer tous les dictionnaires autres que ACAD_*,ASE_*,AcDb* mais aussi toutes les xdatas créées par ces applications sur les objets mais aussi sur les calques.

Regarde le fichier donné en lien par lili2006, il en est truffé avec en plus un reacteur que je n'ai pas trouvé qui attache une xdata à tout nouveau calque créé.

 

Si le fichier est destiné à ne servir que de fond de plan en xref, on doit pouvoir aller encore plus loin.

 

Une solution serait de permettre à l'utilisateur de choisir les options de nettoyage via une boite dialogue.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

il est difficile d'évaluer jusqu'où doit aller un nettoyage automatique sans savoir à quoi est destiné le fichier notamment pour les objets créés par des applications verticales (Architecture, MEP, Civil 3d, MAP 3d) ou autres (Covadis etc.).

 

Si le fichier doit être réutilisé sur une ou plusieurs de ces applications il faudrait bien sur épargner les objets utiles à celles-ci.

Si le fichier ne doit pl

 

Je ne peu qu'abonder dans ce sens

 

Une solution serait de permettre à l'utilisateur de choisir les options de nettoyage via une boite dialogue

 

entièrement d'accord

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

bseb67 :

Exact pour le wbloc et merci de l'idée des blocs vide. J'en ai trouvé plusieurs dans des dessins.

Je n'aurai pas cru cela possible.

 

Lili : Dans ton fichier, tu n'as plus les zombies

 

Lecrabe :

Trouver les Points, Blocs, Textes, MTextes dont le point d'insertion XY est "tres proche" (Choix d'un rayon de recherche) me semble tres interessant !

Tu as _overkill

 

gile:

il est difficile d'évaluer jusqu'où doit aller un nettoyage automatique sans savoir à quoi est destiné le fichier notamment pour les objets créés par des applications verticales (Architecture, MEP, Civil 3d, MAP 3d) ou autres (Covadis etc.).

Oui, mais je fais déjà un nettoyage pour autocad sans m'attaquer aux verticaux pour l'instant.

 

Si le fichier doit être réutilisé sur une ou plusieurs de ces applications il faudrait bien sur épargner les objets utiles à celles-ci.

Oui, et la difficulté est de trouver quel dictionnaire appartient à quelle application

 

Si le fichier est destiné à ne servir que de fond de plan en xref, on doit pouvoir aller encore plus loin.

Je ne peux qu'être d'accord.

 

Une solution serait de permettre à l'utilisateur de choisir les options de nettoyage via une boite dialogue.

Ce sera l'objet d'une future version. Pour l'instant, je m'attelle à bien nettoyer sans rien oublier si possible

 

Et merci aux autres que je n'ai pas cité pour leur aide.

Si d'autres idées viennent, elles seront les bienvenues.

 

ps : Mise à jour du lien

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Salut Patrick_35,

 

Sur le même fichier, la nouvelle version =>

 

http://free0.hiboox.com/images/2110/c5f95fedfef523d707892c4235540cae.jpg

 

 

On constate que les dictionnaires sont passés de 20 à 17.

 

C'est quoi les 58 applications en début de nettoyage ?

 

Je profite également de ce post pour demander comment les textes, lignes,blocs,..."vides" sont créér ? Suite à quelle(s) manipulation(s) ?

 

Merci d'avance,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Merci de tes tests lili

 

C'est quoi les 58 applications en début de nettoyage ?

Ce sont les applications enregistrées dans le dessins.

 

Je profite également de ce post pour demander comment les textes, lignes,blocs,..."vides" sont créér ? Suite à quelle(s) manipulation(s) ?

Certaines personnes pour effacer un texte édite le texte comme pour le modier, le supprime et font entrée ou espace. On ne le voit plus, mais en réalité, il est toujours présent.

Pour des lignes de longueur 0, on peut imaginer un double-clic avec des accroch obj, etc...

 

ps : Mise à jour du lien avec une bd pour les options

 

@+

 

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Une suggestion:

 

Certainement un peu ardu, car je n'ai rien trouvé d'efficace sur le net.

Mais un nettoyage d'objet proxy m'intéresserais bien.

 

Pour moi c'est là seule chose qui résiste à une purge radicale que j'obtiens en passant par un DXF d'objet en R12. (Ces objets sont ignorés par DxfOut, donc je les perds purement et simplement, ce qui ne fait pas mon affaire)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis pas sûr que ce soit possible sans l'application qui les a créé.

 

Exemple pour un objet aecbDbPanel (AecbEclecBase60) créé avec MEP.

_$ (entget ent '("*"))

((-1 . ) (0 . "ACAD_PROXY_ENTITY") (330 . ) (5 . "1D995") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "EVI012--E-(tableaux-secondaires)"))

 

_$ (vlax-dump-object obj T)

; IAcadEntity: Interface AutoCAD Entity

; Valeurs de propriétés:

; Application (RO) = #

; Document (RO) = #

; Handle (RO) = "1D995"

; HasExtensionDictionary (RO) = 0

; Hyperlinks (RO) = #

; Layer = "EVI012--E-(tableaux-secondaires)"

; Linetype = "ByLayer"

; LinetypeScale = 1.0

; Lineweight = -1

; Material = "ByLayer"

; ObjectID (RO) = 2124721896

; ObjectName (RO) = "AcDbZombieEntity"

; OwnerID (RO) = 2124897528

; PlotStyleName = "ByLayer"

; TrueColor = #

; Visible = -1

; Méthodes prises en charge:

; ArrayPolar (3)

; ArrayRectangular (6)

; Copy ()

; Delete ()

; GetBoundingBox (2)

; GetExtensionDictionary ()

; GetXData (3)

; Highlight (1)

; IntersectWith (2)

; Mirror (2)

; Mirror3D (3)

; Move (2)

; Rotate (2)

; Rotate3D (3)

; ScaleEntity (2)

; SetXData (2)

; TransformBy (1)

; Update ()

T

 

Et je n'ai pas beaucoup plus d'informations avec .NET :

http://img217.imageshack.us/img217/4733/proxym.png

 

Pas de xdata, pas de dictionnaire d'extension, si d'autres informations concernant cet objet sont stockées quelque part je ne sais pas où (peut être dans un des 51 dictionnaires AECB*, à moins qu'il ne faille fouiller la totalité des 100 dictionnaires AEC* !)

Le fichier

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Merci de vos réponses les gars,

 

Concernant les proxy voici ce que j'ai essayé:

delproxy.vlx

 

Donc, vu l'extension, pas modifiable... et consultable. :(

 

Pour moi il n'a pas fonctionné, je pence qui traite plutôt les proxy en provenance d'une application verticale comme architectural (objet AEC).

 

Pour mon cas ce serait plutôt du Map, en fait j'expérimente chez moi la bascule de fichier DXF vers du SHP pour QantumGIS.

 

Je suis content j'ai réussi à faire la bascule pour beaucoup de fichiers, mais des entités proxy n'ont pus être récupérés.

 

Je sais qu'il est recommandé de charger les ObjectEnabler sur le site d'AutoDesk pour la version utilisée d'Autocad, mais ne chercher pas à comprendre, je n'ai pas envie de passer par cette voie.

(je trouve que les échanges DXF issus d'autocad sont de plus en plus incompatible avec les logiciels tiers)

 

@Patrick_35, si tu veux un fichier, pas de problème, juste une adresse...

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Pourquoi lorsque je relance le nettoyeur x fois sur le même fichier (celui donné en exemple toujours,..) j'ai toujours 1 élément de dictionnaire effacé ?

 

A priori, c'est vrai sur d'autres fichiers que j'ai testé,...

 

De plus, un fichier (d'erreur ?) ".Autodesk Architectural Desktop" est systématiquement créé,...

 

http://free0.hiboox.com/images/2110/5050a83430a8724d1a2532196a1c33de.jpg

 

Lors du second passage sur certains fichiers travaillés aussi avec covadis j'ai ce message d'erreur : (Pour info puisque le nettoyeur ne travaille que sur les entités AutoCAD, si j'ai bien compris,...)

 

http://free0.hiboox.com/images/2110/7b981be4ebd0b76af1f4cb104805d575.jpg

 

Aprés plusieurs clics sur "ok", le nettoyeur se lance,...

 

Exemple de rapport sur un fichier covadis

 

De plus AutoCAD par la suite était comme "figé", c'est à dire que je ne voyais plus la souris dans la zone de dessin, uniquement sur les menus et barres d'outils mais aucune fonction ne répondait, même pas la fermeture du logiciel... (Fermeture via le gestionnaire des tâches) Je ne sais pas si c'est systématique, je n'ai fait qu'un test sur un fichier travaillé en 3D avec covadis,...

 

Autre question, c'est quoi "les proxy" ?

 

Merci d'avance,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

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é