You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La structure LineSegment3d représente un segment de ligne borné dans l'espace 3D, défini par des points de début et de fin.
Namespace
Autodesk.AutoCAD.Geometry
Propriétés Clés
Propriété
Type
Description
StartPoint
Point3d
Obtient le point de début du segment
EndPoint
Point3d
Obtient le point de fin du segment
MidPoint
Point3d
Obtient le point milieu du segment
Direction
Vector3d
Obtient le vecteur de direction du début à la fin
Length
double
Obtient la longueur du segment
Constructeurs
Constructeur
Description
LineSegment3d(Point3d, Point3d)
Crée un segment depuis les points de début et de fin
Méthodes Clés
Méthode
Type de Retour
Description
GetClosestPointTo(Point3d)
Point3d
Obtient le point le plus proche sur le segment vers un point donné
DistanceTo(Point3d)
double
Obtient la distance d'un point au segment
IsOn(Point3d)
bool
Vérifie si un point est sur le segment
IsParallelTo(LineSegment3d)
bool
Vérifie si parallèle à un autre segment
IsPerpendicularTo(LineSegment3d)
bool
Vérifie si perpendiculaire à un autre segment
Exemples de Code
Exemple 1: Créer des Segments de Ligne
Point3dstart=newPoint3d(0,0,0);Point3dend=newPoint3d(10,10,0);LineSegment3dsegment=newLineSegment3d(start,end);ed.WriteMessage($"\nLongueur : {segment.Length:F2}");ed.WriteMessage($"\nPoint milieu : {segment.MidPoint}");ed.WriteMessage($"\nDirection : {segment.Direction}");
Exemple 2: Distance Point-Segment
LineSegment3dsegment=newLineSegment3d(newPoint3d(0,0,0),newPoint3d(10,0,0));Point3dtestPoint=newPoint3d(5,5,0);doubledistance=segment.DistanceTo(testPoint);Point3dclosestPoint=segment.GetClosestPointTo(testPoint);ed.WriteMessage($"\nDistance au segment : {distance:F2}");ed.WriteMessage($"\nPoint le plus proche : {closestPoint}");
Exemple 3: Vérifier si un Point est sur le Segment
LineSegment3dsegment=newLineSegment3d(newPoint3d(0,0,0),newPoint3d(10,0,0));Point3dpt1=newPoint3d(5,0,0);// Sur le segmentPoint3dpt2=newPoint3d(15,0,0);// Au-delà de la finPoint3dpt3=newPoint3d(5,5,0);// Hors du segmentboolisOn1=segment.IsOn(pt1);// trueboolisOn2=segment.IsOn(pt2);// falseboolisOn3=segment.IsOn(pt3);// falseed.WriteMessage($"\nPoint 1 sur le segment : {isOn1}");ed.WriteMessage($"\nPoint 2 sur le segment : {isOn2}");ed.WriteMessage($"\nPoint 3 sur le segment : {isOn3}");