Patrick_35 Posté(e) le 2 avril 2004 Posté(e) le 2 avril 2004 Bravo Chchat, mais je ne comprends pas pourquoi tu as gardé ton angle à 45° Voici en un peu plus court pour l'exercice 3C'est en coordonnées relatives et avec seulement 3 variables, c'est juste pour changer par rapport à l'exercice 2 (setq pt1 (getpoint "\nCoin bas gauche du carré : ")) (setq pt2 (getcorner "\nCoin haut droit du carré : " pt1)) (setq x (distance (list (car pt1) 0.0) (list (car pt2) 0.0))) ; calculer la longueur d'un coté (command "_pline" pt1 (strcat "@" (rtos x) ",0")(strcat "@0," (rtos x))(strcat "@-" (rtos x) ",0") "c") @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
chrchat Posté(e) le 2 avril 2004 Posté(e) le 2 avril 2004 simplement parce que je ne connaissais ni 'getcorner', ni 'car'' list' 'rtos' et autre 'strcat',j'ai fait avec le cour et ce que je connais CCAD la DAO au service de l'Energie - http://c.cad.free.fr
Patrick_35 Posté(e) le 2 avril 2004 Posté(e) le 2 avril 2004 Ce n'est pas la question des fonctions que tu ne connais pas, mais de la variable snapang que tu mets dans ton lisp à 45° @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
chrchat Posté(e) le 2 avril 2004 Posté(e) le 2 avril 2004 c'est pour definir le point 3 si je ne le mets pas a 45 je defini un point 3 avec un angle aleatoire je vais faire un rectangle non ? avec ta foinction tu fait un carre mais ton point3 n'est pas celui utiliser pour le tracé, il ce decale, moi c'est le même :P CCAD la DAO au service de l'Energie - http://c.cad.free.fr
Patrick_35 Posté(e) le 2 avril 2004 Posté(e) le 2 avril 2004 On s'en fout, ce qu'il faut, c'est une distance, donc si snapang reste à 0, je ne vois pas en quoi ca change pour faire le rectangle @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
chrchat Posté(e) le 5 avril 2004 Posté(e) le 5 avril 2004 Passons aux exercices 4 et 5 : EXERCICE 4 : Créer une fleche toujours proportionnelle (defun c:fleche () (defun dtr (a) (* pi (/ a 180.0))) (setvar "osmode" 0) (setq p1 (getpoint "\nPoint de départ :")) (setq p2 (getpoint p1 "\npoint d'arrivé :")) (setq dist (distance p1 p2)) (setq angl (angle p1 p2)) (setq p3 (polar p1 angl (* dist 0.7))) (setq p4 (polar p3 (+ angl (dtr 90)) (* dist 0.05))) (setq p5 (polar p3 (- angl (dtr 90)) (* dist 0.05))) (command "_line" p1 p3 "") (command "_solid" p2 p4 p5 "" "") (princ) ) CCAD la DAO au service de l'Energie - http://c.cad.free.fr
chrchat Posté(e) le 5 avril 2004 Posté(e) le 5 avril 2004 EXERCICE 5 : Créer une fleche toujours proportionnelle et toujours de gauche a droite (defun c:fleche2 () (defun dtr (a) (* pi (/ a 180.0)) ) (setvar "osmode" 0) (setvar "orthomode" 0) (setq p1 (getpoint "\nPoint de départ :")) (setq p2 (getpoint p1 "\npoint d'arrivé :")) (setq dist (distance p1 p2)) (setq angl (angle p1 p2)) (defun f1 () (setq p3 (polar p1 angl (* dist 0.7))) (setq p4 (polar p3 (+ angl (dtr 90)) (* dist 0.05))) (setq p5 (polar p3 (- angl (dtr 90)) (* dist 0.05))) (command "_line" p1 p3 "") (command "_solid" p2 p4 p5 "" "") ) (defun f2 () (setq p3 (polar p1 angl (* dist 0.3))) (setq p4 (polar p3 (+ angl (dtr 90)) (* dist 0.05))) (setq p5 (polar p3 (- angl (dtr 90)) (* dist 0.05))) (command "_line" p2 p3 "") (command "_solid" p1 p4 p5 "" "") ) (cond ((and (> angl 0) (< angl (/ pi 2))) (f1)) ((and (> angl (/ pi 2)) (< angl pi)) (f2)) ((and (> angl pi) (< angl (* 1.5 pi))) (f2)) ((and (> angl (* 1.5 pi)) (< angl (* 2 pi))) (f1)) (t nil) ) (princ) ) CCAD la DAO au service de l'Energie - http://c.cad.free.fr
Patrick_35 Posté(e) le 5 avril 2004 Posté(e) le 5 avril 2004 Bravo Chrchat, c'est impressionnant, à ce rythme, les élèves vont dépasser ceux qui les conseils :cool: Sur ton lisp, j'aurai juste deux remarques :P Tu n'intègre pas les angles 0,90,180 et 270, j'ai fait le test au deuxième point de me mettre en ortho, juste histoire de voir, fait le test et tu verra le résultat. Ne le prend pas mal, mais quand on commence à faire des prog et ensuite à les donner, il faut penser à ceux qui l’utiliseront (et qui ne sont par forcement des doués) et des erreurs que ça peut entraînerIl suffirait dans un des test de faire (<= angl (/ pi 2))Ensuite, pour sortir du cond, tu indique un T avec un nil, ce qui est contradictoire en soi. Tu teste déjà un angle de 0 à 90, de >90 à 180, de >180 à 270 et de >270 a <0, ce qui revient à faire un cercle au complet, donc, logiquement, pas besoin d'indiquer autre chose, tu dois passer obligatoirement dans une de tes quatre conditions @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 5 avril 2004 Posté(e) le 5 avril 2004 Je recommence pour le test, du gras sur du rouge, apparemment, ça ne passe pas Il suffirait dans un des test de faire (<= ] angl (/ pi 2)) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
chrchat Posté(e) le 5 avril 2004 Posté(e) le 5 avril 2004 tu as entierement raison patick_35 j'étais partis avec le <= et je l'ai oublié en route merci pour les compliments, mais je suis loin de vous arriver aux chevilles :P CCAD la DAO au service de l'Energie - http://c.cad.free.fr
chrchat Posté(e) le 5 avril 2004 Posté(e) le 5 avril 2004 et puis quand je vois le prog de bonuscad, je me dit qu'il y a du chemin. j'ai pas penser a utiliser les polylignes ca m'aurais evité le calcul des plusieurs points :) CCAD la DAO au service de l'Energie - http://c.cad.free.fr
Patrick_35 Posté(e) le 6 avril 2004 Posté(e) le 6 avril 2004 Salut ChrchatTu dis qu'il te reste encore une grosse marge de progression quand tu vois nos lisp, mais pas tant que ça. Tu as compris le principe, après ce n'est plus qu'une question de langage. Regarde ce que tu réalise maintenant. Par exemple, tu donne ton dernier lisp à un néophyte (et qui s’en sert) et il te vois avec le même regard que tu avais avant de commencer. Il reste encore des petits trucs à comprendre, après, ce n'est plus qu'une question d'expérience, de logique et de connaître exactement à quoi correspond la fonction.Ah, je voulais ajouter encore une chose,si tu regardes le programme de BonusCad, je suis certain que tu en comprends une grande partie, et c'est justement en réfléchissant sur ce qu'il a fait, lui ou d'autres, que l'on progresse @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
chrchat Posté(e) le 6 avril 2004 Posté(e) le 6 avril 2004 C'est vrai, j'arrive maintenant a + ou - dechiffrer et comprendre ce genre d'application, je suis donc forcé de reconnaitre que j'avance dans le lisp et c'est génial :) mais il y a encore du travail :D Merci pour tes encouragements et vive cadxp CCAD la DAO au service de l'Energie - http://c.cad.free.fr
rimbo Posté(e) le 8 avril 2004 Auteur Posté(e) le 8 avril 2004 carré en polyligne, coin bas gauche et longueur des côtés : (defun c:carre() (setq cbg (getpoint "\ncoin bas gauche :")) (setq L (getreal "\nLongueur du segment :")) (setq cbd (polar cbg 0 L)) (setq chg (polar cbg (/ pi 2) L )) (setq chd (polar cbd (/ pi 2) L )) (command "polylign" cbg cbd chd chg "c") (princ)) voila pour le 2 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
Patrick_35 Posté(e) le 9 avril 2004 Posté(e) le 9 avril 2004 Bravo Rimbo pour ton lisp http://chevalierseternelsce.free.fr/smilies/Contents/spin3.gif J'aurai juste une remarque (command "polylign" cbg cbd chd [b] [color=red] chg [/color] [/b] "c") Pour faire un carré, trois points suffisent avec un clore @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 9 avril 2004 Posté(e) le 9 avril 2004 Oublie ce que je viens de dire à l'instant http://chevalierseternelsce.free.fr/smilies/Divers/crazyicon5.gif, avec trois points, on fait un triangle @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
rimbo Posté(e) le 9 avril 2004 Auteur Posté(e) le 9 avril 2004 j'arrive toujours pas a faire les smilies donc je commente rrrrrrrrrrrrhhhhhhhhhhh ah ah ah 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
Drizzt Posté(e) le 28 avril 2004 Posté(e) le 28 avril 2004 Bonjour a tous !Je suis petit nouveau, donc petite presentation rapide :En fait, je suis vos cours depuis le debut par le biais de SSD91, il faisait le lien entre vous et moi, on etait dans la meme boite mais il vient de changer, et ou il est arrive il a du trav et a donc deccroche un petit peu mais je suis tjrs en contact et il m'a dit qu'il allait revenir des que possible... voila pour SSD91Moi du coup comme je n'avais pas le site (et du trav) j'ai du mettre un peu de temps pour vous trouver, mais c'est fait et donc je vous remercie pour tous vos precieux renseignements qui m'ont bien aidé à evoluer et je vais donc essayer de me joindre a vous si c'est possible pour l'apprentissage? Et merci encore pour déjà tout ce que j'ai appris par vos biais
chrchat Posté(e) le 28 avril 2004 Posté(e) le 28 avril 2004 tu es le bienvenue drizzt :) 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