OPS

HomeDocsSupport

OPS

OpenStaad

for Python

Intuitive Python automation for STAAD.Pro. 11k+ downloads. Open-source, unofficial, and built to eliminate boilerplate code.

pip install openstaad
from openstaad import Geometry
geo = Geometry()
beam_list = geo.GetBeamList()

Main Features

No Boilerplate

Write clean code without repetitive setup.

Focus on Logic

Concentrate on your logic, not API details.

Easy Install

Just 'pip install openstaad'.

Implemented Functions

Root

Files

OpenSaveClose

Info

VersionPath

Geometry

Nodes

AddCount

Beams

AddLen

Output

Forces

EndMax

Design

Ratio

Quick Start

From 0 to OpenStaad in 3 minutes.

1

Prerequisites

• Python 3.10+

• VS Code Editor

• STAAD.Pro installed

2

Environment Setup

python -m venv venv
.\venv\Scripts\activate

3

Install Library

pip install openstaad

4

Your first script

⚠️ Open STAAD.Pro first.

from openstaad import Geometry

geo = Geometry()
n_nodes = geo.GetNodeCount()
What is OPS?GitHubSupport

© 2024 OpenStaad

OpenStaad for Python

Intuitive Python automation for STAAD.Pro. 11k+ downloads. Open-source, unofficial, and built to eliminate boilerplate code.

pip install openstaad
1
2
3
4
5
from openstaad import Geometry

geometry = Geometry()
beam_list = geometry.GetBeamList()
print(beam_list)

Main Features

No Boilerplate Code

Write clean code without repetitive setup or configuration.

Focus on Logic

Concentrate on your engineering logic, not the API details.

Easy Installation

Just 'pip install openstaad' and start building.

Implemented Functions

Explore more than 100+ functions already implemented in the wrapper to speed up your STAAD.Pro automation.

Root

root.py

Management

NewSTAADFileOpenSTAADFileCloseSTAADFileSaveModel

Information

GetSTAADFileGetSTAADFileFolderGetApplicationVersion

Units & Status

GetBaseUnitGetInputUnitForForceGetAnalysisStatus

Analysis

AnalyzeAnalyzeEx

Geometry

geometry.py

Nodes

AddNodeGetNodeCountGetNodeListGetNodeCoordinates

Beams

AddBeamGetBeamCountGetBeamListGetBeamLength

Plates

AddPlateAddMultiplePlatesDeletePlateGetAreaOfPlates

Groups

CreateGroupUpdateGroupGetGroupCountGetGroupEntities

Tools

DoTranslationalRepeatCreatePhysicalMember

Output

output.py

Forces

GetMemberEndForcesGetMinMaxAxialForceGetMinMaxBendingMoment

Reactions

GetSupportReactions

Dynamics

GetNoOfModesExtractedGetModeFrequencyGetModalMassFactors

Design

GetMultipleMemberSteelDesignRatio

Load

load.py

Load Cases

CreateNewPrimaryLoadCreateNewReferenceLoadDeletePrimaryLoadCases

Nodal & Member

AddNodalLoadAddMemberConcForceAddSelfWeight

Special

AddResponseSpectrumLoadExAddWindDefinition

Properties

properties.py

Sections

GetBeamSectionNameGetBeamPropertyGetBeamPropertyAll

Materials

GetBeamMaterialNameGetMaterialPropertyGetDensity

Angles

GetBetaAngleGetAlphaAngleForSection

Support

support.py

Creation

CreateSupportFixedCreateSupportPinned

Assignment

AssignSupportToNode

Information

GetSupportTypeGetSupportInformation

View

view.py

Standard Views

ShowIsometricShowPlanShowRightShowFront

Visibility

ShowAllMembersHideAllMembersShowMembersHideMembers

Manipulation

SpinLeftSpinRightZoomAllRefreshView

Design & Command

design.py / command.py

Design

CreateDesignBriefAssignDesignCommand

Command

PerformAnalysisCreateSteelDesignCommand

Quick Start

From 0 to OpenStaad in 3 minutes. Follow these steps to automate STAAD.Pro with Python.

1

Prerequisites

• Python 3.10+

• VS Code Editor

• STAAD.Pro installed

2

Environment Setup

Create and activate a virtual environment.

python -m venv venv
.\venv\Scripts\activate

3

Install the Library

Install the OpenStaad core from PyPI.

pip install openstaad

4

Your first script

⚠️ Make sure you have STAAD.Pro open.

1
2
3
4
5
from openstaad import Geometry

geo = Geometry()
n_nodes = geo.GetNodeCount()
print(f"Nodes in the model: {n_nodes}")

5

Execute and observe

Run the script and observe the changes in STAAD.

python hello_staad.py

Built with Reflex