ssd91 Posté(e) le 27 mars 2004 Posté(e) le 27 mars 2004 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@+
ssd91 Posté(e) le 27 mars 2004 Posté(e) le 27 mars 2004 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)) @+
didier Posté(e) le 28 mars 2004 Posté(e) le 28 mars 2004 bonjour ssd91c'est bien de relever le défi, surtout que tu réponds bienregarde ce que je te proposeet étudie les différences avec ta versionquelque 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: Éternel débutant... Mon site perso : Programmer dans AutoCAD
rimbo Posté(e) le 29 mars 2004 Auteur Posté(e) le 29 mars 2004 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
ssd91 Posté(e) le 29 mars 2004 Posté(e) le 29 mars 2004 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.
chrchat Posté(e) le 29 mars 2004 Posté(e) le 29 mars 2004 Mettez tous vos neurones en action le cours n°2 est dispo. Vive Rimbo CCAD la DAO au service de l'Energie - http://c.cad.free.fr
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant