Aller au contenu

Messages recommandés

Posté(e)

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) )
 )

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité