Autodesk.Revit.DB.PointClouds.IPointCloudAccess是一个Revit API中的接口,定义了访问.point文件中点云数据的方法。
该方法通过点云数据的索引获取点云中的一个点。返回的结果是一个Autodesk.Revit.DB.XYZ类型的坐标。
XYZ GetPointsByIndex(int index);
参数 | 类型 | 描述 |
---|---|---|
index | int | 点云数据的索引。 |
该方法通过点云数据的多个索引获取点云中的多个点。返回的结果是一个Autodesk.Revit.DB.XYZ类型的坐标数组。
IList<XYZ> GetPointsByIndexes(IList<int> indexes);
参数 | 类型 | 描述 |
---|---|---|
indexes | IList<int> | 点云数据的多个索引,以列表形式输入。 |
该方法通过点云数据的范围获取点云中的多个点。返回的结果是一个Autodesk.Revit.DB.XYZ类型的坐标数组。
IList<XYZ> GetPointsByRange(int startIndex, int count);
参数 | 类型 | 描述 |
---|---|---|
startIndex | int | 起始点的索引。 |
count | int | 范围内点云数据的数量。 |
IPointCloudAccess pointCloudAccess = pointCloud.GetPointCloudAccess();
//获取索引号2处的点云
XYZ point = pointCloudAccess.GetPointsByIndex(2);
//获取索引号在[0,9]间的点云
IList<int> indexes = new List<int>{0,1,2,3,4,5,6,7,8,9};
IList<XYZ> points = pointCloudAccess.GetPointsByIndexes(indexes);
//获取从索引号1开始的前5个点云
IList<XYZ> pointsRange = pointCloudAccess.GetPointsByRange(1, 5);