Placing multiple adaptive instances in specific order

Hi everyone,

I need help with placing multiple instances of adaptive components. I asked earlier for help with similar problem but the thing is dat this time it’s the node of adaptive components by points that makes everything a bit tricky. I hope the problem is understanble with the screenshot and provided files. I used single adaptive point but actually i need to place instances at two points.

Thanks in advance!

Book1.xlsx (10.4 KB)
Home.dyn (7.3 KB)

The AdaptiveComponent.ByPoints node takes a 2D list. You’re inputting a 1D list. The square brackets shown in the input hints also provide direction as to the list structure required.

Also, if your image is accurate, there is also no family type input.

@Thomas_Mahon
How do you mean 2D vs 1D?

Huh, there is… I loaded one adaptive generic model with 3 types of instances.

Yes, you might have a family with 3 types

But you need to tell Dynamo that by feeding the type into the ‘family type’ input for the AdaptiveComponent.ByPoints node

you do this with a ‘family types’ node

This is in addition to correcting the the list structure that Thomas described

1 Like

@Andrew_Hannell
Ok, but will Dynamo place those types in the order that I need? Because that’s the issue… I can place one family with multiple types and then manually change each instance to the right type but in my project there are 472 of them.

Its a concept used to describe different list ranks (depths) in an easy-to-understand way and is analogous to X, Y and Z, hence the notation:

1D = flat list (rank 1)
2D = list of list (rank 2)
3D = list of list of lists (rank 3)

4D and beyond is rarely used as a term mainly because it doesn’t map to Cartesian dimensions. Rank is more commonly used to describe higher D’s. The Dynamo primer has a section on lists for more info.

@Thomas_Mahon

Now i understand what do you mean. Sorry but not really used to terminologie. It was a bit late so i forgot to create a sublist but it’s noting. The issue is placing the instances in certain order.

Something tells me there is no way to place multiple adaptive components in specific order with this node… :frowning:

Correct. The ‘simplest’ way to get around this limitation is to write a DesignScript function. Failing that, you will need multiple AdaptiveComponent.ByPoints nodes and manually manage your lists to reach the desired goal. Taking this approach however, will severely limit the ability to automate and you might find simply placing the AC’s manually quicker.

Hm… so DesignScript is the solution. But I haven’t learned Python yet… I hope somebody can help with this… I assume other people might as well need placing more than one type of adaptive element.

Thanks with diagnosing the core of the issue!

Since nobody seems rushing to help, for others that might have this issue i did found the work around. After placing a single adaptive component at all the positions you need you can use SetParameterValueByName node and with a list of family instances in the order you need the Dynamo will change the types accordingly.

You do need a list of family instances in the order you need. For that i got help earlier from @erfajo. You can see the solution here Lists matching .

Sorry I didnt see this, but glad that a previous solution helped you :slight_smile:
however, will I point to the updated ansver I gave, it is much cleaner :slight_smile:

1 Like