2.5.9. Reports
There are three reporting surfaces in the app, each tuned for a different consumer:
Results page — the Setout / Measure / Compare / Batch output. Tab-delimited rows for paste-to-Excel.
Alignment Report (HTML) — Tools ▸ Alignment Report… ; browser-renderable HTML covering every section of the alignment.
Check Alignment — error log of inconsistencies between element endpoints.
2.5.9.1. Tools ▸ Alignment Report — HTML
Generates a complete, self-contained HTML report of the active
alignment using the ICAD TAlignmentHTMLReport engine:
Header — alignment name, units, total length, start / end station;
Summary block — counts and statistics;
Horizontal PI list;
Horizontal element list (line / arc / clothoid / cubic parabola) with full data;
Curve data table — radius, length, deflection, spirals;
Vertical PVI list;
Vertical element list (grade / parabola / circular VC);
Cross-section model summary (super, widening, offsets, cant);
Station Equations section (Back / Ahead);
Station table — evaluated at the configured interval (default 10 m) showing chainage / X / Y / direction / curvature / elevation / grade.
On click:
Warns if no alignment loaded or HGeometry is empty.
Save-as dialog with
*.htmlfilter; default file name is the alignment name +.html.Builds
TAlignmentHTMLReport.Create(Engine)withTitle := AlignmentName.Writes the HTML, opens it in the system default browser (
LCLIntf.OpenDocument).
2.5.9.2. Results page — Setout / Measure / Compare output
The Results page is a TSynEdit configured to be Excel-paste
friendly. Output is tab-delimited so Ctrl+A → Ctrl+C → paste
in Excel lands each column in its own cell.
Right-click popup:
Select All (Ctrl+A);
Copy (Ctrl+C);
Delete Selection (Del) — clears highlighted text from the display (does not touch the underlying
FSession.Results);Delete All (Ctrl+Del) —
FSession.Results.Clear.
The Del key works natively too (synResults is no longer
read-only). The underlying FSession.Results.Lines are the
canonical store — anything you display-clear comes back when
OnResultsChanged next fires (e.g. after a new Setout row is
added).
The unified Setout / Measure dialog automatically emits the right header when the operation / mode of the row being added differs from the row last added — so a single Results page can hold mixed sections (centreline setout rows, then a rail-section break with the rail header, then rail rows, then a measure block, etc.), each section self-documenting.
2.5.9.3. Check alignment
Calculate ▸ Check Alignment scans the horizontal and vertical element chains for connection errors (endpoint mismatch above tolerance) and reports them on the Results page:
----------------------------------------------------------------
Check to Horizontal Alignment elements of alignment :test align
----------------------------------------------------------------
There are 0 errors in Horizontal Alignment
---------------------------------------------------
Check to Profile elements of alignment :test align
---------------------------------------------------
There are 0 errors in Profile
---------------------------------------------------
Check Completed
---------------------------------------------------
If the check finds a problem each row reports the element index, the gap distance (m / ft), the bearing mismatch (grad / deg) and the chainage of the offending element. Typical fix: re-solve the PIs (Apply auto-solves) so all elements are recomputed consistently.