Closed ekkonap closed 8 years ago
And Clockwork version matches too. Missed the checkbox.
@ekkonap - could you provide a sample file with a room that has reversed boundary segment lines?
Also - if you just need to get to the area surface, you could retrieve the room as a solid with Element.Geometry
and then use Geometry.Explode
to find the bottom surface (one possible method: find the average point for each surface and take the one with the lowest Z coordinate).
I'll send it first thing tomorrow, with my script. One of those cases where reality trumps theory. It should not be happening, and taking the end point from every boundary curve and creating a polycurve through these points should not yield a different result. In this case, it does. The Rooms indeed do have solid representations, so no problems there. Areas however do not produce any associated geometry through an Element.Geometry method. That is where room.boundaries saves the day. But in the end, it is a surface I need, and fixing a workaround when there might be a direct way would be silly.
This example has a reversed segment at index 1.
The reason for this is that the room at index 1 has an outer and an inner boundary but the Revit API returns them as a flat list. Use archi-lab's Group Curves node to identify those two boundariee.
You're right. Thing is, I got around those multiple boundaries by filtering them out of my selection , but I left that part out of the script I sent to simplify matters, forgetting the inner boudary present in this Area element. My bad. There still is something there though, but after this I'll do my homework before sending you on another wild goosechase. Apologies.
Hi Andreas, I've been using room.boundaries to create Surfaces from Area Elements. Sometimes a boundary line is in the wrong direction (or a point in the wrong order), causing the line before that to connect to the wrong side. This causes an error if I try to create a Surface with the curve.patch node. Is this the Revit API throwing a curveball, and how could I compensate? I've had some succes making polycurves first by different methods and taking the shortest one, but that gets out of hand on complex areas.
I'd expect the room.boundaries node to consistently represent the actual area boundaries. Alternatively, do you happen to know if the actual Area surface is accessible directly trough the API?
My setup
Housekeeping
Please make sure these boxes are checked before submitting your issue: