Revit API:如何计算地板边缘的总点数?

时间:2017-06-15 16:00:58

标签: c# revit-api

作为我的标题,我想知道位于地板边缘的总端点。有没有人有解决方案? 我的理想也许是这样的:

int i = 0;
FilteredElementCollector docCollector1 = new FilteredElementCollector(doc).OfClass(typeof(Point));
foreach(Point point in docCollector1)
{
  i++;
}
TaskDialog.Show("Revit","Have total {0} point on the edge of the floor ", i);

这是关于我的问题的图片: Edge has endpoint

我只想知道我的地板上有多少个端点。

我可以通过此代码识别出4个边缘,但我仍然不知道每个边缘的所有点。

for (int i = 0; i < ea.Size; i++)
{
    Edge e = ea.get_Item(i);
        //Identify point located edge in here       
    IList<XYZ> exyz = e.Tessellate();
    int m = exyz.Count;
    XYZ sPoint = exyz[0];
    XYZ ePoint = exyz[m - 1];
    XYZ mPoint = new XYZ((sPoint.X + ePoint.X) / 2, (sPoint.Y + ePoint.Y) / 2, 0);          
}