bidouille37 Posté(e) le 8 février 2012 Posté(e) le 8 février 2012 Bonjour, Je débute en autolisp, j'ai essayé de créer un petit programme de calcul.Mais je n'arrive pas à extraire correctement les valeurs que je remplis dans les edit_box.Autocad me renvoi une erreur de ce type: numberp: nil Bonne journée Le DCLmain: dialog { label="Prédimensionnement"; :edit_box { key = "Mmax"; label="Moment maximum en MN.m"; edit_width = 10; value = ""; } :edit_box { key = "ht"; label="Hauteur de la poutre en m"; edit_width = 10; value = ""; } :edit_box { key = "bw"; label="Largeur de la poutre en m"; edit_width = 10; value = ""; } :edit_box { key = "fcd"; label="Valeur de fcd en Mpa"; edit_width = 10; value = ""; } :row { :button { key="accept"; label="Calcul du moment réduit"; is_default = true; } :button { key="cancel"; label="Annuler"; is_default = false; is_cancel= true; } } } Le lisp(defun c:test (/ Id Mmax ht bw fcd) (setq Id (load_dialog "test.dcl")) (new_dialog "main" Id) (setq Mmax (atof(get_tile "Mmax"))) (setq ht (atof(get_tile "ht"))) (setq bw (atof(get_tile "bw"))) (setq fcd (atof(get_tile "fcd"))) (setq u (+ Mmax ht bw fcd)) (action_tile "accept" "(pop)") (start_dialog) (unload_dialog Id) (princ) ) ;;;----------------------- (defun pop () (alert (strcat"La valeur du moment réduit est de " (float u) ) )
Carboleum Posté(e) le 8 février 2012 Posté(e) le 8 février 2012 Tu dois faire calculer u au moment du click sur "Ok" (defun c:test (/ Id Mmax ht bw fcd) (defun analyse_contenu_dcl () (setq Mmax (atof(get_tile "Mmax"))) (setq ht (atof(get_tile "ht"))) (setq bw (atof(get_tile "bw"))) (setq fcd (atof(get_tile "fcd"))) (setq u (+ Mmax ht bw fcd)) (alert (strcat"La valeur du moment réduit est de " (rtos (float u)))) ) (setq Id (load_dialog "test.dcl")) (new_dialog "main" Id) (action_tile "accept" "(analyse_contenu_dcl)") (start_dialog) (unload_dialog Id) (princ) ) (pas testé, mais le principe est bon) Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog
bidouille37 Posté(e) le 8 février 2012 Auteur Posté(e) le 8 février 2012 ça marche impec. Merci beaucoup pour votre aide. Bonne soirée
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