Geometry from Revit Areas

I am attempting to create 3D geometry (Mass) from a specific Area Scheme in Revit. These images are from the first leg of the graph which selects areas based on the name of the scheme - extracts the boundary geometry - and uses that list to create Polycurves (which then get extruded, made into Mass elements, etc.). Everything works fine until I run this on a model with Areas on more than one Level and where some area boundary lines “align” from one level to the next. At this point the PolyCurve.ByJoinedCurves node throws an error (Curve join produced more than one WIRE in polycurve) even though the coordinates generated by Room.Boundaries show a clear Z-axis separation. I’m pretty sure there’s something about the PolyCurve I’m not understanding. Can someone please help?

Thanks, wwm

If it’s anything like Rooms, once you get the Area run it through Element.Solids

@Bill_Markland I would suggest you use “Collector.Areas” from Rhythm. You could use more than one level and track unconnected boundaries if any.

I’ve had issues with element.solids and element.geometry when dealing with areas before. They didn’t like donut or areas with large voids.

I would try flattening the list of included areas, then group them by level. Then get the boundaries and do your polycurve creation. Lacing will matter here.

Also you may want to consider filtering the list to only include elements with an area greater than 0 prior to the grouping. Cleaning the nulls works, but asking your machine to pull the geometry of zero geometry elements is using resources best left for fun stuff like youtube videos of kittens. Asking ‘is your area > 0?’ works with data that already calculated and exists in the Revit file, but building Dynamo Geometry and removing the bulls requires your CPU calculating the geometry for unplaced and unbound areas even though they have none.

1 Like