转载请复制以下信息:
原文链接: 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中的边信息。