Domains and Action Verbs

OpenStaad wraps the whole OpenSTAAD API, more than 700 functions. Nobody, person or AI, should have to memorize that many names. So every function is tagged on two axes:

  • Domain: what part of the model it touches (nodes, members, loads, results…).
  • Action verb: what it does to it (create, read, change, delete…).

Knowing the two axes is usually enough to find the right function. "Add a uniform load to beam 12" is the Load domain (Member Loads) and the Create verb, so you only look at the handful of functions in that cell.

Why it is split this way

The split mirrors three things at once:

  1. How a structure is built. Domains follow the engineering order: geometry first (nodes, members, plates, solids), then what it is made of (materials, sections), how it is held and loaded (supports, loads), how it is analyzed and designed, and finally how results and views are read.
  2. How the OpenSTAAD API is organized. Each domain maps to a part of the COM API, so a domain page reads like a focused chapter of the official reference.
  3. How an AI classifies a request. Deciding the domain and the verb first narrows 700+ names down to a few, so a model looks up the right function instead of guessing one.

The domains

There are 17 domains. Four of them are large enough to be split into subtopics, each with its own page: Member, Plate, Section/Property and Load.

Geometry

  • Node: the most basic modeling primitive. Beams, plates and solids all connect to nodes. Loads on nodes live in Load.
  • Member: bar elements (STAAD.Pro calls them beams) used for beams, columns, braces and cables. Split into Geometry, Section & Material, Specifications, Fireproofing, Custom Attributes, Results and View/Annotation.
  • Plate: plate and shell elements, split into Geometry, Thickness & Specifications, Loads, Custom Attributes and Results.
  • Solid (3D): eight-node brick elements, their geometry and stress results.
  • Parametric Surface: surfaces used to generate plate meshes.
  • Physical Member: groups several analytical beams into one physical member, so a column split by intermediate nodes is designed as one unit.

What it is made of

  • Material: isotropic and orthotropic material definitions, assigned to members, plates and solids.
  • Section/Property: cross-sections, split into Standard Table Sections, UPT Profiles (user tables), Prismatic/General Properties and Query & Attributes.

How it is held and loaded

  • Support: restraints at nodes (fixed, pinned, inclined, elastic…) and the support reactions after analysis.
  • Load: everything applied to the model, split into Load Cases, Nodal Loads & Definitions, Member Loads, Environmental/Physical Loads, Load Lists and Combinations & Envelopes.
  • Group: named collections of nodes, beams, plates or solids, used for batch selection and assignment.

Analysis, design and results

  • Analysis (Command): runs the solver (static, P-Delta, buckling, cable…) and reports its status.
  • Global Results: model-wide results such as frequencies, mass participation and base shear. Per-element forces live in each element's Results subtopic.
  • Design (Steel): steel code checks and design parameters. Runs after analysis.

Viewing, reporting and the session

  • View: drives the STAAD.Pro viewport (zoom, rotate, show/hide, select). Visual only; it never changes the model.
  • Table/Report: STAAD.Pro report tables and their cells.
  • Session/File (Root): the session and the .std file itself: open, save, units, job info.

The action verbs

Inside every domain, each function is grouped by one of 10 action verbs. The verb is usually the first word of the function name.

VerbWhat it doesExamples
CreateAdds something new to the model: a node, a load case, a section, a support.AddNode, AddPlate, CreateNewPrimaryLoad
GetReads information without changing anything. By far the largest group.GetNodeCount, GetBeamList, GetMinMaxBendingMoment
Set/AssignChanges an existing value or assigns a property to elements.SetLoadType, UpdateGroup, SetMemberUniqueID
DeleteRemoves an entity, a specification or an assignment.DeleteLoadList, DeleteMemberSpec, RemoveAttribute
SelectSelects entities in the STAAD.Pro interface.SelectBeam, SelectMultipleBeams, SelectByItemList
TransformChanges existing geometry or loads: split, merge, renumber.SplitBeam, MergeBeams, RenumberBeam
ExecuteRuns a process, mainly the analysis.PerformAnalysis, PerformBucklingAnalysis
ViewChanges what the viewport shows.ShowPlan, HidePlate, RefreshView
ExportExports a picture of the current view.ExportView, CopyPicture
IsYes/no checks that return a boolean.IsAnalyzing, IsZUp, IsPhysicalModel

Function counts

How many functions each domain (or subtopic) has for each verb. Every name links to its reference page.

PageFunctionsBy verb
Node36Create 5 · Get 18 · Set/Assign 3 · Delete 4 · Select 3 · Transform 2 · Is 1
Member121
↳ Geometry35Create 4 · Get 16 · Set/Assign 1 · Delete 2 · Select 4 · Transform 5 · Execute 1 · Is 2
↳ Section & Material20Create 4 · Get 12 · Set/Assign 2 · Delete 2
↳ Specifications29Create 10 · Get 7 · Set/Assign 2 · Delete 10
↳ Fireproofing9Create 1 · Get 7 · Delete 1
↳ Custom Attributes9Create 1 · Get 6 · Set/Assign 1 · Delete 1
↳ Results12Get 12
↳ View/Annotation7Set/Assign 1 · View 6
Plate71
↳ Geometry30Create 4 · Get 16 · Set/Assign 2 · Delete 4 · Select 3 · View 1
↳ Thickness & Specifications16Create 5 · Get 6 · Set/Assign 2 · Delete 3
↳ Loads9Create 4 · Get 5
↳ Custom Attributes5Create 1 · Get 2 · Set/Assign 1 · Delete 1
↳ Results11Get 11
Solid (3D)27Create 3 · Get 15 · Set/Assign 2 · Delete 3 · Select 3 · View 1
Parametric Surface20Create 7 · Get 8 · Set/Assign 3 · Delete 1 · View 1
Physical Member14Create 1 · Get 8 · Set/Assign 1 · Delete 2 · Select 2
Material20Create 6 · Get 11 · Set/Assign 2 · Delete 1
Section/Property76
↳ Standard Table Sections27Create 10 · Get 13 · Set/Assign 1 · Execute 2 · Is 1
↳ UPT Profiles19Create 15 · Get 2 · Delete 2
↳ Prismatic/General Properties8Create 5 · Get 3
↳ Query & Attributes22Get 17 · Set/Assign 3 · Delete 2
Load120
↳ Load Cases39Create 6 · Get 24 · Set/Assign 5 · Delete 3 · Is 1
↳ Nodal Loads & Definitions11Create 7 · Get 3 · Set/Assign 1
↳ Member Loads22Create 10 · Get 8 · Transform 2 · Execute 2
↳ Environmental/Physical Loads17Create 11 · Get 3 · Delete 1 · Execute 2
↳ Load Lists7Create 1 · Get 5 · Delete 1
↳ Combinations & Envelopes24Create 7 · Get 12 · Delete 4 · Is 1
Support41Create 9 · Get 19 · Set/Assign 4 · Delete 9
Group10Create 2 · Get 5 · Set/Assign 1 · Delete 1 · Select 1
Analysis (Command)25Create 1 · Get 4 · Set/Assign 3 · Delete 6 · Execute 10 · Is 1
Global Results13Get 11 · Is 2
Design (Steel)18Create 2 · Get 11 · Set/Assign 4 · Is 1
View47Create 3 · Get 7 · Set/Assign 13 · Delete 2 · Select 3 · View 17 · Export 2
Table/Report28Create 2 · Get 7 · Set/Assign 17 · Delete 2
Session/File (Root)43Create 2 · Get 26 · Set/Assign 10 · Delete 2 · View 1 · Is 2
Total730Create 149 · Get 340 · Set/Assign 85 · Delete 70 · Select 19 · Transform 9 · Execute 17 · View 27 · Export 2 · Is 12

A few patterns stand out:

  • Get dominates. Almost half of the API reads the model or its results, which is what most scripts do: extract data, check it, report it.
  • Results are read-only. Member Results, Plate Results and Global Results only have Get (and Is) functions. You change results by changing the model and running the analysis again.
  • Execute is mostly Analysis. 10 of the 17 Execute functions run the solver, which is its own domain, separate from building the model.
  • View, Select and Export are about the interface, not the model. They are useful for screenshots and reports, never for changing the structure.

How to use this

When you (or your AI assistant) need a function:

  1. Decide the domain: what part of the model is involved?
  2. Decide the verb: are you creating, reading, changing or deleting?
  3. Open that domain's page in the documentation and look under that verb, or search the function name directly.