Boundingboxes Intersection List

Hello Dynamo Community!

I have boundingboxes that represent Voids in Walls. As you can see some are intersecting.
I want to test if a boundingbox is intersecting with another boundingbox in the same wall, to later create a bigger boundingbox/Void instead.

It works like this if i select 1 wall:


But if i select more walls i get an additional level, the voids are grouped by the walls which is nice, but i dont know how i can get it to work to test every boundingbox with the other boundingboxes in the wall.

I cant´t handle this with lacing and levels alone :confused: Would really appreciate any advice :slight_smile:

Kind Regards!

I created a dyn file if somone minds testing. List Boxes.dyn (104.1 KB)

There are 3 lists of boundingboxes.

  • List 0 has no intersections
  • List 1 has 1 intersection
  • List 2 has 2 intersections

If i test the single lists for intersections I get the result that i want:

But i want to get the same result if all lists are combined in one list, so there should be 27 results and not 81. A Boundingbox should only be tested with others in its sublist.

Some Design Script to the rescue :slight_smile:

BoundingBox.Intersects(b<1><1>,b<1><2>);

2 Likes

:heart_eyes: Thank you Vikram!
Would you mind giving a little explanation? :slight_smile:

1 Like

See if my attempt at explaining replication guides helps clarify this

4 Likes

Thank you very much :slight_smile:

Is it possible that, because of this special intersection method we used now, it is not possible to filter the boundingboxes with this boolmask when using standard lacings methods? Because i tried everything but can`t get to the right result.

Do i now also need a spezial method to use the boolmask?

The replication guides don’t hamper or affect any future workflow.
It aids creating deeper lists.

I’m not sure what you intend to do next, but you could proceed with nodes. Using replication guides in one portion of your graph doesn’t compel you to continue using them.

Creating efficient workflows with replication guides (special method :slight_smile: ) could take some practice.

1 Like

Hello Vikram,

I did read all your explanaitions and some more, thanks for that! Will take me a while to understand it.

I still think, that i need to use the exact same replication method to filter by boolmask, i gave it a try but didnt work how i wanted to:

I want to test every item with a bool sublist like this:

The result should look like the beginning of this list, it gets messed up later:

image

Here is the new dyn file, would really appreciate some help :slight_smile: List Boxes.dyn (110.3 KB)

Hope this helps

List.FilterByBoolMask(b<1>,m<1><2>)["in"];

List Boxes.dyn (109.3 KB)

1 Like

This doesn´t only help, it solved the last piece in the script for placing voids automatically. And that makes me very happy :smiley:

Interresting this replication guides, I´m going to make a little dyn file to test and look up some different replication guide combinations, i think it´s not the last time i need this :slight_smile:

Big thanks to you Vikram!

1 Like

So i found a mistake in the graph and I´m struggling to get a solution.

The script is combining the intersecting voids correct into bigger voids:

But if i have the case that 3 or more voids are intersecting like this i have a problem:

Now this system of getting min and max points doesnt work anymore, i get 3 voids instead of a big one. I´m out of ideas and maybe have to work out a completely different graph?!

Another method i tried was creating solids and comine them by solidsbyunion, this was also no success because that even combined solids that were not intersecting.

Maybe anyone had a similar problem and has some ideas for me?

Thanks in advance! :slight_smile:

I could solve this problem by adding a second sequence of testing for intersection, combine BB, unique items. This works now for up to 4 BB.
By adding a third sequence it works for up to 8 BB.