Get matching from one list

Hi, this script would make ceiling plans from floor plans on sheets. However with additional levels in the project it wont work matching up the levels to create ceilings plan. In this instance. “Level 0” and “Level 1” are messing up the matching. Below is a diagram of what I want to do. Hope it makes sense. I’ve been trying to list unique items from the main list of levels I want and filter out the levels in the project but not sure if im just confusing myself. Possibley some cross lacing needs to happen somwhere. Thanks for any help

I am pretty confused. It might help to see more of the graph or at least what elements you are feeding into the GetParameterValueByName node. I am guessing it is existing floor plans but why are they in 4 pairs? Different disciplines for the same two levels?

What do you want the outcome to be? 2 ceiling plans using the levels that are in use by any floor plan? For example the ceilingplan node would create a ceiling plan for Stg 2 - L0 and Stg 2 - L1.

If the above is the case, this should work:

Better method:

Not sure if a flatten node before the list input for List.Contains would help any but as is, this should be the fastest method.

Are you trying to create ceiling part plans of each floor part plan?

Sorry Im really bad at explaining somtimes. I’m trying to create ceiling plans from floor plans collected on sheets. So I need to swap out the matching levels in the collected floor plan list.

So in this instance. The 2 matching levels to the floor plan list need to be swapped into those 8 values.

Will try some of your examples soon. Thank you Kenny!

The Start

I feel like this is a bit mental but got there in the end with this. Not sure how iron clad it will be for different situations.

However, my ceiling plans are duplicated from the level, not floor plan. So I’ve lost the rotation on the crop region. No idea how I’d solve this. Maybe If getting a rotation of a crop can be copied to another?


I think this can get a crop box rotation from my floor plan and then possibley set it on my ceiling plan. Just have no idea what to do with the code, tinkering around.

For the rotation issue, you could use a scopebox inside Revit instead. It can be rotated and then used for both ceiling and floor plans.

1 Like

Thanks Kenny but want to avoid the script relying on things like scope boxes so anyone can open it up and use it

Hi, can anyone help with this. The highlighted value is what I want to end up at the arrowed list. However somethings going wrong along the way. The logic seemed to work with alot more values before :confused:

Learn new methods, solve old things. Probably a more efficient way, maybe with replace item at index :thinking: