zebulon_ Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Bonjour, J'ai vu ici ou là des exemples qui déterminent l'espace avec la fonction vla-get-ActiveSpace (if (zerop (vla-get-ActiveSpace AcDoc)) (setq SPACE (vla-get-PaperSpace AcDoc)) (setq SPACE (vla-get-ModelSpace AcDoc)) ) Il faut préférer : (if (= (getvar "CVPORT") 1) (setq SPACE (vla-get-PaperSpace AcDoc)) (setq SPACE (vla-get-ModelSpace AcDoc)) ) pour prendre en compte les cas où on a fait un _mspace dans l'espace papier. Car, dans ce cas, vla-get-ActiveSpace renvoie toujours 0 (comme tilemode d'ailleurs) alors qu'on est localement en espace objet. AmicalementZebulon_ C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
(gile) Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Parfaitement ! (vla-get-ActiveSpace AcDoc) équivaut à (getvar "TILEMODE") Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
zebulon_ Posté(e) le 12 octobre 2007 Auteur Posté(e) le 12 octobre 2007 en vlisp, il y a bien la fonction (vla-get-mspace AcDoc), mais celle ci renvoie une erreur quand on est en espace objet. Donc, le (getvar "CVPORT") est encore ce qu'il y a de mieux, à ma connaissance. AmicalementZebulon_ C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
Patrick_35 Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Salut Pour l'erreur, tu peux la gerer avec un vl-catch-all-apply, mais il est vrai que la meilleure des solutions est la variable cvport @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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