DenisHen Posté(e) le 18 août 2016 Partager Posté(e) le 18 août 2016 Bonjour à tous. Voilà, j'ai mis à disposition une routine qui, après avoir cliqué un point, dessine une flèche de rappel jusqu'à un second point cliqué et écrit dans un texte multi-ligne les coordonnées du premier point. Reprenant le problème 17 de ce post. Voici un petit exemple : Il faudrait définir le point d'insertion du texte selon la direction de la flèche. Pour cela, j’essaie de savoir dans quel quart de cercle se trouve l'angle de la flèche. Il y a 4 quarts (impressionnant hein ?) nommés selon le point d'insertion du texte, HG=Haut Gauche, BD=Bas Droit... Mon problème est que, selon l’orientation du plan, l'angle de la flèche est parfois supérieur ou inférieur à pi. Il faut aussi pensé que le plan peut être orienté avec le NORD en bas... Si quelqu'un a une astuce, un conseil ou même une routine dans sa besace... Je suis preneur... Denis... 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 More sharing options...
didier Posté(e) le 18 août 2016 Partager Posté(e) le 18 août 2016 Coucou Ça ressemble à s'y tromper au "problème" des quadrants des gisements.Tu n'es donc pas géomètre (ni adepte de la géométrie) si tu poses la question (hihi) J'avais écrit ce qui suit pour être explicatif (vous la retrouverez bientôt sur mon site)Je calcule une valeur en grades mais tu peux l'adapter pour avoir des radians, ce qui est plus facile pour discuter avec AutoCAD. (defun gisement (p1 p2 / xp1 xp2 yp1 yp2 deltax deltay) (setq xp1 (car p1) yp1 (cadr p1) xp2 (car p2) yp2 (cadr p2) deltax (- xp2 xp1) deltay (- yp2 yp1) ) (cond ((and (> deltax 0) (> deltay 0))(setq quadrant 1)) ((and (> deltax 0) (< deltay 0))(setq quadrant 2)) ((and (< deltax 0) (< deltay 0))(setq quadrant 3)) ((and (< deltax 0) (> deltay 0))(setq quadrant 4)) ((and (= deltax 0) (> deltay 0))(setq quadrant 0)) ((and (> deltax 0) (= deltay 0))(setq quadrant 100)) ((and (= deltax 0) (< deltay 0))(setq quadrant 200)) ((and (< deltax 0) (= deltay 0))(setq quadrant 300)) ) (if (= deltay 0)(setq gis_tempo 0)) (if (= deltax 0)(setq gis_tempo 0)) (if (and (/= 0 deltax)(/= 0 deltay)) (setq gis_tempo (/ (* (atan (/ deltax deltay)) 200)pi)) ) (if (= quadrant 1) (setq gis gis_tempo)) (if (= quadrant 2) (setq gis (+ 200 gis_tempo))) (if (= quadrant 3) (setq gis (+ 200 gis_tempo))) (if (= quadrant 4) (setq gis (+ 400 gis_tempo))) (if (= quadrant 0) (setq gis (+ 0 gis_tempo))) (if (= quadrant 100) (setq gis (+ 100 gis_tempo))) (if (= quadrant 200) (setq gis (+ 200 gis_tempo))) (if (= quadrant 300) (setq gis (+ 300 gis_tempo))) gis ) Exemple d'utilisation : (setq p1 (getpoint"\nPoint 1\n") p2 (getpoint p1 "\nPoint 2\n") ) (setq gis (gisement p1 p2)) Amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
DenisHen Posté(e) le 18 août 2016 Auteur Partager Posté(e) le 18 août 2016 Salut. Que puis-je dire, c'est exactement ça... Mais j'ai dû me battre un peu avec la variable SNAPANG (qui devrait correspondre au V0 chez les géomètres) pour l'orientation du plan... Je me permettrais d'utiliser ton bout de code dans une routine de ce poste qui s'appelle "Cotation XYZ" ? Puis-je ? Bien sur, tu es sité dans ce Lisp... Mille mercis... 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 More sharing options...
didier Posté(e) le 18 août 2016 Partager Posté(e) le 18 août 2016 Coucou Il n'y a pas de souci, le but de nos échanges étant le partage, le tout basé sans jalousie ni envie des autres. Je suis en train de faire mon site (bonjour le HTML) mais comme je me contente du maximum je ne suis pas encore assez pointu pour le mettre en ligne, toujours est-il que quand ce sera le cas cette routine sera dans les exemples commentés pour didacticiel.Pour l'instant je ne me sens pas "à la hauteur" au vu des cadors qui sévissent sur la toile, mais un jour ce sera la cas sans doute, ce n'est qu'une question d'humilité qu'il faut que je règle avec moi-même. Amicalement ps: relis-toi et corrige ton orthographe (conseil amical sans manque de respect) Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
DenisHen Posté(e) le 18 août 2016 Auteur Partager Posté(e) le 18 août 2016 Le français n'est effectivement pas mon fort, est-ce le t dans "tu esT sité" ? Oops, il y a aussi "cité" et non "sité"... 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 More sharing options...
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