dom802 Posté(e) le 16 novembre 2008 Posté(e) le 16 novembre 2008 Bonjour je recherche une macro qui permet de recharger ou décharger l'ensemble des imagesd'un seul coup. merci
(gile) Posté(e) le 16 novembre 2008 Posté(e) le 16 novembre 2008 Salut et bienvenue, Je te propose un petit LISP qui fonctionne comme une bascule (img) qui charge les images si elles sont déchargées ou l'inverse. (defun c:img-off () (mapcar (function (lambda (x / l f) (setq l (entget (cdr x)) f (assoc 280 l) ) (entmod (subst '(280 . 0) f l)) ) ) (vl-remove-if-not (function (lambda (p) (= (car p) 350))) (dictsearch (namedobjdict) "ACAD_IMAGE_DICT") ) ) (princ) ) ou si tu préfères deux commandes (img-on et img-off) (defun c:img-on () (img-toggle 1) (princ) ) (defun c:img-off () (img-toggle 0) (princ) ) (defun img-toggle (flag / elst pair) (foreach img (vl-remove-if-not (function (lambda (p) (= (car p) 350))) (dictsearch (namedobjdict) "ACAD_IMAGE_DICT") ) (setq elst (entget (cdr img)) pair (assoc 280 elst) ) (entmod (subst (cons 280 flag) pair elst)) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
dom802 Posté(e) le 16 novembre 2008 Auteur Posté(e) le 16 novembre 2008 merci gile pour l'infobonne soirée
fabcad Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 Alors là trop fort et vraiment pratique... Merci Gile, Vraiment tip top. [Edité le 17/11/2008 par fabcad]
lecrabe Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 ReHello Gilles & Fab Dans le MEME genre, SVP je suggere une nouvelle routine IDEM pour les XREFs ! J'ai essaye de modifier IMG-ON/-OFF en X-ON/-OFF mais je n'ai pas reussi car je pense que les XREFs sont vus comme des INSERT ! Le Decapode Autodesk Expert Elite Team
x_all Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 pour le on/off Xref, je les insère toujours dans un calque Xref... il suffit alors de le geler... enfin, si tu en a beaucoup, c'est peut etre moins facile a gérer... éditoups... je lis trop vite... tu veux les décharger pas juste les masquer... [Edité le 17/11/2008 par x_all] quelques trucs sur autocad
bonuscad Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 Pour les Xrefs: ((lambda ( / mod) (initget "Décharger Recharger _Unload Reload") (setq mod (getkword "\nXref à [Décharger/Recharger] en groupe? [b]<[/b]Décharger[b]>[/b]: ")) (if (eq mod "Reload") (setq mod '(vla-Reload i)) (setq mod '(vla-Unload i)) ) (vlax-for i (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-Acad-Object))) (if (= (vla-get-IsXref i) :vlax-true) (eval mod) ) ) )) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 pour les xrefs, bonuscad m'a devancé (et en mieux...) mais je donne quand même ça : (defun c:xref-on () (xref-toggle 'vla-ReLoad) (princ) ) (defun c:xref-off () (xref-toggle 'vla-UnLoad) (princ) ) (defun xref-toggle (fun) (setq fun (eval fun)) (vlax-for x (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) (if (= (vla-get-IsXref x) :vlax-true) (fun x) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 (et en mieux...) Elles sont carrément identiques, à part l'utilisation du (getkword) que j'ai faite... Mais je suis content, j'ai devancé le lucky-gile :P Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 17 novembre 2008 Posté(e) le 17 novembre 2008 Elles sont carrément identiques, à part l'utilisation du (getkword) que j'ai faite... C'est ça que je trouve bien. Pour ne pas être en reste, une bascule : (defun c:xref01 () (vlax-for x (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) (if (= (vla-get-IsXref x) :vlax-true) (if (= (vla-get-Count x) 0) (vla-ReLoad x) (vla-UnLoad x) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant