Revit二次开发文章:怎样从CurveLoop中获取其中的边

来源:互联网 发布:sql 2005卸载安装2008 编辑:程序博客网 时间:2024/05/01 18:30

 

转载请复制以下信息:
 

原文链接: http://blog.csdn.net/joexiongjin/article/details/7528247

作者:  叶雄进 , Autodesk

2012.5.2

 

问:


在Revit2013 中,可以从下面这个API中获取墙轮廓线 CurveLoop数组,但是获取不到CurveLoop的边。
IList<CurveLoop^>^ pCurveLoops = ExporterIFCUtils::GetElevationProfile(pWall);

请问如何获得其边?

 

答:

1. 可以从下面语句返回loop的一个边的遍历器 iterator

 //loop is LoopCurve 类型的实例。

CurveLoopIterator iteraor =  loop.GetCurveLoopIterator()

 

2. 从这个遍历器返回其所指向的边Curve

Curve curve = iterator.Current;

 

这样就可以获得边了,做一个遍历即可获得所有的边。

 

代码如下:

 

CurveLoopIterator iteraor =  loop.GetCurveLoopIterator()

While(iterator.MoveNext())

{

    Curve curve = iterator.Current;

}


 

注: 在Revit 2012中CurveLoop没有开放 GetCurveLoopIterator 函数,所以无法访问CurveLoop中的边信息。
 

原创粉丝点击