Autodesk.Revit.DB.PointClouds.PointCollection是Revit中用于存储大量点的类。包含在Autodesk.Revit.DB.PointClouds命名空间中。这个类使用数组存储点坐标,可以用于表示形状、物体等等。
PointCollection() //无参数构造函数
PointCollection(IEnumerable<XYZ> points) //使用IEnumerable<XYZ>类型的对象作为参数的构造函数
PointCollection(int count) //使用整型变量作为参数,构造一个指定长度的PointCollection对象
PointCollection(XYZ[] points) //使用数组作为参数,构造PointCollection对象
PointClouds pc = new PointClouds();
XYZ[] points = new XYZ[3];
points[0] = new XYZ(1,1,0);
points[1] = new XYZ(2,2,0);
points[2] = new XYZ(3,3,0);
pc = new PointClouds(points);
Console.WriteLine("Count of points:{0}", pc.Count);
foreach (XYZ p in pc)
{
Console.WriteLine("Point Coordinates:{0},{1},{2}", p.X, p.Y,p.Z);
}
XYZ point = new XYZ(4, 4, 0);
pc.Add(point);
Console.WriteLine("Count of points:{0}", pc.Count);
int index = pc.IndexOf(point);
Console.WriteLine("Index of point {0} is {1}", point, index);
pc.Remove(point);
Console.WriteLine("Count of points:{0}", pc.Count);
Autodesk.Revit.DB.PointClouds.PointCollection可作为存储大量点数据的一种方便易用的类使用,通过此类可以方便地添加、删除、移动、检索点数据。注意事项:数组长度尽量不要过大,否则会影响程序性能。