lecrabe Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Hello les Pros du Lisp/VLisp J'ai trouve sur le Web une petite routine VLisp qui me va bien pour supprimer TOUTES les Presentations/Layouts ! Cette routine "Layout_Del_All" efface TOUTES les presentations du dessin quelque soit l'espace dans lequel on se trouve quand on lance Layout_Del_All ... Et donc la routine (ou AutoCAD) recree automatiquement une Presentation / Layout VIDE !---> Pour moi ce comportement est OK !! MAIS SVP je desire une routine "un poil plus evoluee" :- Si on est dans l'onglet Objet/Model Space lors du lancement, OK le comportement decrit ci-dessus me convient !- Si on est dans UNE Presentation/Layout lors du lancement ALORS on supprime TOUTES les Presentations/Layouts SAUF celle ou on se trouve !! A votre bon coeur, Merci d'avance, Bye, lecrabe (vl-load-com) (defun c:Layout_Del_All (/ layout) (command "_undo" "_begin") (vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object))) (vl-catch-all-apply 'vla-delete (list LAYOUT)) ) (command "_undo" "_end") (princ) ) Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Salut Pour mon ventre à choux ;) (defun c:dla(/ doc lay) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layouts doc) (or (equal (vla-get-activelayout doc) lay) (eq (vla-get-name lay) "Model") (vla-delete lay) ) ) (vla-endundomark doc) (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 3 novembre 2015 Auteur Partager Posté(e) le 3 novembre 2015 Hello Le miserable decapode ventrachoux remercie humblement sa petite galette bretonne preferee ! Que la volupte supreme daigne t'honorer et te combler ... MERCI, Bye, lecrabe Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Raph_38 Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 C'est bô Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Pendant que certains déguste une galette (une bonne bretonne au blé noir) et du cidre, d'autres apprécient un plateau de fruits de mer avec un bon muscadet, des crustacés et de la mayonnaise :D @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
VDH-Bruno Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Bonjour, Pour répondre à la question comment adapter le code? Il suffisait de jouer avec le réglage de la variable TILEMODE à 1 en début de code au moyen de l'expression suivante:(setvar 'TILEMODE 1) Sinon en sacrifiant la performance à la concision, le code peut se résumer à cette macro commande (à copier-coller sur la ligne de commande):(foreach x (layoutlist) (command "_LAYOUT" "_DEL" x)) Ou éventuellement à celle-ci(repeat (length (layoutlist)) (command "_LAYOUT" "_DEL" "")) Bon ça scintille un peu à l'affichage, mais l'écriture et accessible au plus grand nombre ;-)A+ Apprendre => Prendre => Rendre Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Salut Bruno - Si on est dans UNE Presentation/Layout lors du lancement ALORS on supprime TOUTES les Presentations/Layouts SAUF celle ou on se trouve !! @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
VDH-Bruno Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Salut Bruno @+ Oupss, j'ai lu en diagonal, merci Patrick_35 (foreach x (layoutlist) (or (= x (getvar 'CTAB)) (command "_LAYOUT" "_DEL" x))) ;) A+ Apprendre => Prendre => Rendre Lien vers le commentaire Partager sur d’autres sites More sharing options...
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