Subassembly links slope

Hello everyone.

I want to extract from C3D the slopes that the links have at a specific range of stations. I saw that you have in the Civil3DToolkit this node:

Then, I realized that that node does not take into consideration the slope if you have set a target in vertical. It just shows the values that you have in your superelevation view tabular menu:

In the project that I am currently working on, we have a junction designed with targets in horizontal & vertical. For that reason, I want to extract the cross-slope of subassembly links at stations keeping the positive or negative sign (+/-):

I am trying to extract the data creating Coordinatesystems at the FeatureLines defined by the PointCode in the Subassembly and then, with this node, trying to extract the angle but I am not getting the same outcome that my cross sections in C3D show:

Do you know any specific node to extract links slopes?

Thank you so much.

May this help you?

Hi @hosneyalaa .

Thank you for your reply. Yeah, this is another workaround but once you have those lines created, how can I get the slopes of those lines with a XY Plane keeping negative sign when its below the XY Plane and positive when its above XY Plane?

Hi @JMCiller,

Not at my PC now but I’m pretty sure there is an OOTB node to get the parameters of an AppliedSubassembly by station?

just a quick thought on what I would try in that case : use your approach of getting the 2 points, and then create a function (python or design script) to calculate the slope so m = (y2-y1)/(x2-x1). I’m assuming this is linear

Hi @mzjensen . I tried to find an OOTB node which gives me as output the width and slope of the subassembly links at specific chainages but I could not find anything. I did it getting CoordinateSystems from Baseline & FeatureLines, getting the points and then linking those points to get the lines. After that, I projected thos lines on XY plane to have the width in projection.

If it rings you a bell that there is an OOTB node for that, I´d appreciate so much if you can tell which one it is.


I think the nodes you want are under the AppliedSubassembly and SubassemblyParameter shelfs. Here’s a really quick example, but you could do more filtering to get only the daylight links that you want by name, for example.

Thank you for the quick reply @mzjensen .

I am gonna have a look at it and I will get back to you with my feedback on this. I need to test if it takes into consideration the targets (variable height=variable slope through the stations) or just take the slope values from the Superelevation table as this node does:

my english is not good

I think as @david_licona said is what you want

If you can attach The dynamo file is an example of what you are working on So that we will try with you to reach a conclusion

Like an idea I haven’t tried If you have cross sections Can you show a Grade link label on Section to get the angle

Yes. An AppliedSubassembly is basically a corridor section, like what you would look at in the section editor. So those nodes are reading the calculated values of each subassembly parameter at the particular stations that you choose. Here’s an example with a variable slope daylight, and you can see the slopes from each SubassemblyParameter are read correctly.

1 Like

Hi @mzjensen ,

It works! It gives you the values that I am looking for! Besides, not only gives you the slope but also gives you the length of the link so that´s great. I am only struggling with one issue. When I insert a range of stations, the node it is not working as you can see in the following screenshot. Besides, if I try with another input, such as 1600, it does not work either. It just works with, for instance, 1500 input:

Does that mean that my range of stations should match with the cross-sections generated by the corridor based on the frequencies?

If so, how can I get the stations where the frequencies have been generated?

Many thanks.

Baseline > Stations



I just want to say tank you a million of times @mzjensen @Paolo_Emilio_Serra1 ! I got it!

1 Like