bonuscad Posté(e) le 11 octobre 2004 Posté(e) le 11 octobre 2004 Tout le monde sait que l'on peut inactiver ou activer un calque.Mais saviez vous qu'il est possible d'inactiver ou activer un objet (rendre invisible/visible une entité)Ce n'est pas une possibilité offerte dans les commandes standard, mais voilà comment on peut y arriver.Après chargement:commande E_OFF pour inactivercommande E_ON pour réactiver Hé c'est pour le fun ;) car je ne pense pas qu'il soit judicieux de travailler de cette manière. (defun c:e_off ( / js_off n ent dxf_ent ) (princ "\nChoix des entités à inactiver: ") (setq js_off (ssget) n 0) (cond (js_off (repeat (sslength js_off) (setq ent (ssname js_off n) dxf_ent (entget ent) ) (if (not (member '(60 . 0) dxf_ent)) (entmod (append dxf_ent '((60 . 1)))) (entmod (subst '(60 . 1) '(60 . 0) dxf_ent)) ) (setq n (1+ n)) ) ) (T (princ "\nSélection vide.") ) ) (princ) ) (defun c:e_on ( / js_off n js_swap n_swap ent ent_dxf js_on nb) (setq js_off (ssget "_X" '((60 . 1))) n 0) (cond (js_off (setq js_swap (ssget "_X" '((-4 . ""))) n_swap 0) (cond (js_swap (repeat (sslength js_swap) (setq ent (ssname js_swap n_swap)) (redraw ent 2) (setq n_swap (1+ n_swap)) ) ) ) (repeat (sslength js_off) (setq ent (ssname js_off n)) (setq dxf_ent (entget ent)) (entmod (subst '(60 . 0) '(60 . 1) dxf_ent)) (entupd ent) (setq n (1+ n)) ) (princ "\nChoix des entités à réactiver: ") (setq js_on (ssget) n 0) (cond (js_on (repeat (sslength js_on) (if (ssmemb (ssname js_on n) js_off) (setq js_off (ssdel (ssname js_on n) js_off)) ) (setq n (1+ n)) ) (cond (js_off (setq nb 0) (repeat (sslength js_off) (setq ent (ssname js_off nb)) (setq dxf_ent (entget ent)) (if (not (member '(60 . 0) dxf_ent)) (entmod (append dxf_ent '((60 . 1)))) (entmod (subst '(60 . 1) '(60 . 0) dxf_ent)) ) (entupd ent) (setq nb (1+ nb)) ) (cond (js_swap (setq n_swap 0) (repeat (sslength js_swap) (setq ent (ssname js_swap n_swap)) (redraw ent 1) (setq n_swap (1+ n_swap)) ) ) ) ) (T (princ "\nAucune entité à réactivée!") ) ) ) (T (princ "\nSélection vide.") ) ) ) (T (princ "\nAucune entité à réactivée!") ) ) (princ) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 11 octobre 2004 Posté(e) le 11 octobre 2004 Eh, eh, bien vu le code dxf 60. Je ne suis pas certain que ce soit judicieux, on a déjà suffisamment de problèmes avec les calques, mais c'est bon à savoir. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Pako Posté(e) le 12 octobre 2004 Posté(e) le 12 octobre 2004 Salut bonuscad, Ton pti-prog me semble intéressant, j'ai voulu faire l'essaie. Impossible : Command: ; error: extra cdrs in dotted pair on input Merci ! l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
bonuscad Posté(e) le 12 octobre 2004 Auteur Posté(e) le 12 octobre 2004 Salut Pako Exact! Je me suis fais avoir par le copier-coller avec les caractères spéciaux qui sont mal interprétés par le BBcode (setq js_swap (ssget "_X" '((-4 . " (cond a été tronqué Ligne originale: (setq js_swap (ssget "_X" '((-4 . "NOT") (60 . 1) (-4 . "NOT"))) n_swap 0) (cond en rajoutant manuellement et respectivement le symbole INFERIEUR AVANT le 1er NOT etSUPERIEUR APRES le 2eme NOT Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bruno_l Posté(e) le 12 octobre 2004 Posté(e) le 12 octobre 2004 ca a marché du premier coup le copier coller, j'utilise firefox http://mozilla.orgou alors j'ai eu de la chance ?
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