GEGEMATIC Posté(e) le 3 avril 2023 Partager Posté(e) le 3 avril 2023 Salut, nous sommes régulièrement confrontés à des ralentissements incroyables et malheureusement souvent inexpliqués. Là, ce coup ci, on en a trouvé un bizarre, mais on a un début d'explication. Sur une station Zbook toute neuve est plutôt musclée, je constate que dans un dessin, sélectionner un bloc peut prendre jusqu’à 25 secondes ! mais sélectionner un autre objet est instantané ! Certains de nos ralentissement sont liés à des association map/ civil/Covadis, nous l'avons désactivé, et nous n'avons trouvé aucune différence: Covadis n'y est pour rien. Comme nos portables sont configurés avec mode hors connexion (centre de synchronisation windows), nous avons essayé de débrancher le câble réseau, et là miracle, plus de ralentissement. On rebranche: Ralentissement immédiat. Tout notre réseau passe par un sonicwall soho 256 -> 256 est peut être insuffisant pour Autocad 2021 ? Sur une station fixe, ou le centre mode hors connexion n'est pas utilisé, et qui travaille obligatoirement en ligne, le ralentissement existe aussi, mais il est bien moindre, 1 à 2s, et il n'est sensible que lors du 1er clic sur un type de bloc. Il disparait sur les suivants. Moralité, le problème vient du travail depuis le réseau, et il est gravement amplifié par l'utilisation du mode hors connexion. A savoir que nous n'avions pas ce problème avec les 2015, 2016, 2018 et 2020 que nous avons utilisé ces dernières années. Ce qui est pratique, avec le mode hors connexion, c'est qu'il suffit de passer en mode "travailler hors connexion" pour retrouver de la vitesse, tout en conservant l'accès à Internet, aux e-mails, et à Covadis. Quelques liens qui en parlent, surtout le 1er qui vient d'Autodesk: https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/AutoCAD-performs-slow-when-working-on-networked-drawings.html https://www.reddit.com/r/AutoCAD/comments/d8x54j/network_files_are_slow/ https://forums.augi.com/showthread.php?173125-AutoCAD-extremely-sluggish-when-WiFi-is-enabled https://www.cadtutor.net/forum/topic/62701-autocad-slow-could-it-be-caused-by-network-speed/ http://cadpanacea.com/wp/?p=504 a+ gégé 1 2 Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 3 avril 2023 Auteur Partager Posté(e) le 3 avril 2023 Chez nous, après avoir espionné l'activité débile d'Autocad, qui explique le phénomène, c'est que l'immense Autocad cherche les xref et les images non trouvées inlassablement sur tout les emplacements du Path! Sans arrêt, pas seulement à l'ouverture du dessin ! Pendant les 23 secondes de latence, c'est 74000 requêtes sur les répertoires du path ! la solution, virer ces xref ? Oui ben essayez pour voir quand ce sont des xref et image imbriquées partout ... Quand on travaille sur une affaire en collaboration généralisée, avec 10 images de partenaires par cartouche, que toutes vos xref cherchent ces 10 images ... Infaisable. comment un tel dysfonctionnement peut perdurer ? Comment Autodesk ose, en 2023, recommander à ses utilisateurs de travailler avec un copie locale sur le bureau, puis de la recopier, au lieu de corriger ce bug ? Travailler en local ! en 2023 ! avec un logiciel à 2500€ par an ! les bras m'en tombent. a+ gégé très énervé. 3 Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 3 avril 2023 Partager Posté(e) le 3 avril 2023 Hello WAOUH MERCI pour les explications ... Car la presence de Covadis me faisait "douter" ! Bye, lecrabe Citer Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 3 avril 2023 Partager Posté(e) le 3 avril 2023 Citation recommander à ses utilisateurs de travailler avec un copie locale sur le bureau, puis de la recopier, Bonjour, J'ai rencontré ce problème, en 2011 !!!! et j'avais reçu le même conseil pourri. Je vois que cela n'a toujours pas été réglé. 1 Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syl2007 Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Bonjour à tous, Tiens, je venais justement sur Cadxp pour un problème de lenteur ... 150 % du même avis que toi GEGEMATIC. Et même si je ne connaissais pas ce cas précis de bug de lenteur. Autodesk, comme surement d'autres éditeurs de logiciels, sont les rois du monde. Ils sont tellement devenus indispensables qu'il n'y a rien à faire. Ou alors il faut peut-être changer d'angle de vue. On est en 2023, mais on travaille comme des mécaniciens des années 1940, où l'idée que je m'en fais : connaître les combines, les astuces, les réglages qui permettent que ton bourrin fonctionne correctement, car sorti d'usine c'est au petit bonheur la chance. 1) Et même avec ça, par exemple, est-ce-qu'on a trouvé une solution pour le bug de lenteur de la fenêtre de propriétés ? Bug qui date de quelques années seulement et qui mets dans les choux Autocad dès que l'on sélectionne une grande quantité d'objets avec cette fenêtre ouverte. 2) Et le purger r (non inclus dans Purger Tout) ? Je rencontre encore des affaires entières de plusieurs Go de dwg polluées qui pèsent 2,3,4 fois voire plus, leur poids normal. Quand c'est un fichier de 800 ko qui pourraient faire 200 ko, pas de sujet et encore, on sait bien qu'un fichier dwg ne vient pas tout seul. Lorsque c'est 80 Go qui pourraient faire 20 Go, ça commence à faire. Et avec des fichiers avec 20, 30 ou 40 xrefs, ça engendre de grosses lourdeurs. 3) Mais ça leur donne du boulot à Autodesk. Comme tant d'autres, j'utilise le 3D depuis 20 ans. Mais pour qu'il soit exploitable par tous, il a fallu créer un nouveau format (le BIM) pour qu'il soit facilement manipulable. Et oui sur Autocad, si tu veux bouger un ensemble de MNT, de solides, etc ... faut pas être pressé. Bon, ça fait travailler les gens, ça nous occupe. C'est peut-être le principal, l'argent circule. Tchuss. 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syl2007 Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Le 03/04/2023 à 13:57, GEGEMATIC a dit : Chez nous, après avoir espionné l'activité débile d'Autocad, qui explique le phénomène, c'est que l'immense Autocad cherche les xref et les images non trouvées inlassablement sur tout les emplacements du Path! Sans arrêt, pas seulement à l'ouverture du dessin ! Pendant les 23 secondes de latence, c'est 74000 requêtes sur les répertoires du path ! la solution, virer ces xref ? Oui ben essayez pour voir quand ce sont des xref et image imbriquées partout ... Quand on travaille sur une affaire en collaboration généralisée, avec 10 images de partenaires par cartouche, que toutes vos xref cherchent ces 10 images ... Infaisable. comment un tel dysfonctionnement peut perdurer ? Comment Autodesk ose, en 2023, recommander à ses utilisateurs de travailler avec un copie locale sur le bureau, puis de la recopier, au lieu de corriger ce bug ? Travailler en local ! en 2023 ! avec un logiciel à 2500€ par an ! les bras m'en tombent. a+ gégé très énervé. Hello, Comment as-tu fait pour "osculter" Autocad pendant les 23 secondes de latence ? Et donc savoir ce qu'il faisait pendant ce temps. Slts. Sylvain Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 Salut, Merci pour vos messages de soutien ! Concernant cette source de lenteur enfin identifiée, la méthode d'investigation est assez lente et pénible, car affiner l'usage du moniteur de ressources consomme beaucoup de ressources ! Et au bout d'un moment le sytème devient tellement lent qu' AutoCAD n'arrive même plus à lire le clavier ... Donc il faut recommencer à zéro. Pour l'instant on a vu: - la recherche continuelle des images et xref non résolues. - La recherche continuelle de polices non trouvées - Spécifique à MAP : la lecture continuelle des systèmes de coordonnées la lecture continuelle de la stylisation FDO - pour tous les répertoires du PATH : Une série de CloseFile, CreateFile QueryBasicInformationFile Et ça tourne en rond, sans arrêt ! Donc si comme chez nous, on a tous les paramètres communs sur le réseau, vous voyez le bordel ! Mais les résultats ne semblent pas toujours reproductibles, et ça je ne comprends pourquoi. A suivre ... 1 Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 il y a 16 minutes, Syl2007 a dit : Hello, Comment as-tu fait pour "osculter" Autocad pendant les 23 secondes de latence ? Et donc savoir ce qu'il faisait pendant ce temps. Slts. Sylvain Justement, C'est très difficile ! Mais ça a été rendu possible par le ralentissement général du système, car 23 secondes, c'est grâce à se ralentissement du au monteur, sinon c'est 3/4 secondes. Il faut filtrer sur AutoCAD.exe, filtrer sur le le réseau, faire un clear, noter l'heure à la seconde près, lancer sa commande Autocad, noter l'heure de fin, et regarder les evenements qui se sont produits. 2 1 Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 Pour virer ces xref et images non valide, je suis à la recherche de routines en dbx, car le gestionnaire de Xref ne permet que de changer leur chemin. Moi je veux les virer, si on ne me les a pas données, c'est que j'en ai pas besoin. j'ai déjà ces éléments là, en dbx : ;;*********************************************************************************** ;;§/dbx/Changer toutes les xref d'un dessin de type attaché via dbx /none (defun c:DbxAllXrefAttached () (setq dbx (pw_open_dwg_dbx (setq dess (getfiled "dwg pour passer en xref de type attaché par dbx" "" "dwg" 0)))) (setq blocks (vla-get-blocks dbx)) (vlax-for oB blocks (if (= (vla-get-isXref oB) :vlax-true) (setpropertyvalue (vlax-vla-object->ename oB) "IsFromOverlayReference" 0) ) ) ;;(setq dess (strcat (car dess) (cadr dess) "-Attached.dwg")) (vla-saveAs Dbx dess) ;;(vla-save Dbx);_ca ne marche pas, je ne sais pas pourquoi (vlax-release-object Dbx) ) ;;*********************************************************************************** ;;§/dbx/Changer toutes les xref d'un dessin de type superposées via dbx /none (defun c:DbxAllXrefOverlay () (setq dbx (pw_open_dwg_dbx (setq dess (getfiled "dwg pour passer en xref de type attaché par dbx" "" "dwg" 0)))) (setq blocks (vla-get-blocks dbx)) (vlax-for oB blocks (if (= (vla-get-isXref oB) :vlax-true) (setpropertyvalue (vlax-vla-object->ename oB) "IsFromOverlayReference" 1) ) ) ;;(setq dess (strcat (car dess) (cadr dess) "-Overlay.dwg")) (vla-saveAs Dbx dess) ;;(vla-save Dbx);_ca ne marche pas, je ne sais pas pourquoi (vlax-release-object Dbx) ) ;;*********************************************************************************** ;;§/dbx/Ouvrir un fichier dwg externe via objetcDbx/dwg ;;De patrick 35 ;;http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=13402#pid ;;(setq Dbx (pw_open_dwg_dbx "c:/test.dwg")) ;;(setq Dbx (pw_open_dwg_dbx (getfiled "dwg pour dbx" "" "dwg" 0))) (defun pw_open_dwg_dbx (dwg / dbx) (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2) ) ) ) ) (vla-open dbx dwg) dbx ) et d'autres qui ne le sont pas, mais qui seraient très utiles en Dbx: ;******************************************************************************** ;§/xref/pour détacher toutes les Xrefs dont le chemin n'est pas valide/none ;;idée originale : Gile (defun c:detach_nonvalides () (if (not xref-lst) (3listes_xref) ) (mapcar '(lambda (x) (setq path (vla-get-Path (vla-item (vla-get-blocks acdoc) x))) (if (not (open path "r")) (vla-detach (vla-item (vla-get-Blocks AcDoc) x)) ) ) xref-lst ) ) ;**************************************************************************** ;§/xref/Détache les images non résolues (pas finit) /none (defun c:DetachUnresolvedImage ( / l chem lnom) (foreach l (pw_list_eimagedef) (if (not (findfile (setq chem (cdr (assoc 1 (entget l )))))) (progn (setq nom (vl-filename-base chem) lnom (cons nom lnom)) ;;; (print chem) ;;; (prompt "\nUnresolved: la fonction n'est pas finie !") ) ) ) (if lnom (progn (print (setq lnom (pw_ch_de_lst lnom ","))) (command "-image" "_d" lnom) ) ) ) ;;******************************************************************************** ;§/xref/Pour récupérer les "noms" (vla-get-name) des Xrefs dans 3 listes/none ;;;xref-lst : les noms de toutes les Xrefs du dessin ;;;xref-lst1 : les noms des Xrefs "parents" (pouvant en contenir d'autres) avec la listes des xrefs filles (contenues par) ;;;xref-lst2 : les noms des Xrefs imbriquées dans les Xrefs de xref-lst1 ou dans celles de xref-lst2 ;;;(imbrication double ou triple ou plus...), les Xrefs les plus "profondément imbriquées" se trouvant en fin de liste. ;;idée originale par giles ;;post original: ;;http://cadxp.com/topic/10043-detacher-xrefs-imbriques-et-ref-croisees/ ;; AcDoc : pointeur vers le document actif ;; ss : sélection de tous les blocs et Xrefs insérés sur les calques dévérouillés ;;le 27 11 2018: Ne semble plus marcher avec les références imbriquées (defun 3listes_xref () (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) ss (ssget "_X" '((0 . "INSERT"))) ) ;; On parcourt le jeu de sélection pour constituer une liste (xref-lst) ;; avec seulement les noms des Xrefs (if ss (progn (repeat (setq n (sslength ss)) (setq obj (vlax-ename->vla-object (ssname ss (setq n (1- n)))) ) (if (and (not (member (vla-get-name obj) xref-lst)) ;_ éviter les doublons (= :vlax-true ;_ uniquement les Xrefs (vla-get-isXref (vla-item (vla-get-Blocks AcDoc) (vla-get-Name obj)) ) ) ) (setq xref-lst (cons (vla-get-name obj) xref-lst ) ) ) ) ;;; (setq xref-lst1 xref-lst ;_ on conserve dans xref-lst1 les xref "parents" ;;; n_lst 0 ;;; ) (setq xref-lst1 nil) (setq n_lst 0) ;; On parcourt la liste xref-lst et pour chaque Xref, on cherche si ;; dans ces composants il y a une (ou des) Xref. Si ces le cas, ;; elles sont rajoutées en fin de liste et seront traitées à leur tour. (while (setq name (nth n_lst xref-lst)) (setq bloc (vla-item (vla-get-blocks acDoc) name)) (repeat (setq n (vla-get-count bloc)) ;_ nombre de composant du bloc (Xref) (setq ent (vla-item bloc (setq n (1- n)))) (if (and (= (vla-get-ObjectName ent) "AcDbBlockReference") ;_ si le composant est un bloc ;;; (not (member (vla-get-name ent) xref-lst)) ;_ s'il n'est pas déjà dans la liste (= :vlax-true ;_ si c'est une Xref (vla-get-isXref (vla-item (vla-get-Blocks AcDoc) (vla-get-Name ent) ) ) ) ) ;_#and (progn (if (not (member (vla-get-name ent) xref-lst)) ;_ s'il n'est pas déjà dans la liste (setq xref-lst (reverse (cons (vla-get-Name ent) (reverse xref-lst) ) ) ;_ la Xref est ajoutée en fin de liste ) ) ;;dans tous les cas, cette référence conient d'autre référence: (if (setq tmp (assoc name xref-lst1)) ;_ s'il est déjà dans la liste des références parentes (setq xref-lst1 (subst (append tmp (list (vla-get-Name ent))) tmp (cons name xref-lst1)) ) (setq xref-lst1 (reverse (cons (list name (vla-get-Name ent)) (reverse xref-lst1))) ;_ la Xref est ajoutée en fin de liste ) ) ) ) ;_#if ) (setq n_lst (1+ n_lst)) ) ) ) ;; Constitution de xref-lst2 : xref-lst moins les éléments parents contenus dans xref-lst1 (setq xref-lst2 (vl-remove-if '(lambda (x) (member x (mapcar 'car xref-lst1))) xref-lst) ) (prompt "\nXref du dessin:") (mapcar 'print xref-lst) (prompt "\nXref parentes du dessin est leurs sous xref:") (foreach l xref-lst1 (prompt (strcat "\nParent : " (car l))) (prompt "\n Fils : " ) (foreach ll (cdr l) (prompt (strcat "\n " ll)) ) ) (princ) ) ;*********************************************************************** ;;§/listes/regroupe des listes d'association par code d'association/ none ;;ex :(regroup_assoc '((a 2)(a 3)(b 1)(a 4)(b 2))) -> '((A 2 3 4) (B 1 2)) ;;ne marche que pour une profondeur à 2 niveaux ;;implémenté pour les paires pointées (defun pw_regroup_assoc ( lassoc / res l tmp nl cd pairpoint) (foreach l lassoc (setq pairpoint (pw_estpairpoint l)) ;;si déja répertorié (if (setq tmp (assoc (setq cd (car l)) res)) (progn (if pairpoint (setq nl (append tmp (list (cdr l)))) (setq nl (append tmp (list (cadr l)))) ) (setq res (subst nl tmp res)) ) (if pairpoint (setq res (cons (list (car l)(cdr l)) res)) (setq res (cons l res)) ) ) ) (reverse res) ) ; ***************************************************************************** ;§/dxf/ retourne une liste classée des ename d'IMAGEDEF présentes dans le dessin /none (defun pw_list_eimagedef ( / tmp ) (setq tmp (dictsearch (namedobjdict) "ACAD_IMAGE_DICT")) (cdr (assoc 350 (pw_regroup_assoc tmp))) ) ; **************************************************************************** ;;§/xref/liste les fichiers avec répertoire des xrefs non résolues du dessin/none ;;;(pw_listUnResolvedXref) -> ("E:\\ACLSP\\dwg14\\SIAV\\DCE\\calque_covadis.dwg") ;;;Drapeaux par type de bloc (valeurs binaires pouvant être combinées) : ;;;0 = indique qu'aucun des drapeaux suivants ne s'applique ;;;1 = bloc anonyme généré par hachure, cotation associative, d'autres opérations internes ou une application ;;;2 = ce bloc a des définitions d'attribut non constantes (ce bit n'est pas défini dans le cas contraire ou si le bloc n'a aucune définition d'attribut) ;;;4 = ce bloc est une référence externe (xréf) ;;;8 = ce bloc est un recouvrement de référence externe : ce qui veut dire superposé (sinon attaché bit = 0) ;;;16 = ce bloc a des dépendances externes : j'ai fait le test, ce bit n'est pas activé quand il devrait l'être en théorie ;;;32 = référence externe résolue ou dépendant d'une référence externe (bit ignoré à la saisie):ne permet pas de différencier une reference déchargée d'une introuvable ;;;64 = cette définition est une référence externe référencée (bit ignoré à la saisie) (defun pw_listUnResolvedXref ( / XrefInfo CurrBlock XrefInfo Rewind Flags) (setq temp nil) (setq XrefInfo (list)) (setq Rewind t) (while (setq CurrBlock (tblnext "block" Rewind)) (setq Rewind nil) (setq Flags (cdr (assoc 70 CurrBlock))) ;;(print (cdr (assoc 2 CurrBlock)))(princ " ")(princ flags) ;;(eq 4 (logand 4 (cdr (assoc 70 d)))) (if (and (pw_multimember '(4 ) (pw_l_flag flags));_ that means that this block is a REFERENCED xref (not (eq 32 (logand 32 flags))));_introuvable ou déchargée (if (= "TEXT" (cdr (assoc 0 (entget (cdr (assoc -2 CurrBlock))))));_text pour unresolved, ENDBLK pour unloaded (progn (setq temp (cons CurrBlock temp)) (setq NewXref (cdr (assoc 1 CurrBlock)) ) (setq XrefInfo (cons NewXref XrefInfo)) );_progn ) ) ) XrefInfo ) ; **************************************************************************** ;;§/xref/liste le nom des xrefs non résolues du dessin/none ;;;(pw_listUnResolvedXref) -> ("E:\\ACLSP\\dwg14\\SIAV\\DCE\\calque_covadis.dwg") ;;;Drapeaux par type de bloc (valeurs binaires pouvant être combinées) : ;;;0 = indique qu'aucun des drapeaux suivants ne s'applique ;;;1 = bloc anonyme généré par hachure, cotation associative, d'autres opérations internes ou une application ;;;2 = ce bloc a des définitions d'attribut non constantes (ce bit n'est pas défini dans le cas contraire ou si le bloc n'a aucune définition d'attribut) ;;;4 = ce bloc est une référence externe (xréf) ;;;8 = ce bloc est un recouvrement de référence externe : ce qui veut dire superposé (sinon attaché bit = 0) ;;;16 = ce bloc a des dépendances externes : j'ai fait le test, ce bit n'est pas activé quand il devrait l'être en théorie ;;;32 = référence externe résolue ou dépendant d'une référence externe (bit ignoré à la saisie):ne permet pas de différencier une reference déchargée d'une introuvable ;;;64 = cette définition est une référence externe référencée (bit ignoré à la saisie) (defun pw_listUnResolvedXrefName ( / XrefInfo CurrBlock XrefInfo Rewind Flags) (setq temp nil) (setq XrefInfo (list)) (setq Rewind t) (while (setq CurrBlock (tblnext "block" Rewind)) (setq Rewind nil) (setq Flags (cdr (assoc 70 CurrBlock))) ;;(print (cdr (assoc 2 CurrBlock)))(princ " ")(princ flags) ;;(eq 4 (logand 4 (cdr (assoc 70 d)))) (if (and (pw_multimember '(4 ) (pw_l_flag flags));_ that means that this block is a REFERENCED xref (not (eq 32 (logand 32 flags))));_introuvable ou déchargée (if (= "TEXT" (cdr (assoc 0 (entget (cdr (assoc -2 CurrBlock))))));_text pour unresolved, ENDBLK pour unloaded (progn (setq temp (cons CurrBlock temp)) (setq NewXref (cdr (assoc 2 CurrBlock)) ) (setq XrefInfo (cons NewXref XrefInfo)) );_progn ) ) ) XrefInfo ) 1 Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Bonjour, Je n'y suis jamais arrivé à détacher les xref avec dbx , je passe par un script. Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syl2007 Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Hello Fraid, Stp, tu fais comment un script ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 ;;******************************************************************************** ;§/blocs/crée un Script de purge et de suppression de dwg des xref du dessin /none (defun c:script_purge_xref ( / f) ;/ fech fin (setvar "cmdecho" 1) (setvar "highlight" 1) ;;(setq dir (PW_PICK_DIRECTORY "Répertoire racine pour nettoyage de dessins" "e:\\")) (setq lst-f (PW_LISTRESOLVEDXREF) ) ;;;(if (not gc-GetFolderDlg) ;;; (command "_netload" ;;; (strcat aclsp-chem "DotNet/LispExtension/LispExtension.dll") ;;; ) ;;; ) ;;; (pw_bydefault "gc-chem" (pw_unslashit aclsp-chem)) ;;; ;;; (setq lst-f (gc-getfiledlg ;;; "Sélectionnez les fichiers à traiter :" ;;; gc-chem ;;; "Fichier dwg (*.dwg)|*.dwg" ;;; t ;;; ) ;;; ) ;;(setq gc-chem (vl-filename-directory (car lst-f))) (setq gc-chem (getvar "dwgprefix")) ;(setq ldwg (vl-directory-files chem "*.dwg")) (setq g (open (strcat gc-chem "redefdwg.scr") "w")) (foreach dxf lst-f (setq nblc (vl-filename-base dxf)) (setq res (strcat gc-chem "\\" nblc ".dwg")) (write-line "_open" g) (write-line (pw_fab_chaine dxf) g);_pour les noms de fichier avec espace ;;(write-line "(c:NA_DELETE_ALL_TABLE)" g) (write-line "_layer" g) (write-line "_set" g) (write-line "0" g) (write-line "" g) (write-line "_purge" g) (write-line "_all" g) (write-line "*" g) (write-line "_no" g) (write-line "_zoom" g) (write-line "_e" g) ;;; (write-line "_zoom" g) ;;; (write-line "_extent" g) (write-line "-image _detach *" g) (write-line "_qsave" g) (write-line "" g) (write-line "" g) (write-line "_close" g) ) (close g) ) Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Citation Stp, tu fais comment un script ? Il y a plein de façons différentes d'utiliser les script. Gege t'en a montrée une. Je vais essayé de faire un peu plus simple. Tu crée un fichier texte que tu va appeler dtxref.scr tu colle ceci dedans. -xref t * _qsave Tu crée un fichier texte que tu va appeler dtxref.bat cd C:\Data for /f "delims=" %%f IN ('dir /b "*.dwg"') do "C:\\Program Files\\Autodesk\\AutoCAD 2015\\accoreconsole.exe" /i "%%f" /s dtxref.scr Tu remplace la version autocad par la tienne. et c:\Data par le chemin de ton dossier qui contient tes dwg. .tu colle tes 2 fichiers dans ce dossier. tu double clique sur le .bat et c'est parti si tu veux traiter les sous-dossier il faut rajouter /s aprés dir 1 Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 Trop bien ! je connaissais pas ! du coup le dbx perd de son interet ! Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Citation dbx perd de son interret Du tout, ils sont complémentaires. Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 et si la console t'enerve, voici une fonction qui te lance le .bat comme il faut ; ANSI-Windows 1252 ; Autolisp, Visual Lisp ;| run.lsp 1.0 Using Windows command lines with Autolisp. (run file) Argument: file, String, name or full path .bat. Return: T or String, error message Tested on Windows 10 and Autocad 2015. first post : https://cadxp.com/topic/49596-lancer-un-bat-sans-la-fen%C3%AAtre-noire/ No copyright: (!) 2021 by Frédéric Coulon. No license: Do with it what you want. |; ;Dependencies (vl-load-com) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun run (file / objWS ret) (setq ret T) ; Check the existence of the file. (if (findfile file) ; Check the raising of an exception. (if (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke-method (list ; Creation of the object "WScript.Shell". (setq objWS (vlax-get-or-create-object "WScript.Shell")) "Run" ; String, command line to execute. file ; String, file .bat 0 ; Int, 0 to 10, 0 -> Hides the window and activates another window. :vlax-true ; Boolean, Waits for the end before carrying out the continuation. ) ) ) (setq ret "Invalid file") ; Release the object "WScript.Shell". (vlax-release-object objWS) ) (setq ret "File not found") ) ret ) Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
La Lozère Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Juste pour compléter, les scripts sont exécutables directement depuis le fichier Autocad ouvert avec la commande "script" Citer www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syl2007 Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Yes, cool, merci Gege et Fraid 😊. Yep Fraid, t'as l'air d'avoir mis tous les détails qui vont bien 👌. Vais essayer de regarder dès que possible. Merci à vous. Très bonne soirée. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Syl2007 Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Ok, merci La Lozère également. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 Question à Fraid, quel profil utilise la console ? on peut le spécifier ? Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 4 avril 2023 Auteur Partager Posté(e) le 4 avril 2023 Avec ton script, je devrais pouvoir utiliser les commandes de Gile: ;;https://cadxp.com/topic/10147-super-purge/#elControls_51491_menu ;;https://cadxp.com/topic/19793-super-purge/#elControls_105516_menu j'essaye et je vous dit Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 4 avril 2023 Partager Posté(e) le 4 avril 2023 Je suis en ce moment entrain d'écrire un article sur le sujet. voici le lien. à suivre les mise à jour. 1 Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 5 avril 2023 Auteur Partager Posté(e) le 5 avril 2023 salut Fraid, c'est un zéro pointé ! rien ne marche, même en ayant revu considérablement à la baisse mes ambitions: Difficile de résumer tout ce qui ne marche pas, puisque rien ne marche, mais à chaque fois différemment. 1) Exactement selon ton procédé: J'ai un répertoire avec 2 dessins, et les 2 fichiers nécessaires: "X:\Users\Gerald\Documents\$accoreconsole\spurgec.scr" "X:\Users\Gerald\Documents\$accoreconsole\spurgec.bat" dans spurgec.scr: (print "script") On ne peut pas faire plus simple ! dans spurgec.bat cd "X:\Users\Gerald\Documents\$accoreconsole" for /f "delims=" %%f IN ('dir /s /b "*.dwg"') do "C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "%%f" /s spurgec.scr je lance spurgec.bat: X:\Users\Gerald\Documents\$accoreconsole>cd "X:\Users\Gerald\Documents\$accoreconsole" X:\Users\Gerald\Documents\$accoreconsole>for /F "delims=" %f IN ('dir /s /b "*.dwg"') do "C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "%f" /s spurgec.scr X:\Users\Gerald\Documents\$accoreconsole>"C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "X:\Users\Gerald\Documents\$accoreconsole\72010.01-PG G0701 Rev D-Bassin_Vue en plan.dwg" /s spurgec.scr Redirect stdout (file: C:\Users\Gerald\AppData\Local\Temp\accc189722). AcCoreConsole: StdOutConsoleMode: processed-output: enabled,auto AutoCAD Core Engine Console - Copyright 2020 Autodesk, Inc. All rights reserved. (R.163.0.0) Execution Path: C:\Program Files\Autodesk\AutoCAD 2021\accoreconsole.exe Version Number: R.163.0.0 (UNICODE) Chargement de Base AEC... Chargement des DLL de Modeler. Résolu Xréf "Xref-Topo_Reveston-Sud": .\Xref-Topo_Reveston-Sud.dwg [FORMES_CG06.SHX] n'a pas pu être localisé. rimer "Xref-Topo_Reveston-Sud" chargé: X:\Users\Gerald\Documents\$accoreconsole\Xref-Topo_Reveston-Sud.dwg Le fichier de référence "Xref-Topo_Reveston-Sud" a peut-être été modifié depuis le dernier enregistrement du dessin hôte. Résolu Xréf "Xref - VEP tunnel de la Mescla et Reveston_A": Xref - VEP tunnel de la Mescla et Reveston_A.dwg "Xref - VEP tunnel de la Mescla et Reveston_A.dwg" introuvable. Résolu Xréf "LZ3_Export Recolement MESCLA": LZ3_Export Recolement MESCLA.dwg "LZ3_Export Recolement MESCLA.dwg" introuvable. Régénération du modèle. **** Variable système modifiée **** 1 des variables système gérées a été modifiée par rapport à la valeur préférée. Utilisez la commande MONITEURVARSYS pour afficher les modifications. Commande: Commande: "spurgec.scr": Impossible de trouver le fichier. Commande: Commande: Commande inconnue "EXTERNALREFERENCES". Appuyez sur F1 pour obtenir de l'aide. Commande: Commande: *Annuler* Commande: Commande: *Annuler* Commande: _.quit X:\Users\Gerald\Documents\$accoreconsole>"C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "X:\Users\Gerald\Documents\$accoreconsole\Xref-Topo_Reveston-Sud.dwg" /s spurgec.scr Redirect stdout (file: C:\Users\Gerald\AppData\Local\Temp\accc149562). AcCoreConsole: StdOutConsoleMode: processed-output: enabled,auto AutoCAD Core Engine Console - Copyright 2020 Autodesk, Inc. All rights reserved. (R.163.0.0) Execution Path: C:\Program Files\Autodesk\AutoCAD 2021\accoreconsole.exe Version Number: R.163.0.0 (UNICODE) Chargement de Base AEC... Régénération du modèle. xte peut ne pas s'imprimer **** Variable système modifiée **** 1 des variables système gérées a été modifiée par rapport à la valeur préférée. Utilisez la commande MONITEURVARSYS pour afficher les modifications. Commande: Commande: "spurgec.scr": Impossible de trouver le fichier. Commande: Commande: Commande inconnue "EXTERNALREFERENCES". Appuyez sur F1 pour obtenir de l'aide. Commande: Commande: *Annuler* Commande: Commande: *Annuler* Commande: _.quit 2) Selon ce que j'avais prévu au début : Script et bat dans un répertoire du path, "e:\aclsp\ini\" "E:\ACLSP\INI\spurgeb.bat" "E:\ACLSP\INI\spurgeb.scr" dans spurgeb.bat: for /f "delims=" %%f IN ('dir /b "*.dwg"') do "C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "%%f" /s "e:\aclsp\ini\spurgeb.scr" /p "Map Covadis" Bien noter que dans ce cas, un profil est spécifié. dans spurgeb.scr: (print "script") Toujours aussi simple ! je lance: PS X:\Users\Gerald\Documents\$accoreconsole> spurgeb X:\Users\Gerald\Documents\$accoreconsole>for /F "delims=" %f IN ('dir /b "*.dwg"') do "C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "%f" /s "e:\aclsp\ini\spurge.scr" /p "Map Covadis" X:\Users\Gerald\Documents\$accoreconsole>"C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "72010.01-PG G0701 Rev D-Bassin_Vue en plan.dwg" /s "e:\aclsp\ini\spurge.scr" /p "Map Covadis" Redirect stdout (file: C:\Users\Gerald\AppData\Local\Temp\accc149682). AcCoreConsole: StdOutConsoleMode: processed-output: enabled,auto AutoCAD Core Engine Console - Copyright 2020 Autodesk, Inc. All rights reserved. (R.163.0.0) Execution Path: C:\Program Files\Autodesk\AutoCAD 2021\accoreconsole.exe Version Number: R.163.0.0 (UNICODE) Chargement de Base AEC... Chargement des DLL de Modeler. Résolu Xréf "Xref-Topo_Reveston-Sud": .\Xref-Topo_Reveston-Sud.dwg [FORMES_CG06.SHX] n'a pas pu être localisé. rimer "Xref-Topo_Reveston-Sud" chargé: X:\Users\Gerald\Documents\$accoreconsole\Xref-Topo_Reveston-Sud.dwg Le fichier de référence "Xref-Topo_Reveston-Sud" a peut-être été modifié depuis le dernier enregistrement du dessin hôte. Résolu Xréf "Xref - VEP tunnel de la Mescla et Reveston_A": Xref - VEP tunnel de la Mescla et Reveston_A.dwg "Xref - VEP tunnel de la Mescla et Reveston_A.dwg" introuvable. Résolu Xréf "LZ3_Export Recolement MESCLA": LZ3_Export Recolement MESCLA.dwg "LZ3_Export Recolement MESCLA.dwg" introuvable. Régénération du modèle. **** Variable système modifiée **** 1 des variables système gérées a été modifiée par rapport à la valeur préférée. Utilisez la commande MONITEURVARSYS pour afficher les modifications. Commande: Commande: Chargement du fichier annulé: e:\aclsp\ini\spurge.scr Commande: Commande: Commande inconnue "EXTERNALREFERENCES". Appuyez sur F1 pour obtenir de l'aide. Commande: Commande: *Annuler* Commande: Commande: *Annuler* Commande: _.quit X:\Users\Gerald\Documents\$accoreconsole>"C:\\Program Files\\Autodesk\\AutoCAD 2021\\accoreconsole.exe" /i "Xref-Topo_Reveston-Sud.dwg" /s "e:\aclsp\ini\spurge.scr" /p "Map Covadis" Redirect stdout (file: C:\Users\Gerald\AppData\Local\Temp\accc288682). AcCoreConsole: StdOutConsoleMode: processed-output: enabled,auto AutoCAD Core Engine Console - Copyright 2020 Autodesk, Inc. All rights reserved. (R.163.0.0) Execution Path: C:\Program Files\Autodesk\AutoCAD 2021\accoreconsole.exe Version Number: R.163.0.0 (UNICODE) Chargement de Base AEC... Régénération du modèle. xte peut ne pas s'imprimer **** Variable système modifiée **** 1 des variables système gérées a été modifiée par rapport à la valeur préférée. Utilisez la commande MONITEURVARSYS pour afficher les modifications. Commande: Commande: Chargement du fichier annulé: e:\aclsp\ini\spurge.scr Commande: Commande: Commande inconnue "EXTERNALREFERENCES". Appuyez sur F1 pour obtenir de l'aide. Commande: Commande: *Annuler* Commande: Commande: *Annuler* Commande: _.quit PS X:\Users\Gerald\Documents\$accoreconsole> La on remarque le: chargement de script annulé ! je suis effondré, parceque j'ai tout misé sur cette solution, et je n'arrive même pas à faire marcher un cas super simple. J'aurais du tester avant. a+ Gégé Citer ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 5 avril 2023 Partager Posté(e) le 5 avril 2023 C'est spurge qui n'est pas compatible avec accoreconsole. Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fraid Posté(e) le 5 avril 2023 Partager Posté(e) le 5 avril 2023 En fait, tu veux tout faire en même temps. Décompose bien tout ce que tu veux faire, et vois ce qui est faisable en odbx, et accore. que tu feras tourné l'un après l'autre. Citer https://github.com/Fraiddd Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés