I’m back at it trying to solve my problem of pushing room names and numbers through phases (see Room data phase migration -- I'm stuck! for my previous post on this). I’ve got a solution that works (link below), but my problem is that it only works on a simplified model. When I pull it into the project I really need it for it breaks down and I don’t understand what it’s doing. It pulls data from rooms that don’t make any sense as far as the logic of the script. Clearly I’m missing something and I’m hoping someone here can help me figure it out.
Push - Rooms match phase to phase.dyn (63.5 KB)
In this image the bottom is the earlier phase and the top is the later phase. As you can see it is working for two of the rooms but not the other two. There are linked models, in case that might be part of the problem (though I’m not sure how).
Hi Anne, which package contains “filter rooms by level” node? Could not test because i don´t have this package. But it seems strange to me that this node is feeding “filter boolean mask” and “geometry.boundingbox” nodes. I suppose it’s output are trues and falses, right? Shouldn’t you put a filter by boolean mask before the geometry.boundingbox?
That’s a custom node I made, here it is:
Filter Rooms by Level.dyf (5.7 KB)
The output of the custom node is a filtered list. I hadn’t considered that could be part of the problem but if I made it I’m sure it could be! Can’t see it myself…
Hi Anne, please forget what i wrote before, i misunderstood the logic of your script.
I’ve tested your code here and got similar problems. It seems to me that the problem lies with the Geometry.boundingbox node. I think the bounding box is a box that contains all the geometry and doesn’t follow the perimeter of the room. This way some rooms can be inside two rooms’ bounding boxes of a earlier phase, causing a “misalignment” between the lists of the different phases. In my test i had 6 rooms in one list and 7 rooms in other due to a room inside two different bounding boxes.
Hope i made myself clear.