Message 1 of 6
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have a floors that are created via API, for some reason i cannot get its boundary curves. The image on the left returns 0 curveloop while the image on the right (manually created) works fine. Please see below code and image for reference.
private static List<CurveLoop> GetFloorBoundaryLoops(Floor floor)
{
List<CurveLoop> curveLoops = new List<CurveLoop>();
Document doc = floor.Document;
ElementId elementId = new ElementId(floor.Id.IntegerValue - 1);
List<Curve> curves = new List<Curve>();
CurveLoop curveLoop;
if (doc.GetElement(elementId) is Sketch element)
{
int size = element.Profile.Size;
for (int i = 0; i < size; i++)
{
CurveArray item = element.Profile.get_Item(i);
if (item != null)
{
foreach (Curve curve in item)
{
curves.Add(curve);
}
}
curveLoop = new CurveLoop();
for (int j = 0; j <= curves.Count - 1; j++)
{
curveLoop.Append(curves[j].Clone());
}
curves.Clear();
curveLoops.Add(curveLoop);
}
}
return curveLoops;
Thanks
Solved! Go to Solution.
