Aller au contenu

[RESOLU] Scan d'un DWG à l'image de Windirstat


Syl2007
 Partager

Messages recommandés

Hello tous,

Tout d'abord : Vive Vous ! J'avais envie et je trouve ça pas mal.Ce matin c'est less is more, les fondamentaux.Sinon : Mon pc, un avion de chasse, des Giga Hz de vitesse de proc (3.6 GHz), des Gigaoctets de RAM (32 Go), des coeurs en veux-tu en voila (8) et Totocad 2017+Covadis+Autopiste V17 en mode bière ships football vautré dans le canapé : rien de nouveau.Pas tout le temps bien sûr mais trop souvent.

The question :Connaitriez-vous une commande permettant de lister le contenu d'un DWG : nbre de lignes, P2D, P3D, MNT, blocs, hachures, ... avec surtout leur taille, encombrement respectif ?A l'image du très bon WindirStat qui scan un disque dur et qui dit "quoi est où et pèse combien".Indispensable pour gérer des données.Et ça dans un but de faire du ménage ciblé.

Très bonne journée.

Sylvain

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Pas tout compris dans le préambule mais ce n'est pas grave...

 

Pour répondre ta demande, je vais attendre un peu des fois que quelqu'un intervienne avec une solution existante

Sinon je prendrai le clavier pour t'écrire ce lisp qui répondra à ton attente

Assez facile en fait quand on a un peu l’habitude sauf au sujet de la taille des objets

Qu'entends-tu par là ? des octets sur le disque ou une taille en unité dessin ?

 

Je guette les réponses et je reviens à la charge le cas échéant.

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Hello et merci Didier,

Désolé pas très clair en effet.Une taille en octet ou je sais pas quoi qui correspond à un "poids" qui touche la vitesse de maniabilité d'un dwg.

Tu sais quand tu t'évertues à Purger un dessin (tous les purges de l'univers qui existent) et puis qu'en fait c'est le bloc arbre qui existent 200 fois dans le dessin et qui te prend 7 Mo et surtout te fait ramer l'ordi. Parce ce bloc arbre, et bé c'est une daube.

Donc si dès le début je sais que c'est ce bloc arbre, c'est plus simple.

 

Ou alors c'est Totocad la daube, puisque si tu lui mets 500 000 P2D, éléments géométriques de base il me semble, et bien tu le mets dans les choux.Faites le test, une P2D de 10 mètres de longueur copiée 500 000 fois, et je parle de P2D, pas d'autres entités. Mais c'est un autre sujet, je digresse.Pour info, 500 000 éléments, sur des plans de synthèse de projet linéaire, on y arrive.

Cerise sur le gâteau, tu ouvres ce fichier avec un clone d'Autocad (GstarCAD) et ça marche mieux.

 

Des bises !

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Ce n'est guère plus clair car tu utilises des mots dont je ne comprends pas toujours le sens, c'est quoi P2D ?

Des points en 2D je ne vois pas en quoi la coordonnée Z pourrait agir sur la rapidité

Je pense que les éléments géométriques sont des entités AutoCAD (lignes polylignes cercles arc...)

Un arbre de 7Mo? je souhaite pour toi que c'est une façon de parler car sinon il faut revoir vraiment les définitions de blocs.

Certes un ralentissement se produit mais en gérant correctement les claques et en gelant pendant le travail on y arrive

 

Mes modèles numériques de terrain issus de relevés LiDAR se comptent en millions d'entités (Face3d) et on survit...

Tu devrais trouver un bénéfice en gérant la variable UNDOCTL car créer 500 000 objets doit bien fatiguer le fichier de suivi...

Il est quelquefois bénéfique de sortir en enregistrant et de ré-ouvrir le dessin ça libère bien en rapport avec le fichier d'annulation.

 

Pense aussi à ne pas utilser de polices TTF pendant le travail, tu changes au moment de la livraison si tu veux mais travailler avec du SHX est plus fluide.

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Hello,

P2D : Polyligne (2D)P3D : Polyligne 3D

Je disais : Connaitriez-vous une commande permettant de lister le contenu d'un DWG :nbre de lignes, P2D, P3D, MNT, blocs, hachures, ... avec surtout leur taille, encombrement respectif.

Dit autrement :Je cherche un outil qui pour un DWG donné me donne un listing exhaustif de ce qu'il contient.Qualité, quantité et caractéristiques du contenu.

Dans mon panier, j'ai des poires, j'en ai 6 et elles pèsent 450 grammes.Je peux avoir en plus des pommes, des kiwis, etc ... et lorsque j'enlève de mon panier son contenu, il est vide.5 fruits et légumes par jour Didier. Faudrait que j'y pense aussi. Un peu d'ananas aussi c'est bon.

Ce qui correspond au résultat d'un Control+A dans la fenêtre de propriétés.Mais il y a aussi je crois d'autres objets qui n'apparaissent pas dans la fenêtre de propriétés, par exemple :- "les applications enregistrées" et qui sont supprimées lors d'un Purger.- Les types de lignes DGN également supprimés lors d'un Purger, et qui peuvent créer un ralentissement important.

- D'autres objets, dont je n'ai plus le nom, qui peuvent être invisibles et venir d'autres programmes.- ...

 

A titre d'exemple, je citais le logiciel Windirstat qui liste le contenu d'un disque dur puis classe par type et taille du contenu.

Merci, très bonne fin de journée.

 

Lien vers le commentaire
Partager sur d’autres sites

Et ce Control+A, ce tout sélectionner que je viens de faire par erreur me donne le droit d'aller prendre un café puisqu'il bloque Autocad pour 5 min ...Je survis mais je trouve ça anormal.En ce qui concerne les millions de face 3D dont tu parles Didier, c'est bien que cela fonctionne bien chez toi mais en ce qui me concerne la sélection que je viens de faire et dont je parle fait "juste",désolé du peu, 150 000 éléments, c'est un fichier de profils en travers.

Ca vous fait ça aussi chez vous ?

Tchuss.

 

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Dans un genre un peu different de ce qui est demande ...

 

Parfois j'utilise ce Lisp Sympa

qui indique le nombre d'entites par calque relativement a la selection ...

 

Bye, lecrabe "triste"

 


;; 
;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/add-counter-to-lisp/td-p/7941574
;; 
;; Routine: Count_Objects_per_Layer by marko_ribar
;; 

(defun c:Count_Objects_per_Layer ( / ss n1 loop laylist layer n2 numlist stringlist listex ) ; mylist is global variable
 (princ "\nSelect objects to list used layers... ") 
 (if (setq ss (ssget))
   (progn
     (setq n1 (sslength ss))
     (setq loop 0)
     (textscr)
     (repeat n1
       (setq layer (cdr (assoc 8 (entget (ssname ss loop)))))
       (if (not (member layer laylist))
         (setq laylist (cons layer laylist))
       )
       (setq loop (1+ loop))
     )
     (setq laylist (acad_strlsort laylist))
     (setq mylist laylist)
     (setq n2 (length laylist))
     (setq numlist 0)
     (setq stringlist "\nSelected Layers...\n") 

     (princ "\n    LayerName   ( Count ) \n ")

     (repeat n2
       (sssetfirst nil ss)
       (setq listext (nth numlist laylist))
       (setq listext (strcat listext "    ( " (itoa (sslength (ssget "_I" (list (cons 8 listext))))) " ) " ))
       (setq stringlist (strcat stringlist "\n    " listext))
       (setq numlist (1+ numlist))
     )
     (princ stringlist)
     (sssetfirst nil nil)
   )
   (princ "\nNo Entities Selected... ") 
 )
 (princ)	
) 


Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Tu as cet exemple sur la page Didier qui reprend une partie de tes demandes.

 

Quand aux poids des objets.... cela me semble difficile à analyser; pour seul exemple un Xref ne pèsera rien dans ta base de donnée du dessin même alors quand terme de temps de réponse cela peut varier suivant l'xref utilisé.

Les blocs dynamiques, s'ils se révèlent pratique, peuvent être une vrai cata surtout s'ils sont un peu complexes et utilisé à outrance.

Je dirais la même choses pour les tableaux avec des champs dynamiques.

 

En dernier lieu les applicatifs verticaux: les objets AEC d'Autocad Archi, les dictionnaires alimentés par Covadis, des type de ligne de Microstation, des données d'objet étendues, bref plein de truc peuvent alourdir un dessin sans qu'on s'en aperçoivent. Un simple copier-coller d'un dessin à l'autre peut importer des choses non utiles à ton dessin.

A part de la rigueur, pas de recette magique

 

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

Salut à tous.

Syl2007, le plus judicieux est de copier/coller le code dans l'IDE d'AutoCAD, avec la commande "'VLIDE", et de cliquer sur l'icone "Charger la fenêtre d'édition active"...

Windows 10 Pro 64bits / AutoCAD MAP 3D 2019

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres...
Davantage d'avantages, avantagent davantage. (Bobby Lapointe)
La connaissance s'accroît quand on la partage.(Socrate)

Lien vers le commentaire
Partager sur d’autres sites

Hello,

BonusCad, j'ai bien copier/coller le code du lien dans un fichier txt renommé en lsp mais ça ne marche pas.Surement un truc que j'oublie.

 

Je n'ai pas contrôlé le code mis en ligne par Didier.Je te propose de copier-coller directement en ligne de commande les codes (l'un après l'autre) donnés dans ce post sur CadXp.

 

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

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
 Partager

×
×
  • Créer...