General InformationThis opening ID is invoked only on a road surface feature. This opening ID is used to customize the name of specification features.
Input ObjectsInput objects must be of the following types:
Depending of the Crown type you choose, you must specify the following Output attributes in the CATRule:
SampleExamine carefully the CATRule to see how there rules for each type and object type are programmed. This sample shows how a company can easily customize the name of road surface features. Refer to following CATRule for the exact definition of the name of road surface feature for each type and each object type. For more information, see Enterprise Knowledge Language Reference Guide. If no Design Rules are set in Data Setup, default superelevation tables are provided in startup\Civil\AlignmentDesignRules\AlignmentDesignRules.xml and will be used by default. The values of superelevation are determined from country/government
rules and are a function of the rate speed and curve radius. You can use the
AASTHO standard (available in:
/* ============================================== */ /* AlignmentSuperElevationRule_Sample.CATRule */ /* */ /* Sample file to customize alignment superelevation attainment methods. */ /* User can customize this file for each project. */ /* */ /* ============================================== */ /* Get inputs */ Let Radius(real) Let SLength(real) Let TLength(real) Let eRate(real) Let pRate(real) Let eSlope(real) Let V(real) Radius = Parameters.GetAttributeReal("Radius") SLength = Parameters.GetAttributeReal("sLength") TLength = Parameters.GetAttributeReal("tLength") eRate = Parameters.GetAttributeReal("eRate") pRate = Parameters.GetAttributeReal("pRate") V = Parameters.GetAttributeReal("Speed") eSlope = Parameters.GetAttributeReal("eSlope") /* Compute outputs */ Let LCtoFS(real) Let LCtoBC(real) Let NCtoLC(real) Let LCtoRC(real) /* LCtoFS - Level Crown to Full Super (runoff) */ LCtoFS = TLength /* Level Crown to Beginning of Curve */ LCtoBC = pRate * TLength /* Normal Crown to Level Crown (runout) */ NCtoLC = TLength * eSlope / eRate /* Normal Crown to Level Crown (runout) */ LCtoRC = TLength * eSlope / eRate /* Write outputs */ Parameters.SetAttributeReal("LCtoFS", LCtoFS) Parameters.SetAttributeReal("LCtoBC", LCtoBC) Parameters.SetAttributeReal("NCtoLC", NCtoLC) Parameters.SetAttributeReal("LCtoRC", LCtoRC) |