How dukenmarga/civil-engineering-toolbox works
civil-engineering-toolbox is an offline/LAN-capable web application for common civil-engineering calculations. A browser request is dispatched by CherryPy to a domain controller, which reads request values, invokes a calculation model, and renders a result through Mako; surcharge controllers also create plots. The graph preserves the README’s structural, geotechnical, and unit-conversion capabilities plus the options/about branch. Connections are limited to the excerpts and SOURCE INDEX references; templates and some implementation details are not present in the supplied tree.
Main entry points: router.py HTTP routes · view.py Mako lookup · concrete.py Concrete analysis · surcharge_load.py Surcharge loads
Components 20
Web application
- Application start
Main.py - HTTP routes
src/router.py - Mako lookup
src/view.py
Structural calculations
- Steel profiles
controller/structure/steel_profile.py - Steel section lookup
model/structure/steel_profile.py - Concrete analysis
controller/structure/concrete.py - Flexural analysis
model/material/concrete.py - Two-way slab design
model/structure/concrete_slab.py - Response spectrum
controller/structure/earthquake.py - Earthquake model
model/structure/earthquake.py
Geotechnical calculations
- Surcharge loads
controller/geotechnic/surcharge_load.py - Load distribution
model/geotechnic/surcharge_load.py - Plot rendering
model/utils/plot.py
Shared models and settings
- Unit converter
controller/math/converter.py - Unit conversion
model/math/converter.py - About and options
controller/about/about.py - Preference cookies
model/options/options.py - Option startup check
src/startup.py
Other components
- Browser user
- Rendered result
Connections 25
- Browser user → HTTP routes: sends request
src/router.py - Application start → HTTP routes: configures routes
Main.py - HTTP routes → About and options: dispatches about
src/router.py - HTTP routes → Steel profiles: dispatches steel
src/router.py - HTTP routes → Concrete analysis: dispatches concrete
src/router.py - HTTP routes → Response spectrum: dispatches spectrum
src/router.py - HTTP routes → Surcharge loads: dispatches surcharge
src/router.py - HTTP routes → Unit converter: dispatches conversion
src/router.py - About and options → Preference cookies: reads or saves
controller/about/about.py - About and options → Option startup check: checks options
controller/about/about.py - Steel profiles → Steel section lookup: queries profiles
controller/structure/steel_profile.py - Concrete analysis → Flexural analysis: calculates flexure
controller/structure/concrete.py - Concrete analysis → Two-way slab design: designs slab
controller/structure/concrete.py - Response spectrum → Earthquake model: calculates spectrum
controller/structure/earthquake.py - Surcharge loads → Load distribution: calculates loads
controller/geotechnic/surcharge_load.py - Surcharge loads → Plot rendering: renders plot
controller/geotechnic/surcharge_load.py - Unit converter → Unit conversion: converts units
controller/math/converter.py - About and options → Mako lookup: renders pages
controller/about/about.py - Steel profiles → Mako lookup: renders pages
controller/structure/steel_profile.py - Concrete analysis → Mako lookup: renders pages
controller/structure/concrete.py - Response spectrum → Mako lookup: renders pages
controller/structure/earthquake.py - Surcharge loads → Mako lookup: renders pages
controller/geotechnic/surcharge_load.py - Unit converter → Mako lookup: renders pages
controller/math/converter.py - Mako lookup → Rendered result: renders response
src/view.py - Rendered result → Browser user: returns page