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

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

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

#1 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 08 octobre 2019 - 09:03

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
0

#2 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8352
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 08 octobre 2019 - 10:04

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
Éternel débutant ...
Programmer AutoCAD
0

#3 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 08 octobre 2019 - 10:53

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 !
0

#4 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8352
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 08 octobre 2019 - 12:06

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.

A
micalement

Éternel débutant ...
Programmer AutoCAD
0

#5 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 08 octobre 2019 - 14:25

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.

0

#6 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 08 octobre 2019 - 14:27

C'est gênant, je perds les retours à la ligne lorsque je poste.Mon texte se retrouve ainsi un peu "en vrac", désolé, c'est assez désagréable à lire ensuite.Et ça n'aide pas à la compréhension.

0

#7 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 08 octobre 2019 - 15:54

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.

0

#8 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8573
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 08 octobre 2019 - 16:21

Hello

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

Parfois j'utilise ce Lisp Sympa < Count_Objects_per_Layer >
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
0

#9 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4680
  • Inscrit(e) : 20-juin 03

Posté 08 octobre 2019 - 16:22

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
0

#10 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 08 octobre 2019 - 16:50

Merci pour vos réponses. Je vais tester.Bien à vous.
Bonne soirée.

0

#11 L'utilisateur est hors-ligne   Syl2007 

  • ceinture verte
  • Groupe : Membres
  • Messages : 67
  • Inscrit(e) : 18-décembre 06

Posté 09 octobre 2019 - 12:07

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.
0

#12 L'utilisateur est hors-ligne   DenisHen 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3349
  • Inscrit(e) : 17-décembre 05
  • LocationSAINT FLORENTIN (Yonne)

Posté 09 octobre 2019 - 13:31

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 (22.0.022.4)
Covadis 16 / Microstation V8i

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)
0

#13 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4680
  • Inscrit(e) : 20-juin 03

Posté 09 octobre 2019 - 13:36

Voir le messageSyl2007, le 09 octobre 2019 - 12:07 , dit :

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
0

#14 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1286
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 09 octobre 2019 - 16:34

Bonjour,

comme tu as Covadis, dans le menu Covadis Edition / Calque / Visibilité dynamique t'affiche une palette avec tous les calques et le nombre d'objet par calque (de l'espace objet).

Olivier
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)