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 DCL main: 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) )
)