Aller au contenu

DECHARGER IMAGE


Messages recommandés

Posté(e)

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

Posté(e)

 

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

Posté(e)

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

 

 

édit

oups... je lis trop vite... tu veux les décharger pas juste les masquer...

 

[Edité le 17/11/2008 par x_all]

Posté(e)

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

Posté(e)

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

Posté(e)

(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

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é