StructAuto
Model in ETABS Not connected
No key set
StructAuto: automate, analyze, build better. Modeling, loading, analysis, design, optimization and report.

Structural automation for ETABS

Model, load, analyse, design and optimize reinforced concrete buildings in ETABS on your own PC, and get a full report, from any browser.

  • Works with ETABS 21, running on your own computer
  • Your models and results stay on your PC
  • From the first grid line to the final design report

Register or sign in

New here? Sign up with your email address. We review every request, and you can start as soon as yours is approved. Already have an account? Enter the same email to get your access key again.

I already have a workspace key

StructAuto · Developed by M. Reza B. Karimi, Structural Engineer · © 2026

Workspace setup

Your workspace key links this page to the StructAuto Connector on the PC that runs ETABS.

Workspace key

Put the same key in the connector. Anyone with this key can run jobs on that PC's ETABS and see its results, so keep it private.

Connector

No key set.

Use it when the connector seems stuck. A running job is stopped and marked as failed; ETABS stays open.

The connector is a small program on the PC with ETABS that lets this page run ETABS there. Not installed yet? See Connector download. It works with ETABS 21; ETABS 22 and later are not supported yet.

Project settings file

Keep a copy of your project's inputs and settings in one file. Open it later, or on another PC, to carry on where you left off. The StructAuto desktop app opens the same file (File → Load Settings…).

AI assistant (your own Claude API key)

Optional. With your own Anthropic API key, StructAuto can check your inputs before a build and answer questions about your results. The AI runs on your Anthropic account and is billed there. Get a key at console.anthropic.com (API keys).

Your key stays in this browser and is sent only to Anthropic (api.anthropic.com), never to the StructAuto server. Unticked, it is forgotten when you close the tab. Summaries of your inputs and results are sent to Anthropic under your account's terms. AI answers can be wrong: you remain responsible for the design, and code clause numbers it quotes should be checked against the code text.

Connector download

The StructAuto Connector lets this web page run ETABS on your PC. Install it on the PC that has ETABS.

StructAuto Connector for Windows

No Python needed, no administrator rights needed.

Install and connect
  1. Run StructAuto_Connector_Setup.exe. If Windows SmartScreen warns, click More info → Run anyway.
  2. Start StructAuto Connector from the Start menu or the desktop.
  3. On first start it asks for your workspace key. On Setup click Copy next to your key, paste it and click Check and save.
  4. Keep the connector window open while you work. The status at the top right turns Connector online.

Requirements

  • Windows 10 or 11, 64-bit
  • ETABS 21 installed with a valid licence (tested with ETABS 21.2)
  • Internet connection while you work
ETABS version: the connector is built for the ETABS 21 API. ETABS 22 and later are not supported yet: ETABS 22 refuses the connection with "The developer of the API client … needs to update it to work with the latest version of the API" and closes. ETABS 20 and older have not been tested. If you have several ETABS versions, use ETABS 21.

Good to know

  • Change the key: Start menu → StructAuto Connector → Change workspace key.
  • Stop: close the connector window. Let a running job finish first; stopping in the middle can leave ETABS unstable.
  • Update: download and run the new installer over the old one. Your key is kept.
  • Uninstall: Windows Settings → Apps → StructAuto Connector.
  • Use the connector on one PC per key. Need it on a second PC? Ask the owner for another key.

Modeling

Grid, stories, sections and plan layout, with the same inputs as the desktop app's Modeling tab. Entries are kept in this browser.

Grid and general

The code preset sets the design code, material and default loads. Seismic hazard values come from the preset; set them in ETABS, as in the desktop app.

Stories

StoryHeight Elevation at top
Quick fill stories ×

Sections

Sizes are rounded to multiples of 5 cm (2 in for imperial units) when the model is built, the same as the desktop Sections dialog.

Beams
Floor / roof
Shear walls
Columns (tapered, as in the desktop Sections dialog)

Columns start at the ground-story size and get smaller going up, never below the smallest size. An unticked taper box keeps that dimension at its ground-story size on every story; untick both for constant columns. The same largest and smallest sizes are the limits for the Optimization engine and the RS design cycle.

How the size reduces going up

Example: reduced by 5 cm every story gives width 65 → 60 → 55 cm and height 70 → 65 → 60 cm from the ground story up.

Apply to the model open in ETABS (no rebuild)

Changes the sizes in the current model instead of building a new one. Members on sections you made yourself in ETABS are left alone.

Deletes the model's analysis and design results. Run analysis and design again afterwards.

Plan layout

Slab Beam Column Shear wall Wall load: dead Live Both

Open an existing ETABS model

Use this instead of building when you already have an .edb

Loading

Load patterns and values that the Build job creates in ETABS together with the model.

Load patterns and material

Load patterns to create

Seismic hazard values come from the code preset in Modeling. Set them in ETABS, as in the desktop app.

Material

Filled in by the code preset. Must match a material name ETABS knows.

Dead loads

Wall line loads go only on the beams you mark in Modeling → Plan layout, Wall loads mode. Open the plan editor

Live loads

Live wall line loads also go only on the beams marked in the plan editor (live or both).

Analysis

Acts on the model open in ETABS: no model reported yet. Open a different model

Run analysis

Runs the analysis and exports results (all cases and combinations) to Excel next to the model. Story drift, torsion ratio, base reactions and modal results appear below when it finishes.

Model info

Reads the open model's file name, ETABS version, load patterns, cases and combinations. Also fills the lists under Get results.

Get results

Run Model info first to fill the case lists.

Response spectrum analysis

Reset these settings
Beta, visible to the owner only. Defines a design spectrum and the cases RSX / RSY on the open model, runs the analysis and checks mass participation, dynamic vs static base shear and story drift. Tested on ETABS 21.2.
Which spectrum goes with which design code
SpectrumDesign codeSeismic design combinationsMinimum Vdyn/Vstatic
ASCE 7-16ACI 318-19 (US)1.2D + 0.2SDSD + 1.0L ± E, 0.9D − 0.2SDSD ± E (ETABS's own)1.0 (§12.9.1.4.1)
Eurocode 8Eurocode 2-2004 (EU)G + ψ2Q ± E (EN 1990 §6.4.3.4, ETABS's own), + 30% other directionnone required by EC8
TBDY 2018TS 500-2000 R2018 (TR)(1 + 0.2SDS)G + Q ± E, (0.9 − 0.2SDS)G ± E, + 30% (Eq. 4.11/4.12, written by StructAuto)enter TBDY's value (check §4.8)
User definedthe code your spectrum comes fromas for that codeas for that code

Filled from the model's seismic settings. ETABS computes Fa, Fv, SDS, SD1 (§11.4); the case scale factor is g·Ie/R. Drift is also shown × Cd/Ie.

Cases, modes and checks

ASCE 7-16 §12.9.1.4.1 requires the full static base shear (ratio 1.0), filled in when ASCE is picked. Enter your code's ratio for others. Damping is 5% and the direction combination SRSS (ETABS defaults). Leave a static case blank to skip the comparison.

ACI and Eurocode: each seismic design combination (e.g. 1.0 G + 0.3 Q ± EQX for Eurocode, 1.3 Dead + 1.0 Live ± EQX for ACI/ASCE) is copied with the RS case instead, keeping its factors (RS results are already ± envelopes). TS 500: StructAuto writes the TBDY 2018 ones, (1 + 0.2 SDS) G + Q + E1 + 0.3 E2 and (0.9 − 0.2 SDS) G + E1 + 0.3 E2 (Eq. 4.10–4.12). Regenerate when the code family changes, so gravity and wind combinations follow the code too. Tick scaling first so the RS forces meet the minimum base shear. Then run Concrete design with the same code.

RS design cycle

Analysis, scaling and design repeated until the sections settle. Each cycle: the response spectrum analysis above (RSX/RSY scaled to the minimum ratio, RS design combinations), then the Optimization engine with its own settings, which designs with those combinations and resizes members. Resizing changes the periods, both base shears and the scale factor, so a cycle that changed any section is followed by another. From cycle 2 the engine only grows members, so the sizes can't drift down cycle after cycle. It stops when a cycle changes no section (or at most 2% of the frames while the scale factors move under 2%), then re-runs the response spectrum analysis and scaling with the final sizes and runs a final concrete design.

Needs Scale ticked and a design combinations option. Tick Include beams on the Optimization page to let it grow failing beams (e.g. shear + torsion). Can take many minutes: each cycle is two analyses plus every engine iteration. Stop it from the Jobs panel.

Concrete design

Runs ETABS concrete frame design on the open model (no model reported yet). The model must already be analysed.

Design code

Leave blank to use the model's current design code, or pick a preset to switch codes before designing.

Which design codes your ETABS includes is shown here once the connector is online.

Results list errors, warnings and the governing column PMM ratio. Choose which station tables to save in _Design.xlsx next to the model.

Optimization engine

Resizes columns (and beams, if chosen) in place on the model open in ETABS, without a rebuild. Column size limits and the taper step come from Modeling → Sections. Settings are kept in this browser.

Iteration and column steel ratio targets

A column needing more steel than the max ratio grows one step; one needing the min ratio or less shrinks.

Columns

Blank = off

Blank or 0 = no cap

Section naming and clean-up
How column resizing and rotation work

Column size limits (max/min width and height) and the minimum taper step come from Modeling → Sections. Beams have their own limits on the Beams tab. With a fixed thickness, each column's smaller side is held at that value and only its long side changes. Directional torsion turns a column so its long side faces the weak direction (already facing it: the long side grows one step). With the drift check on, when drift is over the limit in one direction and the other direction has room, up to a quarter of the column lines per iteration turn to face it: on the side that pulls the rigidity center toward the mass center, or symmetrically from the perimeter, never pushing the other direction past 85% of its limit. A column always has the same orientation on every story (never crossed between floors): the whole column turns together.

Story drift and torsional irregularity

Story drift
Torsional irregularity

Needs ETABS' "Calculate Diaphragm Centers of Rigidity" (Analyze > Set Load Cases to Run) and an analysis since. Otherwise it falls back to symmetric, non-targeted column growth.

Beams

Every span of a continuous line (collinear beams sharing joints; a missing bay starts a new line) gets the largest size any of its spans needs, so a frame is never 30×50 / 30×60 / 30×50. No span becomes smaller than its own need. "On every story" also makes the same line equal from story to story (fewer beam types, more concrete).

Steel ratio targets
Size limits (growth and shrink bounds)
Stop it from the Jobs panel: it finishes the current iteration, then stops.

Reinforcement detailing

Turns the designed steel areas into buildable bar layouts. Reads from ETABS only and never resizes sections. PMM verification needs one run of this stage.

Bar selection

Applies to columns and beams.

Columns

Beams

Top and bottom steel are detailed separately, using only the bar selection settings. Continuity, symmetry and max ratio apply to columns only.

Column standardization

Optional, reporting only

Reporting only: the result appears in the reinforcement output and report.

PMM verification

Check-mode compliance of the columns against the target PMM ratio range. Run once after Reinforcement detailing.

This stage modifies the model open in ETABS: it assigns real rebar to cloned Check-mode sections and reassigns the column frames to them. Save the model first if you want an easy way back.

Rebar material and target PMM ratio range

Rebar material

Must already exist as a Rebar-type material in ETABS (Define > Material Properties). This stage cannot create one.

Target PMM ratio range

Below the low value a column counts as under-utilized (over-designed); above the high value it fails the target.

Auto-correction

Off: only the rebar is reduced (never below the minimum column steel ratio above) and only overstressed columns grow, so the sizes chosen for drift and torsion are kept. On: underutilized columns can also get smaller, but drift and torsion are not re-checked, so run Analysis and check them afterwards.

Auto-correct does not re-check drift or torsion and covers columns only. Each iteration runs 2 full ETABS analyze + design passes. It also uses the Reinforcement settings and the Optimization engine's size increment, taper, max size jump and rename settings.

Available after Optimize reinforcement has run once since the connector started.

Reports

The desktop File menu's reports. Excel and HTML files are saved next to the model on your PC. Detailed job result JSON is saved locally in Documents/StructAuto_Results.

Full structural report

Uses the last Run analysis, plus Run design and Reinforcement detailing if they ran, all since the connector started.

Reinforcement report

Bar layouts from the last Reinforcement detailing run, with column standardization if it was computed.

PMM verification report

Compliance, rebar assignment and correction history from the last PMM verification run.

Users and access

Only you (the owner's Google account) can see this page. Approving a sign-up emails that user; revoking stops their web page and connector within 30 seconds.

Users

Temporary full-result viewing is off by default. Enable Allow temporary web details only for selected users; their requested cloud copy expires after 24 hours.

NameEmail / companyReasonRegisteredConnectorStatus
Loading…
Create a key without sign-up

Your admin workspace

Not listed under Users: it is always active and can't be revoked by mistake. Use this key in your own connector.

…

Connector release (update offer)

When you publish a newer version here, every connector of version 1.1.0 or later asks its user at its next start (or within a day) whether to install it. Nothing installs without the user's Yes, and a download whose fingerprint doesn't match is refused.

One email per user per version: version, what's new and how to update. Google lets this app send about 100 emails a day (5 are kept for sign-up codes); if more users are waiting, use the button above on another day. Nobody gets the same version twice.

Steps for a new version: build the connector (it prints the version and SHA-256), upload StructAuto_Connector_Setup.exe, paste the link and fingerprint here, then Publish. The Download button on the Connector download page uses this same link, so new users get the same version.

Access period

How long a user's access lasts after you approve them. When it ends, their page and connector stop working and they have to register again with a new email address (the old one can't be used again). Your own workspace never expires.

Applies to users you approve from now on. Users already approved keep their end date; extend them below.

Extend one user

Days are added to the current end date, or to today if the access has already ended. An expired user works again as soon as you extend them.

Daily job limit

The project-wide cap counts every job submitted by non-owner accounts, including helper jobs. At the warning threshold, StructAuto emails the owner; at the cap, new submissions pause until midnight (Cyprus/Turkey time). The default cap is 500 jobs per day. This app-level limit helps control activity but does not set a Firebase billing budget. Your own workspace is exempt.

Loading…

To turn on the bot check, create a score-based reCAPTCHA Enterprise key for mystructauto.com, register it for this web app in Firebase Console → App Check, and grant the Functions runtime service account the Firebase App Check Token Verifier role. Paste the public site key above and save. Until then, the email, IP and site-wide request limits remain active.

A different limit for one user

Connector check-in interval

How often a waiting connector asks the server for new jobs. Fast while someone has the web page open (in view, or used in the last 10 minutes); slower otherwise, which spares the server when PCs are left running. Applies to every workspace within one check-in.

Shorter means jobs start sooner but the server is busier. A job submitted after a quiet spell waits at most one "not in use" interval. Running jobs are not affected.

StructAuto

Structural automation for ETABS

Portrait of Dr. Mohammad Reza Bagerzadeh Karimi

Dr. Mohammad Reza Bagerzadeh Karimi

M. Reza B. Karimi is a structural engineer, researcher, and Assistant Professor at Cyprus International University, with over 15 years of combined experience across academia and industry. His expertise spans earthquake engineering, structural dynamics, structural health monitoring, and AI/machine learning. His professional experience includes reinforced-concrete and steel building design, construction supervision, and structural health assessment.

Alongside teaching and supervising postgraduate research, he develops computational tools that connect scientific research with practical engineering applications. He created StructAuto to streamline ETABS workflows, bringing modeling, analysis, design, reinforcement detailing, optimization, and reporting into one accessible platform. His aim is to reduce repetitive manual work, make results easier to review, and give engineers more time to focus on sound engineering decisions.

Developer
M. Reza B. Karimi
Role
Structural Engineer
Contact
support@mystructauto.com
ETABS
Version 21 (tested with 21.2); 22 and later not supported yet
Developed
2026
© 2026 M. Reza B. Karimi. All rights reserved.

Release email

Edit the text on the left; the right side shows it exactly as users get it.

Blank line = new paragraph · - at the start = bullet · **bold** · [StructAuto] = link to the app · any other [words] = link to the installer · {version} and {notes} are filled in (a line with {notes} is left out when the release has none). The line "You receive this email because…" is always added at the end.

Reset to the default text

How StructAuto works

Click any box to see what it does and where to find it.

Behind every job
The steps, in the usual order