Aller au contenu

[Résolu] Savoir si un point est dans une zone polyline


Messages recommandés

Posté(e)

Bonjour,

 

je débute en programmation Autocad, et il me faudrait savoir si un point fais partie d'une zone definie par une polyline.

 

pour un rectangle ce serait facile, mais pour une polyline je sèche...

 

Existe t'il une méthode, ou un code existant ?

 

Merci

 

[Edité le 24/5/2006 par jerome_]

Posté(e)

Dim Pt2(0 To 2) As Double

Pt2(0) = Pt1(0) + 1

Pt2(1) = Pt1(1)

Pt2(2) = Pt1(2)

Dim Ray As AcadRay

Set Ray = ThisDrawing.ModelSpace.AddRay(Pt1, Pt2)

 

' Calcul du nombre de points d'intersection

Dim Points As Variant

Points = region.IntersectWith(Ray, acExtendNone)

Dim NbrePoints As Integer

NbrePoints = UBound(Points) / 3

 

If NbrePoints Mod 2 = 0 Then

resultat = 1

Else

resultat = 0

End If

Ray.Delete

 

ca devrait aller si j'ai bien compris ce que tu voulais. ( pt1() est le point a tester)

 

 

En fait le principe est de tirer une demie droite horitzontale vers la droite puis de compter le nombre d'intersections avec la polyligne concernée. SI c'est impair, c'est dedans, sinon, c'est dehors. (le code ne marche pas pour les points de la polyligne eux meme).

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é