Point3dCollection est une collection spécialisée pour les structures Point3d. Elle est optimisée pour les opérations géométriques et est requise par de nombreuses méthodes API impliquant des courbes, des solides 3D, et des maillages polygonaux (ex : GetSplitCurves, CreateFromCurves).
Autodesk.AutoCAD.Geometry
| Propriété | Type | Description |
|---|---|---|
Count |
int |
Nombre de points. |
this[int] |
Point3d |
Indexeur pour accéder aux points. |
| Méthode | Type de Retour | Description |
|---|---|---|
Add(Point3d) |
int |
Ajoute un point. |
Insert(int, Point3d) |
void |
Insère un point à l'index. |
Remove(Point3d) |
void |
Supprime un point spécifique. |
RemoveAt(int) |
void |
Supprime le point à l'index. |
Clear() |
void |
Vide la liste. |
ToArray() |
Point3d[] |
Exporte un tableau simple. |
Point3dCollection pts = new Point3dCollection();
pts.Add(new Point3d(0, 0, 0));
pts.Add(new Point3d(10, 0, 0));
pts.Add(new Point3d(10, 10, 0));
ed.WriteMessage($"\nPolygone défini avec {pts.Count} sommets.");Point3dCollection vertices = new Point3dCollection();
// ... remplir sommets ...
using (Transaction tr = db.TransactionManager.StartTransaction())
{
Polyline3d poly = new Polyline3d(Poly3dType.SimplePoly, vertices, false);
// ... ajouter à la base de données ...
}// Les sélections fence nécessitent souvent Point3dCollection
Point3dCollection fence = new Point3dCollection();
fence.Add(p1);
fence.Add(p2);
fence.Add(p3);
PromptSelectionResult res = ed.SelectFence(fence);Entity ent1 = ...;
Entity ent2 = ...;
Point3dCollection intersectPts = new Point3dCollection();
// IntersectWith peuple la collection
ent1.IntersectWith(ent2, Intersect.OnBothOperands, intersectPts, IntPtr.Zero, IntPtr.Zero);
foreach (Point3d pt in intersectPts)
{
ed.WriteMessage($"\nIntersection à : {pt}");
}- Libérer : Implémente
IDisposable. Utilisez toujoursusingou appelezDispose()pour libérer les ressources non gérées associées aux géométries sous-jacentes. - Capacité : Contrairement aux Listes génériques, n'expose pas le contrôle de Capacité facilement, mais est généralement efficace.
- Conversion Tableau : Utilisez
ToArray()si vous devez passer des données à des méthodes .NET non-AutoCAD.
- Point3d - Le type d'élément.
- ObjectIdCollection - Collection d'IDs.