Fraid Posté(e) le 14 septembre 2006 Posté(e) le 14 septembre 2006 bonjour, j'ai trouvé ou se trouve le bloc _OBLIQUE dans les cotes :o C'est le trait oblique appeler dans le gestionnaire de cote pointe de fleche y a t'il moyen d'ignorer les blocs commencant par _ https://github.com/Fraiddd
(gile) Posté(e) le 14 septembre 2006 Auteur Posté(e) le 14 septembre 2006 y a t'il moyen d'ignorer les blocs commencant par _ Tu veux dire ne pas essayer de les purger ? C'est tout à fait possible, le LISP le fait pour les noms de blocs commençant par * : "*Model_Space" "*Paper_Space" "*Paper_Space0" ... et les blocs anonymes *D10 *D9 ... Cependant, cela risaue d'enlever un peu de la polyvalence à la routine en interdisant, à celui qui l'utilise de faire des blocs avec des noms commençant par _. Il suffit de remplacer : ;; p_lst : liste des blocs à purger, soit les blocs de la collection ... ;; ... moins les blocs "*Model_Space" "*Paper_Space*" et les blocs insérées (setq p_lst (vl-remove-if '(lambda (x) (or (= (substr x 1 1) "*") (member x r_lst) ) ) c_lst ) ) par : ;; p_lst : liste des blocs à purger, soit les blocs de la collection ... ;; ... moins les blocs "*Model_Space" "*Paper_Space*" et les blocs insérées (setq p_lst (vl-remove-if '(lambda (x) (or (= (substr x 1 1) "*") [surligneur](= (substr x 1 1) "_")[/surligneur] (member x r_lst) ) ) c_lst ) ) En fait juste ajouter la ligne [surligneur]surlignée[/surligneur] [Edité le 14/9/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 14 septembre 2006 Posté(e) le 14 septembre 2006 merci Giles au moins cela ne bloque plus et nous nommons jamais les blocs avec des caracteres speciaux donc cela ne me gene pas https://github.com/Fraiddd
Fraid Posté(e) le 2 octobre 2006 Posté(e) le 2 octobre 2006 je viens de remarquer que xref_purge plantais quand il y a une xref inserer dans une xref inserer dans le dessin. pas sur d'etre explicite https://github.com/Fraiddd
(gile) Posté(e) le 2 octobre 2006 Auteur Posté(e) le 2 octobre 2006 Salut, Ce soir j'était plutôt dans les sélections de polylignes et les sélections par les polylignes, je n'ai pas eu le temps de voir ça. Comme d'habitude, peux tu voir si c'est xref_purge qui plante en le lançant tout seul, sinon c'est que ça vient de spurge. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 9 octobre 2006 Auteur Posté(e) le 9 octobre 2006 Je t'avais un peu oublié. J'ai modifié xref_purge (version 1.2) , il me semble qu'il ne plante plus s'il y a des xrefs imbriquées dans le dessin. J'espère que ça répond à ton problème. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 11 octobre 2006 Posté(e) le 11 octobre 2006 Merci Gile, sa fonctionne il y aura certainement encore quelque bugs a corrigerje te tiens au courant https://github.com/Fraiddd
Pieroka Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Salut GILE,j'ai soucis régulièremenr avec des DWG issus de vectoworks venant d'architectes.L'export de vectorworks truffent les dwg qu'il nous transmettent d'images raster vides. Elles sont multi-imbriquées dans des blocs.voici un plan en exemple Le gros soucis c'est que le plan fait 500ko, par exemple, mais tous ces rasters allourdissent l'impression et la fluidité de travail. Ces rasters n'apparaissent pas dans le gestionnaire de xrefs. Qu'en penses-tu ? Peut-on virer ces rasters d'un coup, même ceux qui sont imbriqués dans des blocs ?? :( [Edité le 20/9/2007 par Pieroka] Formateur Autocad - Revit - Sketchup - Photoshop
(gile) Posté(e) le 20 septembre 2007 Auteur Posté(e) le 20 septembre 2007 Salut Pieroka, Dans Raster_purge, on avait écarté les images raster contenues dans les blocs de la purge. De toutes façons, dans ton dwg, je n'ai trouvé aucune image raster ni directement dans le dessin, ni imbriquées dans des blocs ?! (ouvert avec AutoCAD 2007) EDIT : Bon sang, mais c'est bien sûr, des images raster vides, c'est des "wipeout" !!!Je cherchais des AcDbImageRaster, il fallait chercher des AcDbWipeout. Voilà un petit LISP qui supprime tous les wipeout du dessin contenues dans des blocs ou non. ;; PurgeWipeout ;; Supprime tous les "wipeout" du dessin (ainsi que ceux contenus dans les blocs) (defun c:PurgeWipeout (/ acdoc cnt) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)) cnt1 0 cnt2 0 ) (if (ssget "_X" '((0 . "INSERT,WIPEOUT"))) (vlax-for obj (vla-get-ActiveSelectionSet acdoc) (if (= (vla-get-ObjectName obj) "AcDbBlockReference") (vlax-for ent (vla-item (vla-get-Blocks acdoc) (vla-get-Name obj) ) (if (= (vla-get-ObjectName ent) "AcDbWipeout") (progn (vla-delete ent) (setq cnt1 (1+ cnt1)) ) ) ) (progn (vla-delete obj) (setq cnt2 (1+ cnt2)) ) ) ) ) (princ (strcat "\n\t" (itoa (+ cnt1 cnt2)) " wipeout supprimés dont " (itoa cnt1) " dans des blocs" ) ) (princ) ) Testé dans ton dessin : Commande: purgewipeout 221 wipeout supprimés dont 172 dans des blocs [Edité le 20/9/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Pieroka Posté(e) le 21 septembre 2007 Posté(e) le 21 septembre 2007 oh merci ça marche ! Les wipeout bien sur !Je savais que ça existait mais j'utilise pas vraiment. merci à plus ! Formateur Autocad - Revit - Sketchup - Photoshop
Pieroka Posté(e) le 21 septembre 2007 Posté(e) le 21 septembre 2007 Ya un soucis dans le lisp. Ma collègue a testé et s'est rendue compte qu'il restait des Wipeout dans les blocs imbriqués. Voilà ce que j'ai fait plusieurs fois de suite pour voir l'imbrication :(dans le fichier que je t'ai transmis) - purgewipeout- décomposer les blocs (sélection avec _qselect) .- puis à nouveau purgewipeout- décomposer les blocs- purgewipeout- décomposer les blocs- purgewipeout- etc...et ainsi de suite... jusqu'à ce que purgewipeout me dise " 0 wipeout supprimés dont 0 dans des blocs" .on voit qu'il y a des Wout sur 8 ou 9 niveaux d'imbrication (dans ce fichier). Commande: purgewipeout 221 wipeout supprimés dont 172 dans des blocs Commande: _qselect195 élément(s) sélectionné(s). Commande: _explode 195 trouvé(s) Commande: PURGEWIPEOUT 110 wipeout supprimés dont 110 dans des blocs Commande: _qselect119 élément(s) sélectionné(s). Commande: _explode 119 trouvé(s) Commande: PURGEWIPEOUT 98 wipeout supprimés dont 98 dans des blocs Commande: Spécifiez le coin opposé: *Annuler* Commande: _qselect77 élément(s) sélectionné(s). Commande: _explode 77 trouvé(s) Commande: PURGEWIPEOUT 46 wipeout supprimés dont 46 dans des blocs Commande: _qselect47 élément(s) sélectionné(s). Commande: _explode 47 trouvé(s) Commande: PURGEWIPEOUT 10 wipeout supprimés dont 10 dans des blocs Commande: SELECTRAP 31 élément(s) sélectionné(s). Commande: _explode 31 trouvé(s) Commande: PURGEWIPEOUT 10 wipeout supprimés dont 10 dans des blocs Commande: SELECTRAP 19 élément(s) sélectionné(s). Commande: _explode 19 trouvé(s) Commande: PURGEWIPEOUT 5 wipeout supprimés dont 5 dans des blocs Commande: SELECTRAP 17 élément(s) sélectionné(s). Commande: _explode 17 trouvé(s) Commande: PURGEWIPEOUT 0 wipeout supprimés dont 0 dans des blocs Formateur Autocad - Revit - Sketchup - Photoshop
(gile) Posté(e) le 21 septembre 2007 Auteur Posté(e) le 21 septembre 2007 Salut, Je devais être fatigué hier soir, je traitais un jeu de sélection pensant traiter toutes la collection de bloc (qui, elle contient bien tous les blocs imbiqués) Voilà une nouvelle version qui devrait fonctionner : Commande: PURGEWIPEOUT 500 wipeout supprimés 500, le compte y est !!! (defun c:PurgeWipeout (/ cnt) (setq cnt 0 ) (vlax-for bloc (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) (vlax-for ent bloc (if (= (vla-get-ObjectName ent) "AcDbWipeout") (progn (vla-delete ent) (setq cnt (1+ cnt)) ) ) ) ) (princ (strcat "\n\t" (itoa cnt) " wipeout supprimés" ) ) (princ) ) [Edité le 21/9/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Pieroka Posté(e) le 24 septembre 2007 Posté(e) le 24 septembre 2007 Nickel ! Merci Gile ça nettoye les dwg issus de Vectorworks de manière efficace ! Formateur Autocad - Revit - Sketchup - Photoshop
silversurfer78 Posté(e) le 10 octobre 2007 Posté(e) le 10 octobre 2007 Salut, Génial ce superpurge, est-il possible d'integrer le traitement des wipeouts dedans ?Je pourrais surement fusionner les 2 codes mais étant une bille en lisp je ne sais pas ou coller le code des wipeout.
(gile) Posté(e) le 10 octobre 2007 Auteur Posté(e) le 10 octobre 2007 Salut et merci, Génial ce superpurge, est-il possible d'integrer le traitement des wipeouts dedans ? Moi je ne le ferais pas, je préfère que Spurge garde sa polyvalence (on peut utiliser les Wipeout à bon escient), mais chacun peut l'adapter à sa guise. Donc, dans le LISP "Spurge" qui lance aussi "xref_purge" et "raster_purge", tu ajoutes à l'endroit où ces routines sont appelées l'expression (c:PurgeWipeout). Il faut bien sur que ce LISP aussi soit chargé. Extrait du code avec l'insertion de (c:PurgeWipeout) : ;; Purge les xrefs et rasters non référencées (c:xref_purge) (c:raster_purge) (c:PurgeWipeout) ;; Dévérouillage de tous les calques [Edité le 11/10/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
silversurfer78 Posté(e) le 11 octobre 2007 Posté(e) le 11 octobre 2007 effectivement je n'avais pas pensé au choix de garder les wipeouts. J'utiliserais les lisps séparement.merci.
Morgul Posté(e) le 20 octobre 2007 Posté(e) le 20 octobre 2007 Bonjour à vous, Ils sont super bien tes lisps.Très bonne idée, je n'y avait pas pensé. Mais je sais que j'arrive après la bataille ....Mais où sont les dernières versions après modifs, sont-ils dispo sur le forum ? Merci encore de nous faire profiter de tes idées et de ton travaille. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
(gile) Posté(e) le 20 octobre 2007 Auteur Posté(e) le 20 octobre 2007 Salut, Les dernières versions sont au début de sujet Raster_purge 1.1, Xres_purge 1.2 et Spurge 1.3 viennent ensuite des demandes spécifiques qui n'ont pas été intégrées à ces LISP pour qu'ils conservent leur polyvalence Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Morgul Posté(e) le 20 octobre 2007 Posté(e) le 20 octobre 2007 Ok merci. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
PHILPHIL Posté(e) le 3 mars 2008 Posté(e) le 3 mars 2008 SALUTT Tres longtps apres la bataille alors gile j'ai ca comme réponse au test sur un gros fichier Commande: SPURGE*Annuler*Erreur Automation Identificateur d’objet nul je suis sous autodesk architecture 2008 y'a peut etre un probleme avec les "AEC" ???? il n'y avait pas quelqu'un qui avait essayer de faire un lisp de purge aussi pour plusieurs fichier a la fois ?? j'ai 10 ans de fichiers dwg a purger il va peut etre etre tps de les resauvegarder et mettre a jour version 2008 2009 2010 phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
Kris_LC Posté(e) le 15 mars 2012 Posté(e) le 15 mars 2012 Bonjour à tous ! Excusez moi, mais j'ai un soucis avec le Spurge 1.4 Il m'indique : "; erreur: Erreur Automation Objet référencé" J'ai pourtant vérifié a plusieur reprise la syntax et companie.Savez vous de quoi ça pourrai venir ? Merci encore à vous ! Kris Je me rend compte que ça viens du fichier, (enfin je pense)de quoi ça pourrai venir ?
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant