Aller au contenu

Messages recommandés

Posté(e)

Bonjour, j'ai un code et j'aimerais faire en sorte qu'une des mes expressions soit pris en concidération si cette expression equivaut la meme chose que la valeur donnée d'une autre expression.

 

 

Voici le code :

(defun c:grue ( / R-fleche N-tour)

 (vl-load-com)

 (initget 1 "170 210 290 550")
 (setq typ-Grue (getkword "\n Donner le type de grue : 
		    \n [170, 210, 290, 550] "))

   (if (= typ-Grue 170)
         (progn
           (initget 1 "60m 54m 50m 44m 40m 34m 30m")
           (setq R-Fleche (getkword "\n Donner le rayon de la flèche :
                                     \n [60m, 54m, 50m, 44m, 40m, 34m, 30m] "))
       )
       (= typ-Grue 210)
         (progn
           (initget 1 "64m 60m 54m 50m 44m 40m 34m 30m")
    (setq R-Fleche (getkword "\n Donner le rayon de la flèche :
                                     \n [64m, 60m, 54m, 50m, 44m, 40m, 34m, 30m] "))
  )

    	(= typ-Grue 290)
  (progn
           (initget 1 "74m 70m 64m 60m 54m 50m 44m 40m")
           (setq R-Fleche (getkword "\n Donner le rayon de la flèche :
                                     \n [74m, 70m, 64m, 60m, 54m, 50m, 44m, 40m] "))
  )

(= typ-Grue 550)
  (progn
           (initget 1 "80m 74m 70m 64m 60m 50m 40m")
           (setq R-Fleche (getkword "\n Donner le rayon de la flèche :
                                     \n [80m, 74m, 70m, 64m, 60m, 50m, 40m] "))
)
      )

 )
 
 (initget 1 "4 5 6 7 8 9 10 11")
 (setq N-tour (getkword "\n Donner le nombre de tour : "))
 
 (Fleche)
 (Tour)
 
 (princ)
 
);defun c

 

Donc, pour compléter mon explication j'aimerais que par example si je repond a la premiere question 290 que le

setq R-fleche de celui-ci soit activé.

 

Alors que j'ai déja essayé plusieur chose je ne sais pas ou je devrais regarder pour aller plus loin.

 

Donc, c'est pour cela que je fais appel a votre aide.

 

Salutation et merci d'avance.

Posté(e)

Salut, il te faut utiliser COND et non pas IF et getkword retoune un mot et pas un nombre.

 

(cond

((= typ-Grue "170")

.......

 

Egalement faire attention aux parentheses, ce que tu mets en ligne ne colle pas.

Et (vl-load-com) ne sert que pour l´utilisation de fonctions vlisp ce qui n´est pas le cas.

 

Ceci est mal ecrit egalement

(setq typ-Grue (getkword "\n Donner le type de grue :  
                           \n [170, 210, 290, 550] ")) 

 

(setq typ-Grue (getkword "\nDonner le type de grue [170/210/290/550]:"))

 

Je pense que cela devrait te permettre de reprendre ton lisp, mais tu ne dois pas te fier a ta memoire, le code n´est pas de la prose.

Posté(e)

Bonjour usegomme, merci pour l'information donné

 

 

Et (vl-load-com) ne sert que pour l´utilisation de fonctions vlisp ce qui n´est pas le cas.

 

en ce qui concerne le (vl-load-com) c'est seulement parce que je n'est pas ecrit tout mon code donc p-e ici il ne sert a rien mais dans le reste oui.

 

Merci !

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é