Feed multiple families into AdaptiveComponent.ByPoints

I want to apply two adaptive families (a1 and a2) onto two point groups(PG1 and PG2).
What I want is two family instance: a1-PG1 and a2->PG2.
But it creates cross lacing: a1-PG1, a1-PG2; a2->PG1, a2->PG2.

If I change the lacing to short or long, and try to keep the structure of thr family as the same as that of point group by using Chop, it will show arguments error

I know people may ask why not do it one by one, feed just one family into the component everytime.
This is a simplified version of a complex senario,
so I want to know how to Feed multiple families into AdaptiveComponent.ByPoints
by using components or python code.

1.dyn (22.7 KB) 1.rvt (2.0 MB)

Hi @Xiaofei_Ying,

Have you tried chaning the list levels on the AdaptiveComponent.ByPoints node?

1 Like


Why adding one more level (list chop) to the points group makes the lacing from the previous cross lacing to the current shortest lacing?

You need this extra list level inside your points list. This is because the node expects a list with lists inside which then contain points. This for every FamilyType.

So List 0 in L3 is for Type 1 and List 1 in L3 is for Type 2 etc.
Then List 0 in L2 (of List 0 L3) is for Instance 1 of Type 1, grouped by the amount of points needed for that adaptive component, etc.