Im currently facing a few issues, partially I guess because of things I do not know about how Revit handles some data.
I tried to make a small test project that copies the rooms and room lines over into the WIP project, saving time on manually importing it. Turns out the architect model doesnt contain any room seperation lines, so I have to make them from the existing rooms myself:
# Get the boundaries of the room
boundary_options = SpatialElementBoundaryOptions()
boundaries = room.GetBoundarySegments(boundary_options)
for boundary in boundaries:
for segment in boundary:
# Create a line from the segment
line = segment.GetCurve()
# Create a new room separation line
new_line = doc.Create.NewModelCurve(line, SketchPlane.Create(doc, Plane.CreateByNormalAndOrigin(XYZ.BasisZ, line.GetEndPoint(0))))
new_room_separation_lines.append(new_line)
# Increment the room separation count for the level
if level_name in level_names:
index = level_names.index(level_name)
room_separation_counts[index] += 1
Issue: It seems to create normal lines in the project I want to extract the data from.
Copying (normal) rooms between projects also seems to not be something that is typical for Revit, some said itâs not possible to copy them at all.
After that I would have to create and label MEP rooms. Is that possible as well?
I do not expect too much help, would be cool if you can help me with what revit dynamo can do here