krunch Posté(e) le 10 mai 2007 Posté(e) le 10 mai 2007 SalutComment contrôler le SCcourant en Lisp ?La seule solution que j'ai trouvé est de passer par le VBA mais c'est tt de suite très compliqué (voir ActiveUCS/Example dans l'aide), car la méthode ActiveUCS plante si le SCcourant n'est pas un SCU nommé. Le but est de pouvoir le modifier, or en Lisp je ne trouve rien qui permette de faire ça, et on ne peut pas passer par les variables systeme.. Il y a bien (Command "_ucs"... mais c'est pas terrible Qq'un sait comment faire ?
Bred Posté(e) le 10 mai 2007 Posté(e) le 10 mai 2007 Salut,je m'y suis déjà tenté, et je n'arrive à rien : en vlisp, équivalent au vba, tu ne peux que vraiment piloter un SCU si il est nommé...Je passe donc par les (command ...(ça marche bien, il faut juste faire une gestion d'erreur en béton...) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 10 mai 2007 Posté(e) le 10 mai 2007 Comme dit Bred, il faut passer par un SCU nommé (qu'on ne peut supprimer que s'il n'est pas courant) Un exemple dans Addvtx nouvelle version. ;) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 10 mai 2007 Posté(e) le 10 mai 2007 Certaines petites imprécisions générées par les rotations de SCU en 3D ne semblent pas être tolérées par les fonctions (vla-put-Xvector ...) et (vla-put-Yvector ...) qui retourne parfois un message disant que les axes X et Y ne sont pas parallèles.J'ai fait quelques test et le produit scalaire des deux vecteurs ne donne pas exactement 0 (ce qui devrait être le cas pour des vecteurs perpendiculaires), l'imprécision est de l'ordre du millionième (1e-6). J'en suis donc revenu à la gestion à l'aide de 2 systèmes de coordonnées (SCU courant et SCO) et là, ça semble fonctionner. Le LISP est corrigé , les liens mis à jour, bonsoir... [Edité le 10/5/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 15 mai 2007 Auteur Posté(e) le 15 mai 2007 Pour tes erreurs 3D (Gile) j'ai eu le mêm pb : je doit aussi réorienter le SCU avec un appel (command), d'où ma question sur les SCU..Pour les pb d'approximation j'utilise ça : (or (wcmatch temp "*e-*")(wcmatch temp "*E-*")(zerop(distof temp)))Tu testes la différence avec cette ligne : si ça renvoit T c'est que les valeurs sont à peu près égales..
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