Aller au contenu

Connaitre la direction des segments


solgti

Messages recommandés

Bonjour, j'ai créé une fonction qui permet de positionner une rampe à l'intérieur ou à l'extérieur d'une ligne de balcon, pour ce faire je dois connaitre la direction vers laquelle la ligne du balcon tourne, soit vers la droite ou la gauche, pour y arriver je calcul la différence d'angle entre 2 segments (voir l'image 1 (angle pt2 pt3) - (angle pt1 pt2), si la valeur est négative c'est à droite, si c'est positif c'est vers la gauche.

 

Ces informations me permette de positionner la rampe à l'intérieur (image 2) ou à l'extérieur (image 3)

 

Malheureusement dans certains cas ça ne fonctionne pas, par exemple lorsque je reviens sur mes pas, dans ce cas AutoCAD peut indiquer un angle de 270 ou de -90, de 0 ou de 360, bref je cherche une méthode qui a coup sûr pourra m'indiquer que le segment suivant tourne à gauche ou à droite.

 

Merci de m'aider

 

solgti

 

NB je n'arrive pas à joindre un fichier PDF qui affiche les images.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Pour savoir si deux segments, ou plus précisément trois points, tourne vers la droite (sens horaire ou clockwise en anglais) ou vers la gauche, il existe de nombreuses routine nommées clockwise, clockwisep ou clockwise-p.

Je te donne celle extraite de gc_MathGeom sur cette page :

;; gc:Clockwise
;; Evalue si les points p1 p2 et p3 tournent dans le sens horaire
;;
;; Arguments
;; p1, p2, p3 trois points 2d figurant un triangle dans le plan XY
(defun gc:Clockwise (p1 p2 p3)
 (<
   (- (* (- (car p2) (car p1)) (- (cadr p3) (cadr p2)))
      (* (- (cadr p2) (cadr p1)) (- (car p3) (car p2)))
   )
   1e12
 )
)

 

Néanmoins, l'intérieur ou l'extérieur d'un angle n'indique pas forcément l'intérieur ou l'extérieur d'un balcon qui peut aussi avoir des angles "entrants".

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

un balcon (extérieur) ou une terrasse (intérieur).

Là ! y' a du vocabulaire !!!

Désolé mais c'est parti tout seul !

 

Pour mémoire (le sens horaire est sans objet)

Le balcon est en encorbellement, la terrasse est construite sur quelque chose (un étage, un terre-plein)

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Je me permet d'insister parce que j'ai déjà eu à me pencher sur des problèmes de garde corps.

 

Que ce soit un balcon ou une terrasse ne change en rien le fait tous deux puissent avoir à la fois des angles entrants et sortants.

Le fait que la "ligne de balcon" tourne à droite ou à gauche n'est pas un critère fiable pour déterminer l'intérieur et l'extérieur.

 

http://gile.pagesperso-orange.fr/Images/balcon.png

 

Ceci peut être résolu par une convention basée sur le sens de la polyligne figurant la "ligne de balcon" (par exemple : dans le sens de la polyligne, l'extérieur est toujours à droite.

 

http://gile.pagesperso-orange.fr/Images/balcon_2.png

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Attention quand on parle de garde-corps, se pencher dessus est un risque de chute ...

Blague à part, le sens de la poly est une bonne base, comme pour nous en routier droite et gauche sont toujours exprimés par rapport au sens croissant de la polyligne d'axe.

 

Amicalement

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é