YuCAD3D

Design standards

The national/regional rule set that drives minimum radius, sight distance, vertical-curve K-values and superelevation.

Choosing a standard

Tools › Design Standard selects the standard and the design speed. The choice is saved with the project and feeds the live Design Issues audit, the superelevation runoff, and the design-criteria calculations.

The Country selector above the standard fills every engineering domain the country's data files rule in one pick — roads, rail, utilities and bridges (Switzerland, for example, selects the VSS road rules, the SBB/BAV rail rules and the ASTRA bridge criteria together). The individual selectors below it then override single domains: a project on the Qatar utility rules may still run AASHTO road geometry. Ticking Default for new projects makes new documents start on that country's set.

CodeStandardRegion
AASHTOAASHTO Green BookUnited States
RALRAL / RAAGermany
VSSVSS SN 640 seriesSwitzerland
KGMKGM Karayolu Tasarım El KitabıTürkiye
DMRBDMRB CD 109United Kingdom

What differs between standards

The published, commonly-cited primitive values per standard:

ParameterAASHTORALVSSKGM
Max superelevation emax8%6%7%8%
Normal cross slope2.0%2.5%2.5%2.0%
Perception/reaction time2.5 s2.0 s2.0 s2.5 s
Design deceleration3.4 m/s²3.7 m/s²3.5 m/s²3.4 m/s²
Driver eye height1.08 m1.00 m1.00 m1.08 m
Object height (crest)0.60 m0.00 m0.15 m0.60 m
Headlight height (sag)0.60 m0.65 m0.65 m0.60 m
Honesty note The formulae (minimum radius, sight distance, K-values) are the universal physics every standard shares. The per-standard numbers above are documented values; the side-friction and relative-gradient models are AASHTO tables shared across the standards as a close approximation. Refine any value as your jurisdiction requires.

What the standard drives

CriterionUsed for
Minimum radius RminFlags curves that are too tight for the speed.
Stopping sight distance (SSD)Input to the vertical-curve K-values.
Crest / sag K-valueFlags vertical curves that are too short.
emax + relative gradientSuperelevation magnitude and runoff length.

All of these formulas, with variables and code locations, are in the Formula reference.

Standard data files

At startup the program loads every standards/*.xml file beside the executable. Each file holds the extracted, cited tables of one standard edition — scalar limits, speed–radius tables (superelevation, transition length, widening), vertical K tables and rule checks, every entry carrying its source (norm number + page). A loaded file overrides the built-in constants for its standard everywhere: the audit, superelevation design and the rail cant tool all pick it up automatically.

The shipped catalogue starts with the Swiss VSS base file (vss-2020.ch.xml — the SN 640 080b VP-from-radius table and the 40 100a horizontal-layout limits) and grows with each extraction phase. You can also drop in your own files — including Civil 3D roadway design criteria XML, which the program can import — to run projects against an office or national standard the program does not ship.

Road class

The Design Standard dialog also sets the project road class (HLS/motorway, outside built-up, inside built-up). Standards that tabulate values per class — such as the Swiss VSS superelevation tables — use it to pick the governing table; the audit and superelevation design follow automatically. Leave it unset to fall back to the generic model.

The Standards Manager

Tools ▸ Standards Manager opens the editor over the loaded standard files: every parameter, curve, rate table and rule check in plain tables, each value beside its citation (norm + table/page). Save & Apply writes the standard back to the program's standards folder and re-registers it, so the audit and the design tools pick the change up immediately. Shipped files are refreshed by program updates — use Copy to Edit to keep office changes under a new id. Import C3D reads an Autodesk Civil 3D roadway design criteria XML directly.

The Design Issues audit

The Design Issues dock continuously checks every alignment against the active standard and speed and lists violations (substandard radius, short crest/sag curve, grade break with no curve, missing curve widening — and, when a standard data file is loaded, its own cited rules such as over-long tangents, short arcs and out-of-range clothoid parameters, each hit labelled with the norm and table it comes from). Double-click an issue to jump to its station; markers also appear on the Plan and Profile.

It also checks every intersection. A junction is a single physical point, so all of its legs must arrive there at the same design elevation. When two legs' profiles disagree the model does not fail — the curb returns follow the higher crown, the pavement warps between the two levels and the corridor hand-over leaves a step — so the intersection looks built but is wrong. Any gap over 5 mm is listed as Junction level. Fix it by tying the secondary road's profile to the crossing (see Create Intersection).

Rail checks: ramps and platforms

Two Swiss rail rules run automatically when the standard data carries them. Set an alignment's Category (Properties dock) to Ramp and the audit checks the SBB station-ramp gradient classes — the worst grade in any 3 m window and the mean over the full length, with the class chosen from the ramp's rise and the Ramp fully covered flag. On a Rail alignment, enter Platforms as start-end[m][s]; ... (m = metre gauge, s = system-relevant line) and the audit checks the cant over each platform's whole extent against the BehiG ceilings (40 / 75 / 60 mm) — catching the transition-curve overshoot at platform ends.

Rail: the fouling-point spacing

The fouling point check needs one number that is the railway’s, not ours: the track-centre spacing at which a vehicle standing on one route stops fouling the other. DB works to 3.50 m; other administrations differ. State it in the standard data file as a parameter and the check uses it:

<param key="rail.foulingSpacingM" value="3.50" source="EBO / Ril 800.0130"/>

None of the standards that ship state it, deliberately — a German number applied silently to a job that is not German is worse than no number. With the key absent the check falls back to the two clearance envelopes exactly touching, with no safety allowance, and says so in every report and on the object itself.

Rail: the turnout level limits

The turnout level plan checks two things whose limits are the railway’s: how much cant a turnout may still carry, and how far the two routes’ levels may differ where they share a point.

<param key="rail.turnoutMaxCantMm"         value="..." source="..."/>
<param key="rail.turnoutLevelToleranceMm" value="..." source="..."/>

Neither is stated by any standard that ships, for the same reason as rail.foulingSpacingM above. With a key absent the plan reports the measured value and says it was checked against nothing — it does not report a pass.

Rail: the joint limits

The rail joint schedule checks the stagger between the two rails and the longest rail it implies:

<param key="rail.jointStaggerM"  value="..." source="..."/>
<param key="rail.maxRailLengthM" value="..." source="..."/>

Neither ships with a value, for the same reason as the keys above. Absent, the schedule reports what it measured and says it was checked against nothing.

Rail: the dimensions an IFC body is built from

When a joint schedule or a fouling point is exported to IFC, each product gets a solid body as well as its axis, and the body’s dimensions are the railway’s data, not the tool’s:

<param key="rail.railHeightM"          value="0.172" source="..."/>
<param key="rail.railHeadWidthM"       value="0.072" source="..."/>
<param key="rail.fishplateLengthM"     value="0.60"  source="..."/>
<param key="rail.foulingMarkerHeightM" value="0.50"  source="..."/>

None ships with a value. Absent, yucad3d uses a stated default — the 60E1 section, a four-hole fishplate, a half-metre marker post — and writes BodyBasis into the product’s property set saying exactly that, so whoever opens the file can see the number came from a default and not from a rule. State the keys and BodyBasis names your standard instead.