【发布时间】:2019-09-21 23:32:36
【问题描述】:
我使用 revit 代码来收集 CurveLoops 并创建放样几何体。
使用 for 循环创建 CurveLoops 可以正常工作(从点创建线)。但它会创建两个单独的 CurveLoops。
我尝试将 for 循环结果添加到新列表 (profile3)。但它返回两个列表,其中包含一个 CurveLoop。在我的情况下,它应该是一个列表中的两个曲线循环(profile3)
CurveLoop profileLoop = new CurveLoop();
List<CurveLoop> profile3 = new List<CurveLoop>();
SolidOptions options = new SolidOptions(ElementId.InvalidElementId,
ElementId.InvalidElementId);
for (int i = 0; i < p.Count - 1; ++i)
{
// Create lines and convert points to mm
Line line = Line.CreateBound(p[i] / 304.8, p[i + 1] / 304.8);
//Append points to CurveLoop
profileLoop.Append(line);
}
//Here I want to add both created CurveLoops to list
profile3.Add(profileLoop);
//Create Loft
Solid loft = GeometryCreationUtilities.CreateLoftGeometry(profile3
, options);
无法创建阁楼,因为它在列表中只有一个曲线循环,并且需要从 for 循环中创建两个
【问题讨论】:
-
我真的看不出你在哪里创建 2 个 CurveLoops.. 我只看到 1 个 Curveloop 对象
-
您是否发布了所有代码?这里只有一个
Curveloop对象。 -
从API 来看,CurveLoop 似乎是曲线的集合......也许这就是产生混乱的地方?
-
它从两个包含 9 个点的列表中创建两个 CurveLoops
标签: c# list for-loop revit-api