Rotate MGMA (Adaptative generic metric model) placed on XY axis to XZ axis


Hi, i see i don’t know who to creat a family like your example.
I go back to you when i know who to do this.

Have you got your test family to see how you build it ?

Thank’s in advanced.


shure…but it is created in Revit 2019
adaptiv_family_example.rfa (556 KB)


Hi !
I now understand who to build an adaptativ family correctly !
I go back to you when my DYNAMO is ready to create what i want :slight_smile:

See you soon ! (2 weeks i think)


All right !
I give you the family i need to place : MGMA_Corniere_50x50


Can’t upload a family as a new user :slight_smile:

First link is my dynamo :


The results :

What’s wrong ?


You want to place a adaptive family with 2 point.
Now you need to take this node:
you can control the oriantation of every adaptiv points:

So maybe you want, your point stay always vertical…

Reorganize List

Ah yeah, i haven’t see that :slight_smile:
I have an ultimate question for you, as you can see below, i correctly create my profil ( red line) :


but i would like to have this :

I tried to combine different list to make that but that create something special :slight_smile:

I continue to try. Thanks in advance for your help


I have this for you


Need this :


Hi, you need to have point pairs with 2 point, because your adaptiv family has 2 placement points:
If you have two lists with 2point pairs, than use “join”:


maybe like that:


Hi, yes of course i tried this but, as you can see on the screenshot on top, i try to attribute 1 item of the list with the 1 item of the second list.

My objective is to create a list of point(by two) as x = 26; y = a; z = b and x = 474; y = a; z = b
a and b are var (different coords)

I have tried many mix with list.join and list.create ans list.transpose but don’t arrived at my end.

Maybe if the results of curve.pointasequalchordlength are a simple list i can do something.

Thank you very much for your help !


To give you the context this is the real problem :

I know who to create the crosstie x time (x is the number of frame i need (it’s a var, it depends of the need) )
What i try during theres days is to “duplicate” this crosstie on the ground in a “z” (coords).

I have tried many mix but nothing work :disappointed_relieved: :sweat_smile:

The picture below is the part of dynamo who create the crosstie :


Comments are on the dynamo


sorry…i have not enough time jet…i will help you later:
maybe this helps you:


No problem, thanks for your time today.

I do your solution on my dynamo and there is the results :

I have thinking number in k[ … ] was the number of the list but no in fact :slight_smile:

This solution only work for the first patern of mount.

Thank you again.


MDR :joy::joy::joy::joy::joy:

It works, i search for a short solution but it works.

Many thank’s for your help !

It was a very short but very effective work !



Hi, I found a solution for my problem.

Remind the initial problem :
Can correctly merge two list of point in case of list “level”.

As you can see, on the screenshot, my point exit are in this form :

__list 0
____x = … ; y = … ; z = …
__list 1
____x = … ; y = … ; z = …

If you use list.transpose in this case you don’t obtain the points you need to place your adaptive component with two point.

To place your adaptive component by two point you need that type of form :

__list 0
____x = … ; y = … ; z = …
____x = … ; y = … ; z = …
__list 1
____x = … ; y = … ; z = …
____x = … ; y = … ; z = …

To delete a “level” of list you need flaten node in exit of point.bycoordonate to get this :

__x = … ; y = … ; z = …
__x = … ; y = … ; z = …
__x = … ; y = … ; z = …
__x = … ; y = … ; z = …

Now if you transpose this type of list you obtain that :

__list 0
____x = … ; y = … ; z = …
____x = … ; y = … ; z = …
__list 1
____x = … ; y = … ; z = …
____x = … ; y = … ; z = …

This is the dynamo of the solution :

Fact :

Flaten remoove you a level of list in a list. It can also delete null value of a list.

list.transpose work like this (bold is enter, green is the exit)

I hope this final post will be helpfull for us !

See you soon on


Im happy that you found a solution, or understand how to use the nodes:)
because i posted this already (similar to your solution):