Alright i am making a mess…
Can someone take a look, i tried following @GavinCrump youtube explanation but i cant really wrap my head around it…After a while I dont seem to get it to work down the line.
I am clashing multiple elements against a list of linked elements:
So far so good…
But now i have my list, of two lists, that contain either empty lists, or solids.
I need to filter by boolmask the original list with linked elements, so i get two lists with the linked elements that are clashing with the walls/floors.
Try with list
having no list levels and mask
staying at @L2
. You’re just filtering the full list of linked elements twice (once per sublist @L2
).
1 Like
Thank you Nick, that worked… I really need to wrap my head around list levels…
Could you assist me with the (almost) final part one more time…
I have the host elements, the wall and floor, and i need to place families on the points. The Element.GetLocation shows the location of the points for the clashes on the wall, and then for the floor. The families are also in the correct order and list structure. But the FamilyInstance.ByHostAndPoint ends up with a bunch of empties and nulls, although the structure is correct.
To add to this, I find it nearly always helps me to use @L2 versus leaving a list input as is, at least to understand list levels. The most common levels input is to send in two lists then use @L1/@L2. In principle this method is like saying 'for each object in the first list, run each of them against the full list in the other input. If you’ve used Grasshopper by chance it’s very similar to the graft method.
1 Like
Hi Gavin,
Thank you, i am trying to wrap my head around list management but at the same time i decided to do a relatively complicated graph that batch places opening in all walls/floors in a model that clash with a linked revit model… If it works, it would save days of work per project so I couldn’t help myself.
I have finished my graph and added about 200 views to your video explaining list levels . Very helpful to understand list managment
Would you or @Nick_Boyts be willing to look over my graph for me and see if you can critique it/see any obvious mistakes in lacing or list management? I don’t want to end up in a scenario where this works by chance and as soon as the input changes slightly it all falls apart,
I would be very grateful for some points/remarks
When i use a larger dataset, multiple walls, floors some families aren’t placed. I assume this is because of me mismanaging my lists…
Below a screenshot of the graph where not all families are placed correctly:
If you want some feedback on your entire graph logic you’re going to need to clean up as much as you can (you still have a lot of nodes that don’t go anywhere), show all the node previews so we can see exactly what every step looks like, and add at least a few comments to describe what you’re doing and where things seem to be failing. Your current image is also a little small and hard to read individual lines. See if you can get a higher resolution.
That being said, if you think you have an issue with list levels or list structure, the best solution is always to make everything match exactly. Duplicate values until every input has the exact same number of values in the exact same structure. As a side note, if you have a line for every value, you don’t actually need a specific structure anymore - you can just flatten everything into a single list for each input.