Hey.
If you look at the picture, i have made a filled region. I want to make a script there can figure out which elements there are inside the area. Which means, in this example, i want a list with the objected with crosses on them.
I know how i can do something with boundingbox, but that gets all elements which the box intersect.
Solid union of area volume with walls will produce solids that will have same parameters when walls are completely within that Volume. Otherwise the parameters will differ and you can sort them out.
I’m driving it off what you actually see in the view… ie. the cut surface of the wall… (incase you have a wall which is inside in this view but not entirely inside the area solid, perhaps it spans several levels)…
This option might be worse if you only want the ones who’s volume IS entirely in the area solid
As i understand your script, it’s works in af plan view, i want something 3D.
I want something, where i make a reference level belov the hole building. And in that level i make, some way or another, some filled region too symbolise locations. Then i think of some way to make af solid, there is a lot higher then the building. And everything inside, and only inside the solid get sorted out. And i mean everything, floors, ceilings, walls, furniture, casework and ect.
So far i have used filled region to mark an area. but i can’t get to make a solid or anything else there have 3 dimensions. I imagined i could copied the boundary lines up and somehow make a solid that way, but can’t figure out how.
So you will make your level, then a plan view to draw your filled region, then you get it’s geometry and the first one of those is a surface, you can use Extrude As Solid and go as high as you like… then use @lucamanzoni’s graph
It worked with the new node.
But the scripted don’t work, it can’t handle floors, and i can’t get it to work with more then one area/filled region location.
Here is there no floors selected, and the first intersection works.
But with the second intersection it’s don’t work. I have marked the floor line there is outside the solid. But it still say it’s inside.
@1065553 You are right, you don’t get location for floors, so probably you need to remove floors from your selection and try something different. I didn’t consider floors because they are shared between areas.
For the second point you are taking the in output of the last node, but you need the out one (check my graph), what you want is the elements that are not intersecting the faces.
@kennyb6 the problem is that OP wanted to remove walls that are intersecting the area volume. If you only take center points you can’t find those walls partially outside the box. In my method I proposed GetLocation because you get points for family instances like windows and doors, and lines for walls, and then you can check intersection between those lines and the box faces. But true, it doesn’t work for floors.
From what I understood in the first picture, he didn’t want the walls that were at least 50% outside or so (only the Xs, not the Os). In that case, the center point would be a good compromise. Alternatively, you could do both, where if Get Location returns a null, use the center point.
Edit: I think it would work best in practice to use an Active View, then you could make sure that view was showing everything you wanted to clash, it would avoid doing everything in the entire model…
Here is my version.
I can only handle one filled region at the time, but it gets all the element i need.
If you have some ideas to how to include multiple filled regions in this script, i would love to see them.