Aller au contenu

Comment supprimer les calques gelés ?


oran
 Partager

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

Bonjour

Je 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é).

Lien vers le commentaire
Partager sur d’autres sites

 

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 !

Seuls nous allons vite, ensemble nous allons plus loin...

CPU Intel 3,5Go / Nvidia RTX-3090

AutoCad (Architecture) 2022 - Lumion 11 PRO

BMW R-1200-RT, c'est moche, oui... je sais...

 

www.neda.ch

Lien vers le commentaire
Partager sur d’autres sites

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.

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

Lien vers le commentaire
Partager sur d’autres sites

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

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V17.1h
Nous n’héritons pas de la Terre de nos ancêtres, nous l’empruntons à nos enfants
Lien vers le commentaire
Partager sur d’autres sites

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és

puis taper S

pour 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

Lien vers le commentaire
Partager sur d’autres sites

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

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 4 ans après...
Invité pseudo

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

Lien vers le commentaire
Partager sur d’autres sites

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

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

Lien vers le commentaire
Partager sur d’autres sites

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.

 Partager

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité