l56 Posté(e) le 27 mars 2007 Posté(e) le 27 mars 2007 Bonjour, Comment dévérouiller un calque quand une boite de dialogue est ouverte ?L'expression : (Command "_layer ... étant interdite, quelle autre solution ai-je ? Par avance meci. [Edité le 27/3/2007 par l56]
Bred Posté(e) le 27 mars 2007 Posté(e) le 27 mars 2007 Je ne sais pas si ça fonctionneras : (vla-put-Lock (vlax-ename->vla-object (tblobjname "LAYER" "Nom_du_calque)) :vlax-false) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 27 mars 2007 Posté(e) le 27 mars 2007 Salut, Tu peux aussi intégrer dans ton LISP ces deux expressions, la première, au début, pour déverrouiller tous les calques, la seconde, à la fin, pour restaurer l'état initial. ;; Dévérouiller tous les calques et stocker les noms de ceux qui étaient verrouillés (vlax-for clq (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object)) ) (if (= :vlax-true (vla-get-lock clq) ) (progn (vla-put-lock clq :vlax-false) (setq clq_lst (cons clq clq_lst)) ) ) ) ;; Revérouiller les calques précédemment vérouillés (if clq_lst (mapcar '(lambda (x) (vla-put-lock x :vlax-true) ) clq_lst ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
l56 Posté(e) le 27 mars 2007 Auteur Posté(e) le 27 mars 2007 Merci à vous, les deux solutions fonctionnent ! mercia+
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