Skip to content

tadoEng/EtabExtension

Repository files navigation

EtabExtension

Ask DeepWiki

EtabExtension is a version-control, automation, and reporting platform for ETABS structural engineering workflows.

It is designed for engineers who work with ETABS models every day and need a more reproducible way to manage model versions, run analysis workflows, inspect results, compare design states, and generate engineering reports.

Status: active R&D / internal production prototype. The current focus is a reliable golden path from ETABS model to analysis results to report output.


Why this project exists

Traditional ETABS workflows are usually file-based:

Project/
  Tower_v1.edb
  Tower_v2.edb
  Tower_final.edb
  Tower_final_revised.edb

This works for small studies, but it breaks down when a project has many design iterations, branches, reports, and review cycles.

EtabExtension explores a different workflow:

ETABS model
  -> versioned design state
  -> analysis / extraction
  -> post-processing
  -> charts and tables
  -> reproducible report

The goal is not to replace ETABS. The goal is to add a computational layer around ETABS so model evolution, analysis output, and reporting become easier to track and reproduce.


Core ideas

1. Versioned ETABS workflows

EtabExtension treats each important model state as a design version. This allows engineers to track model history, compare alternatives, and connect engineering decisions to actual model snapshots.

2. Golden path automation

The current workflow focuses on a practical end-to-end path:

Open / select model
  -> run or reuse analysis
  -> extract structured results
  -> review results in the desktop UI
  -> generate report output

This keeps the tool grounded in real structural engineering work instead of becoming a generic file manager.

3. Analysis-first desktop UI

The desktop application provides direct access to extracted analysis results, so engineers can inspect model output before producing final reports.

4. Reproducible reporting

Reports are generated from structured calculation and rendering outputs rather than manual copy-paste workflows. The intended pipeline is:

Engineering data -> calculation / post-processing -> charts / tables -> Typst PDF report

5. Agent-ready architecture

The architecture is designed so future AI and MCP-style tools can call the same stable workflows as the CLI and desktop app. AI is treated as an orchestration layer with skills on top of explicit engineering tools, not as a replacement for engineering logic


Architecture

EtabExtension is built as a Rust workspace with a thin CLI, a Tauri desktop application, and modular crates for domain workflows, data processing, reporting, and future agent integration.

ETABS
  <-> C# sidecar / EtabSharp integration
  <-> Rust API layer
  <-> CLI / Tauri desktop UI
  <-> calculation, rendering, reporting, and agent workflows

High-level workspace structure:

crates/
  ext             # CLI binary; thin clap layer
  ext-api         # Application workflows / single source of truth
  ext-core        # Domain logic, versioning, VCS, sidecar client file operations
  ext-db          # Config, project registry, state storage
  ext-calc        # Engineering calculation and post-processing layer
  ext-render      # Chart / figure rendering layer
  ext-report      # Typst-based report generation
  ext-tauri       # Desktop application shell
  ext-agent       # Agent workflow layer
  ext-agent-llm   # LLM provider abstraction
  ext-e2k         # E2K parsing / model text representation work

Frontend / desktop tooling:

Tauri 2
React / TypeScript
pnpm workspace
Storybook for UI development

Current capabilities

The project is evolving quickly. Current work includes:

  • CLI workflow foundation
  • Tauri desktop UI
  • ETABS-side workflow integration through a sidecar approach
  • analysis-oriented results view
  • calculation / rendering / reporting pipeline
  • Typst-based PDF report direction
  • version-control concepts for ETABS model states
  • future MCP / agent workflow foundation

Technology stack

Area Technology
Desktop shell Tauri 2
Core engine Rust
ETABS API bridge C# / EtabSharp sidecar approach
CLI clap
Frontend React + TypeScript
Data processing Polars
Reporting Typst / Typst PDF
Storage / state SQLite / project state files
Versioning Git-backed concepts and model manifests
AI direction MCP / agent-ready workflow layer

Development

Install dependencies:

pnpm install

Run the desktop app:

pnpm dev

Build the desktop app:

pnpm build

Run Rust tests:

cargo test

Generate TypeScript bindings from Rust types where applicable:

pnpm gen-types

Project direction

Short-term focus:

  1. stabilize the model -> analysis -> results -> report golden path
  2. improve the desktop analysis tab and report workflow
  3. package a clear demonstration case
  4. keep the CLI and desktop app using the same Rust API layer

Long-term direction:

  • semantic comparison between ETABS model states
  • branch-based design alternatives
  • reproducible engineering reports
  • AI-assisted engineering summaries and workflow orchestration
  • MCP / agent tools that operate on explicit structural engineering commands

Research / engineering motivation

Structural engineering models are complex, iterative, and long-lived. A single project can contain many design alternatives, load combinations, analysis results, and reporting cycles. EtabExtension investigates how software-engineering ideas such as versioned state, reproducible pipelines, and tool-based automation can improve structural engineering practice.

The broader goal is to move from manual model-and-report workflows toward computational structural engineering workflows that are traceable, reviewable, and easier to automate.


Disclaimer

This project is an independent R&D effort and is not affiliated with Computers and Structures, Inc. ETABS is a trademark of its respective owner.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors