# Reports The Reports section of TunnelCAD produces line-centric documents: coordinate listings, deviation summaries and trend analyses built directly from the measured line definitions of the active tunnel. Unlike the {doc}`../analytics/index` suite — which operates on whole cross-sections and compares a measured profile against a template — the Reports suite operates **line by line**: every measured line definition in the active alignment (for example *Excavation*, *Shotcrete*, *Inner Lining*) can be reported independently. All reports are launched from the **Reports** main menu: | Menu entry | Purpose | |------------|---------| | **Line Data...** | Coordinate listing per line with point counts and optional per-point X/Y/Z. | | **Line vs Theoretical...** | DR (signed deviation) of each measured line against its configured theoretical polyline. | | **DR Trend / Stats...** | Regression of DR vs chainage, per-zone statistics and histograms. | Each menu entry opens a configuration dialog where the user picks the line definitions, the chainage range, a detail mode (summary vs full) and an output format (PDF or XLSX). Output is written through a standard file-save dialog — no intermediate preview. ## Common dialog controls All three dialogs share the same layout: | Control | Meaning | |---------|---------| | **Header** | Active tunnel name and the full chainage range available for the tunnel. | | **From / To** | Chainage filter. Pre-filled with the alignment's start and end chainage when the dialog opens, so the default run covers the whole tunnel; edit either field to narrow the band. | | **Line Definitions (check list)** | Every measured line definition in the active tunnel, with a tick box. Only ticked lines are included. Defaults to all ticked. | | **Mode — Summary / Full** | *Summary* collapses detail into per-section or per-line aggregates; *Full* emits every data row. | | **Format — PDF / XLSX** | Output type. PDF uses A4 portrait pages with embedded fonts (Greek and symbols render natively); XLSX produces one sheet per logical table. | | **Save** | Commits the dialog, prompts for a destination file and runs the exporter with a progress dialog. | | **Cancel** | Closes without running anything. | Line-specific extra controls (overlay plot, chainage chart, zone matrix, histograms) are documented inside each report page. ## Tunnel-data scope Reports always run against the **active tunnel** of the current project tab. The chainage filter and line list are populated from the tunnel's current state, so they follow the dashboard: switching the active tunnel or opening a different project immediately refreshes the ribbon's Analytics range and Line combos (see {ref}`active-tunnel-sync`). ## PDF rendering All PDF reports share a single engine (`UPDFWriter`) with DejaVu Sans / DejaVu Sans Bold embedded. The glyph coverage includes the Basic Latin, Latin-1 Supplement, Latin Extended-A/B, Greek and commonly used symbols (`°`, `±`, `²`), so section names and headers in Greek render as-is. Page numbers are emitted in the footer of every page, and the header repeats the tunnel/project identification block. ## XLSX rendering XLSX exports use `fpspreadsheet`. Sheet names are derived from logical table names and truncated to the 31-character Excel limit. Column widths and numeric formats are set per column so that stations display as `0.000`, DR values in millimetres with one decimal place, and angles in degrees with one decimal place. ```{toctree} :maxdepth: 2 line-data line-vs-theoretical dr-trend ```