Tchantal Posté(e) le 10 novembre 2023 Partager Posté(e) le 10 novembre 2023 Bonjour à tous, Je vous expose la situation : J'ai un fichier nommé TOPO.dwg qui est attaché comme référence externe sur 387 autres DWGs. Dans TOPO, je dois geler 13 calques. Cependant, cette modification n'est pas prise en compte dans mes 387 autres fichiers. Je ne veux pas avoir à ouvrir chacun de ces fichiers pour geler les dits calques. Y a-t-il une façon de faire afin de m'éviter un travail fastidieux ? S'il vous plaît, dites moi que oui. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 10 novembre 2023 Partager Posté(e) le 10 novembre 2023 Hello @Tchantal 1) Tu as bien VISRETAIN = 1 et XREFOVERRIDE = 1 (depuis la 2016.1) dans tes DWGs "principaux" ? 2) Quelle valeur de VISRETAINMODE (depuis la 2018.1) pour tes DWGs "principaux" ? En theorie VISRETAINMODE = 3 devrait "aider" et peut etre faut il recharger la XREF !? ( Reponse "de memoire" sans lancer un quelconque AutoCAD ) Bye, lecrabe Citer Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tchantal Posté(e) le 10 novembre 2023 Auteur Partager Posté(e) le 10 novembre 2023 il y a 57 minutes, lecrabe a dit : Hello @Tchantal 1) Tu as bien VISRETAIN = 1 et XREFOVERRIDE = 1 (depuis la 2016.1) dans tes DWGs "principaux" ? 2) Quelle valeur de VISRETAINMODE (depuis la 2018.1) pour tes DWGs "principaux" ? En theorie VISRETAINMODE = 3 devrait "aider" et peut etre faut il recharger la XREF !? ( Reponse "de memoire" sans lancer un quelconque AutoCAD ) Bye, lecrabe Bonjour @lecrabe VISRETAIN étant une variable qui se sauvegarde dans tout AutoCAD et non par DWG comme XREFOVERRIDE, j'ai bien VISRETAIN = 1. Cependant, XREFOVERRIDE = 0, car je ne veux pas nécessairement qu'AutoCAD traite mes Xréf comme étant tout en DuCalque. Par contre, VISRETAINMODE, je ne comprenais pas son fonctionnement. J'ai fait un test avec la valeur 2 et ça fonctionne dans les 10 fichiers que j'ai ouvert. Donc je te remercie pour ta réponse, elle résout bien mon problème. 👍 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 10 novembre 2023 Partager Posté(e) le 10 novembre 2023 Hello OUI avec 2 on ne traite que le Geler / Libérer Et avec 3 on ajoute le Inactif / Actif ... Bye, lecrabe Citer Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 10 novembre 2023 Partager Posté(e) le 10 novembre 2023 hello Tchantal en lisp fonction : ACAL premier extrait de nom de calque : TOPO deuxieme extrait de nom de calque : un bout du nom de tes calque a geler ( zaza) action souhaiter : G ca devrait geler tous les calques que tu souhaites, ceux qui ont dans leurs nom : TOPO*zaza* apres tu testes toutes les autres action que l'on peut faire avec les calques. a+ Phil (defun c:acal ( / lay layers ) (setvar "cmdecho" 0) (setq parcalque1 (getcfg "APPDATA/parcalque1")) (setq com1 (getstring t (strcat "\nVEUILLEZ ENTRER L'EXTRAIT 1 DU NOM DE CALQUE A ACTIVER <" parcalque1 "> : ") ) ) (if (/= com1 "") (setq parcalque1 com1) ) (setcfg "APPDATA/parcalque1" parcalque1) (setq parcalque2 (getcfg "APPDATA/parcalque2")) (setq com2 (getstring t (strcat "\nVEUILLEZ ENTRER L'EXTRAIT 2 DU NOM DE CALQUE A ACTIVER <" parcalque2 "> : ") ) ) (if (/= com2 "") (setq parcalque2 com2) ) (setcfg "APPDATA/parcalque2" parcalque2) ;;; (setq test (strcat "*" parcalque "*")) (setq actioncalque (getcfg "APPDATA/ACTIONCALQUE")) (initget "ac AC in IN g G l L v V d D t T int INT li LI co CO ar AR av AV") (setq tmp (getstring t (strcat "\nENTRER L'ACTION SOUHAITE SUR LES CALQUES [ ACtiver / INactiver / Geler / Libérer / Verrouiller / Déverrouiller / Tracer / INTracable / LIster / COuleur / AVant / ARriere ] <" actioncalque ">: " ) ) ) (if (/= tmp "") (setq actioncalque (strcase tmp)) ) (setcfg "APPDATA/ACTIONCALQUE" actioncalque) (while (setq lay (tblnext "LAYER" (not lay))) (setq layers (cons (cdr (assoc 2 lay)) layers))) (setq layerfiltre nil) (foreach layer layers (if (wcmatch layer (strcat "*" parcalque1 "*" parcalque2 "*")) (progn (setq layerfiltre (cons layer layerfiltre))) ) ) (setq layers (vl-remove-if '(lambda (x) (member x '("0" "Defpoints" "DEFPOINTS" "Ashade" "ASHADE"))) layerfiltre)) (setq layers (vl-sort layers '<)) (foreach layer layers (setq test33 layer) (prompt (strcat "\nCALQUE : " layer)) ) (if (or (= actioncalque "ac") (= actioncalque "AC")) (command-s "-calque" "actif" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "in") (= actioncalque "IN")) (command-s "-calque" "inactif" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "g") (= actioncalque "G")) (command-s "-calque" "geler" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "l") (= actioncalque "L")) (command-s "-calque" "liberer" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "v") (= actioncalque "V")) (command-s "-calque" "V" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "d") (= actioncalque "D")) (command-s "-calque" "D" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "t") (= actioncalque "T")) (command-s "-calque" "T" "T" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "int") (= actioncalque "INT")) (command-s "-calque" "T" "A" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "li") (= actioncalque "LI")) (command-s "-calque" "?" (strcat "*" parcalque1 "*" parcalque2 "*") "") ) (if (or (= actioncalque "co") (= actioncalque "CO")) (progn (setq couleurnew (acad_colordlg 1)) (command-s "-calque" "co" couleurnew (strcat "*" parcalque1 "*" parcalque2 "*") "") ) ) (if (or (= actioncalque "av") (= actioncalque "AV")) (foreach layer layers (setq obj (ssget "X" (list (cons 8 layer)))) (command-s "DRAWORDER" obj "" "AV") ) ) (if (or (= actioncalque "ar") (= actioncalque "AR")) (foreach layer layers (setq obj (ssget "X" (list (cons 8 layer)))) (command-s "DRAWORDER" obj "" "AR") ) ) (princ) ) Citer FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés