Tunnel modelling with Dynamo

Hi, All
I am deeply appreciate that you came here to help someone.
I started Revit Dynamo in January, it was a short time, but I learned a lot from here.
I started Dynamo to do tunnel modeling, and I am learning a lot in this forum.

and here I am going to sort out the things I learned and ask some questions.

At first,
The tunnel I’m designing is on a 3D curve curve that changes along the X, Y, and Z axes.
In this case, we can’t start with Structural Framing Family.
Revit structural Framing Family can not put along the 3D curve.

I tried this so many time, but I only found this is impossble.


“Structural Framing” category that is curved in more than one plane

If you have any idea that this is possible, please share your thoughts in this forum.

AdaptiveComponent.byPoints is also impossible.

I made family like this,

the result is…

family has rotated.
This is a matter of adaptive component points,

If I move first point in Y axis,

The family changes along the curve.

but If I move first point in Y and Z axis,

It rotate.
I cannot control this unwanted rotations.

If I want to prevent such unwanted curve rotations, I need to create another adaptive point in the Z direction.

But you know,
then, we have to create 4th points of curve, maybe offset points, this is impossible in 3D curve.
this is different from the “translate point”.

I cannot find the way to find the “offset points” of 3D curve.
If you have any other good ideas, please let me know.

At Last,
Even if tunnel modeling succeeds, the last problem remains.
If the section where the cross section of the tunnel changes is a curved section, there is a gap in the section.

This seems to be a problem with the angle of the section, but it seems impossible to control it in a three-dimensional curve.

I would like to ask the advice of many experts about the three problems I raised.

Thank you for read this topic.
I wish you full of luck on today :grin:

1 Like

maybe this helps

Hi, this is just a suggestion
after extracting the adaptive points from the excel just make them as a reference point in the adaptive family template.
select this reference point and create spline by clickingimage and create the axis spline of the tunnel.
select the spline and click divide path icon you can divide it as per your requirement

create a new adaptive family stating the profile make sure you draw your profile in top view and insert into it like the image below

select all the instance or up to a particular region create form and make the reference points adaptive

and again the place the family into project by using adaptive component by points node from the excel input point

have a nice day :smile:


Thanks, Marcel.
I already read this,but I cannot understand how this works.
I just adjusted this my family, but nothing is changed.

Is my family in the wrong way?

did you try the diagnostic tripod family?
diagnosticTripod.rfa (424 KB)
and did you place your adaptive in a new setup or just overwrite the family?

I opened new template, and drew new 3points by HOST(XYZ), and drew new cross sections and…

패밀리1.rfa (384 KB)

For constant-profile tunnels such as TBM tunnels- then adaptive families are your best bet. To resolve the gap/overlap issue, then the easiest way is probably to nest a void family.

I’m not quite sure what you mean- but as far as I know, an adaptive family can only be given a category as shown below- not structural framing

You can put structural framing families along a 3D curve- say using StructuralFraming.BeamByCurve.

Thanks, Marcel.
I tried the diagnostic tripod family but, I can’t understand how it works,
Can you show me another samples about it?
I upload my family, could you advice what’s wrong with it?
T1001753P20라이닝.rfa (644 KB)

AdaptiveComponents 3points 각도 조정.dyn (158.1 KB)

I also follow this discussion. I’m interested!

Hello Mu_Jica,

Try to build your Main Family out of 2 Familys. The first Family contains your Profil. For that create a new adaptive Family and place an adaptive point on the Reference Plane. Make sure your adaptive Point is global z then xy.
After this first step create another adaptive family. Create 3 adaptive Points on the Reference Plane (set them to global z then xy). Mark the 3 adaptive Points and create a Spline through them. Set this line as Reference Line. Import the first Family and place it anywhere on your Reference Line two times. Then manuelly move them to the start and end. Mark the two Profiles and the Reference Line and create a VolumeBody.