Help with List.Combine

I am trying to feed multiple “parts” to a script that I have been modifying found in this post:
(https://revitbeyondbim.wordpress.com/2015/10/15/automatic-element-view-generation-in-revit-with-dynamo-3/)

I can get the script to work just fine when only a single part is selected, but it does not yield the results I would expect when selecting multiple parts. It appears that the area of hiccup is at the list.combine node (more explanation to follow):

The above image is the proper output of data when a single part is selected.

My understanding of this portion of the graph is that it transforms the local coordinate system of the solid curves (stolen from the selected parts) to that of the world coordinate system which then is utilized for the section cut.

When I try to feed multiple parts to this node, I loose my expected output from list.combine:

I would expect to have a list structure that matches exactly that of my curve start point list (2 total lists with 38 individual entries like in the screen shot below), like I get when I do this on a single part. I was thinking that maybe controlling the levels on this node would solve this problem, but list.combine node does not allow for level control? Never experienced this before on a node; I have not used list.combine at all before.

Any direction would be appreciated.

Hi @austin.guter

Trying switching inputs may be connect points to Geometry input and coordinate system to list2 or use @ L1,L2 list levels etc.

1 Like

Thanks for your assistance @Kulkul, finally back in front of the computer after the holidays here in the states.

So I have tried the suggestions you provided to me, but with no luck.

First suggestion:

Trying switching inputs may be connect points to Geometry input and coordinate system to list2

Attached is screenshot, it yields a null result now.

Second suggestion:

or use @ L1,L2 list levels etc.

This goes back to my original post, for some reason the list.combine function does not allow for the use of level inputs? I’ve never experienced this before with a node. Typically i click on the right pointing arrow to control level input, but again, this node does not have this feature?

Image above shows my typical right pointing arrow and the list.combine function not have this arrow.

Thanks,
S&T

combine is not a zero touch node, it’s a nodeModel node with a specific AST - it would need to be updated to use list@level and either this was overlooked or decided against for some reason - FYI @Racel

The nodes which work with functions do not have list levels as they came into existence to overcome the lack of list levels. List.Map, Function.Compose, et al are also all missing list levels for this reason. Note that the post which you referr to predates the introduction of list levels by about a year, hence the requirement for mapping,function composition, and list combinations. This is the joy of a fast moving platform like Dynamo - what you read today is outdated by next month. You may have further issues if you tried rebuilding the graph from scratch in 2.0 or later.

In the newer Dynamo versions, the result can be achieved using levels and using the nodes to calculate rather than building a function. Start with this, and adjust the list levels acordingly:

2 Likes

Thanks @jacob.small, that did the trick.


Also, thanks for the history lesson on dynamo. Feels like list levels are a lot easier for me to understand rather than these mysterious functions. Maybe if I was in the early years of dynamo, they would make sense.

2 Likes

Glad I could help out. :slight_smile: