BimorphNodes Elements.Intersect assigns the same room name/number to all elements

I’m using a Dynamo graph with BimorphNodes’ Elements.Intersect to pull room data (Name and Number) from Rooms and write those values into a shared/family parameter for elements inside each room (e.g., Casework, Furniture, Plumbing Fixtures, etc.).

The problem: every target element ends up with the same Room Name and Room Number, instead of getting the values from the specific room it’s in.

What the graph does:

  1. Collect all Rooms

  2. Get elements by categories (Casework, Furniture, Plumbing Fixtures, etc.)

  3. Use Elements.Intersect to find elements in each room

  4. Push Room Name and Room Number to parameters on the intersecting elements

Expected: Each element receives the Room Name/Number of the room it actually belongs to.
Actual: All elements get the same Room Name/Number (appears to be coming from one room in the list).
How do I sort this out ?

Hi

The screenshot is not very clear, it’s hard to see the names of nodes.

But my guess is that you need to select cross-lacing in Element.Intersect to check every bounding box with every element.

But also, keep in mind that bounding box of room can give you false positive results, because it may get bigger volume than room itself. As example - non-rectangular rooms or corridors with complex shape

I would highly recommend to use LinkElement.Solids to get exact geometry of rooms, and get location points of elements and then use node Geometry.Doesintersect

I am new to Dynamo….could you please elaborate how to proceed

There are multiple threads related to the same topic. refer to them for details.
The Genius Loci package has the “Room ToElement” node, and Clockwork and Archi-lab also have similar nodes. Please check them and use whichever is suitable for your requirement

This reads like a lacing and list levels issue. Try setting the elements input of the Element.SetParameterValueByName node to @L2 and the values input to @L1 to see if that resolves it. If not you may need to set the lacing to longest as well. If even that doesn’t fix it expand he data preview bubble for all nodes leading into the set parameter by name node and export your workspace as an image using the instructions I just linked.

The problem persists still…..i tried your instructions as well.

Hi @balamurali.kirutika have you tried set lacing to longest as well as suggested ?

It would be helpful if we could see the structures of all your inputs. The easier option, however, would probably be to use something like RoomAtPoint to get the room at each element’s location and then assign values. That ensures that you have one room (and therefore one parameter value) per element.

1 Like

Which node do i set to longest

Hi @balamurali.kirutika

try set parameter by name node to longest, but i would do it as Nick mention, best IMO :wink: