Aller au contenu

[Résolu] Point d'insertion d'un texte selon un angle


DenisHen

Messages recommandés

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 :

post-6426-0-56519500-1471504982_thumb.png

 

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

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

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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

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)

Lien vers le commentaire
Partager sur d’autres sites

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

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é