stugeol Posté(e) le 31 mai 2013 Posté(e) le 31 mai 2013 Bonjour, en Vlisp je recherche la variable pour activer une fenêtre de présentation.Pour déverouiller une fenêtre de présentation j'utilse : (vla-put-displaylocked ent :vlax-false) Pour activer et desactiver une fenêtre quel est la variable? Cordialement. Petit à petit on devient moins petit
bonuscad Posté(e) le 31 mai 2013 Posté(e) le 31 mai 2013 Bonjour (vla-put-ViewportOn ent 0) 0 ou -1 Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
stugeol Posté(e) le 4 juin 2013 Auteur Posté(e) le 4 juin 2013 Merci bonuscad.Petit a petit j'avance.Cordialement. Petit à petit on devient moins petit
stugeol Posté(e) le 4 juin 2013 Auteur Posté(e) le 4 juin 2013 Bon un petit problème : (defun c:VPAllOff () (vl-load-com) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object) ) ) (if (eq :vlax-false (vla-get-modeltype lay)) (vlax-for ent (vla-get-block lay) ; for each ent in layout (if (= (vla-get-objectname ent) "AcDbViewport") (progn (vla-put-viewportOn ent :vlax-false) ) ) ) ) ) ) lors de l'execution de ce code j'ai le message d'erreur suivant : erreur: Erreur Automation Non valable alors que VPAllOn ou j'ai :(vla-put-viewportOn ent :vlax-true)a la place de (vla-put-viewportOn ent :vlax-false)fonctionne trés bien. d'où vien le problème? Petit à petit on devient moins petit
bryce Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Bonjour, Bizarre en effet, je viens de voir que j'ai la même erreur sur la 2014 sur un code qui fonctionnait sur les versions précédentes... :unsure:Tu es sur quelle version ? Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
stugeol Posté(e) le 4 juin 2013 Auteur Posté(e) le 4 juin 2013 je suis sur la version 2011. Petit à petit on devient moins petit
bonuscad Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Quand je t'ai fais la proposition, j'étais sous une 2008 et il n'acceptait pas :vlax-False ou :vlax-True (même erreur : erreur: Erreur Automation Non valable) mais 0 et -1 sans problème. En ce moment sous Autocad Map 2011, il accepte les 2 syntaxes ?!?! As tu essayé avec 0 ou -1 comme arguments? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Salut C'est normal, car comme tu parcoures le bloc composant le layout, le 1er objet est la fenêtre générale de ton EP et il faut l'éviter.Apparemment, on ne peut activer/désactiver une fenêtre que si elle a déjà été générée une première fois. (defun c:VPAllOff(/ lay ent saut) (vl-load-com) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (vla-put-activelayout (vla-get-activedocument (vlax-get-acad-object)) lay) (vlax-for ent (vla-get-block lay) (and saut (eq (vla-get-objectname ent) "AcDbViewport") (vla-put-viewporton ent :vlax-false) ) (setq saut T) ) (setq saut nil) ) (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
bonuscad Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Apparemment, on ne peut activer/désactiver une fenêtre que si elle a déjà été générée une première fois. Il faudra que je refasse un test sous une 2008, car j'avais pas compris pourquoi la 1ere syntaxe ne fonctionne pas alors que la 2eme oui. (peut être que ma fenêtre a été généré entre les 2 manips!) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
stugeol Posté(e) le 4 juin 2013 Auteur Posté(e) le 4 juin 2013 Bonuscad, j'ai tenté avec 0 et -1, l'erreur était la même.Patrick_35, je te remercie pour les informations.Mais j'ai deux questions :Comment ce fait-il que ca fonctionne avec :(vla-put-viewporton ent :vlax-true) Cordialement. Petit à petit on devient moins petit
bryce Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Sinon avec (command) ça fonctionne bien : (defun c:vpai (/ *error* acdoc layouts oldcmdecho action ss clayout) ; Brice Studer, février 2011 ; mise à jour juin 2013 ; Permet d'activer toutes les fenêtres de toutes les présentations du dessin, ; ou de toutes les désactiver (en choisissant éventuellement de garder actives ; certaines fenêtres de la présentation active). (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)) layouts (vla-get-Layouts acdoc) ) (defun *error* (errmsg) (command nil nil nil) (vla-EndUndoMark acdoc) (setvar "CMDECHO" oldcmdecho) (setvar "NOMUTT" 0) (and errmsg (or (member (strcase errmsg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " errmsg)) ) ) (princ) ) (initget "Activer Désactiver") (setq action (getkword "\nEntrée pour désactiver toutes les fenêtres ou [Activer]: ")) (if (= action "Activer") (setq action "_on") (progn (setq action "_off") (princ "\nSélectionnez les fenêtres à garder actives (Entrée pour aucune): ") (setq ss (ssget '( (0 . "VIEWPORT") ))) ) ) (vla-StartUndoMark acdoc) (setq oldcmdecho (getvar "CMDECHO") clayout (getvar "CTAB") ) (setvar "CMDECHO" 0) (setvar "NOMUTT" 1) (vlax-for lay layouts (if (eq :vlax-false (vla-get-ModelType lay)) (progn (vla-put-ActiveLayout acdoc lay) (command "_.-vports" action "_all" "") (if (/= 0 (getvar "CMDACTIVE")) (command nil nil nil) ) );progn );if layout not model );vlax-for lay (setvar "CTAB" clayout) (if ss (command "_.-vports" "_on" ss "") ) (*error* nil) ) (princ "\nCommande à utiliser: VPAI") (princ) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
Patrick_35 Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Mais j'ai deux questions :Comment ce fait-il que ca fonctionne avec :(vla-put-viewporton ent :vlax-true) Cordialement.J'ai testé aussi bien avec true que false avant de poster ma réponse et les résultats sont les mêmes sur ma 2014. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Sinon avec (command) ça fonctionne bien :Oui, mais ton lisp active la présentation et fait une sélection, ce qui évite la fenêtre générale que l'on trouve dans le bloc qui compose la présentation. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
stugeol Posté(e) le 4 juin 2013 Auteur Posté(e) le 4 juin 2013 Je vous remercie,J'étais partie sur la piste de commande Vports, mais en beaucoup plus simple, je n'ai pas encore ton niveau Bryce. Ca viendra un jour.Mais je conse toujours sur le mode off. Bon je reprendrais tous ça à tête reposer.Merci à vous.cordialement. Petit à petit on devient moins petit
bryce Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Oui, mais ton lisp active la présentation et fait une sélectionEn effet, ça évite des soucis d'il y a des présentations non initialisées. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
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