(gile) Posté(e) le 15 mai 2018 Posté(e) le 15 mai 2018 Salut Les fonctions (comme les variables) peuvent être locales ou globales. Les fonctions globales, une fois chargées, sont accessibles par toute autre expression LISP. Comme le dit Fraid, ça peut être intéressant pour des fonctions très utiles (et souvent utilisées). Le risque avec ce type de fonction est le conflit de nom (c'est la dernière fonction de même nom chargée dans le dessin qui est active. Déclarer localement les fonctions permet d'éviter ce problème. Dans ce cas la fonction locale doit être définie avant son utilisation dans la fonction parent (exactement comme une variable locale). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Thelduin Posté(e) le 20 mai 2018 Auteur Posté(e) le 20 mai 2018 Salut ! Je me suis penché sur le changement des valeurs des paramètres dynamiques d'un bloc dynamique via le lisp (en fouillant le site à la recherche d'info sur les fonctions vla et vlax).Sur un bloc dynamique, j'arrive à changer la valeur du premier paramètre, mais dès que j'ai plusieurs paramètres (en général, j'en ai 6 ou 7), je suis incapable de changer ces autres valeurs, j'ai une erreur : AutoCAD.Application : entree incorrecte ... Je vous mets un extrait du code : (defun c:test() (setq acob (getvar "osmode")) (setvar "osmode" 0) (command "-inserer" "Cadre + façonnage 25e" "e" 0.1 0 0) (vl-load-com) (setq cadre (vlax-ename->vla-object (entlast))) (setq pr (vlax-invoke cadre 'getdynamicblockproperties)) (setq h_cadre (nth 0 pr)) (setq enr_g (nth 1 pr)) (setq enr_d (nth 2 pr)) (setq enr_h (nth 3 pr)) (setq enr_b (nth 4 pr)) (setq l_cadre (nth 5 pr)) (vlax-put h_cadre 'value 40.0) (vlax-put enr_g 'value 4.0) (vlax-put enr_d 'value 3.0) (vlax-put enr_h 'value 5.0) (vlax-put enr_b 'value 2.0) (vlax-put l_cadre 'value 16.0) (command "regntout") (setvar "osmode" acob) ) Mon cadre a bien une hauteur de 40, par contre, tous les autres paramètres ne bougent pas...Pourquoi ? :unsure: Merci d'avance
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