🚧 This project is currently under active development. Features may be incomplete or subject to change.
A structural & civil engineering toolkit built with Flutter.
Beam calculations · Column design · AR measurement · 3D modeling · AutoCAD-style floor plans
This application is actively being built. The table below shows the current state of each feature:
| Feature | Status | Notes |
|---|---|---|
| Beam Calculator | ✅ Complete | Simply supported beam — M, V, δ |
| Column Load | ✅ Complete | Euler buckling + slenderness ratio |
| Unit Converter | ✅ Complete | Force, Stress, Length, Mass, Moment |
| Floor Plan Designer | 🔄 In Progress | AutoCAD-style, furniture library |
| 3D Model Maker | 🔄 In Progress | Blender-style viewport, matrix engine |
| 3D Model Viewer | 🔄 In Progress | Wireframe on Windows, .glb on mobile |
| AR Measurement | 🚧 Planned | Requires physical Android/iOS device |
| Export to PDF | 🚧 Planned | Floor plans + calculation reports |
| Material Database | 🚧 Planned | Steel sections, concrete grades |
| RC Beam Design | 🚧 Planned | ACI 318 / NSCP code compliance |
| Foundation Design | 🚧 Planned | Spread footing calculator |
| Wind Load | 🚧 Planned | ASCE 7 wind pressure calculator |
Legend: ✅ Complete · 🔄 In Progress · 🚧 Planned
- Beam Calculator — Computes max bending moment (
M = wL²/8), shear force (V = wL/2), and mid-span deflection (δ = 5wL⁴/384EI) for simply supported beams under uniform distributed loads. - Column Load — Euler buckling load (
Pcr = π²EI/(KL)²), slenderness ratio (λ = KL/r), and safety status with support for pin-pin, fixed-free, fixed-pin, and fixed-fixed end conditions. - Unit Converter — Converts between engineering units across Force (N, kN, kip, lbf), Pressure/Stress (Pa, kPa, MPa, psi), Length (m, cm, mm, ft, in), Mass (kg, t, lb), and Moment (N·m, kN·m, lbf·ft).
- AR Measurement — Uses the phone camera to measure distances by tapping two points on screen. Calibrated scale slider. Supports m/cm and ft/in units.
- 3D Model Viewer — Interactive wireframe 3D viewer with perspective projection, orbit/zoom controls, and multiple structural models (building, steel frame, bridge). Loads
.glbfiles on Android/iOS. - 3D Model Maker — Blender-style 3D editor with a full matrix-based rendering engine (model → view → projection pipeline), diffuse lighting, depth sorting, and structural primitives (cube, sphere, cylinder, cone, plane). Add, transform, scale, and color objects.
- Floor Plan Designer — AutoCAD-style floor plan editor with grid snapping, ortho mode, wall chaining, dimension labels, 16 furniture symbols (sofa, beds, bath, toilet, kitchen, etc.), door swing arcs, window pane symbols, column markers, stair blocks, undo/redo, and a professional title block.
- Flutter SDK 3.32+
- Dart 3.8+
- Android Studio (for Android emulator) or a physical device
- VS Code with Flutter extension (recommended)
# 1. Clone this repository
git clone https://github.com/DELGADO-CHRISTIAN/StructCalc-Pro.git
# 2. Navigate into the project
cd StructCalc-Pro
# 3. Install dependencies
flutter pub get
# 4. Run on Windows (for testing without a phone)
flutter run -d windows
# 5. Run on Android phone (connect via USB with USB debugging ON)
flutter run -d androidlib/
├── main.dart ← App entry point
└── screens/
├── home_screen.dart ← Main menu
├── beam_calculator_screen.dart ← Beam design
├── column_load_screen.dart ← Column design
├── unit_converter_screen.dart ← Unit conversion
├── ar_measurement_screen.dart ← AR camera tool
├── model_viewer_screen.dart ← 3D model viewer
├── model_maker_screen.dart ← 3D model builder
└── floor_plan_screen.dart ← Floor plan CAD
v1.0 ✅ Core calculators (beam, column, unit converter)
v1.5 🔄 3D tools + Floor plan designer ← CURRENT
v2.0 🚧 AR camera measurement (physical device)
v2.5 🚧 PDF export for calculations and floor plans
v3.0 🚧 RC beam design (ACI 318 / NSCP)
v3.5 🚧 Foundation + wind load calculators
v4.0 🚧 Material & section database
| Layer | Technology |
|---|---|
| Framework | Flutter 3.32 / Dart 3.8 |
| 3D Engine | Custom matrix pipeline (CustomPainter) |
| CAD Engine | Custom vector renderer (CustomPainter) |
| State | StatefulWidget (no external state lib) |
| Platform | Windows · Android · iOS · Web |
| Calculation | Formula |
|---|---|
| Beam max moment (UDL) | M = wL² / 8 |
| Beam max shear (UDL) | V = wL / 2 |
| Beam mid deflection | δ = 5wL⁴ / (384EI) |
| Euler buckling load | Pcr = π²EI / (KL)² |
| Slenderness ratio | λ = KL / r |
This project is currently a solo work-in-progress. Contributions, suggestions, and issue reports are welcome once the v1.5 milestone is reached.
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
This project is licensed under the MIT License. See LICENSE for details.
Delgado Christian
Engineering App Developer
GitHub: @DELGADO-CHRISTIAN