Aller au contenu

Cours n°1 Lisp réponse exo


rimbo

Messages recommandés

Bonsoir Didier,

Je te remercie pour toutes tes réponses, je vais essayé de trouver de la doc sur le VBA pour le travailler en pareil car je sais pas du tout comment ça marche.

j'ai réflechi pour l'orientation du rectangle et j'ai trouvé une solution qui ne me conviens pas, car je définis l'angle par saisi clavier, il vaudrai mieux definir l'angle en saisissant 2pts à l'écran. Tu en pense quoi?

 

 

Saisi de l'angle au clavier :

(defun c:rectangle()

(setq pt (getpoint "\n pt de base:"))

(setq lo (getreal "\n longueur:"))

(setq la (getreal "\n largeur:"))

(setq a (getreal "\n angle:"))

(setq pa (polar pt (/ (* a pi) 180) lo))

(setq pb (polar pa (+ (/ (* a pi) 180) (/ pi 2)) la))

(setq pc (polar pb (+ pi (/ (* a pi) 180)) lo))

(command "_pline" pt pa pb pc "c")

(princ)

)

 

Par contre, j'ai essayé en selectionnant 2pts a l'écran mais mon rectangle garde une orientation quelconque (toujours la même), je ne sais pas pourquoi!! Je vais y réflechir.

 

Merçi à vous tous pour vos réponses

@+

Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé la solution pour definir l'angle a laide de 2 pts :

 

(defun c:rectangle()

(setq pt (getpoint "\n pt de base:"))

(setq lo (getreal "\n longueur:"))

(setq la (getreal "\n largeur:"))

(setq a (getangle pt "\n angle:"))

(setq pa (polar pt a lo))

(setq pb (polar pa (+ a (/ pi 2)) la))

(setq pc (polar pb (+ a pi) lo))

(command "_pline" pt pa pb pc "c")

(princ)

)

 

@+

Lien vers le commentaire
Partager sur d’autres sites

bonjour ssd91

c'est bien de relever le défi, surtout que tu réponds bien

regarde ce que je te propose

et étudie les différences avec ta version

quelque part tu en tireras un bénéfice :

 

choix du point de départ

____(setq p1 (getpoint "\nPoint de Départ: \n"))

choix du point d'arrivée avec un vecteur qui se trace à l'écran

____(setq p2 (getpoint p1 "\nDirection et Longueur: \n"))

calcul de l'angle de ces deux points

____(setq dir (angle p1 p2))

choix de la hauteur avec un vecteur qui se trace à l'écran

____(setq p31 (getpoint p1 "\nlargeur : \n"))

calcul de la distance entre ces deux points

____(setq hauteur (distance p1 p3))

(setq p3 (polar p1 (+ dir ( / pi 2)) hauteur))

(setq p4 (polar p2 (+ dir ( / pi 2)) hauteur))

(command "_pline" p1 p2 p4 p3 "c")

 

amicalement :yltype:

 

 

Lien vers le commentaire
Partager sur d’autres sites

pour répondre à chrchat "Je ne sais pas ce quand pense Rimbo, mais ca ne doit pas le motivé pour continuer le cours et je trouve ca dommage, tant d'effort et si peut de résultat." y à pas de soucis y en a déjà deux et c'est très bien peut-être y en a til qui sont trop timide...

 

Je me joins au félicitation pour ssd91 et chrchat. ça avance et moi aussi. Le cours 2 est près je fais suivre à qui de droit. Au programme un aperçu des conditions et des exo.

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Didier,

Ta solution est pas mal du tout. Ca te permet de demander que 3 questions au lieu de 4 comme mon programme. La commande "angle" permet de transformer l'angle directement en radian, c'est ça? En tout cas, c'est plus pratique comme ça le programme fonctionne quel que soit l'unité que l'on utilise. Et puis, je ne connaissais pas encore la commande "distance".Merçi

 

Merçi pour tes Félicitation Rimbo, j'attend avec impatience ton cours n°2.

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é