com.civilquants/civilquants
Official56 toolsParametric estimating engine: CESMM4/NRM2/SMM7/MMHW Bills of Quantities for civils assemblies.
Generates Bills of Quantities for civil engineering projects using standard estimating methods.
Captured live from the server via tools/list.
compute_connection_to_existing
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Enumerated extra-over connection of a new drainage carrier pipe into an existing asset: existing manhole / inspection chamber, existing sewer or drain (via saddle / wye / cut-in junction), or existing outfall / watercourse / surface system. Routes via CESMM4 I.7.1/2/3 (Class I §I.7 Pipework Ancillaries — Connections), NRM2 33.6.1/2/3, MMHW 500.5.1/2/3 (SHW Cl. 506 Connections to existing sewers, drains and service runs), SMM7 R12.4.1/2/3, with a bore-size digit suffix appended in all four. The connection_type attribute is the discriminator that routes to the right sub-code; the bore digit refines within. Six variant presets cover all three connection types × two characteristic bores. Unit: Nr. Opens the new `drainage_ancillaries` L2 leaf (reserved for ditch, hard-material extra-over, CCTV testing, etc. in future sessions). Sibling assembly: carrier_pipe_run — the S32 pair that delivers a complete tender drainage line. Example params: diameter_mm=225 mm (100–2400). Example call: {"params": {"diameter_mm": 225}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single connection-to-existing extra-over item.
- standardstring
- deliverablesany
- output_modestring
compute_hard_material_in_trench
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear extra-over measurement of hard material encountered during drainage trench excavation. Discriminates between natural rock (CESMM4 E.6 / NRM2 5.6.1 / MMHW 500.6.1 / SMM7 R12.6.1) and artificial hard material — buried concrete / masonry / obstructions (CESMM4 E.7 / NRM2 5.6.2 / MMHW 500.6.2 / SMM7 R12.6.2). The platform's first dual-quantity WorkItem: carries both length_m and volume_m3 so CESMM4/NRM2 (m³) and MMHW/SMM7 (m) each render with their correct unit per the standards' rules. Eight variant presets cover both hard-material types × four depth bands. SMM7 R12 deems trench excavation (including hard material) included in the pipe-run rate — the SMM7 handler emits a zero-priceable annotated line for tender transparency (third use of the deemed-included extra-over annotation pattern). Closes the drainage_ancillaries L2 leaf at 4/4 members. Sibling assemblies: connection_to_existing (S32), ditch (S33), pipework_testing (S33). Example params: length_m=10 m (0.5–500), max_depth_m=1.5 m (0.3–10), trench_width_m=0.7 m (0.3–3). Example call: {"params": {"length_m": 10, "max_depth_m": 1.5, "trench_width_m": 0.7}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single hard-material extra-over scenario. Geometry interpretation: - `length_m` is the chainage extent of the hard-material zone (i.e. how many metres of pipe-run encounter hard material). This is the MMHW/SMM7 quantity directly. - `trench_width_m` is the trench plan width at the level of the hard material — used (with height_of_hard_material_m and length_m) to compute the volumetric quantity used by CESMM4/NRM2. - `height_of_hard_material_m` is the vertical extent of hard material within the trench section — the bottom of the trench wraps the pipe envelope, so the hard-material height is typically less than the full trench depth. This is the QS's judgment, informed by site investigation. - `max_depth_m` is the depth (from finished ground level) to the bottom of the hard-material zone — drives the depth banding in all four handlers. - `pipe_diameter_mm` is descriptive only — propagated to the WorkItem for cross-referencing the carrier pipe. Volume = length_m × trench_width_m × height_of_hard_material_m.
- standardstring
- deliverablesany
- output_modestring
compute_ditch
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear primary measurement of an open earthwork drainage channel — trapezoidal cross-section, four lining variants (unlined / geotextile / granular / concrete). Routes via CESMM4 Class E.4 (excavation for cuttings), NRM2 Group 34.10 (site works: open drains and ditches), MMHW Series 500.4 (SHW Cl. 514 Earthwork ditches and drains), SMM7 R13.4 (Land Drainage — ditches). Eight variant presets cover all four lining types x two characteristic size scenarios each. Unit: M. Second member of the drainage_ancillaries L2 leaf (opened at S32 with connection_to_existing). 20th use of the classed-then-legacy attribute discrimination pattern via the lining_type discriminator. The four standards genuinely diverge on which work-section heading owns ditches (Class E vs Group 34 vs Series 500 vs R13) — the platform renders all four honestly from one source WorkItem. Example params: run_length_m=100 m (1–1000), top_width_mm=1700 mm (200–10000), bottom_width_mm=500 mm (100–5000). Example call: {"params": {"run_length_m": 100, "top_width_mm": 1700, "bottom_width_mm": 500}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single open-ditch primary measurement. The geometry is a trapezoidal cross-section run linearly along the ditch alignment. side_slope_h_per_v is the side slope expressed as horizontal-per-vertical (1.0 = 45 deg, 1.5 = ~34 deg, 0.5 = ~63 deg).
- standardstring
- deliverablesany
- output_modestring
compute_pipework_testing
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear measurement of testing on new drainage pipework — CCTV survey, air pressure test, water pressure test, or mandrel pull-through. Routes via CESMM4 Class I §I.8 (Tests on new pipework), NRM2 Group 33.18 (Testing of drainage) as priceable lines; via MMHW Series 500.7 (per SHW Cl. 507 deemed included in pipe-run rate) and SMM7 R12.7 (R12 coverage rules deemed included) as zero-priceable annotated lines for tender transparency. Introduces the platform's third named maturity pattern: deemed-included extra-over annotation (joining classed-then-legacy and declared-then-banded). Eight variant presets cover all four test methods x two bore scenarios each. Unit: M. Third member of the drainage_ancillaries L2 leaf. 21st use of the discriminator pattern via test_method. Example params: length_tested_m=100 m (1–2000), diameter_mm=225 mm (100–2400). Example call: {"params": {"length_tested_m": 100, "diameter_mm": 225}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single pipework testing measurement.
- standardstring
- deliverablesany
- output_modestring
compute_catchpit
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Precast concrete catchpit / silt trap to BS 5911-3 comprising factory-cast monolithic base with integral silt sump (600-900mm below outlet invert), stacked precast chamber rings, precast cover slab, ductile-iron frame and cover (BS EN 124 loading classes), optional step irons, granular or concrete bedding, granular surround, geotextile separator, and excavation. Catalogue-driven sizing from CP_900 (900mm ID) to CP_1800 (1800mm ID). Routes via chamber_type='catchpit' attribute discrimination through CESMM4 K.1.6.x, NRM2 33.7.14, MMHW 500.5.16 (SHW Cl. 511 silt traps), and SMM7 R12.3.13. Distinct from manholes by the silt-sump-below-channel geometry; typical position upstream of petrol/oil interceptor (S24) in a forecourt or service-area drainage train. Example params: invert_depth=2.5 m (0.5–10), bedding_thickness_mm=150 mm (100–300), bedding_overhang_m=0.15 m (0.1–0.3). Example call: {"params": {"invert_depth": 2.5, "bedding_thickness_mm": 150, "bedding_overhang_m": 0.15}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a precast concrete catchpit / silt trap. Catalogue-driven: pick a ``size`` and the chamber's nominal dimensions, masses, and silt-sump depth are read from ``_CATALOGUE``. Override individual fields if a specific manufacturer differs. The catchpit is treated as a **manhole-family chamber** (same WorkCategory.MANHOLE) discriminated on chamber_type='catchpit'.
- standardstring
- deliverablesany
- output_modestring
compute_manhole
Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Composite assembly: precast concrete circular manhole with base slab, chamber rings (optional reducing slab + shaft), cover slab, frame & cover (BS EN 124 loading classes), step irons or ladder, in-situ benching with pre-formed channel, granular surround, geotextile separator, and excavation. Supports both open-battered and sheet-piled excavations. Example params: internal_diameter=1.5 m (1–3), wall_thickness=0.15 m (0.1–0.25), invert_depth=3.5 m (0.5–12). Example call: {"params": {"internal_diameter": 1.5, "wall_thickness": 0.15, "invert_depth": 3.5}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_manhole_precast
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Fully monolithic precast concrete circular manhole comprising factory-cast base + bottom ring + integral benching + pre-formed channel as a single delivered unit (BS 5911-3), with stacked precast chamber rings, optional reducing slab and access shaft, precast cover slab, ductile-iron frame and cover (BS EN 124 loading classes), step irons cast into rings, granular or concrete bedding, granular surround, geotextile separator, and excavation. Catalogue-driven sizing from PMC_1200 (1200mm ID) to PMC_2400 (2400mm ID). Routes via manhole_type=precast_monolithic attribute discrimination through CESMM4 Class K.1.2.x, NRM2 33.7.5, MMHW 500.5.5-.8 (SHW Cl. 507), and SMM7 R12.3.1.x. Example params: invert_depth=3.5 m (0.5–12), bedding_thickness_mm=150 mm (100–300), bedding_overhang_m=0.15 m (0.1–0.3). Example call: {"params": {"invert_depth": 3.5, "bedding_thickness_mm": 150, "bedding_overhang_m": 0.15}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a fully monolithic precast concrete manhole. Catalogue-driven: pick a ``size`` and the chamber's nominal dimensions, masses, and ring heights are read from ``_CATALOGUE``. Override individual fields if a specific manufacturer differs.
- standardstring
- deliverablesany
- output_modestring
compute_box_culvert
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Precast concrete box culvert run (Marshalls / FP McCann / CPM ranges, BS EN 14844 / BS 5911-3) of one of eight catalogue sizes from BC_600 (600 × 600mm) to BC_3000x2000 (3000 × 2000mm). Composes the precast units (N per run), concrete blinding bedding, geotextile separator, selected granular surround per SHW Cl. 503, and foundation excavation with optional sheet pile support. Optional headwall_attenuation_outlet (2nd use of S21) at each termination with independently parameter-selectable scour protection (rock armour, gabion mattress, concrete apron, or none). Routes BOX_CULVERT_UNIT via CESMM4 H.7.3/.4/.5 (precast concrete, size banded), NRM2 33.8.1/.2/.3, MMHW 500.12.1/.2/.3 (with Series 2500 signpost for large units per Volume 4 NG 25), and SMM7 R12.4.5/.6/.7. Example params: total_length_m=12 m (1–200), invert_depth_m=2.5 m (0.5–15), invert_gradient=0.005 (0–0.08). Example call: {"params": {"total_length_m": 12, "invert_depth_m": 2.5, "invert_gradient": 0.005}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a precast concrete box culvert run. Catalogue-driven: pick a ``size`` and the section's nominal span / height / mass / wall thickness are read from ``_CATALOGUE``. Override individual fields if a specific manufacturer differs. The run is composed of ``ceil(total_length_m / unit_length_m)`` precast sections of the chosen size. Headwalls at each end are optional and each independently selectable, with the headwall_attenuation_outlet sub-assembly owning its size, bedding, outlet ironmongery, and scour protection. Per the S23 spec, the headwalls are emitted as fully separate sub-assemblies — their WorkItems carry their own ``source_assembly`` tag.
- standardstring
- deliverablesany
- output_modestring
compute_gully
Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Composite drainage inlet: precast gully pot with trap, ductile-iron grating, optional kerb outlet, and a short connection drain to the carrier sewer. The connection drain re-uses the bedding primitive. Four-standard rendering with component-aware sub-codes (CESMM4 K.6.x, NRM2 33.8.x, MMHW 500.7.x, SMM7 R12.3.6.x). Example params: pot_internal_diameter_mm=450 mm (300–750), pot_depth_m=0.9 m (0.45–2.5), pot_wall_thickness_mm=60 mm (50–100). Example call: {"params": {"pot_internal_diameter_mm": 450, "pot_depth_m": 0.9, "pot_wall_thickness_mm": 60}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_headwall_attenuation_outlet
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_headwall. Controlled attenuation outlet: precast concrete headwall plus outlet-control ironmongery (orifice plate, optional flap valve, weir overflow, penstock) and downstream scour protection. 2nd use of the bundle-with-shared-envelope pattern (template: combined_services_trench S14). Composes headwall_precast for the structural unit and bedding; emits ironmongery items as CONTRACTOR_INSTALL_PC_SUPPLY by default (3rd commercially significant PC-supply emitter after utility_chamber and utility_kiosk_base). Scour protection extended to three variants: rock armour, gabion mattress, concrete apron. Example params: orifice_diameter_mm=150 mm (20–600), orifice_target_discharge_ls=5 l/s (0.1–200), flap_valve_size_mm=0 mm (0–1200). Example call: {"params": {"orifice_diameter_mm": 150, "orifice_target_discharge_ls": 5, "flap_valve_size_mm": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for an attenuation outlet headwall. Composes a precast headwall (size, bedding) with one always-present orifice plate and up to three optional outlet-control ironmongery items (flap valve, weir overflow, penstock), plus a scour protection variant.
- standardstring
- deliverablesany
- output_modestring
compute_headwall_precast
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_headwall. Precast concrete outfall headwall, supplied as a whole unit from a UK manufacturer (Marshalls CPM, FP McCann, Stanton Bonna or equivalent). Catalogue-driven sizing from PHW_300 (300mm pipe ID) to PHW_1500 (1500mm). Includes excavation, concrete or granular bedding, and optional rock-armour scour protection. Routes precast unit through CESMM4 Class H, NRM2 33.9.1, MMHW 500.8.1 (SHW Cl. 511), and SMM7 R12.3.7 via headwall_type=precast attribute discrimination. Example params: bedding_thickness_mm=150 mm (75–300), bedding_overhang_m=0.15 m (0.075–0.3), working_space_each_side_m=0.45 m (0.3–1.5). Example call: {"params": {"bedding_thickness_mm": 150, "bedding_overhang_m": 0.15, "working_space_each_side_m": 0.45}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a precast headwall. Catalogue-driven: pick a `size` and the unit's nominal physical dimensions are read from `_CATALOGUE`. Override individual physical fields if a specific manufacturer differs.
- standardstring
- deliverablesany
- output_modestring
compute_headwall
Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Composite RC outfall headwall: back wall pierced by the outfall pipe, splayed wing walls flaring downstream, apron slab, and rock-armour scour protection. In-situ or precast construction; BS 8666:2020 bar schedule composed across back wall, apron and wing walls. Four-standard rendering across CESMM4 / NRM2 / MMHW / SMM7. Example params: pipe_internal_diameter_mm=300 mm (100–1800), pipe_wall_thickness_mm=50 mm (15–120), invert_below_apron_m=0 m (0–1.5). Example call: {"params": {"pipe_internal_diameter_mm": 300, "pipe_wall_thickness_mm": 50, "invert_below_apron_m": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_carrier_pipe_run
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear carrier-pipe measurement assembly with full four-standard depth-banded rendering. CESMM4 Class I (I.{material}.{bore}.{depth}, 9 depth bands), NRM2 Group 33 (33.1.{bore}.{depth}, equivalent banding), MMHW Series 500 (500.1.{bore}.{depth}, 11 depth bands extending to 6 m for highway-scale carriers per SHW Cl. 501), SMM7 R12 (R12.1.{bore}.{depth}, 10 depth bands starting at 1 m for housing-scale carriers). Twelve variant presets exercise all 9 CESMM4 Class I depth bands and all 5 carrier materials (vitrified clay / concrete / HDPE / ductile iron / uPVC) — 12 × 4 = 48 distinguishable BoQ rows from a single parameter form. 19th use of the classed-then-legacy attribute discrimination pattern, FIRST applied to a Class I (Pipework) category — discriminator here is `material` itself, with the CESMM4 handler routing through the 5 Class I material sub-class digits while NRM2/MMHW/SMM7 stay within their respective groups but distinguish material in the description. Companion assembly: connection_to_existing (S32 sibling pair) — the enumerated extra-over connection line that ties a carrier run into an adopted asset. Example params: diameter_mm=225 mm (100–2400), invert_depth_m=1.8 m (0.5–10), run_length_m=30 m (1–2000). Example call: {"params": {"diameter_mm": 225, "invert_depth_m": 1.8, "run_length_m": 30}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a carrier pipe run. Geometric defaults yield a DN225 vitrified clay carrier at 1.8 m average invert depth over a 30 m run — the textbook small-civils foul carrier described in the QS measurement examples.
- standardstring
- deliverablesany
- output_modestring
compute_french_drain
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Perforated land drain in a granular-filled trench with non-woven filter geotextile wrap. Composes the bedding primitive at Class S geometry (full granular envelope) with three additions: perforated carrier, filter geotextile wrap, and optional top seal. Renders cleanly across CESMM4 / NRM2 / MMHW (Series 500 filter drain) and SMM7. Example params: pipe_internal_diameter_mm=150 mm (80–600), pipe_wall_thickness_mm=25 mm (5–80), drain_length=50 m (1–500). Example call: {"params": {"pipe_internal_diameter_mm": 150, "pipe_wall_thickness_mm": 25, "drain_length": 50}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_edge_drain
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Highway pavement edge drain per HD 33/16. Perforated carrier in a granular-filled trench with filter geotextile wrap; optional top separator under the pavement build-up. Highway-specific defaults: Type B filter aggregate, 200 g/m² geotextile, supported excavation. Headline standard mapping: MMHW 500.7 (filter drain with perforated pipe). Renders cleanly across all four standards with HA 40/01 references. Example params: pipe_internal_diameter_mm=150 mm (80–300), pipe_wall_thickness_mm=25 mm (5–50), drain_length=100 m (1–1000). Example call: {"params": {"pipe_internal_diameter_mm": 150, "pipe_wall_thickness_mm": 25, "drain_length": 100}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_pipe_bedding
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear pipe trench with class-driven bedding and surround. Strategy pattern on (BeddingContext × BeddingClass): Highway (HA 40/01 / MMHW Series 500) vs Building (BS EN 1610 / NRM2 §33), Class N/F/B/S/A/Z. Emits trench excavation, granular bed, surround or concrete cradle/encasement, selected backfill, disposal and pipework. All four standards render with class and clause references. Example params: pipe_internal_diameter_mm=300 mm (100–1800), pipe_wall_thickness_mm=50 mm (10–200), pipe_length=25 m (1–500). Example call: {"params": {"pipe_internal_diameter_mm": 300, "pipe_wall_thickness_mm": 50, "pipe_length": 25}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_soakaway
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_attenuation_tank. Infiltration soakaway per CIRIA C753 Chapter 25. Granular-fill or modular-crate storage envelope with infiltration discharge through the base and side walls. Wraps attenuation_tank for the storage envelope and emits an INFILTRATION_SURFACE item plus optional PERFORATED_DISTRIBUTION_PIPE on top. Includes the C753 rational-method sizing engine with hot-spot and cold-spot factors of safety per C753 Tables 25.4 / 25.5; the engine refuses to size for VERY_HIGH hot-spot catchments (fuel forecourts, lorry parks) which C753 prohibits from direct infiltration without pre-treatment. Half-emptying time checked against the 24h C753 §25.4 limit. Renders cleanly across CESMM4 / NRM2 / MMHW / SMM7 using existing earthworks / drainage handlers plus the two new categories (INFILTRATION_SURFACE, PERFORATED_DISTRIBUTION_PIPE) added in S22. Example params: catchment_area_m2=500 m² (10–10000), rainfall_depth_mm=60 mm (10–300), measured_infiltration_rate_m_per_s=0.0001 m/s (1e-07–0.01). Example call: {"params": {"catchment_area_m2": 500, "rainfall_depth_mm": 60, "measured_infiltration_rate_m_per_s": 0.0001}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a CIRIA C753 infiltration soakaway. Two ways to specify the design storm: (a) ``design_storm_volume_m3`` directly (from an upstream MicroDrainage / InfoWorks ICM model) — preferred for any catchment > 1 ha or where the upstream model is the design-of-record. (b) ``catchment_area_m2`` + ``rainfall_depth_mm`` + ``runoff_surface_type`` (or ``runoff_coefficient_override``) — the rational-method shortcut, appropriate for small-catchment soakaways (housing estate, supermarket forecourt, small commercial yard) where a senior QS / drainage engineer would sketch the design from these three numbers. If both are specified, ``design_storm_volume_m3`` wins. Soil characterisation: - ``measured_infiltration_rate_m_per_s``: from a BRE 365 falling-head soakage test on site - ``confidence``: per C753 Table 25.4 — LOW (single test, FoS=10), MEDIUM (2-3 tests, FoS=4), HIGH (≥3 tests + groundwater monitoring, FoS=2) - ``hot_spot``: per C753 §25.5 — LOW (residential / amenity), MEDIUM (car parks, minor roads), HIGH (A-roads, large car parks), VERY_HIGH (forecourts, lorry parks — not permitted without pre-treatment) Geometry: Rectangular plan, prismatic depth. The depth here is the effective storage depth (water level at design fill); the attenuation_tank's ``cover_to_tank_top`` covers the soil cover above the granular surround. The granular fill type is governed by the underlying attenuation_tank delegate — pick ``tank_type=CRATE`` for modular geocellular soakaways (typical for high storage / low footprint) or ``tank_type=PIPES`` for large-bore concrete pipe soakaways (typical for highway and industrial). The ``void_ratio`` here applies to the granular-fill case (TankType.CRATE with ``crate_void_ratio`` becomes a free user choice; for the pipe case the pipes themselves provide the storage volume).
- standardstring
- deliverablesany
- output_modestring
compute_attenuation_tank
Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Stormwater attenuation tank supporting two configurations: modular geocellular crates (high void ratio, compact footprint) or large-bore pipe arrays (1.5m+ ID concrete pipes in parallel runs). Excavation may be open-battered or vertical-sided with sheet pile support. Example params: tank_length=30 m (2–200), crate_width=6 m (1–20), crate_height=1.2 m (0.4–3.6). Example call: {"params": {"tank_length": 30, "crate_width": 6, "crate_height": 1.2}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_swale
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_attenuation_tank. Vegetated, geotextile-reinforced or rip-rap-lined linear drainage swale per CIRIA C753. Trapezoidal prismatic channel with three lining strategies covering the UK design palette from low-velocity amenity grass channels (1V:3H, 1-3% gradient) to high-velocity rip-rap-lined stretches. Optional check-dams (stone or concrete) for steeper sections. Renders cleanly across all four standards using existing earthworks / geosynthetics / concrete handlers — no PC items, all contractor-full supply route. Example params: bed_width=0.5 m (0.2–3), left_side_slope_h_per_v=3 (1.5–6), right_side_slope_h_per_v=3 (1.5–6). Example call: {"params": {"bed_width": 0.5, "left_side_slope_h_per_v": 3, "right_side_slope_h_per_v": 3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_petrol_oil_interceptor
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Prefabricated petrol/oil interceptor (separator) per BS EN 858-1:2002 / BS EN 858-2:2003 and SHW Cl. 519. Catalogue-driven on three axes: Class (1 with coalescer + auto-closure for ≤5 mg/l surface-water discharge, or 2 for ≤100 mg/l foul-sewer discharge), Type (full retention NSF for high-spill-risk forecourts, or bypass NSB for low-spill-risk car parks), and Nominal Size (NS3 to NS100 l/s flow rating — 7 catalogue entries). Composite of the procured interceptor unit (Nr, default supply route CONTRACTOR_INSTALL_PC_SUPPLY for engineer-specified prefab), concrete blinding bedding, granular surround per SHW Cl. 803, geotextile separator, and foundation excavation with optional sheet pile support. Oil storage capacity derived per BS EN 858-2 cl. 4.3.6 (V = NS×10 for full retention, NSB×15 for bypass). Opens drainage_treatment leaf; the canonical pre-treatment for hot-spot catchments draining to soakaway, watercourse, or foul sewer. Routes via CESMM4 K.5.x.n (size-banded), NRM2 33.9.x, MMHW 500.13.x (SHW Cl. 519), SMM7 R12.5.x. Example params: bedding_blinding_thickness_mm=150 mm (100–300), bedding_overhang_m=0.3 m (0.15–0.5), surround_thickness_each_side_m=0.3 m (0.15–0.5). Example call: {"params": {"bedding_blinding_thickness_mm": 150, "bedding_overhang_m": 0.3, "surround_thickness_each_side_m": 0.3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a petrol/oil interceptor installation. Catalogue-driven on three axes: size (NS rating, catalogue lookup for dimensions/mass/silt), class (performance — CLASS_1/CLASS_2), and type (full retention vs bypass).
- standardstring
- deliverablesany
- output_modestring
compute_gabion_wall
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Modular gabion retaining wall built from welded or hexagonal-mesh wire baskets filled with hard angular graded stone (SHW Cl. 622). The first non-concrete retaining structure in the platform and the FIRST member of the earth_structures L1 leaf — opening Phase E. Spans four structural forms via the gabion_form discriminator: STACKED_RECTANGULAR (standard highway boundary), STACKED_STEPPED (architectural / heritage), BATTERED (tall walls with back batter), and FACING_MATTRESS (Reno-type mattresses for slope facing / scour protection). Eight variant presets exercise the parameter form covering all four gabion_form values: highway boundary, landscape, stepped front, heritage stepped, battered, river training, scour apron, and tall battered. Routes via three new WorkCategory entries (GABION_BASKET, GABION_FACING_MATTRESS, STONE_FILL) — the first session where the classed-then-legacy discriminator pattern is applied to fundamentally new measurement vocabulary rather than to existing concrete categories. Codes: CESMM4 E.8.1-3 (Class E — Earthworks), NRM2 5.20-22 (Group 5 — Excavating and filling), MMHW 600.12-14 (Series 600 — Earthworks; SHW Cl. 622/623), and SMM7 D41.1/D41.2/D20.20 (D41 — Crib walls / gabions / reinforced earth — the only standard with a NAMED home). 16th use of the discriminator pattern, first applied to new WorkCategories rather than legacy ones. Example params: wall_height=3 m (0.1–8), wall_length=25 m (5–200), basket_length_m=2 m (1–3). Example call: {"params": {"wall_height": 3, "wall_length": 25, "basket_length_m": 2}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a gabion retaining wall. A single dataclass that — through combinations of its fields and the ``gabion_form`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries across all four GabionForm options. Sensible defaults yield a 3m highway-boundary STACKED_RECTANGULAR wall with 1m × 1m × 2m galvanised hexagonal baskets filled with 100-200mm graded stone.
- standardstring
- deliverablesany
- output_modestring
compute_reinforced_soil_wall
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Reinforced soil retaining wall (RSW) using granular fill reinforced with horizontal layers of geogrid or steel tie strips, with one of four facing systems: precast concrete panels (Reinforced Earth™ / VSL Retained Earth style), segmental modular blocks (Allan Block / Keystone), wraparound soft face (vegetated or biodegradable mat), or Terramesh-style steel mesh face (re-using the S29 gabion vocabulary). The SECOND member of the earth_structures L1 leaf (after gabion_wall at S29), the SIXTH member of the wall family, the FIFTH structural system, and the FIRST wall family member with a face-area-primary measurement basis (m² of face + m² × layers of geogrid, both m²; every prior wall body was m³). 17th use of the classed-then-legacy attribute discrimination pattern. Routes via four new WorkCategory entries (RSW_FACING_PANEL, RSW_MODULAR_BLOCK, RSW_WRAPAROUND_FACE, RSW_TIE_STRIP) plus the GEOGRID category (whose handler is gap-filled in CESMM4/NRM2/MMHW this session) plus re-use of GABION_BASKET on the STEEL_MESH_FACE variant. Codes: CESMM4 E.8.4-8 (Class E Earthworks §E.8 stabilisation), NRM2 5.23-27 (Group 5 Excavating and filling), MMHW 600.15-19 (Series 600 Earthworks; SHW Cl. 624 reinforced earth retaining structures), and SMM7 D41.3/D41.4/D41.5/D20.21/D20.14.2 (D41 — Crib walls / gabions / REINFORCED EARTH — the NAMED home, now serving TWO wall families). Eight variant presets exercise all four RSWFacing values (2/2/2/2 split). Example params: wall_height=6 m (0.5–12), wall_length=40 m (5–200), depth_into_fill_m=4.5 m (0.35–15). Example call: {"params": {"wall_height": 6, "wall_length": 40, "depth_into_fill_m": 4.5}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a reinforced soil wall. A single dataclass that — through combinations of its fields and the ``rsw_facing`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries across all four RSWFacing options. Sensible defaults yield a 6m highway-approach PRECAST_PANEL wall.
- standardstring
- deliverablesany
- output_modestring
compute_soil_nailed_slope
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Cut slope stabilised by passively-stressed soil nails with an applied face system. Discriminates between four face systems via the face_system enum: SHOTCRETE_MESH (dominant UK highway-cutting choice per SHW Cl. 644), HARD_FACING_PANEL (premium permanent works), FLEXIBLE_MESH (weathered rock drape), and VEGETATED_GEOGRID (landscape-sensitive schemes). Third member of the earth_structures L1 leaf (after gabion_wall S29 and reinforced_soil_wall S30). Eight variant presets cover all four face systems × representative slope geometries. Routes via three new WorkCategory entries (SOIL_NAIL, SHOTCRETE_FACE, FACE_MESH_REINFORCEMENT) plus reuse of EXCAVATION_GENERAL, DISPOSAL, CONCRETE_REINFORCED, GEOTEXTILE_FILTER, GEOGRID, and TOPSOIL_PLACE. Codes: CESMM4 C.5.X (soil nail) + E.8.10 (shotcrete) + G.5.8 (mesh), NRM2 7.7.X + 5.28.1 + 11.6.1, MMHW 600.20.X + 600.21.1 + 600.22.1 (SHW Cl. 638-639 / Cl. 644), SMM7 D32.3.X (steel piling — soil nails) + D41.6/D41.7 (the NAMED home for the three earth-structures families now). 23rd use of the classed-then-legacy attribute discrimination pattern; 4th use of the declared-then-banded pattern (nail_length_m bands the C.5.X / 7.7.X / 600.20.X / D32.3.X third digit). Example params: slope_height_m=8 m (0.5–25), slope_angle_deg=65 ° (10–89), slope_length_m=30 m (2–500). Example call: {"params": {"slope_height_m": 8, "slope_angle_deg": 65, "slope_length_m": 30}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single soil-nailed slope. Geometry interpretation: - ``slope_height_m`` is the vertical extent of the cut slope (top of crest to toe of slope). - ``slope_angle_deg`` is the slope angle from horizontal (typically 50-80° for soil-nailed cuts). - ``slope_length_m`` is the horizontal length along the slope crest — the spatial extent of the assembly along the highway alignment. - ``nail_rows`` is the number of horizontal rows of nails; ``nail_horizontal_spacing_m`` and ``nail_vertical_spacing_m`` give the in-row and between-row centres (m). - ``nail_length_m`` is the design nail length (excavation + bond length; same for all nails in this assembly — for variable-length schemes, instantiate multiple assemblies). - ``nail_inclination_deg`` is the angle below horizontal of the nail axis (typically 10-20°). Face-system attributes (used only if relevant to ``face_system``): - ``shotcrete_thickness_mm`` / ``shotcrete_grade`` / ``face_mesh_designation`` — SHOTCRETE_MESH only. - ``panel_thickness_mm`` / ``panel_concrete_grade`` — HARD_FACING_PANEL only. - ``geogrid_grade`` / ``topsoil_thickness_mm`` — VEGETATED_GEOGRID only.
- standardstring
- deliverablesany
- output_modestring
compute_embankment_cross_section
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Geometry-driven embankment per MMHW Series 600 — trapezoidal cross-section with crest width, asymmetric side slopes (h:v), and per-chainage height profile. Auto-generates the CrossSection series and delegates volume integration + mass-haul + standards routing to the end_area_earthworks engine, inheriting the four-standard rendering invariant. Auto-computes topsoil strip footprint from toe-to-toe envelope and supports an optional founding-strip excavation below ground level. Example params: crest_width_m=10 m (3–30), side_slope_h_per_v=2 (1–4), strip_envelope_offset_m=0.5 m (0–2). Example call: {"params": {"crest_width_m": 10, "side_slope_h_per_v": 2, "strip_envelope_offset_m": 0.5}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Inputs for a geometry-driven embankment cross-section assembly. The assembly generates a `CrossSection` list from the profile + geometry parameters, builds an `EndAreaEarthworksParameters` from the result + the material/method parameters carried here, and delegates compute to `EndAreaEarthworks.compute(...)`. Per Session 12 Q2 decision: left and right slopes are exposed separately, both defaulting to `side_slope_h_per_v` so the common symmetric case is a single-parameter call.
- standardstring
- deliverablesany
- output_modestring
compute_end_area_earthworks
Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Linear earthworks reach measured by the end-area method per MMHW Series 600 — Simpson's Rule with UK-QS even-ordinate trapezoidal-boundary fallback, with full SHW Series 600 Table 6/1 class tagging, mass-haul diagram (bulking + shrinkage per SHW Cl. 605), cut/fill balance, DISPOSAL vs FILL_GENERAL routing, capping and sub-base build-up, and topsoil strip + replacement. Renders identically across CESMM4 / NRM2 / MMHW / SMM7 with per-class line distinction. Example params: unacceptable_proportion=0 (0–1), topsoil_strip_depth_m=0.15 m (0–1), topsoil_replace_depth_mm=150 mm (0–500). Example call: {"params": {"unacceptable_proportion": 0, "topsoil_strip_depth_m": 0.15, "topsoil_replace_depth_mm": 150}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Inputs for a linear earthworks reach measured by the end-area method. The five area streams in each `CrossSection` are integrated independently along the chainage axis. `topsoil_strip_area` is the planar (m²) strip area at each section; the volume is computed as `trap-integrate(topsoil_strip_area) × topsoil_strip_depth_m / strip_area_mean` — i.e. we multiply the integrated planar strip area by the strip depth to get a volume in m³. Conventionally `topsoil_strip_area` per the designer is planar in m² per running metre (m² of plan area per metre of chainage = m of width), but to keep CrossSection symmetric with the other four area streams we treat it as a true area (m²) at that station and apply the depth multiplication here.
- standardstring
- deliverablesany
- output_modestring
compute_parapet
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Bridge / structural-deck parapet installation per BS 6779-1 + BS EN 1317-2 + SHW Cl. 408. Discriminates between four UK parapet system classifications via the parapet_type enum (pedestrian_only per BS 7818; vehicle_p1_p2 — low-containment BS EN 1317-2; vehicle_h1_h2_h3 — higher-containment; combined_pedestrian_vehicle — composite design). Plus parallel discriminators on two further WorkCategory entries: same parapet_type on PARAPET_POST, transition_type on PARAPET_TRANSITION (to_vrs / to_abutment / expansion_joint). The MMHW Series 400 _parapet handler is the platform's SEVENTH 1D-banded handler — code `400.4.1.{c}` bands by containment_level (4 bands per BS EN 1317-2). 1D choice is disciplined — second principled rejection of forced 2D banding (after S38 road_marking). LAUNCH-COMPLETING 45TH ASSEMBLY — opens highway_bridge_edge L2 leaf, closing the highway suite at 5/5 populated leaves and the platform at 45/45 launch target. SMM7 routes BACK to Q40 (sibling slot to VRS at Q40.5) — preserves UK trade reality. Example params: parapet_height_mm=1100 mm (900–1800), parapet_length_m=25 m (1–2000), post_count=0 Nr (0–200). Example call: {"params": {"parapet_height_mm": 1100, "parapet_length_m": 25, "post_count": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Inputs for the parapet assembly. Required: parapet_type — ParapetType enum (or string equivalent) containment_level — ContainmentLevel enum (or string) parapet_height_mm — nominal parapet height above deck in mm parapet_length_m — parapet run length in metres Optional: post_count — number of enumerated posts (default 0 — posts deemed-included in parapet m-rate). Set > 0 only for contracts requiring specialist per-post pricing. transition_type — TransitionType enum (or string). Required if transition_count > 0. transition_count — number of transition pieces (default 0).
- standardstring
- deliverablesany
- output_modestring
compute_highway_drainage_channel
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Highway / surface-water drainage channel installation per BS EN 1433 + SHW Cl. 511-514 + HD 33/16. Discriminates between five UK channel product classifications via the channel_type enum (linear_polymer_concrete — ACO-pattern; linear_concrete — Charcon-pattern precast; slot_drain — narrow-slot recessed; combined_kerb_drainage — Beany/Safeticurb integrated unit per SHW Cl. 514; steel_grated_channel — heavy-duty stainless/galvanised). Plus parallel discriminators on two further WorkCategory entries: outfall_type on CHANNEL_OUTFALL (end / branch / side), silt_box_type on CHANNEL_SILT_BOX (standard / heavy-duty / deep-sump). The MMHW Series 500 _highway_drainage_channel handler is the platform's FOURTH 2D-banded handler — code `500.8.{t}.{d}` bands by channel_type (5 bands) AND depth_class (4 bands). 5×4 = 20-cell grid. SMM7 routes to R12 (Drainage below ground) — SECOND highway L1 family outside Section Q after S39 lighting → V41. Example params: channel_depth_mm=100 mm (50–1500), channel_length_m=50 m (1–500), outfall_count=1 nr (0–20). Example call: {"params": {"channel_depth_mm": 100, "channel_length_m": 50, "outfall_count": 1}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Inputs for the highway_drainage_channel assembly. Required: channel_type — ChannelType enum (or string equivalent) depth_class — DepthClass enum (or string) channel_depth_mm — actual channel depth in mm channel_length_m — channel run length in metres Optional: outfall_type — OutfallType enum (or string); defaults to END_OUTFALL when outfall_count > 0 outfall_count — number of primary outfalls (default 1) branch_outfall_count — number of additional branch outfalls (default 0) silt_box_type — SiltBoxType enum (or string); required when silt_box_count > 0 silt_box_count — number of silt boxes (default 0)
- standardstring
- deliverablesany
- output_modestring
compute_lighting_column
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Highway / street lighting column installation per BS EN 40 + BS 5489-1:2020 + TR 22. Discriminates between four UK column material classifications via the column_type enum (steel_galvanised, aluminium, composite_grp, decorative_cast_iron). Plus parallel discriminators on three further WorkCategory entries: foundation_type on COLUMN_FOUNDATION, luminaire_type on LUMINAIRE, bracket_type on COLUMN_BRACKET. The MMHW Series 1300 _lighting_column handler is the platform's THIRD 2D-banded handler — code `1300.4.1.{h}.{c}` bands by column_height_class (6 bands per TR 22) AND column_loading_class (4 bands per BS EN 40-3). 6×4 = 24-cell grid (the LARGEST banded grid in the platform). Example params: mounting_height_m=6 m (4–16), luminaire_wattage_W=60 W (10–1000), bracket_count=0 Nr (0–4). Example call: {"params": {"mounting_height_m": 6, "luminaire_wattage_W": 60, "bracket_count": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Inputs for the lighting_column assembly. Defaults anchored to URBAN_6M_LED — UK urban distributor: 6 m steel galvanised column on precast socket, BS EN 40-3 Class B, LED M-class luminaire (~60 W typical). Required-field defaults added per G.6.7.24 precedent — non-breaking API enrichment opens the slug to schema- driven workspace defaults.
- standardstring
- deliverablesany
- output_modestring
compute_vehicle_restraint_system
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Vehicle restraint system (VRS) for highway works per SHW Cl. 401-419 and BS EN 1317. Discriminates between six structural system types via the vrs_system_type enum: tensioned and untensioned corrugated steel beam, wire rope, in-situ concrete step barrier, precast concrete single-slope, and combined heavy-duty (corrugated beam over concrete kerb upstand). FIRST member of the highway_restraint L2 leaf — opens the brand-new highway L1 category as the 40th assembly. Six variant presets cover the principal UK commercial scenarios: motorway verge TCB N2/W4, motorway central wire rope N2/W6, urban untensioned N2/W2, bridge approach concrete step H2/W1, median precast single-slope H2/W2, and high-containment verge H4a/W4. Routes via three new WorkCategory entries (VEHICLE_RESTRAINT_SYSTEM, VRS_TERMINAL, VRS_TRANSITION) plus reuse of CONCRETE_REINFORCED, REINFORCEMENT, FORMWORK and EXCAVATION_TRENCH for the concrete variants. Codes: CESMM4 X.3 (Class X §3 — crash barriers), NRM2 34.7 (Site works — crash barriers), MMHW 400.1.{ww}.{cl} (Series 400 — Road Restraint Systems, with 2D banding by working_width × containment), SMM7 Q40.5 (Section Q40 — Fencing, crash barriers). 24th use of the classed-then-legacy attribute discrimination pattern; 5th use of the declared-then-banded pattern AND the FIRST 2D-banded handler (MMHW 400.1.{ww}.{cl} bands by both axes simultaneously). Example params: length_m=100 m (12–10000), post_spacing_m=2 m (0.5–8), foundation_width_m=0.9 m (0.2–2). Example call: {"params": {"length_m": 100, "post_spacing_m": 2, "foundation_width_m": 0.9}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single vehicle restraint system run. Geometry interpretation: - ``length_m`` is the run length along the highway alignment. - ``post_spacing_m`` is the centre-to-centre spacing of supporting steel posts (irrelevant for INSITU and PRECAST_SLAB foundation types). Typical UK values: 2.0m (TCB), 4.0m (TCB W6 variant), 3.2m (wire rope), 1.5m (high-containment hybrid). - ``terminals_per_run`` is typically 2 (one at each end of a continuous run); can be 1 for a barrier that returns into a structure at one end. - ``transitions`` is the number of system-type transitions within the run (e.g. to a parapet or to a different VRS type). Zero is normal for a single-system run. System-type-specific attributes (set only those relevant to the variant's ``vrs_system_type``): - ``beam_thickness_mm`` — corrugated-beam variants only. - ``wire_strands`` / ``wire_tension_kn`` — wire rope only. - ``concrete_grade`` / ``concrete_cross_section_m2`` / ``reinforcement_kg_per_m`` — concrete variants only. - ``foundation_width_m`` / ``foundation_depth_m`` — INSITU_FOUND foundation only. - ``precast_unit_length_m`` — precast variants only.
- standardstring
- deliverablesany
- output_modestring
compute_road_marking
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Road marking installation per SHW Cl. 1207-1215 and TSRGD 2016. Discriminates between five UK marking-line classifications via the marking_line_type enum: continuous, broken_short, broken_long, double_continuous, lane_line. Plus parallel discriminators on three further WorkCategory entries: area_marking_type on ROAD_MARKING_AREA, symbol_type on ROAD_MARKING_SYMBOL, and stud_type on ROAD_STUD. THIRD member of the highway L1 leaf (after S36 VRS, S37 traffic_sign) and SECOND member of the highway_signs_markings L2 leaf — 42nd assembly. The highway_signs_markings L2 leaf becomes the first L2 leaf in the highway L1 to reach 2 members. Five variant presets cover the principal UK commercial scenarios: urban continuous white line, rural broken centreline with hazard, motorway hatched chevron, junction give-way with triangle, and motorway lane line with studs. Routes via four new WorkCategory entries (ROAD_MARKING_LINE, ROAD_MARKING_AREA, ROAD_MARKING_SYMBOL, ROAD_STUD). Codes: CESMM4 X.5 (Class X §5 — road markings), NRM2 34.9 (Site works — markings), MMHW 1200.1.{w} (Series 1200 — Traffic Signs and Road Markings, with 1D banding by line_width_class), SMM7 Q40.7 (Section Q40 — Fencing/site furniture). 26th use of classed-then-legacy attribute discrimination pattern; 7th use of declared-then-banded (remains 1D — material rejected as a banding axis). Broadest unit-mix in any single CivilQuants assembly: m of line + m² of area + nr of symbol + nr of stud. Example params: actual_line_width_mm=100 mm (50–450), line_length_m=200 m (0–10000), secondary_line_length_m=0 m (0–10000). Example call: {"params": {"actual_line_width_mm": 100, "line_length_m": 200, "secondary_line_length_m": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single road marking installation. Defaults anchored to URBAN_CONTINUOUS_WHITE_LINE — 200 m of continuous 100 mm thermoplastic edge/centre line. Required-field defaults added per G.6.7.24 precedent — non-breaking API enrichment opens the slug to schema-driven workspace defaults and defaults- based parity-fixture regen. Geometry interpretation: - ``line_length_m`` is the linear length of the primary marking line (continuous edge/centre line, broken pattern, etc.). UK practice measures along the line centreline. Set to 0 if no primary line is part of the installation. - ``secondary_line_length_m`` is for installations with two distinct line types (e.g. broken_short main centreline + broken_long hazard section). Set to 0 to omit. The secondary line shares the same width_class and material as the primary line. - ``area_m2`` is the m² of painted area marking (hatched chevron, ghost island, box junction, etc.). Set to 0 if no area is present. - ``symbol_count`` is the number of distinct painted symbol occurrences (arrows, words, give-way triangles). Set to 0 if no symbols are present. - ``stud_count`` is the number of reflective road studs. Set to 0 if no studs are present. Discrimination & banding: - ``marking_line_type`` discriminates the description text for the ROAD_MARKING_LINE WorkItem(s). Required if line_length_m > 0. - ``line_width_class`` discriminates the BANDED CODE in MMHW (1D-banding axis) and the description text in other standards. - ``area_marking_type`` discriminates description for the ROAD_MARKING_AREA WorkItem. Required if area_m2 > 0. - ``symbol_type`` discriminates description for the ROAD_MARKING_SYMBOL WorkItem. Required if symbol_count > 0. - ``stud_type`` and ``reflective_colour`` discriminate description for the ROAD_STUD WorkItem. Required if stud_count > 0. - ``marking_material`` is carried on every description but is NOT a discriminator or banding axis (UK QS convention).
- standardstring
- deliverablesany
- output_modestring
compute_traffic_sign
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Traffic sign installation per SHW Cl. 1201-1206 and TSRGD 2016. Discriminates between five TSRGD sign classifications via the sign_type enum: warning triangular, regulatory circular, regulatory rectangular, directional rectangular, and information rectangular. SECOND member of the highway L1 leaf (after S36 VRS) and FIRST member of the highway_signs_markings L2 leaf — 41st assembly. Five variant presets cover the principal UK commercial scenarios: rural warning triangle on single post, urban regulatory circular, rural advance directional on twin posts, motorway gantry ADS, and urban information rectangle. Routes via three new WorkCategory entries (TRAFFIC_SIGN_POST, TRAFFIC_SIGN_FACE, SIGN_FOUNDATION). Codes: CESMM4 X.4 (Class X §4 — traffic signs), NRM2 34.8 (Site works — signs), MMHW 1300.1.{a}.{h} (Series 1300 — Road Lighting/Traffic Signs/Bollards, with 2D banding by face_area × mounting_height), SMM7 Q40.6 (Section Q40 — Fencing/site furniture). 25th use of classed-then-legacy attribute discrimination pattern; 6th use of declared-then-banded AND the SECOND 2D-banded handler (MMHW 1300.1.{a}.{h} bands by both axes simultaneously). Example params: post_length_m=3 m (1.5–12), post_count=1 Nr (1–4), faces=1 Nr (1–6). Example call: {"params": {"post_length_m": 3, "post_count": 1, "faces": 1}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single traffic sign installation. Geometry interpretation: - ``post_length_m`` is the length of the supporting post above ground (UK convention measures the *above-ground* length, not the often-greater driven/embedded length). For gantry signs, this is the height of each gantry leg. - ``post_count`` is the number of supporting posts. Typical values: 1 (small warning/regulatory), 2 (twin-post directional, gantry legs). - ``faces`` is the number of distinct sign faces on the assembly. A single gantry can carry 1-3 distinct sign faces (one per lane); a twin-post directional can carry advance and confirmation faces. Face geometry: - ``actual_face_area_m2`` is the m² of a single face (used for face-area descriptions; the WorkItem quantity is enumerated per face). Foundation: - ``foundation_type`` carries the SHW Cl. 1204 classification. - ``concrete_grade`` is for description text — concrete is deemed-included in the foundation unit rate (no separate CONCRETE line emitted). - ``approximate_foundation_volume_m3`` is for description text only — UK QS convention does not measure sign-foundation concrete separately (see SHW Cl. 1204).
- standardstring
- deliverablesany
- output_modestring
compute_flexible_pavement
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Flexible pavement build-up: optional capping (Class 6F) + Type 1 (Class 1A) granular sub-base + asphalt concrete base (AC) + binder course (AC/HRA) + optional tack coat + surface course (AC/HRA/SMA/TSCS). Routes the bound layers through PAVEMENT_BASE/BINDER/SURFACE handlers with pavement_family discrimination across all four standards. Sub-base and capping route through the v8 FILL_SUB_BASE/FILL_CAPPING SHW-class-aware handlers. Four traffic-category defaults (domestic/light/medium/heavy) per DMRB CD 226. All four standards render (CESMM4 R.1-R.4, NRM2 34.4-34.6, MMHW 700, SMM7 Q20+Q22). Example params: length=100 m (0.5–2000), width=6 m (0.5–30), sub_base_thickness_mm=150 mm (100–500). Example call: {"params": {"length": 100, "width": 6, "sub_base_thickness_mm": 150}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Input parameters for a flexible pavement assembly. Geometric defaults match a 100m × 6m urban access road (medium traffic) per DMRB CD 226 starting build-up: 150mm Type 1 sub-base, 150mm AC 32 base, 60mm AC 20 binder, 40mm SMA 10 surface.
- standardstring
- deliverablesany
- output_modestring
compute_permeable_pavement
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Permeable pavement build-up per CIRIA C753 — The SuDS Manual Chapter 20. Covers the three principal UK permeable surface types (Permeable Block Paving per BS 7533-13; Porous Asphalt per SHW Cl. 938; Porous no-fines Concrete per CIRIA C753) and the three CIRIA infiltration regimes (System A full infiltration; System B partial / sides-tanked; System C no infiltration / fully tanked). Emits excavation + formation prep + tanking liner (Systems B/C) + geotextile separator + Class 3 open-graded reservoir sub-base + laying course (PBP) + permeable surface + perforated outlet pipe (Systems B/C) + disposal. Routes the reservoir sub-base, the tanking liner, and the permeable surface through three parallel classed-then-legacy discriminators (is_reservoir_sub_base, is_pavement_tanking, pavement_family) across all four standards. SMM7 PBP routes to Q25 (block pavings — different trade) while PA/PC stay at Q22 (asphalt trade) — UK trade-boundary platform principle. First launch-class assembly built entirely on existing WorkCategory vocabulary. Example params: length=12 m (0.5–500), width=5 m (0.5–100), reservoir_thickness_mm=350 mm (150–1000). Example call: {"params": {"length": 12, "width": 5, "reservoir_thickness_mm": 350}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Input parameters for a permeable pavement assembly. Geometric defaults match a 12m × 5m residential drive with PBP surface and System A (full infiltration) — the dominant UK small-civils SuDS use case.
- standardstring
- deliverablesany
- output_modestring
compute_rigid_pavement
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Rigid pavement build-up: optional capping (Class 6F) + Type 1 (Class 1A) granular sub-base + optional separation membrane + PQC slab (URC, JRC, or CRCP variant) with joint formwork (transverse contraction, longitudinal construction, expansion) and reinforcement (dowel bars + tie bars + optional fabric mesh for JRC, continuous longitudinal for CRCP). Routes the slab and its joints/reinforcement through the v12 is_pavement_slab discrimination to pavement-specific codes across all four standards (CESMM4 Class R, NRM2 Group 34.7, MMHW Series 1000, SMM7 Q21). Sub-base and capping route through the v8 FILL_SUB_BASE/FILL_CAPPING SHW-class-aware handlers. Three pavement-type defaults (URC/JRC/CRCP) per DMRB CD 226. Reinforcement scheduled per BS 8666:2020 (shape 00 dowels and tie bars; mass-only mesh and CRCP continuous). Example params: length=50 m (0.5–2000), width=7 m (0.5–30), sub_base_thickness_mm=150 mm (100–500). Example call: {"params": {"length": 50, "width": 7, "sub_base_thickness_mm": 150}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Input parameters for a rigid pavement assembly. Defaults: 50m × 7m urban distributor — JRC with 25m bay length, 230mm slab on 150mm Type 1 sub-base, A393 mesh mid-depth. Tie bars at 3.5m lane boundary. No capping by default.
- standardstring
- deliverablesany
- output_modestring
compute_anchored_wall
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Anchored retaining wall — the only wall family member that pre-stresses the retained soil mass into the wall via post-tensioned ground anchors per BS EN 1537. Three structural variants: in-situ reinforced concrete (INSITU_RC, economic 5-10m); steel king-post-and-lagging (KING_POST, typical 4-8m, often temporary); driven sheet pile (SHEET_PILED, quays/cofferdams/deep basements). Eight VARIANT_PRESETS exercise the 'one parameter form, eight variants, four standards' moat #1 claim across all three structural variants. The in-situ RC body routes via wall_type='anchored' attribute discrimination: CESMM4 F.6.4, NRM2 11.3.4, MMHW 1700.4.3 (SHW Cl. 1709/1710), SMM7 E10.3.3. Ground anchors and stressing route to new specialist handlers (CESMM4 Class C; NRM2 Group 7; MMHW Series 1600; SMM7 D32). King-post sections to CESMM4 P.5 / NRM2 7.3 / MMHW 1600.3 / SMM7 D32; sheet piles to CESMM4 P.4 / NRM2 7.4 / MMHW 1600.4 / SMM7 D31; timber lagging to CESMM4 O.3 / NRM2 16.4 / MMHW 2500.7 / SMM7 G20.1. Example params: stem_height=6 m (2–15), stem_thickness=0.5 m (0–1.5), wall_length=25 m (5–200). Example call: {"params": {"stem_height": 6, "stem_thickness": 0.5, "wall_length": 25}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier). Pass `freeboard` (clearance below the wall top, m) instead of the retained-height field to set the retained fill by clearance — the engine back-calculates it as stem − freeboard. Supplying both is rejected.
Parameters (5)
- paramsobjectrequired
Parameter form for an anchored retaining wall. A single dataclass that — through combinations of its fields and the ``wall_form`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries across all three structural variants (INSITU_RC, KING_POST, SHEET_PILED). Sensible defaults yield a 6m in-situ RC wall with a single row of permanent anchors.
- standardstring
- deliverablesany
- output_modestring
- freeboardany
compute_bored_pile_wall
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Cast-in-place bored concrete pile retaining wall, the SEVENTH member of the wall family and the FIFTH of the retaining_walls L1 leaf. The SIXTH structural system in the retaining / earth-structures domain (after mass concrete / RC / steel / mesh-and-stone / reinforced-soil-with-facing). Four structural forms via the bored_pile_form discriminator: CONTIGUOUS (clear-spaced piles, shotcrete face), SECANT_HARD_SOFT (alternating soft/hard overlapping piles, intermediate watertightness), SECANT_HARD_HARD (overlapping RC piles, maximum watertightness; deep basements), and KING_POST_AND_LAGGING_RC (widely-spaced RC king posts with lagging panels). 18th use of the classed-then-legacy attribute discrimination pattern, applied via the CONCRETE_REINFORCED handler's new wall_type='bored_pile' branch for the capping beam (when included). Routes via five new WorkCategory entries (BORED_PILE_CONCRETE, BORED_PILE_BORE, BORED_PILE_NR, BORED_PILE_HEAD_PREP, BORED_PILE_INTERLOCK) covering the CESMM4 Class P §P.8 three-line cast-in-place pile measurement convention plus the Class Q ancillaries head-prep line and the secant-specific interlock line. Codes: CESMM4 P.8.1-4 + Q.1.1, NRM2 7.6.1-4 + 7.5.1, MMHW 1600.5-6 (SHW Cl. 1602/1603), and SMM7 D30.1-5 — D30 (Cast in place piling) is OPENED at this session as the conventional UK QS named home. Capping beam routes via CONCRETE_REINFORCED with wall_type='bored_pile' to F.6.5 / 11.3.5 / 1700.4.4 / E10.3.4. Reinforcement billed itemised (separate audit line per BS 8666:2020 cage) on top of the pile rate by S31 decision. Eight variant presets exercise all four BoredPileForm values (2/2/2/2 split). Example params: wall_length_m=20 m (5–200), retained_height_m=6 m (2–20), embedment_below_formation_m=4 m (1–15). Example call: {"params": {"wall_length_m": 20, "retained_height_m": 6, "embedment_below_formation_m": 4}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a bored pile retaining wall. A single dataclass that — through combinations of its fields and the ``bored_pile_form`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries across all four BoredPileForm options. Sensible defaults yield a 6m basement-wall CONTIGUOUS bored pile wall.
- standardstring
- deliverablesany
- output_modestring
compute_cantilever_wall
Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. In-situ reinforced concrete cantilever retaining wall with toe, heel, and stem. Includes excavation, blinding, drainage, and backfill quantities. Example params: stem_height=4 m (2–8), stem_thickness_top=0.3 m (0.2–0.6), stem_thickness_bottom=0.45 m (0.25–0.9). Example call: {"params": {"stem_height": 4, "stem_thickness_top": 0.3, "stem_thickness_bottom": 0.45}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier). Pass `freeboard` (clearance below the wall top, m) instead of the retained-height field to set the retained fill by clearance — the engine back-calculates it as stem − freeboard. Supplying both is rejected.
Parameters (5)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
- freeboardany
compute_counterfort_wall
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. In-situ reinforced concrete counterfort retaining wall. Discrete RC counterforts on the retained face enhance moment capacity, making the wall economic for 4-10m retained heights (above cantilever-economic range, below anchored-wall range). Includes base slab, thin curtain wall, counterforts at configurable centres, drainage, and backfill. Eight VARIANT_PRESETS exercise the 'one parameter form, eight variants, four standards' moat #1 claim. Routes via wall_type='counterfort' attribute discrimination: CESMM4 F.6.3, NRM2 11.3.3, MMHW 1700.4.2 (SHW Cl. 1704), SMM7 E10.3.2. Example params: stem_height=5 m (3–12), curtain_thickness=0.35 m (0.2–0.6), toe_length=0.6 m (0–3). Example call: {"params": {"stem_height": 5, "curtain_thickness": 0.35, "toe_length": 0.6}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier). Pass `freeboard` (clearance below the wall top, m) instead of the retained-height field to set the retained fill by clearance — the engine back-calculates it as stem − freeboard. Supplying both is rejected.
Parameters (5)
- paramsobjectrequired
Parameter form for an in-situ RC counterfort retaining wall. A single dataclass that — through combinations of its fields — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries. Sensible defaults yield a 5 m high standard highway counterfort wall with counterforts at 4.0 m centres.
- standardstring
- deliverablesany
- output_modestring
- freeboardany
compute_gravity_wall
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. In-situ mass concrete gravity retaining wall (typical C20/25 to C25/30) with trapezoidal cross-section, retaining soil by self-weight rather than structural action. Eight variant presets exercise the parameter form — landscape, highway boundary, trapezoidal, stepped-front, toe-projection, keyed-base, stepped-foundation, and battered-back-vertical-front. Routes via wall_type='gravity' attribute discrimination through CESMM4 F.5.3, NRM2 11.2.3, MMHW 1700.5 (SHW Cl. 1704 structural concrete), and SMM7 E10.2.3. Reinforcement default zero (gravity walls are nominally unreinforced); optional nominal face mesh available via nominal_face_reinforcement_kg_per_m3 parameter. Includes excavation (battered or supported, level or stepped foundation), blinding, drainage system (subsoil drain + granular surround + geotextile separator), Class 6N backfill, disposal, and formwork to vertical and battered faces. 13th use of the classed-then-legacy attribute discrimination pattern, and first use in the retaining wall family — opening the wall moat for subsequent counterfort (S30), anchored (S31) and bored pile (S32) variants. Example params: stem_height=3 m (1.5–6), stem_thickness_top=0.4 m (0.2–1), stem_thickness_bottom=1.3 m (0.4–2.5). Example call: {"params": {"stem_height": 3, "stem_thickness_top": 0.4, "stem_thickness_bottom": 1.3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a mass concrete gravity retaining wall. A single dataclass that — through combinations of its fields — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries. Sensible defaults yield a 3 m high standard highway boundary wall.
- standardstring
- deliverablesany
- output_modestring
compute_kerb_run
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Linear precast concrete kerb run on concrete bed and haunch over Type 1 (Class 1A) granular sub-base. Emits excavation, sub-base (v8 SHW-class-aware), concrete bed, kerb units to BS EN 1340 / SHW Cl. 1101, concrete haunch to back face, optional channel block, and disposal. Supports HB2/HB1/SP/BN/EF/ER kerb profiles and CS1/CS2/dish channels. All four standards render with type designators (CESMM4 R.7, NRM2 34.10, MMHW 1100, SMM7 Q10). Example params: kerb_length=25 m (1–1000), bed_thickness_mm=150 mm (75–300), bed_extra_each_side_mm=100 mm (0–300). Example call: {"params": {"kerb_length": 25, "bed_thickness_mm": 150, "bed_extra_each_side_mm": 100}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Input parameters for a kerb run assembly. Geometric defaults match a standard UK HB2 road kerb on 150mm concrete bed over 150mm Type 1 sub-base, with triangular haunch rising to half the kerb height on the back face.
- standardstring
- deliverablesany
- output_modestring
compute_pad_foundation
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Single isolated reinforced concrete pad foundation with optional pedestal. Demonstrates BS 8666:2020 reinforcement scheduling integrated with the four-standard rendering invariant. Example params: length=2 m (0.5–10), width=2 m (0.5–10), thickness=0.45 m (0.15–2). Example call: {"params": {"length": 2, "width": 2, "thickness": 0.45}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_strip_foundation
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Linear reinforced concrete strip foundation, level or stepped. Closes the P1 launch set alongside pad_foundation. Integrates BS 8666:2020 reinforcement scheduling. Stepping is the v10 demonstration of cross-cutting standards-handler discrimination. Example params: length=10 m (1–100), width=0.75 m (0.3–2.5), thickness=0.35 m (0.15–1.5). Example call: {"params": {"length": 10, "width": 0.75, "thickness": 0.35}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for the strip foundation assembly. Defaults are tuned to a typical UK domestic / light commercial strip: 750mm wide, 350mm deep, 10m long, founded ~700mm below GL on 75mm blinding. Reinforcement is 2T16 bottom + 2T12 top with T8 transverse distribution at 250 centres — a conservative starting point refineable per loading.
- standardstring
- deliverablesany
- output_modestring
compute_utility_chamber
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Catalogue-driven utility access chamber covering ten standard UK types: BT/Openreach jointing chambers JC1-JC4 (defaulting to UTILITY_PROVIDER_SUPPLY routing), water meter chamber (FW6), wastewater inspection chamber (RW9), valve chamber, gas Emergency Control Valve pit (ECV), LV electrical link box, and cable draw pit. Composite emission: precast chamber unit + BS EN 124 cover & frame (PC supply) + excavation + bedding (SHW Cl. 803) + granular surround + optional geotextile + selected fill + disposal. Routes via manhole_type=utility_chamber attribute discrimination through CESMM4 Class K.1.5.x, NRM2 33.7.11-.13, MMHW 500.5.13-.15 (SHW Cl. 507), and SMM7 R12.3.10-.12. JC types route their chamber unit through the v18 statutory-undertaker supply route infrastructure (CESMM4 Class A.4.3, NRM2 Group 1, MMHW Series 100, SMM7 A53) as a PC sum plus contractor attendance line. Example params: bedding_thickness_mm=150 mm (75–300), bedding_overhang_m=0.1 m (0.075–0.3), surround_thickness_m=0.15 m (0.1–0.3). Example call: {"params": {"bedding_thickness_mm": 150, "bedding_overhang_m": 0.1, "surround_thickness_m": 0.15}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameter form for a utility access chamber. Catalogue-driven: pick a ``chamber_type`` and the chamber's nominal plan dimensions, depth, wall thickness, cover loading and supply route default are read from ``_CATALOGUE``. Any field left as ``None`` resolves to the catalogue default at ``__post_init__`` time; an explicit value wins. The ``supply_route`` parameter follows the same rule: ``None`` → catalogue default (UTILITY_PROVIDER_SUPPLY for JC1–JC4, CONTRACTOR_FULL for the other six). Setting an explicit value overrides — e.g. setting ``SupplyRoute.CONTRACTOR_FULL`` on a JC2 captures the private-estate case where the chamber is contractor- supplied rather than Openreach-supplied.
- standardstring
- deliverablesany
- output_modestring
compute_utility_kiosk_base
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Foundation + kiosk hardware composite for utility cabinets — LV electricity feeder pillars (DNO-supplied), Openreach FTTC cabinets (PIA-supplied), EV rapid-charging plinths, packaged DNO substations, and generic precast plinths. Light-wrapper delegation around pad_foundation for the substructure (excavation, RC pad with pedestal, reinforcement), plus kiosk-specific PC-supply hardware (1 complete unit on UPS route, 4 components — body / door / lock / base-plate — on Employer-PC route). Catalogue-driven supply-route defaults encode that LV pillars and FTTC cabinets are normally utility-provider-supplied complete units, while EV chargers, DNO substations, and generic plinths are normally Employer-PC-nominated per component. Example params: quantity=1 Nr (1–100), blinding_thickness_m=0.075 m (0.05–0.15), working_space_m=0.3 m (0–1). Example call: {"params": {"quantity": 1, "blinding_thickness_m": 0.075, "working_space_m": 0.3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a utility kiosk base. Fields marked "(None → catalogue)" resolve from the catalogue entry at ``__post_init__`` time; an explicit non-None value always wins.
- standardstring
- deliverablesany
- output_modestring
compute_combined_services_trench
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Shared utility trench carrying multiple services side by side, each at its own cover depth (water, gas, electricity, telecoms) per NJUG Volume 1. One excavation envelope sized from the services, one disposal, one backfill column, with per-service lane-width bedding, surround, pipe/duct, and warning tape. Renders through CESMM4 Class I, NRM2 Group 41, MMHW Series 1300 and SMM7 Group T for the services, with the shared envelope routing through the existing earthworks/drainage handlers. Example params: trench_length_m=50 m (1–2000), service_spacing_mm=100 mm (50–500), working_space_below_bed_mm=100 mm (0–500). Example call: {"params": {"trench_length_m": 50, "service_spacing_mm": 100, "working_space_below_bed_mm": 100}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
- standardstring
- deliverablesany
- output_modestring
compute_single_service_run
Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Single-service utility run per NJUG Volume 1 — one water main OR one gas main OR one electricity cable duct OR one telecoms duct (or fibre / street-lighting / HV cable duct) in a dedicated trench. Wraps the combined-services-trench engine with a single-band envelope and re-tags emissions back to this assembly. Renders through CESMM4 Class I / NRM2 Group 41 / MMHW Series 1300 / SMM7 Group T (services) on top of the shared earthworks / drainage handlers (excavation, disposal, bedding, surround, fill, tape). Example params: bedding_thickness_m=0.1 m (0.05–0.3), surround_above_crown_m=0.15 m (0–0.5), trench_length_m=50 m (1–1000). Example call: {"params": {"bedding_thickness_m": 0.1, "surround_above_crown_m": 0.15, "trench_length_m": 50}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).
Parameters (4)
- paramsobjectrequired
Parameters for a single-service utility run. Maps neatly to a one-column UI form: the user picks a service type from a dropdown, optionally tweaks cover/OD/material, sets length and trench width, and that's it. The wrapper builds the equivalent ``ServiceBand`` + single-band ``CombinedServicesTrenchParameters`` internally. All defaults align with NJUG 7 minimum-cover guidance for the selected service type (resolved at compute-time via the same ``_NJUG_DEFAULTS`` table that CST consumes).
- standardstring
- deliverablesany
- output_modestring
render_skill_report
Render previously-computed BoQ results into a deliverable (Excel workbook or Word report). Excel is free with watermark + sheet protection; Word is paid-tier only and returns a TIER_INSUFFICIENT envelope for anonymous callers. The wire shape matches POST /api/v1/mcp/render exactly.
Parameters (1)
- requestobjectrequired
Wire shape for POST /api/v1/mcp/render.
save_project
Persist a CivilQuants project with its assembly list. Each call creates a new project — it never overwrites an existing one. To revise a saved project's parameters: call get_project to recover its assemblies, amend the values, then call save_project again with the amended list (a revision-suffixed name like 'Pump Station R02' keeps the history browsable) and run recompute_project on the new project_id — recompute_project takes no parameter overrides. To measure a different assembly type instead, route via resolve_assembly_from_description. Re-find saved work in a later conversation with list_projects or get_project by exact name. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope pointing at https://civilquants.com/pricing.
Parameters (1)
- requestobjectrequired
Body for ``POST /api/v1/mcp/project/save``.
get_project
Fetch a previously saved CivilQuants project by project_id. When the id is not in context (e.g. a new conversation reopening 'Demo - Cantilever Wall'), pass the project's exact display name in the project_id field instead. If several projects share the name, the error envelope lists the candidate project_ids; call list_projects to browse everything saved. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.
Parameters (1)
- project_idstringrequired
list_projects
List every project saved by the calling subscriber — project_id, name, client, status, default standard, assembly count, timestamps. Use this to re-find a saved project from a new conversation when its project_id is no longer in context, then pass the project_id to get_project or recompute_project. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.
No parameters.
recompute_project
Re-run every enabled assembly in a saved project and render aggregated BoQs across the requested measurement standards. recompute_project takes no parameter overrides — it re-runs the saved assemblies exactly as stored. To revise a parameter, save an amended copy with save_project (see its description for the recipe) and recompute the new project_id. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.
Parameters (2)
- project_idstringrequired
- requestany
compute_multi_section_assembly
Compute one sectioned/linear assembly across multiple sections in a single call and return a combined Bill of Quantities plus per-section results. Each section sets its own run_length and geometry; shared_params apply to all sections. Use for a wall, kerb run, drain or barrier that changes along its length. assembly_slug must be a sectioned assembly (e.g. cantilever_wall, kerb_run, edge_drain); non-linear items return INVALID_INPUT. Free tier: MMHW only, each section consumes one daily slot. Example: {"assembly_slug":"cantilever_wall","standard":"MMHW","sections":[{"label":"Bay 1","run_length":20,"stem_height":1.5},{"label":"Bay 2","run_length":15,"stem_height":2.4}]}.
Parameters (8)
- assembly_slugstringrequired
- sectionsarrayrequired
- standardstring
- shared_paramsany
- aggregate_boqboolean
- include_section_boqboolean
- include_backupboolean
- deliverablesany
resolve_assembly_from_description
Resolve a plain-English job description to candidate catalogue assemblies and the fields you'll need to compute one. Deterministic router — it does NOT return a Bill of Quantities and NEVER guesses parameter values; it returns candidate slugs (plural when ambiguous, with clarifying questions), each assembly's tier, whether it supports compute_multi_section_assembly, and per-field metadata (unit, min/max, default). Then call compute_<slug> (or compute_multi_section_assembly) with the values you fill in. Also known as compute_from_description. Example: {"description":"a 3 m deep manhole","preferred_standard":"MMHW"}.
Parameters (3)
- descriptionstringrequired
- preferred_standardany
- return_resolution_logboolean
list_skills
List the 10 senior-QS skill methodologies CivilQuants exposes (tender review, risk assessment, QS measurement/contract advice, geotechnical + geo-environmental interpretation, earthworks, preliminaries, pavement design, subcontract analysis). Universal discovery — both tiers see the full list. Returns each skill's slug, title, one-line summary and tier; then call get_skill(skill=<slug>) to fetch the methodology body. The skills are paid-tier; a free caller gets a sign-up prompt from get_skill. NOTE: the document-heavy skills (tender review, the interpretation skills) need a code-execution client (Claude Code / Codex / VS Code) plus the chunking pack from get_document_pipeline to run a real tender pack — on a chat connector you can read the methodology but cannot chunk/parse files.
No parameters.
get_skill
Paid tier only. Fetch a senior-QS skill methodology by slug (see list_skills) and APPLY it to the user's documents — the returned body is the system instruction for you to run the methodology on the customer's tokens; CivilQuants does not run inference. Paid callers get the full methodology; anonymous/free callers get a TIER_INSUFFICIENT upsell body; a rejected token gets an INVALID_TOKEN re-authenticate body. The document-heavy skills assume you can chunk/parse the customer's files and render a Word pack locally — that needs a code-execution client (Claude Code / Codex / VS Code) and the pack from get_document_pipeline; on a chat connector you can still read and reason with the methodology. Sign up at https://civilquants.com/pricing. Example: get_skill(skill="tender_risk_assessment").
Parameters (1)
- skillstringrequired
Skill slug from list_skills.
get_document_pipeline
Obtain the CivilQuants customer-side document pipeline — the toolkit the document-heavy skills (tender review, geotechnical / geo-environmental interpretation) use to chunk a tender pack and render a Word pack on the user's machine. Returns the self-unpacking chunking package, the pipeline discipline, and the python-docx render helpers. Universal (free + paid). NOTE: running the pipeline over real documents requires a code-execution client (Claude Code / Codex / VS Code) — a chat connector can read the toolkit but cannot execute it. The full kit is large (~60 KB); pass component='chunking'|'discipline'|'render' for one part (~20 KB each), or omit it for the whole kit.
Parameters (1)
- componentstring
Which part to fetch; omit for the whole kit.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"civilquants": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.civilquants.com/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.