Individual Ring Rotation for TBM Tunnel

Hello everyone,

I require your assistance in helping me find a solution to my issue. I created a Segmented Universal ring with a taper on both sides using a 2-Point Adaptive Family. Using Dynamo to place the points where the rings would sit, the only problem I have left to solve is the rotation of each individual ring.

I created Family Parameters that would rotate the ring according to the no of bolt holes, allowing for the ring to rotate at the correct position according to the holes.

My issue is the fact that I do not have the rotation angle for each ring and thus I am left to find out for myself. Is there any way you can help that would rotate the rings to the correct position according to the Coordinates with Nodes and Python scripts as I wish to have both?

Here are the Family Parameters for the Ring:

The picture below shows the tunnel in the beginning:

Below is the Dynamo script for the tunnel:

Below is the Python Script I am using for this:

1 Like

It is a litte bit unclear, the rotation is driven by a formula, so what you need is a script that dictates the value of the 5 parameters (Other) based on an input rotation?
Or you need to fetch the rotation of each ring based on the input of the 5 parameters?
Could you share a Revit sample file containing 3-4 rings that needs their holes to be aligned?
I promise you nothing, but I would like to give it a try.

The image above is what I need the rings to do according to the positions they are in. In other words, I am trying to have the rings rotate automatically according to how the previous ring or even the placement of the family is.

Also while I am unable to send the ring family as is, you can create a new adaptive 2 point family and recreate with these segments.

Rotation test Key.rfa (3.4 MB)
Rotation test S4L.rfa (1.2 MB)
Rotation test S2.rfa (1.1 MB)
Rotation test S3L.rfa (1.2 MB)
Rotation test S8L.rfa (1.2 MB)
Rotation test S5L.rfa (1.1 MB)
Rotation test S6L.rfa (1.2 MB)
Rotation test S7L.rfa (1.1 MB)

Hi @tristanBSLV3 ,

Interesting problem. From where do you get these points? Is there some sort of underlying PolyCurve/ Alignment? If so I would suggest splitting your pipe segments according to straight or arched segments.

Maybe something like this could help you get further:

With the knowledge of which segments are straight and which segments are curved can you do a lot of stuff, for example base the rotation value on that :slight_smile:

2021-11-25 FilterListByObjectType.dyn (42.7 KB)