oran Posté(e) le 28 mai 2015 Posté(e) le 28 mai 2015 Bonjour, Connaitriez-vous un moyen "rapide" pour supprimer les calques gelés présents dans certains fichiers Archi. que l'on peut recevoir ?Peut-être un lisp capable de déceler en masse ces calques présentst dans le gestionnaire et les supprimer automatiquement ?Ou autre solution de ce genre ? Vous en remerciant d'avance. Oran Citer
Steven Posté(e) le 28 mai 2015 Posté(e) le 28 mai 2015 Salut, Ta question est étrange car on peut voir les calques gelé dans le gestionnaire des propriétés des calques. De plus, s'il n'y a rien dessus, les calques peuvent être purger simplement avec la commande purger.Sinon, il y a la commande laydel. par contre attention à la commande laydel, car AutoCAD supprimera les calques et tout ce qu'il y a dessus. Voir ce topic.A moins que tu ai reçu des fichiers ont été fais avec un logiciel métier tel qu'AutoCAD Architecture ou MEP, par exemple. Et qu'il y ai donc des calques que tu ne peux pas supprimer parce qu'il y a des objets AEC qui utiliseraient ces dit calques, au quel cas, il faudrait d'abord supprimer la base de données des objets AEC avec le lisp removeaec, pour ensuite purger les calques. Citer Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Fruity Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 BonjourJe remonte le sujet car je suis souvent dans le même cas.Et en effet, on ne peut pas supprimer ce qui est gelé, et les solutions apportées plus haut ne répondent pas à la question.Laydel est pratique pour les calques qui sont encore visible (logique puisqu'on clique sur les objets).On peut sinon filtrer dans le gestionnaire des calques pour retrouver ceux qui sont gelés, mais on ne peut rien faire avec d'ici. Là en gros, le fichier a été nettoyé "visuellement", et pour l'alléger, on voudrait supprimer ce qui est invisible (gelé). Citer https://www.facebook.com/aedenhivanovahttp://ca-vous-enerve.blogspot.com/
Dinosor Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 Laydel est pratique pour les calques qui sont encore visible (logique puisqu'on clique sur les objets). Après avoir lancé la commande "LAYDEL", tapes "N" pour nommer les calques qui sortent dans un listing... Il n'y a plus qu'à sélectionner. Salut à tous ! Citer Seuls nous allons vite, ensemble nous allons plus loin... CPU Intel 3,5Go / Nvidia RTX-3090 AutoCad (Architecture) 2022 - Lumion PRO BMW R-1200-RT, c'est moche, oui... je sais... www.neda.ch
Aleck_Ultimate Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 Salut. Une fois les calques filtrés on peut tous les isoler d'un coup avec un clic droit dans le gestionnaire des calques, puis après les avoir déverrouillés utiliser LAYDEL sur tout les objets visible jusqu’à ne plu rien voir à l'écran sans avoir à se poser de questions. Il faut ensuit reactiver les calques restant, masqués par la précédente commande, puis purger le dessin. Et il doit bien être possible d'automatiser ça en LISP, ci ce n'est en MACROS. Cordialy. Citer Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
La Lozère Posté(e) le 26 février 2018 Posté(e) le 26 février 2018 Hello,Je vais être en dehors du sujet, mais fut un temps, (gile) avait fait une petite routine qui se décomposait en 2:- La première partie, inversait l'état de visibilité des calques- La deuxième partie, restaurait la visi précédemment inversée.Tout ceci me permettait de supprimer des objets sur des calques gelés ou inactivés, puis de rétablir la visi après mes suppression.Il pourrait servir ici pour pouvoir visionner les calques à supprimer. Le poste original est ici: http://cadxp.com/topic/24852-inverser-la-visibilite-des-calques/ Le code que j'ai modifié: ; Commande pour inverser l'état de visbilité des calques (defun c:togon (/ acdoc layers clay lock name) (command "-calque" "A" "E" "toglay" "" "" "") (vl-load-com) (setq acdoc (vla-get-Activedocument (vlax-get-acad-object)) layers (vla-get-Layers acdoc) ) (vlax-for l layers (if (and (not clay) (or (= (vla-get-LayerOn l) :vlax-false) (= (vla-get-Freeze l) :vlax-true) ) (not (wcmatch (vla-get-Name l) "*|*")) ) (progn (vla-put-Freeze l :vlax-false) (vla-put-LayerOn l :vlax-true) (setvar 'clayer (setq clay (vla-get-Name l))) ) ) ) (if clay (progn (vlax-for l layers (setq name (vla-get-Name l)) (if (and (= (vla-get-LayerOn l) :vlax-true) (= (vla-get-Freeze l) :vlax-false) ) (vl-catch-all-apply 'vla-put-Freeze (list l :vlax-true)) (progn (vla-put-Freeze l :vlax-false) (vla-put-LayerOn l :vlax-true) ) ) ) (vla-regen acdoc acAllViewports) ) (princ "\nAucun calque gelé ou désactivé.") ) (princ) ) ;--------------------------------------------------------- ; Commande pour restaurer l'état de visibilité des calques (defun c:togoff () (command "-calque" "A" "R" "toglay" "" "") (command "-calque" "A" "S" "toglay" "" "") ) (print "commande pour inverser l'état de visibilité: TOGON --- Commande pour restaurer l'état de visibilité: TOGOFF" ) Citer www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.2c Pisser sous la douche ne suffira pas
Olivier Eckmann Posté(e) le 1 mars 2018 Posté(e) le 1 mars 2018 Bonjour, depuis toujours j'utilise cette astuce. Lancer la commande EFFACER, à l'invite du choix des objets, taper (ssget "x") ce qui permet de tout sélectionner y compris les objets situés dans les calques geléspuis taper Spour passer en mode suppression (retirer des objets)et sélectionner par capture tout ce qui est visible à l'écran, puis valider.Cela efface TOUT SAUF ce que l'on voit à l'écran. Olivier Citer
lecrabe Posté(e) le 9 mars 2018 Posté(e) le 9 mars 2018 Hello Mr Oran Au fait une bonne petite Routine Lisp/VLisp qui fait le boulot ! ATTENTION: elle traite meme les calques VERROUILLES ! Bye, lecrabe ;; ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/delete-all-objects-on-a-frozen-layer/td-p/6906051 ;; ;; Routine: EraseFrozen by john.uhden ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DANGER : Erase ALL Entities on FROZEN Layers EVEN if they are LOCKED ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (defun C:EraseFrozen ( / *error* cmdecho Layer Locked SS i Name n1 n2) ;; v1.0 (c. 08-02-05) ;; V1.1 (12-15-05) TIDIED UP FOR REAL USAGE ;; v1.2 (04-24-09) changed to just frozen layers (not off) (gc) (vl-load-com) (or *acad* (setq *acad* (vlax-get-acad-object))) ;; global (or *doc* (setq *doc* (vla-get-ActiveDocument *acad*))) ;; global (defun *error* (error) (if (vl-position cmdecho '(0 1))(setvar "cmdecho" cmdecho)) (vla-endundomark *doc*) (cond ((not error)) ((wcmatch (strcase error) "*QUIT*,*CANCEL*")) (1 (princ (strcat "\nERROR: " error))) ) (princ) ) (vla-endundomark *doc*) (vla-startundomark *doc*) (setq cmdecho (getvar "cmdecho") n1 0 n2 0 ) (setvar "cmdecho" 0) (command "_.setvar" "expert" (getvar "expert")) ;; dummy command (and (not (alert "This will delete all entities on layerS that are Frozen.\n\n Look at the command line after hitting OK ... ")) (not (initget "Yes No")) (/= (getkword "\nDo you wish to continue? [<Yes>/No]: ") "No") (vlax-for Layer (vlax-get *doc* 'Layers) (and (setq Locked (vlax-get Layer 'Lock)) (= (vlax-get Layer 'Freeze) -1) (setq Name (vlax-get Layer 'Name)) (setq ss (ssget "X" (list (cons 8 Name)))) (or (vlax-put Layer 'Lock 0) 1) (setq i 0 n1 (1+ n1)) (princ (strcat "\nDeleting layer " Name "...")) (repeat (sslength ss) (vla-delete (vlax-ename->vla-object (ssname ss i))) (setq i (1+ i) n2 (1+ n2)) ) (vlax-put Layer 'Lock Locked) ) 1 ) (princ (strcat "\nDeleted " (itoa n2) " entities on " (itoa n1) " frozen layers")) ) (*error* nil) ) (defun C:EF ()(c:EraseFrozen)) Citer Autodesk Expert Elite Team
Invité pseudo Posté(e) le 28 octobre 2022 Posté(e) le 28 octobre 2022 Sinon créer un calque "CALQUES MASQUES", sélectionner tous les calques masqués, clic droit dessus et les regrouper dans le calques "CALQUES MASQUES" puis Sélection Rapide avec calque= CALQUES MASQUES" puis supprimer Citer
rebcao Posté(e) le 30 octobre 2022 Posté(e) le 30 octobre 2022 Bonjour, La commande _LAYDEL, option N fonctionne sans problème sur des calques INACTIS et GELES, mais pas s'ils sont verrouillés ! Je l'utilise assez souvent et je me suis créé une MACRO pour accéder rapidement à la liste des calques à SUPPRIMER : ^C^CQAFLAGS;1;CLAYER;0;_Laymrg;N;'qaflags;0;;n;expert;2; Christian Citer Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Messages recommandés