jerome_ Posté(e) le 22 mai 2006 Posté(e) le 22 mai 2006 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_]
CwaM Posté(e) le 23 mai 2006 Posté(e) le 23 mai 2006 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).
jerome_ Posté(e) le 24 mai 2006 Auteur Posté(e) le 24 mai 2006 Merci beaucoup CwaM,c'est exactement ce qu'il me fallait. Bonne idée pour le principe il fallait y penser.
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