Automatic Creation of Phases by Rooms

Trying to create phases (Takte) by:

  1. Defining Boundary Lines (blue) and creating parts

  2. Drawing spline line (red) with one control Point per Phase, or room

  3. Creating rooms at the spline Points, with the Boundary Lines as room boundaries

  4. Defining the Phase Parameter for the rooms according to their spline control Point (1…n)

  5. Pushing the Phase Parameter from the room to the elements contained in the room

Problems occur at (4) and (5):

  1. The Python node below does not ignore the elements boundary lines, so the rooms do not have the dimensions I would like from the boundary lines created in step 1. How can I ignore / hide / temporarily delete all elements not needed for this “room” creation?

uvs =
for i in IN[0]:
uvs.append(UnwrapElement(i).ToXyz())
level=UnwrapElement(IN[1])
roomlist=

Start Transaction

TransactionManager.Instance.EnsureInTransaction(doc)

for item in uvs:
uv=UV(item.X,item.Y)
a=doc.Create.NewRoom(level,uv)
roomlist.append(a)

End Transaction

  1. Pushing the room Parameter to the parts does not work as wanted – perhaps because the number of elements and rooms do not correlate. Also, the bounding box of a room does not necessarily do what I want it to (node: “Tool.GetSurroundingElements”)

Any help?

1 Like