Aller au contenu

LISP problème d'argument


GOLUM69

Messages recommandés

Bonjour a tous, je suis débutant en LISP et j'ai crée un code qui permet d'insérer une grue sur un plan d'installation de chantier. Mon programme demande à l'utilisateur s'il désire implanter une grue fixe ou mobile. Je l'ai donc paramétrer avec la fonction Initget et getkword, ensuite j'ai créer les programmes pour les deux types de grues. Quand je lance la commande dans autocad cela me demande le choix entre les deux mais après le programme plante et ne veut pas s'exécuter après que l'utilisateur est choisit le type de grue.

 

Je suis vraiment bloquer je ne trouve pas la solution au problème, j'implore votre aide !!

 

Thank you !!

 

 

 

 

VOICI MON PROGRAMME:

 

 

(defun Fixe()

(setq rep "Fixe")

(setq P1 (getpoint "\nCliquez sur le point d'implantation de la grue fixe :"))

(setq P2 (getpoint "\nLongueur de la flËche :"))

(setq F (distance P1 P2))

(setq P3 (polar P1 (- alfa (/ pi 2)) F))

 

(command "cercle" P1 P2)

(command "-inserer" "G_Bloc" P1 1 1 0)

)

 

 

(defun Mobile()

(setq rep "Mobile")

(setq A (getpoint "\nCliquez sur le point de dÈpart du rail :"))

(setq L (getdist "\nLongeur du rail :"))

(setq alfa (getangle "\nAngle d'implantation du rail :"))

(setq F (getdist "\nLongueur de la flËche :"))

 

(setq B (polar A alfa L))

(setq A1 (polar A (- alfa (/ pi 2)) F))

(setq B1 (polar A1 alfa L))

(setq A2 (polar A (+ (/ pi 2) alfa) F))

(setq B2 (polar A2 alfa L))

 

(command "ligne" A B "")

(command "polylign" A1 B1 "A" "R" F B2 "Li" A2 "A" "R" F A1 "cl")

)

 

 

(defun c:Grue()

;; initialiser les options

(initget 1 "Fixe Mobile")

;; inviter l'utilisateur ‡ choisir une option

(setq Rep (getkword "\nType de grue ? [Fixe/Mobile]"))

 

(cond

(= Rep "Fixe")(Fixe)

(= Rep "Mobile")(Mobile)

)

)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

il faudrait revoir la syntaxe du cond. Ce n'est pas bon au niveau des parenthèses

 

(cond
 ((= Rep "Fixe")(Fixe))
 ((= Rep "Mobile")(Mobile))
)

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Lien vers le commentaire
Partager sur d’autres sites

par ailleurs, il faut être prudent avec les "command" car elles restent sensibles aux accrochages aux objets.

 

Par exemple :

(command "ligne" A B "")

 

peut donner n'importe quoi s'il y a un sommet à proximité et qu'on a activé l'accrochage aux objets extrémité. Il vaut donc mieux désactiver les accrochages aux objets soit globalement en jouant avec la variable OSMODE, soit localement (ce que je préfère) en ajoutant un "_non" avant l'appel d'un point (et uniquement d'un point) dans une commande

 

(command "ligne" "_non" A "_non" B "")

 

Enfin, toujours au sujet de "command", c'est mieux d'utiliser les commandes internationales plutôt que françaises. Le lisp est plus facile à traduire, le cas échéant et, surtout, on ne subit pas les éventuels changement de traduction d'une commande d'une version à l'autre, qui rendrait le lisp inopérant

 

(command "_line" "_non" A "_non" B "")

 

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Lien vers le commentaire
Partager sur d’autres sites

Golum, utilise-tu l'éditeur de Lisp (IDE) d'AutoCAD ?

 

Je vois que tu as des caractères curieux...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup Zebulon_ !!! c'était exactement sa le problème sa marche très bien maintenant.

 

DenisHen , j'utilise Visual LISP (commande "VLIDE"), les caractères étranges doivent être dus au fait de passer de windows à OS je pense... je travaille simultanément sur PC et sur Mac (mauvaise compatibilité malheureusement)

 

Merci beaucoup à vous deux en tout cas !!

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup Zebulon_ !!! c'était exactement sa le problème sa marche très bien maintenant.

 

DenisHen , j'utilise Visual LISP (commande "VLIDE"), les caractères étranges doivent être dus au fait de passer de windows à OS je pense... je travaille simultanément sur PC et sur Mac (mauvaise compatibilité malheureusement)

 

Merci beaucoup à vous deux en tout cas !!

Tu es le bienvenu !

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Lien vers le commentaire
Partager sur d’autres sites

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é