Parametric Road is a FreeCAD workbench for parametric road corridor design, review, and output preparation.
Parametric Road is developed as an open-source road design workbench for FreeCAD. If this project saves you time, helps your civil design workflow, or you want to support continued v1 development, please consider sponsoring the project:
Sponsorship helps fund focused work on the v1 workflow, documentation, testing, and practical road-design features that are difficult to sustain through spare-time development alone.
For commercial use, project-specific requirements, or custom workflow questions, please contact me.
The current public release is Parametric Road 1.1.0. This is a refactoring and defect-fix release: the v1 code was reorganized along the Source -> Evaluation -> Result -> Output -> Presentation boundaries, and seven product defects were fixed, including roundabout surface clipping that ran without its boundary and a Regions tab that could not create surface transitions. v1 focuses on source-driven corridor modeling: design intent is stored in source models, evaluated results are generated from those sources, and review/output panels expose diagnostics without turning generated geometry into the editing source.
This project is evolving toward fully watertight solid-based infrastructure geometry, enabling future CFD, FEM, and simulation-ready engineering workflows. The long-term goal is to generate topology-consistent parametric models suitable not only for design visualization, but also for computational analysis, digital twin pipelines, and advanced engineering simulation.
Parametric Road v1 provides a staged road corridor workflow:
- Prepare project and TIN terrain data.
- Edit Alignment.
- Generate Stations.
- Edit Profile.
- Review Plan/Profile and generate the shared 3D Centerline.
- Optionally define Superelevation crossfall controls.
- Define Assembly and Regions.
- Define Intersections where multiple Alignments meet.
- Add Structures and Drainage source rows.
- Generate Applied Sections.
- Build Corridor preview surfaces.
- Review Cross Sections, Drainage, Plan/Profile, and Earthwork.
- Prepare structure output and exchange handoff data; existing Watertight Solid behavior is compatibility-only while development is paused.
The workbench is built around a v1 source -> evaluation -> result -> output -> presentation structure.
- Source intent belongs in Alignment, Profile, Superelevation, Assembly, Region, Structure, and Drainage models.
- Applied Sections and Corridor surfaces are generated results.
- Review panels expose context, diagnostics, and handoff actions.
- Output packages preserve source traceability.
- Online Wiki: https://github.com/ganadara135/CorridorRoad/wiki
- Quick Start: https://github.com/ganadara135/CorridorRoad/wiki/Quick-Start
- Workflow: https://github.com/ganadara135/CorridorRoad/wiki/Workflow
- Intersections: https://github.com/ganadara135/CorridorRoad/wiki/Intersections
- Troubleshooting: https://github.com/ganadara135/CorridorRoad/wiki/Troubleshooting
- Developer Guide: https://github.com/ganadara135/CorridorRoad/wiki/Developer-Guide
For v1 design and implementation planning, see docsV1/.
Important v1 references:
docsV1/V1_MASTER_PLAN.mddocsV1/V1_RELEASE_CURRENT_PREP.mddocsV1/V1_SECTION_MODEL.mddocsV1/V1_REGION_MODEL.mddocsV1/V1_STRUCTURE_GEOMETRY_CONTRACT.mddocsV1/V1_EARTHWORK_IMPLEMENTATION_PLAN.mddocsV1/V1_DRAINAGE_IMPLEMENTATION_PLAN.md
- FreeCAD Forum thread: https://forum.freecad.org/viewtopic.php?t=103783
- GitHub Issues: https://github.com/ganadara135/CorridorRoad/issues
- Use the forum thread for workflow questions, usage discussion, and development direction.
- Use GitHub Issues for reproducible bugs and release blockers.
- Current release:
v1.1.0 - Release date:
2026-09-20 - GitHub Release: https://github.com/ganadara135/CorridorRoad/releases/tag/v1.1.0
- Release notes:
CHANGELOG.md - Release preparation notes:
docsV1/V1_RELEASE_CURRENT_PREP.md
1.1.0 keeps the public Parametric Road name while preserving the internal Python package, FreeCAD Mod folder, command ids, and v1 source ids for compatibility.
New/Project SetupTINAlignmentStationsProfileReview Plan/Profile3D CenterlineSuperelevationSubAssembly DesignerAssembly / SubassemblyRegionsIntersectionStructuresDrainageDrainage ReviewApplied SectionsBuild ParametricReview Cross SectionsReview EarthworkOutputs & ExchangeImport LandXMLStructure OutputAI AssistWatertight Solids(paused compatibility surface)
Current toolbar order is organized around the v1 workflow:
Project -> TIN -> Alignment -> Stations/Profile/3D Centerline/Superelevation -> SubAssembly Designer/Assembly/Regions/Intersection/Structures -> Drainage -> Applied Sections -> Build Parametric -> Review -> Outputs/Import/Structure Output -> AI Assist
- Project setup and v1 project tree routing
- TIN editing and review
- Alignment editing
- Station generation
- Profile editing with PVI rows, CSV support, and auto interpolation
- shared 3D Centerline review for downstream station/offset/elevation context
- Superelevation source editing, station sample review, and Applied Sections / Build Parametric handoff
- Assembly editor with ditch, side slope, bench, and preset support
- Structure editor for bridge, culvert, retaining wall, and related source intent
- Structure connection points, native inlet/outlet/culvert preview details, and Structure Output packages
- Region editor with continuous station spans and Assembly assignment
- Drainage editor with Elements, Policies, Flow Routes, Structure refs, and Flow Network preview
- Drainage Review for source rows, pipeline candidates, pipeline segments, networks, and junctions
- Applied Sections result generation
- Build Corridor preview surfaces and diagnostics
- Cross Section Viewer
- Plan/Profile Connection Review
- Earthwork Viewer and v1-native earthwork report path
- Outputs & Exchange entry point
- AI Assist entry point
- Existing Watertight Solids panel retained for compatibility; development is paused
- Advanced hydraulic analysis and automatic pipe sizing are future work.
- Complete drawing-sheet production and full exchange output coverage remain incremental.
- Watertight Solid development is paused; existing compatibility behavior is preserved without feature expansion.
- Place this folder under your FreeCAD
Moddirectory. - Restart FreeCAD.
- Select the
Parametric Roadworkbench.
FreeCAD version policy:
- minimum package compatibility: FreeCAD
1.0.3 - recommended and validated: FreeCAD
1.1.1 - Python
3.10+
mainis the release/stable branch.- Development work may continue on a separate development branch.
- Package metadata is stored in
package.xml. - Release notes are recorded in
CHANGELOG.md. - Release tags should use
vX.Y.Z, for examplev1.0.0.
Release procedure summary:
- Freeze feature work.
- Run automated and manual validation.
- Update
package.xml. - Update
CHANGELOG.md. - Update Wiki pages.
- Tag the release.
- Publish the GitHub Release.
Important code entry points:
freecad/Corridor_Road/init_gui.pyfreecad/Corridor_Road/v1/commands/freecad/Corridor_Road/v1/models/source/freecad/Corridor_Road/v1/models/result/freecad/Corridor_Road/v1/models/output/freecad/Corridor_Road/v1/services/freecad/Corridor_Road/v1/ui/
Testing guidance:
- Use the FreeCAD Python executable when tests depend on FreeCAD modules.
- Prefer focused v1 contract tests and service tests for release validation.
- This project is licensed under
LGPL-2.1-or-later. - See LICENSE.
- Tutorial video: https://youtu.be/_xpqwnXPUU8













