LUDWIG Posté(e) le 1 août 2008 Posté(e) le 1 août 2008 Bonjour, Je manipule beaucoup les entités par les poignées en utilisant les entrées (espace) : étirer, déplacer, échelle, etc Depuis quelques temps, j'ai ce message dès que je clic une poignée : erreur: paramètre de la variable AutoCAD rejeté: "OSMODE" (et des fois "SNAPANG", suivant la poignée cliquée). A priori ça ne m'empêche pas de bosser, mais bon, ça m'intrigue... Quelqu'un a une idée ? Autocad 2021 - Revit 2022 - Windows 10
bonuscad Posté(e) le 1 août 2008 Posté(e) le 1 août 2008 Quand j'ai ce genre de message en lisp, c'est que je me suis planté lors de la restitution de la variable.Soit la valeur numérique fournie est hors de la fourchette permise.Soit la valeur transmise l'a été sous forme de chaine au lieu d'un entier ou réel. C'est peut être le cas ici... :exclam: En tout cas la valeur transmise n'est pas adéquate. [Edité le 1/8/2008 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
LUDWIG Posté(e) le 7 août 2008 Auteur Posté(e) le 7 août 2008 une réponse, un peu tard... Non, mes valeurs de osmode et snapang sont bien dans la fourchette acceptable (255 et 0). Autocad 2021 - Revit 2022 - Windows 10
bonuscad Posté(e) le 7 août 2008 Posté(e) le 7 août 2008 Je persiste :casstet: la valeur transmise n'est pas adéquate Pour t'en convaincre fait par exemple en ligne de commande:(setvar "osmode" "32") ou encore (setvar "osmode" nil), tu auras exactement ce message en retour. Essayes d'avoir un point d'arrêt lors de l'utilisation de setvar et d'examiner la variable à l'instant T. Ce qu'il faudrait arriver à identifier, c'est si cela vient d'une fonction tierce autochargée. Serge Camiré avait donné (il y a déjà quelques années) ici ou ailleurs un lisp utilisant les réacteurs qui donnait l'information sur les variables en temps réel dès lors qu'elle subissait un changement. Je l'ai recherché, mais pas trouvé. Si quelqu'un d'autre s'en rappelle... cela pourrait peut être utile dans ton cas. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bonuscad Posté(e) le 7 août 2008 Posté(e) le 7 août 2008 Je viens de le retrouver au fin fond de mon disque dur. Enfin je redonne le code (merci à serge) tel quel. ;;; SysvarSpy ;;; Permet d'observer et d'identifier les variables systèmes modifiées lors ;;; de simples commandes ou de routines Lisp. ;;; Note: c'est l'état initial et le premier changement qui est affiché ;;; On peut adapter très pour lister tous les changements d'une même variable ;;; en supprimant le "(if (not (member sysvar *MySysvarList*))" ;;; ;;; Compatibilité: AutoCAD R13 et plus ;;; ;;; Instructions: ;;; 1) Charger ce fichier ;;; 2) Exécuter une commande ou une routine puis observer les messages.. ;;; ;;; Par Serge Camiré, CadNovation, 2005/02/04 ;;; http://www.cadnovation.com/fr ;;; (vl-load-com) (defun MyReactorSysvarWillChange ( data callbacks / sysvar ) (setq sysvar (car callbacks)) (if (not (member sysvar *MySysvarList*)) (progn (setq *MySysvar* (getvar sysvar)) (setq *MySysvar* (list sysvar *MySysvar*)) ; (SysVarName ValeurAvant) )) ) (defun MyReactorSysVarChanged ( data callbacks / newVal sysvar ) (if *MySysvar* (progn (setq sysvar (car callbacks)) (setq newVal (getvar sysvar)) (setq *MySysvar* (append *MySysvar* (list newVal))) ; (nom ValeurAvant ValeurApres) (setq *MySysvarList* (cons *MySysvar* *MySysvarList*)) (setq *MySysvar* nil) )) (princ) ) (defun MyReactorCommandWillStart ( calling-reactor command-list / ) (setq *MyCommandReactorStarted* t) (if (not *MyLispReactorStarted*) (setq *MySysvarList* nil)) (princ) ) (defun MyReactorCommandEnded ( calling-reactor command-list / sysvar ) (setq *MyCommandReactorStarted* nil) (if (not *MyLispReactorStarted*) (printAllSysvar)) (princ) ) (defun MyReactorLispWillStart ( calling-reactor command-list / sysvar ) (setq *MyLispReactorStarted* t) ) (defun MyReactorLispEnded ( calling-reactor command-list / sysvar ) (setq *MyLispReactorStarted* nil) (printAllSysvar) (princ) ) (defun printAllSysvar ( / sysvarType) (if *MySysvarList* (vl-sort *MySysvarList* (function (lambda (e1 e2) (< (car e1) (car e2))))) ) (foreach sysvar *MySysvarList* (setq sysvarType (type sysvar)) (cond ((= 'INT sysvarType) (princ (strcat "\n" (car sysvar) " : " (itoa (cadr sysvar)) " -> " (itoa (caddr sysvar)))) ) ((= 'REAL sysvarType) (princ (strcat "\n" (car sysvar) " : " (rtos (cadr sysvar)) " -> " (rtos (caddr sysvar)))) ) ((= 'STR sysvarType) (princ (strcat "\n" (car sysvar) " : " (cadr sysvar) " -> " (caddr sysvar))) ) ((= 'LIST sysvarType) (princ (strcat "\n" (car sysvar) " : " )) (princ (cadr sysvar)) (princ " -> ") (princ (caddr sysvar)) ) (t (princ (strcat "\n" (car sysvar) " : type inconnu !" )) ) ) ) (setq *MySysvarList* nil) (princ) ) ;;; Already loaded? Unload it. (if *reactorCommand* (vlr-remove *reactorCommand*)) (setq *reactorCommand* (vlr-editor-reactor nil '( (:vlr-CommandWillStart . MyReactorCommandWillStart) (:vlr-CommandEnded . MyReactorCommandEnded) (:vlr-CommandCancelled . MyReactorCommandEnded) (:vlr-CommandFailed . MyReactorCommandEnded) ) ) ) ;;; Already loaded? Unload it. (if *reactorLisp* (vlr-remove *reactorLisp*)) (setq *reactorLisp* (vlr-editor-reactor nil '( (:vlr-LispWillStart . MyReactorLispWillStart) (:vlr-LispEnded . MyReactorLispEnded) (:vlr-LispCancelled . MyReactorLispEnded) ) ) ) ;;; Already loaded? Unload it. (if *reactorSysvar* (vlr-remove *reactorSysvar*)) (setq *reactorSysvar* (vlr-sysvar-reactor nil '( (:vlr-sysVarWillChange . MyReactorSysvarWillChange) (:vlr-sysVarChanged . MyReactorSysVarChanged) ) ) ) (princ) Oops je m'étais trompé de code... (rectifié) [Edité le 7/8/2008 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
sechanbask Posté(e) le 26 août 2008 Posté(e) le 26 août 2008 moi j'ai ce genre d'erreur à chaque fois uqe je démarre autocad 2006 + l'applicatif FISACAD, mais ça ne m'empêche pas de bosser, je pense que c'est une erreur de code du coté autocad quant à la gestion des entrées de la valeur de la variable snapang et osmode ou de l'appilcatif qui tente d'entrer des valeurs non viable ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
LUDWIG Posté(e) le 26 août 2008 Auteur Posté(e) le 26 août 2008 merci pour cette routine. résultat : ** ETIRER ** Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Quitter]: ; erreur: paramètre de la variable AutoCAD rejeté: "OSMODE" nil OSMODE : 255 -> 255 *ERRNO : 0 -> 0 *ERRNO : 0 -> 0 Le message d'erreur est toujours présent Autocad 2021 - Revit 2022 - Windows 10
Patrick_35 Posté(e) le 26 août 2008 Posté(e) le 26 août 2008 Salut Comme te l'a indiqué Bonus, cela provient peut-être d'un lisp.Pour vérifier, tu lances Autocad sans aucun lisp et si l'erreur ne se produit plus, il reste à charger les lisps un par un, de faire la manip pour trouver celui qui provoque l'erreur.Dès que celui-ci est trouvé, il reste plus qu'a le publier sur le forum afin que l'on puisse regarder d'où vient l'erreur. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
LUDWIG Posté(e) le 28 août 2008 Auteur Posté(e) le 28 août 2008 Merci pour votre aide ! J'ai donc déchargé toutes mes applications pour confirmer qu'il s'agissait bien l'une d'elle. Après recherche, il s'agit de windoor qui provoquait la chose. Donc merci encore, sujet résolu. Autocad 2021 - Revit 2022 - Windows 10
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