Bobby_one Posté(e) le 16 août 2019 Posté(e) le 16 août 2019 Bonjour, J'essaie de nettoyer des plans contenant énormément de calques inutiles, d'objets qui ne sont pas sur les bons calques, etc. Je n'arrive pas à trouver tous les éléments qui sont sur un calque afin de les réaffecter et pouvoir supprimer le calque ensuite. pour l'instant je selectionne un calque à nettoyer puis j'utilise ISOCALQUE.Mais les blocs sur ce calque qui sont fait avec des objets d'un autre calque n'apparaissent pas. Si quelqu'un a une bonne méthode pour isoler TOUS les éléments d'un calque je suis preneur.Merci d'avance Citer
lecrabe Posté(e) le 16 août 2019 Posté(e) le 16 août 2019 Hello En general le probleme (Calque NON Purgeable/Effacable alors que a priori, RIEN n'est dessine dessus), c des Entites graphiques de Blocs (sur ces "foutus" calques) alors que normalement TOUT le graphique d'un Bloc doit etre sur le calque ZERO (Sauf exception exceptionnelle). Je crois que le nouveau PURGER de la version 2020 est capable de le "voir" !? Desole mais pas de 2020 sous la main pour verifier ... Bye, lecrabe "triste" Citer Autodesk Expert Elite Team
Bobby_one Posté(e) le 16 août 2019 Auteur Posté(e) le 16 août 2019 C'est ca...Pour l'instant j'en suis réduit à ouvrir tous les blocs et remettre les éléments sur le calque 0.Et de temps en temps je tombe sur des éléments qui sont sur les calques que je veux dégager. :P C'est vraiment au petit bonheur la chance :(rires forts): et ça prend énormément de temps ou alors j'utilise SUPCALQUE et j'essaie de voir si un bloc disparait quelque part.Mais encore une fois c'est seulement par coup de chance que je le repère. On est pas encore sur 2020 mais l'amélioration de la commande PURGER c'est plutot une bonne nouvelle, il était temps Citer
Aleck_Ultimate Posté(e) le 16 août 2019 Posté(e) le 16 août 2019 Salut. A tu besoin de ces blocs ? Si non tu peut tout simplement tous les décomposer en les sélectionnant avec SELECTRAP (type d'objet = référence de bloc ; opérateur = tout sélectionner) Si tu a besoin de garder tes blocs intactes il doit pouvoir des LISP qui mettent tous les objets d'un bloc sur le calque 0, donc plus de problèmes. Sur le site de Didier : Mon lien. Le LISP à copier est tout en bas de la page. Pour l'utilisation d'un LISP, le tutôt de Maitre (gile) : Mon lien Le truc c'est que ce LISP ne marche que sur un bloc à la fois, mais il doit y avoir moyen de l'adapter pour passer sur tout les blocs du dessin.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
lecrabe Posté(e) le 16 août 2019 Posté(e) le 16 août 2019 Hello Si tu veux normaliser TES Blocs alors, je te conseille cette excellente routine "RB_Zero" du REGRETTE Patrick_35 ! Elle remet TOUT sur le calque ZERO et remet TOUT en Mode DuBloc ! Mais tu peux commenter par exemple le retour en Mode DuBloc des proprietes (Couleur, Type de Ligne, Epaisseur) !? Voir vers les lignes 105 - 116 ... Ainsi tu auras seulement le retour sur le calque ZERO ... Bye, le crabe "triste" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Routine : RB_Zero by Patrick_35 ;; ;; Vers US/English Minimum par Patrice ;; ;; Micro-Micro-Modif pour V.... ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Version SPECIALE de "RB/RB_Calque" avec RETOUR sur le Calque ZERO ;;; ;;; ET on "touche" aux Couleurs, Types de Lignes, Epaisseurs ---> <DuBloc> ;;; ;;; MLINE et Attribut --> <DuBloc> ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Remise en Mode <DuBloc> et sur le Calque ZERO de TOUS les Blocs/Symboles (insert) ;;; ou bien d'une Selection classique de Blocs/Symboles ;;; ;;; Mise en EVIDENCE des 4 "Forcages" : Calque 0 , Couleur , Type de Ligne , Epaisseur ;;; pour commentaire EVENTUEL si on desire ne FORCER que 1/2/3 propriete(s) ... ;;; ;;;================================================================= ;;; ;;; RB.LSP V2.02 ;;; ;;; Refait les Blocs de la Couleur <DuBloc> (+ Type de Ligne + Epaisseur ) ;;; et "retour" sur le Calque 0 de TOUTES les entites ;;; ;;; Copyright (C) Patrick_35 ;;; ;;;================================================================= ;; (defun c:RB( / *errrb* bl ent js lst nombl doc s sel) (defun c:RB_Zero ( / *errrb* bl ent js lst nombl doc s sel) (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) ) (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq s *error* *error* *errrb* ) ;; (princ "\nSelectionnez les blocs <Tout les blocs> : ") (princ "\nSelect Blocks <Tout/all Blocks> : ") (if (setq sel (ssget (list (cons 0 "insert")))) (progn (vlax-for bl (setq sel (vla-get-activeselectionset doc)) (or (member (setq nom (nombl bl)) lst) (setq lst (cons nom lst)) ) ) ; (foreach nom lst ; (if js ; (setq js (strcat js "," nom)) ; (setq js nom) ; ) ; ) (vla-delete sel) ) (setq js "*") ) ; ---------------------------------------------------------------- ; Modifications dans la table des blocs ; ---------------------------------------------------------------- (vlax-for bl (vla-get-blocks doc) (and (eq (vla-get-islayout bl) :vlax-false) (or (eq js "*") (member (vla-get-name bl) lst) ) (vlax-for ent bl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;--- Forcer sur calque / Layer 0 (vla-put-layer ent "0") ;;;--- Forcer la couleur sur Dubloc / ByBlock (vla-put-color ent 0) ;;;--- Forcer le type de ligne sur Dubloc / ByBlock (vla-put-linetype ent "ByBlock") ;;;--- Forcer l'epaisseur de ligne sur Dubloc / ByBlock (vla-put-lineweight ent -2) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ) ) ) ;;; ------ Avec un REGEN ------ (vla-regen doc acAllViewports) (vla-endundomark doc) (setq *error* s) (princ) ) ;; (setq nom_lisp "RB") (setq nom_lisp "RB_Zero") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " loaded/charge ")) (princ (strcat "\n" nom_lisp ".LSP Loaded/Charge... " nom_lisp " to run/pour l executer. "))) (princ (strcat "\n" nom_lisp ".LSP Loaded/Charge... " nom_lisp " to run/pour l executer. "))) (setq nom_lisp nil) (princ) Citer Autodesk Expert Elite Team
Bobby_one Posté(e) le 16 août 2019 Auteur Posté(e) le 16 août 2019 Salut. A tu besoin de ces blocs ? Si non tu peut tout simplement tous les décomposer en les sélectionnant avec SELECTRAP (type d'objet = référence de bloc ; opérateur = tout sélectionner) Si tu a besoin de garder tes blocs intactes il doit pouvoir des LISP qui mettent tous les objets d'un bloc sur le calque 0, donc plus de problèmes. Sur le site de Didier : Mon lien. Le LISP à copier est tout en bas de la page. Pour l'utilisation d'un LISP, le tutôt de Maitre (gile) : Mon lien Le truc c'est que ce LISP ne marche que sur un bloc à la fois, mais il doit y avoir moyen de l'adapter pour passer sur tout les blocs du dessin.Cordialy.Oui je dois tout garder.J'ai pensé à bosser sur une copie, tout exploser, pr trouver les coupables avec ISOCALQUE mais bizarrement ça n'a pas fonctionné <_< .Je vais réessayer, je les avais peut-être pas tous shooté. Je suis pas du tout familier des Lisp, merci pour tous ce liens, je regarderai ça à tête reposée. :) Citer
rebcao Posté(e) le 17 août 2019 Posté(e) le 17 août 2019 Bonjour, Etant souvent confronté à des versions LT, j'oubli bien sur le LISP ! Pour ce type de travail, j'utilise essentiellement 2 commandes (après avoir nettoyé le dessin bien sur) : 1. la commande PARCOURIR LES CALQUES ou _LAYWALK qui va te permettre de parcourir les calques de manière plus sympa que ISOLER les calques ! 2. la commande FUSION de CALQUE qui va te permettre de placer rapidement les objets d'un calque vers sa destination, exemple : si tu as plusieurs calques provenant d'élément de bibliothèque et qui sont utilisés par un/des blocs, comme en principe les objets des BLOCS devraient se trouver dans le calque ZERO, tu fusionnes tous ces objets vers le calque ZERO et forcément tes blocs seront propres. Je pense que FUSION DE CALQUE te rendra de grands services… 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 @)
lili2006 Posté(e) le 18 août 2019 Posté(e) le 18 août 2019 Bonjour à toutes et tous, ET pour compléter les réponses, ne pas oublier la commande "DEFDUCALQUE",... Citer Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
drault Posté(e) le 16 septembre 2020 Posté(e) le 16 septembre 2020 Bonjour, Etant souvent confronté à des versions LT, j'oubli bien sur le LISP ! Pour ce type de travail, j'utilise essentiellement 2 commandes (après avoir nettoyé le dessin bien sur) : 1. la commande PARCOURIR LES CALQUES ou _LAYWALK qui va te permettre de parcourir les calques de manière plus sympa que ISOLER les calques ! 2. la commande FUSION de CALQUE qui va te permettre de placer rapidement les objets d'un calque vers sa destination, exemple : si tu as plusieurs calques provenant d'élément de bibliothèque et qui sont utilisés par un/des blocs, comme en principe les objets des BLOCS devraient se trouver dans le calque ZERO, tu fusionnes tous ces objets vers le calque ZERO et forcément tes blocs seront propres. Je pense que FUSION DE CALQUE te rendra de grands services… Christian Super le FUSCALQUES ! mais je ne comprends pas encore trop le _laywalk...pas si facile de se balader Citer
Messages recommandés