ZAxis of Featureline CoordinateSystems by station always Z-Normal?

If I request CoordinateSystems by Station along Corridor Featurelines, I will receive a list of those where the XAxis and YAxis are pointing towards the next one in the list. But the ZAxis vector is always normal (0,0,1).

dy1

If I import the Featureline as PolyCurve in Dynamo and request the CoordinateSystems along it, the ZAxis is perpendicular to the PolyCurve, as expected.

Why is it that the ZAxis is not rotated? It should be a valuable value for the normal when placing blocks that needs a Z rotation as well. Any Autodesk developer who can explain the reason why it is designed like this?

@angelohbwang FYI

By convention the coordinate system in a baseline has the Z axis always vertical. This is because the cross sections of a corridor are placed in planes orthogonal to the alignment which is by definition always in the XY plane.
This is very useful along an alignment that has arcs/transitions with their centers laying on opposite sides of the alignment: if you were to follow the geometrical definition of a coordinate system you could have cross sections upside-down, but if you “override” this behaviour and you assume the Z is always vertical you can avoid this issue.
Hence the CoordinateSystems retrieved from the baseline have the same orientation of the alignment so that the cross-sections are always pointing up regardless where the center of the curve is with respect to the orientation of the alignment.
Where you are looking at the geometry objects underneath a Baseline or a Feature Line they return Dynamo geometry objects (e.g. PolyCurves) and they are following the standard geometrical rules.

1 Like

FYI on coordinate system colors @Aparajit_Pratap.

Ok, that sounds like a good reason :slight_smile: Thanks!

There is a vertical parameter for CorridorFeatureLine.CoordinateSystemByStation node, which is true by default, as the behavior here. You can pass false to get the same result as the plain PolyCurve.

1 Like

Yes! Great!

I did not know this. I assumed the Vertical parameter would return a Z-value in a point or 0.0, but I never have tested it. Assumption is killing in Dynamo :slight_smile: