PATRICE69 Posté(e) le 10 décembre Posté(e) le 10 décembre Bonjour, Un problème pour supprimer des calques normalement vide. Voilà mon fichier. Tous les objets sont dans le calque FDP-EXIST. Faite un copier des éléments vers un nouveau fichier. Et coller les objets. Des calques RTS_***** se créent. J'ai regardé la définition des blocs : ils sont créés dans le calque 0. Je voudrai purger ces calques RTS_*****pb calques.dwg Quelles solutions avez-vous ? Merci Patrice Citer
William44850 Posté(e) le 10 décembre Posté(e) le 10 décembre Bonjour @PATRICE69 Je viens de regarder...tu as plein d'éléments constitutifs de tes blocs qui sont sur des calques. Par exemple, le bloc ASSAEP_TAMPON_RON a un attribut "info" qui est dans le calque "SYMB_INFO" . Il te faut nettoyer tout ça avant. Citer
lili2006 Posté(e) le 10 décembre Posté(e) le 10 décembre Bonjour à toutes et tous, il y a 6 minutes, PATRICE69 a dit : Quelles solutions avez-vous ? Solution radicale : _laydel Citer Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
PATRICE69 Posté(e) le 10 décembre Auteur Posté(e) le 10 décembre Le calques SYMB_INFO peut rester. Le reste du bloc est en calque 0 Citer
William44850 Posté(e) le 10 décembre Posté(e) le 10 décembre il y a 13 minutes, lili2006 a dit : Bonjour à toutes et tous, Solution radicale : _laydel Ce faisant, tu supprimes aussi les objets. Citer
PATRICE69 Posté(e) le 10 décembre Auteur Posté(e) le 10 décembre Wahou, la commande _LAYDEL ou SUPCALQUE Nickel, ce que je voulais. Cela me permet de supprimer des calques sans objets à l'intérieur. J'avais une seule fois cette commande, totalement oublié. Merci pour tout Et belle journée Patrice Citer
William44850 Posté(e) le 10 décembre Posté(e) le 10 décembre à l’instant, PATRICE69 a dit : Le calques SYMB_INFO peut rester. Le reste du bloc est en calque 0 C'était un exemple...tu as 6 objets/blocs qui contiennent un attribut du calque "RTS_FDP_BATI_ESCALIER_Z" Citer
PATRICE69 Posté(e) le 10 décembre Auteur Posté(e) le 10 décembre J'avais trouvé cette fenêtre, mais je ne comprenais pas le résultat, car pour moi les blocs étaient dans le calque FDP-EXIST. Là en fouillant un peu plus, ce sont les attributs des blocs qui sont dans ces calques RTS_**** En _LAYDEL les calque, cela a effacé tous mes attributs, par d'importance, je n'en avais pas besoin. Merci Citer
lili2006 Posté(e) le 10 décembre Posté(e) le 10 décembre Je suis d'accord avec @William44850, d’où ma réponse, solution radicale,.. Citer Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 10 décembre Posté(e) le 10 décembre il y a 1 minute, PATRICE69 a dit : En _LAYDEL les calque, cela a effacé tous mes attributs, par d'importance, je n'en avais pas besoin. Tout va bien alors,..👌 Citer Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
didier Posté(e) le 10 décembre Posté(e) le 10 décembre Bonjour Je me permets d'intervenir, car je lis des choses qui piquent les yeux. Si on utilise LAYDEL dans un fichier dont certaines entités sont incluses dans des blocs et ces entités sur le calque qu'on s'apprête à supprimer : Ces entités vont DISPARAÎTRE irrémédiablement de ces blocs. Effectivement, c'est radical, mais les gens qui ont une petite connaissance du logiciel vont croire que c'est la bonne commande pour purger les calques récalcitrants. NON, ce n'est pas la bonne commande. Il faut, à défaut de bien gérer ses calques, vérifier pourquoi des calques refusent de se purger, neuf fois sur dix c'est à cause de blocs. Donc la bonne marche à suivre est de redéfinir les blocs sur le calque 0 (zéro), pour ce faire : des LSP existent. Et, maintenant, on va utiliser LAYDEL en sécurité, l'avenir du dessin n'est pas remis en cause. Amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
PATRICE69 Posté(e) le 10 décembre Auteur Posté(e) le 10 décembre Merci Didier, Dans mon cas, les attributs sont vides et c'est pour faire un fond de plan existant en gris. Les attributs n'ont pas d'importance. Par contre, un LISP qui me déplacent tous les contenus des blocs en calque 0, je suis preneur. Belle journée à tous Patrice Citer
Maxime10 Posté(e) le 10 décembre Posté(e) le 10 décembre Bonjour @PATRICE69, De mon côté j'utilise le LISP "RB" de Patrick35. Tu peux tester et nous dire si cela te convient ? Maxime ;;;================================================================= ;;; ;;; RB.LSP V1.11 ;;; ;;; Refait tous les blocs de la couleur dubloc et sur le calque 0 ;;; ;;; Copyright (C) Patrick_35 ;;; ;;;================================================================= (defun c:rb(/ a b s *errrb*) (defun *errrb* (msg) (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) (vla-endundomark doc) (setq *error* s) (princ) ) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (setq s *error* *error* *errrb* ) (setq a (tblnext "block" t)) (while a (setq b (cdr (assoc -2 a))) (while b (setq b (entget b)) (if (cdr (assoc 6 b)) (setq b (subst (cons 6 "ByBlock") (assoc 6 b) b)) (setq b (append b (list (cons 6 "ByBlock")))) ) (setq b (subst (cons 8 "0") (assoc 8 b) b)) (if (cdr (assoc 62 b)) (setq b (subst (cons 62 0) (assoc 62 b) b)) (setq b (append b (list (cons 62 0)))) ) (if (cdr (assoc 370 b)) (setq b (subst (cons 370 -2) (assoc 370 b) b)) (setq b (append b (list (cons 370 -2)))) ) (entmod b) (setq b (entnext (cdr (assoc -1 b)))) ) (setq a (tblnext "block")) ) (if (setq a (vl-remove-if-not '(lambda (x) (eq (car x) 350)) (dictsearch (namedobjdict) "ACAD_MLINESTYLE"))) (foreach b a (entmod (append (vl-remove-if '(lambda (x) (eq (car x) 62)) (entget (cdr b))) (list (cons 62 0) (cons 62 0) (cons 62 0)))) ) ) (if (setq a (ssget "_x" (list (cons 0 "INSERT")))) (foreach b (mapcar 'cadr (ssnamex a)) (if (cdr (assoc 66 (entget b))) (progn (setq a (entget (entnext b))) (while (not (eq (cdr (assoc 0 a)) "SEQEND")) (entmod (subst (cons 62 0) (assoc 62 a) a)) (setq a (entget (entnext (cdr (assoc -1 a))))) ) ) ) (entupd b) ) ) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (setq *error* s) (princ) ) (setq nom_lisp "RB") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " chargé.")) (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter."))) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (setq nom_lisp nil) (princ) Citer
didier Posté(e) le 10 décembre Posté(e) le 10 décembre Bonjour @PATRICE69 Vous avez fait des recherches avant de poser la question de la redéfinition des blocs ? C'est tellement simple que j'en doute. Ceux qui vous répondent font ces recherches et trouvent… Amicalement Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
PATRICE69 Posté(e) le 11 décembre Auteur Posté(e) le 11 décembre Merci, hier j'étais dans l'urgence. Désolé, je recherche souvent avant : en français ou en anglais, parfois ce sont les mots clés qui ne sont pas bons. Merci et belle journée à vous Patrice Citer
Messages recommandés