CSI API development

ETABS, SAP2000 & SAFE API development

Scripts, plugins and Excel tools that drive CSI software through its API, so model setup, repetitive edits and results extraction run the same way every time — without hours of manual clicking.

drift_check.pyPython · CSI API
# attach to the running ETABS session
model = etabs.SapModel
model.File.OpenFile(path)
model.Analyze.RunAnalysis()

setup = model.Results.Setup
setup.DeselectAllCasesAndCombosForOutput()
setup.SetComboSelectedForOutput("DRIFT-ENV")
drifts = model.Results.StoryDrifts()

report.drift_table(drifts, limit=1/500)
Output
StoryDirDriftCheck
L24X1/640OK
L23X1/655OK
L24Y1/760OK
Illustrative example

What the API makes possible

Everything you do by hand, done by the model itself

The CSI API exposes most of what you do through the interface. That means repetitive work can be scripted once and reused on every project.

Build & edit models

Create grids, stories, materials, sections, frames, shells and load patterns from structured input, and batch-edit properties, labels and assignments.

Run analyses at scale

Set up load cases and combinations, run design iterations and parameter studies, and save each variant consistently.

Extract results

Pull story drifts, displacements, base reactions, modal results, pier and spandrel forces and design output into structured data.

Check & report

Apply your office checks and produce formatted Excel tables, plots and report sections that look the same on every project.

Typical tools

Examples of CSI automation

  • Load pattern, load case and combination generator driven by your code-based spreadsheet
  • Drift, displacement and torsional irregularity summaries across all load cases
  • Pier and spandrel force extraction with wall design summaries
  • Model comparison that lists what changed between two versions
  • Batch updates of sections, materials or stiffness modifiers across many models
  • A plugin that adds an office-specific command inside ETABS or SAP2000

How tools are built

Practical choices, documented

Languages
Python, C# (.NET) or Excel VBA, chosen to fit your team’s environment and who will maintain the tool.
Connection
Attach to a running ETABS or SAP2000 session for interactive work, or open and process models automatically for batch jobs.
Delivery
Standalone scripts, Excel workbooks, desktop applications, or plugins launched from the program’s Tools menu.
Versions
API behavior can change between releases. Every tool documents the software versions it was validated with.
Validation
Results are compared with values from the program’s own tables and with agreed hand checks before delivery.

FAQ

CSI API questions

Versions, licensing and building on the scripts you already have.

Which ETABS, SAP2000 and SAFE versions are supported?

Recent versions of these products expose the CSI API, but capabilities and behavior differ between releases. Tell me your exact version and I’ll confirm feasibility before quoting.

Can a tool run without anyone clicking through ETABS?

The CSI program must be installed and licensed on the machine, but batch tools can open, process and close models automatically without manual interaction.

What about CSiCOL?

What can be automated for CSiCOL depends on the version and the data it can import and export. Describe your process and I’ll assess the options honestly.

We already have VBA macros. Can you build on them?

Yes. Existing macros can be repaired, documented and extended, or migrated to Python or C# when that makes them easier to maintain.

Start a conversation

Which part of your workflow should run itself?

Describe it in a few sentences. You’ll get a feasibility reply and clarifying questions before any quote.