Can not get elements from linked file filtered by parameter name ;(

I want to filter some walls by Type, but I can’t ;(
help

Hello @sivin.sivov …could something help you…

1 Like

It worked, thanks!

1 Like

I got stuck again. I’ve been trying to get the elements (walls from linked file) from the string back to “elements” so I can check if they intersect with some spheres I’ve generated around a set of components (workstations from the same file).

the intersection check works with components from the same file but I can not seem to get it to run with the linked walls.

You can try this way

But aslo I will reccomend using node LinkElement.Element from Bimorph nodes package. For checking intersection Bimorph also have some reliable nodes like Element.IntersectsSolid

1 Like

Thanks for the help so far.
I’ve reached futher in my goal but I got stuck again.
When I try to see if the components (spheres on their center points) intersect with a single type of wall i get good results but when I try to find the intersections on multiple work stations with multiple walls I don’t get proper results and I am failing to see why.

Green brackets - successful
red brackets - not so much

Sorry, but the screenshot has poor quality, it’s hard to recognise nodes. Please provide screenshots in better quality for parts of a graph that does’nt work.


Working part
Get Type A workstations (create a sphere from them so I get an intersection because they might lie a bit in front of the wall) and see if they intersect with a particular type of wall, Beton, Gips, or Installation channels. That works


Not working part
It doesn’t give me results if I try to see the intersections between multiple Work station types and multiple types of light walls (Letvæg)
Maybe it’s something with the lasing.

Its still with bad quality, I separated it into parts

Working parts

Not working part.

Gathering multiple work stations (spheres) and multiple walls and don’t get intersection results.

One question towards part that doesnt’s work - do you want to add parameter value “Let Vaeg” to all workstations that clash with all types of walls? Or as a result do you also want to set diffetent values by the different types of walls?

First of all, you need to turn on Cross-product intersection in Element.IntersectSolid node. Next one is that you are using FilterbyBool Mask not properly. You connect electrical fixtures elements in List, but your mask is related to wall elements.

I will give an exaple how to do it properly a bit later

I’ve just added a Random setparameter by name. Best case scenario would be that it places the elements type name on the new parameter (BRA).

I tried the cross lacing with still no results.

I’m connecting the first list to the Filter by bool mask because that list contains all of the different types of work stations that should receive the new custom parameter (BRA)

Ok. To show you how it works, I’ve created a sample file from scratch with number of walls and lighting fixtures. Created spheres around fixtures.
And then created script which check intersection of walls and spheres (as in your graph). Then I’ve filtered fixtures that have wall intersections, and walls which intersect related fixtures. Get wall type from intersecting walls and set value for fixtures to illustrate which wall type intersect with specific fixture. I hope it helps.


1 Like

It actually worked pretty great. If I try it with a little amount of filtered elements but if i try to check the intersections of all walls with all el fixtures it gets stuck. Am I messing something up in the lacing or the logic or is my PC just unable to run all of those intersections?

What dou you mean “stuck”? Dynamo doesn’t respond or script isn’t working properly? If dynamo doesn’t respond, that can be caused by the big number of elements you are trying to check by intersection.

Also, while testing I’ve noticed that Element.IntersectsSolid actually don’t really need cross product lacing as it was in previous versions of Dynamo. So you can try to set lacing to Auto and change lacing of List.Flatten to @L2.

And the last thing - do you have some spheres clashing multiple walls? If yes, then the last part of script should be a bit modyfied.

1 Like

This solved everything. It was getting stuck by the cross lacing due to millions of combinations of walls and fixtures. With auto lacing it ran all light fixtures and ceilings in the 26 floor building in less than 10 minutes. Thank you very much sir!

I seem to be getting some inconsistent results on electrical fixtures. They are a big number and the intersection messes up somewhere. I’ll try to play with the sphere size.




I believe the issue comes indeed because of some components are clashing with multiple walls.

Sory, couldn’t reply earlier. So If you have multiple walls clashing with el.fixtures(spheres), what result do you want to see in parameter value as result?
Number of wall types like “Wall Type 1, Wall Type 2, Wall Type 3…”?

If this is the result you want to gain, please respond “yes”. After that I would be able to help

that would be great, yeah