[ORLD 2021 R2 C#] How to get speed table details?

Hi,

using OpenRail Designer CE - 2021 Release 2 - Version 10.10.21.04 (but I guess the version is not crucial in this case ;-)

My question is similar to Stanislav's question in Developers and Programming forum (where not answered).

When SpeedTable is obtained from Alignment using Alignment.ActiveSpeedTable property, the functionality is limited: As asked in the linked discussion, e.g. for speed schema (DesignSpeed class), it is not possible to receive its name, which makes the data useless, because DesignSpeed class publishes only start and end speed, but no information for what speed schema it is defined.

I found that in parallel to Bentley.CifNET.GeometryModel.SDK.SpeedTable class, another SpeedTable class, with better functionality,  exists in Bentley.CifNET.GeometryModel namespace. I assume it is a part of implementation of Speed Table dialog, but it is not "public SDK".

Is there a way to instantiate this "better and more complex" class for selected alignment? Despite of the same name and similar functionality, they are "different animals"  ;-) because SpeedTable from SDK is inherited from ModelEntity, whereas internal SpeedTable inherits NamedEntityReferenced and IStationPoints.

Of course, if simpler / alternative answer exists for Stanislav's question how to obtain speed schema name for specific DesignSpeed class (e.g. to access EC data directly), it would be great :-)

With regards,

  Jan

Parents
  • I played a bit (a lot of "a bit", consuming a lot of time ;-) and I was able to solve the problem partially: For any cant table, I am able to obtain speed profile name (the name of a column in speed table) that was used to calculate the cant table.

    One question still remains: How to find the column names in Speed table? It is not necessary to be obtained directly, e.g. column (speed schema) would be enough. With it, SpeedTable class in public SDK is useless, because it publishes SpeedSection(s) and a collection of DesignSpeed for every speed section, but it cannot be analyzed anyhow, to what scheme (like V100, V130...) the speed belongs.

    Even simple List<string>, sorted in the same order as DesignSpeed colection, would help.

    With regards,

      Jan

Reply
  • I played a bit (a lot of "a bit", consuming a lot of time ;-) and I was able to solve the problem partially: For any cant table, I am able to obtain speed profile name (the name of a column in speed table) that was used to calculate the cant table.

    One question still remains: How to find the column names in Speed table? It is not necessary to be obtained directly, e.g. column (speed schema) would be enough. With it, SpeedTable class in public SDK is useless, because it publishes SpeedSection(s) and a collection of DesignSpeed for every speed section, but it cannot be analyzed anyhow, to what scheme (like V100, V130...) the speed belongs.

    Even simple List<string>, sorted in the same order as DesignSpeed colection, would help.

    With regards,

      Jan

Children