1. Introduction
Capacity Design of CB Frames is a Windows application that automates the seismic capacity design of Concentric Braced Frames (CBF) directly within SAP2000. It reads your structural model, computes the capacity forces on all diagonal braces per AISC 341-16, writes those forces back into SAP2000 as point loads, generates the required load combinations, and prepares the model for a final steel design run — all with a single button click.
The tool is fully reversible: a second button restores the model to its exact pre-capacity-design state, removing every modification the tool made.
What problem does it solve?
In the capacity design philosophy, columns and connections must be designed to remain elastic while the diagonal braces yield and dissipate seismic energy. Computing the expected brace capacity forces, creating the corresponding load patterns, and updating load combinations is a tedious, error-prone process when done manually in SAP2000. Capacity Design of CB Frames eliminates this manual process entirely.
Supported Frame Types
- Lower seismic hazard zones
- Simpler design provisions
- Post-buckling capacity: 0.3 × Pn
- 2 load cases per direction: _P, _N
- 2 design combos per original combo
- High seismic hazard zones
- Expected-strength approach (Ry amplified)
- Tension: RyFyAg | Compression: AISC E3
- 4 load cases per direction: _P1, _N1, _P2, _N2
- 4 design combos per original combo
- Column flexural capacity overridden to ∞
Supported Loading Modes
| Mode | Description | Combos Generated |
|---|---|---|
| X Direction Only | Single horizontal direction seismic design | CP_, CN_ (ordinary) / CP1_–CN2_ (special) |
| Y Direction Only | Single horizontal direction seismic design | CP_, CN_ (ordinary) / CP1_–CN2_ (special) |
| Both Directions (100%+30%) | Full capacity in one direction + 30% orthogonal static | C1_–C4_ (ordinary) / C1_–C4_ (special) |
| Both Directions (100%+100%) | Full capacity in both directions simultaneously | C1_–C4_ (ordinary) / C1_–C16_ (special) |
2. System Requirements
| Component | Requirement | Notes |
|---|---|---|
| Operating System | Windows 10 or Windows 11 (64-bit) | x64 architecture required |
| .NET Runtime | .NET 8.0 (x64) | Download from microsoft.com/dotnet |
| SAP2000 | Version 23 or later | API (COM) license required |
| SAP2000 API DLL | SAP2000v1.dll in lib/ folder | Copied from SAP2000 installation directory |
| RAM | 4 GB minimum, 8 GB recommended | Depends on model size |
| Design Code | AISC 360-16 (or -22, -10, -05) active in SAP2000 | Other codes not supported |
3. Quick Start
Before You Run Capacity Design of CB Frames
- An earthquake (seismic) load case must exist and be named exactly as you will type it in Capacity Design of CB Frames.
- The model must have been analyzed at least once (internal forces must exist).
- Steel design must have been run at least once (design capacities must exist).
- The active design code in SAP2000 must be AISC 360 (any year).
- Diagonal brace members must have different Z-coordinates at each end (the tool identifies braces geometrically).
Basic Workflow
Open Capacity Design of CB Frames. Double-click the executable. The main form appears.
Select frame type. Choose Ordinary Frames or Special Frames from the radio buttons at the top.
Select loading direction. Choose X Dir, Y Dir, or one of the bidirectional options.
Set the SAP2000 model. Either browse to a
.sdbfile, or check Attach to Instance if SAP2000 is already open.Enter the earthquake load case name. Type the exact name of the seismic load case as it appears in SAP2000 (e.g.,
EQX).Enter Omega₀. Default is 2.0. Adjust per project requirements.
Click "Prepare for capacity design". The progress bar shows status. When complete, a message confirms the number of braces found.
Return to SAP2000 and run steel design using the new capacity-design load combinations.
When done, click "Return to Original" to remove all Capacity Design of CB Frames modifications from the model.
4. User Interface Guide
Frame Type Selection
Selects the OCBF capacity design workflow. Uses 0.3×Pn post-buckling capacity. Simpler analysis, 2 load cases per direction.
Selects the SCBF capacity design workflow. Uses expected strength (RyFyAg) and AISC E3 buckling. 4 load cases per direction. Also overrides column flexural capacities.
Direction Selection
Applies capacity design to braces in the X–Z plane only. Requires one earthquake load case (X direction).
Applies capacity design to braces in the Y–Z plane only. Requires one earthquake load case (Y direction).
Full capacity in primary direction plus 30% orthogonal static loads. Generates 4 combinations per seismic combo (ordinary) or 4 (special).
Full capacity in both directions simultaneously. Generates 4 combinations per seismic combo (ordinary) or 16 (special). Most conservative option.
Input Fields
| Field | Label | Type | Valid Range | Engineering Meaning |
|---|---|---|---|---|
TextBox1 |
EQ Case (X direction) | Text | Non-empty string | Name of the SAP2000 static linear load case representing earthquake in X direction (e.g., EQX, EX) |
TextBox2 |
EQ Case (Y direction) | Text | Non-empty string | Name of the SAP2000 static linear load case for earthquake in Y direction |
Omega |
Ω₀ (Omega0) | Number | > 0 (typical: 1.5–3.0) | Seismic overstrength amplification factor. Demand forces are multiplied by this value. Per AISC 341 / ASCE 7. |
Rho |
ρ (Rho) | Number | > 0 (typical: 1.0–1.3) | Redundancy factor per ASCE 7. When enabled, divides the seismic load scale factor by ρ before capacity design, then restores it after. Only active if Rho checkbox is checked. |
PDELTA_CASE_NAME |
P-Delta Case | Text | Non-empty if P-Delta checked | Name of the SAP2000 nonlinear P-Delta load case used as initial condition. This case is disabled during capacity design and re-enabled on restoration. |
EX_03 |
0.3EX Pattern | Text | Non-empty if BiDir used | Name of the load pattern representing 30% of X earthquake (for 100%+30% bidirectional mode). Zeroed out during capacity design to avoid double-counting. |
EY_03 |
0.3EY Pattern | Text | Non-empty if BiDir used | Name of the load pattern representing 30% of Y earthquake. |
Buttons
| Button | Action | When to Use |
|---|---|---|
| Browse (file picker) | Opens a file dialog to select a SAP2000 .sdb file |
When SAP2000 is not yet open |
| Attach to Instance | Checkbox — connects to an already-running SAP2000 instance | When SAP2000 is already open with your model |
| Prepare for capacity design | Runs the full capacity design workflow | After filling all required fields |
| Return to Original | Reverses all model modifications | After completing capacity design and SAP2000 design runs |
5. Step-by-Step Workflows
Workflow A — Ordinary CBF, Single Direction
Select Ordinary Frames and X Dir (or Y Dir).
Select SAP2000 file or check Attach to Instance.
Enter the earthquake load case name in EQ Case (X).
Set Omega₀ (default: 2.0).
Optionally enable Rho and/or P-Delta.
Click Prepare for capacity design. Wait for completion message.
In SAP2000: Run Analysis → Run Steel Design. The design will use
CP_andCN_combinations.Review results. When finished, click Return to Original.
Workflow B — Special CBF, Single Direction
Select Special Frames and X Dir.
Enter EQ case name, Omega₀, and optional Rho / P-Delta settings.
Click Prepare for capacity design. The tool also overrides column flexural capacities to prevent columns from being the governing element.
In SAP2000: Run Analysis → Run Steel Design. Combinations
CP1_,CN1_,CP2_,CN2_are now active.Click Return to Original when done.
Workflow C — Bidirectional (100% + 30%)
Select frame type, then Both Dir (100% + 30%).
Fill in EQ Case X, EQ Case Y, EX_03 pattern name, and EY_03 pattern name.
Click Prepare for capacity design. The tool processes X-direction braces, then Y-direction braces, then generates combined combos C1_–C4_.
Run SAP2000 design as normal.
Workflow D — Bidirectional (100% + 100%)
Select Special Frames and Both Dir (100% + 100%).
Fill EQ Case X and EQ Case Y. EX_03 and EY_03 are not needed (they are automatically zeroed).
Click Prepare for capacity design. The tool creates 16 combinations per original seismic combo for special frames.
Run SAP2000 design.
6. Algorithm Overview
The core algorithm is executed in the following sequence. Each numbered step corresponds to a dedicated subroutine in the codebase:
| # | Subroutine | Action | Module |
|---|---|---|---|
| 1 | B_Remove_the_rho_Effect | Divide seismic scale factor by ρ | B_Ordinary / E_Special |
| 2 | A_Run_and_Design | Unlock model, run analysis, run steel design | A_Open_SAP |
| 3 | B_Set_Omega0_Unity | Set SAP2000 Ω₀ preference to 1.0 | B_Ordinary / E_Special |
| 4 | B_Get_the_name_of_Elements | Retrieve all frame member names | B_Ordinary / E_Special |
| 5 | B_Find_the_Braces | Identify diagonal braces by geometry | B_Ordinary / E_Special |
| 6 | B_Find_Seismic_Load_Effect_Times_Omega | Extract axial forces × Ω₀ | B_Ordinary / E_Special |
| 7a | B_Find_Post_Buckling_Capacity | (Ordinary only) Query Pc,comp, compute 0.3×Pn | B_Ordinary |
| 7b | E_Find_the_Columns | (Special only) Override column Mn to ∞ | E_Special |
| 7c | E_Find_Capacity_Forces | (Special only) Compute T, C, CPB per AISC E3 | E_Special |
| 8 | B_Calculate_T_C_Forces | Assign loads to _P/_N (or _P1/_N1/_P2/_N2) cases | B_Ordinary / E_Special |
| 9 | B_Property_Modifiers_Zero | Set brace axial modifier = 0.001 | B_Ordinary / E_Special |
| 10 | B_Disable_P_Delta_And_Dynamic_Cases | Disable P-Delta, modal, RS cases | B_Ordinary / E_Special |
| 11 | B_Add_Pattern_And_Cases | Create capacity-design load patterns and static cases | B_Ordinary / E_Special |
| 12 | B_Add_Joint_Loads | Apply point loads at brace end joints | B_Ordinary / E_Special |
| 13 | B_Generate_Load_Combos | Replace seismic combos with capacity combos | B_Ordinary / E_Special |
7. Brace Identification
Capacity Design of CB Frames identifies diagonal braces purely by the geometry of their end joints. No member labels, groups, or section types are used. This makes the tool robust to any naming convention.
Identification Rules
Get joint i-end coords: (iX, iY, iZ)
Get joint j-end coords: (jX, jY, jZ)
IF (jZ - iZ) ≠ 0 ← must span vertically
AND (X-direction mode: jX - iX ≠ 0)
AND (Y-direction mode: jY - iY ≠ 0)
THEN:
Record as brace
BraceLength = √[(iX-jX)² + (iY-jY)² + (iZ-jZ)²]
What is NOT identified as a brace
| Member Type | Why Excluded |
|---|---|
| Horizontal beams | ΔZ = 0 → excluded by first condition |
| Vertical columns | ΔX = 0 and ΔY = 0 → excluded by direction conditions |
| Braces in Y-Z plane (X-dir mode) | ΔX = 0 → excluded when searching for X-direction braces |
| Braces in X-Z plane (Y-dir mode) | ΔY = 0 → excluded when searching for Y-direction braces |
8. Seismic Force Extraction
For each identified brace, the axial force from the earthquake load case is queried from SAP2000 and amplified by Omega₀:
Sign convention:
BraceSign = "T" if BraceE > 0 → member in tension under positive-direction EQ
BraceSign = "C" if BraceE < 0 → member in compression under positive-direction EQ
The Omega₀ factor is applied here to amplify the elastic analysis result to an approximate inelastic demand level. Simultaneously, the SAP2000 design code preference for Omega₀ is set to 1.0 to prevent SAP2000 from applying it a second time during design checks.
9. Ordinary Frame Capacity Calculation
For Ordinary CBF, the capacity is derived from the SAP2000 steel design result rather than from explicit section property calculations.
Post-Buckling Capacity
BraceCapacity = 0.3 × Pc,comp / φc
= 0.3 × Pn
where:
Pn = nominal compressive capacity (without resistance factor)
φc = 0.9 (AISC 360-16 E1)
0.3 = POST_BUCKLING_FRACTION (residual post-buckling capacity)
Load Assignment (Ordinary)
| Brace Classification | _P Case (positive direction) | _N Case (negative direction) |
|---|---|---|
| Compression brace (C) | −BraceCapacity (compression load) | −BraceE (seismic demand, opposite sign) |
| Tension brace (T) | +BraceE (seismic demand) | −BraceCapacity (compression load) |
The rationale: in the positive earthquake direction, a brace classified as "compression" buckles and carries only its post-buckling residual. In the reverse direction, the same brace is in tension and must carry the full seismic demand (Ω₀ × E).
10. Special Frame Capacity Calculation
For Special CBF, the capacity forces are computed from first principles using section properties and material data retrieved from SAP2000, following AISC 341-16 F2.3 and AISC 360-16 Chapter E.
Step 1 — Get Section Properties
For each brace: gross area Ag, radii of gyration r22 and r33, yield stress Fy, and elastic modulus E are retrieved. The critical slenderness uses the minimum radius of gyration:
KL/r ← K = 1.0 assumed (pinned-pinned brace)
Step 2 — Euler Critical Stress
Step 3 — Expected Yield Stress
Step 4 — Critical Stress (Buckling Curve)
Fcre = 0.658(RyFy / Fe) × RyFy
ELSE (elastic buckling):
Fcre = 0.877 × Fe
Step 5 — Dual Compression Criteria
C2 = (Fcre / 0.877) × Ag ← buckling governs (slender brace)
Compression = min(C1, C2) ← governing compressive capacity
Tension = RyFy × Ag ← full tensile yield
CPB = 0.3 × max(C1, C2) ← post-buckling residual
Load Assignment (Special)
| Brace | _P1 (full, +dir) | _N1 (full, −dir) | _P2 (post-buck, +dir) | _N2 (post-buck, −dir) |
|---|---|---|---|---|
| Compression (C) | −Compression | +Tension | −CPB | +Tension |
| Tension (T) | +Tension | −Compression | +Tension | −CPB |
The four cases represent the envelope of possible brace states during a seismic event: full compression, full tension, post-buckling (reduced compression), and tension again. Designing for all four ensures the connected members are safe under every phase of the seismic response.
11. Load Assignment to Joints
Capacity forces are applied as point loads at the end joints of each brace, in the global X, Y, or Z direction corresponding to the brace's axial direction.
Apply +BraceL at i-end joint
Apply −BraceL at j-end joint
This creates a self-equilibrating pair that
produces pure axial force in the brace.
This approach is load-direction independent — SAP2000 resolves the joint loads into axial, shear, and moment components based on member orientation. The load direction index used is 1 (local axis 1, i.e., the member axial direction).
12. Brace Stiffness Modification
After assigning the capacity loads, the axial stiffness of all diagonal braces is reduced by a factor of 1000:
All other modifiers (shear, bending, torsion) remain = 1.0
Why?
Per AISC 341, during the capacity design analysis, diagonal braces should not participate in carrying gravity loads — the gravity load path runs through the columns and beams. Reducing axial stiffness to 0.1% of its original value effectively removes the brace from the gravity load path while keeping it visible in the model for design output purposes.
13. Load Combination Generation
Capacity Design of CB Frames scans all existing response combinations in SAP2000. For each combo that references the earthquake load case, it:
- Creates new capacity-design combinations using the capacity load cases
- Removes the original seismic combo from the steel strength design list
- Adds all new capacity combos to the steel strength design list
Naming Convention
| Mode | Frame Type | Original Combo | New Combos Created |
|---|---|---|---|
| Single Direction | Ordinary | COMBO1 | CP_COMBO1, CN_COMBO1 |
| Single Direction | Special | COMBO1 | CP1_COMBO1, CN1_COMBO1, CP2_COMBO1, CN2_COMBO1 |
| BiDir 100%+30% | Ordinary | COMBO1 | C1_COMBO1, C2_COMBO1, C3_COMBO1, C4_COMBO1 |
| BiDir 100%+30% | Special | COMBO1 | C1_COMBO1 … C4_COMBO1 |
| BiDir 100%+100% | Ordinary | COMBO1 | C1_COMBO1 … C4_COMBO1 |
| BiDir 100%+100% | Special | COMBO1 | C1_COMBO1 … C16_COMBO1 |
Combo Content
Each new combination is a copy of the original, with the earthquake load case term replaced by the corresponding capacity-design load case. All gravity load terms (dead, live, etc.) are preserved unchanged.
14. Return to Original
The restoration sequence is the exact reverse of the preparation sequence:
| Step | Action |
|---|---|
| 1 | Restore seismic load scale factor (multiply back by ρ) |
| 2 | Restore Ω₀ to user-specified value in SAP2000 preferences |
| 3 | Delete all capacity-design point loads from all joints |
| 4 | Reset all brace axial stiffness modifiers to 1.0 |
| 5 | Re-enable P-Delta case with original initial conditions |
| 6 | Re-enable all Modal and Response Spectrum cases |
| 7 | Delete capacity-design load patterns (_P, _N, _P1, _N1, _P2, _N2) |
| 8 | Delete capacity-design static load cases |
| 9 | Delete all capacity-design combinations (prefixes: CP_, CN_, CP1_, CN1_, CP2_, CN2_, C1_–C16_) |
| 10 | Restore original combos to steel strength design list |
15. Engineering Background — Capacity Design Concept
Capacity design is the fundamental seismic design philosophy that underlies modern ductile structural systems. It deliberately creates a hierarchy of strength in the structure:
- Ductile fuse elements (braces) — designed to yield, buckle, and dissipate seismic energy through large inelastic deformations. These are the "sacrificial" members.
- Protected elements (columns, connections, foundations) — designed to remain elastic. Their demand is computed from the capacity of the fuse elements, not from the code-level seismic forces.
In a Concentric Braced Frame, the diagonal braces are the ductile fuses. Their capacity forces — not the elastic analysis forces — become the design demand for everything they connect to.
The Two-Phase Approach
Phase 1 (elastic analysis): Run SAP2000 with the earthquake load case to find which braces are in tension and which are in compression under a given earthquake direction. Classify each brace.
Phase 2 (capacity application): Replace the elastic seismic forces with the expected capacity forces of each brace. Compression braces: apply their compressive capacity. Tension braces: apply their tensile capacity. Also apply the post-buckling residual for the states where a brace has already buckled.
16. AISC 341-16 Provisions
Chapter F2 — Concentrically Braced Frames
F2.3(a) — Column Flexural Capacity Override (Special Frames)
AISC 341-16 F2.3, Exception (a), page 9.1-64 states that columns in SCBF may be exempt from certain combined force requirements if the flexural demands are limited. Capacity Design of CB Frames implements this by setting the SAP2000 design overwrite for Mn,major and Mn,minor to 1×1030 kN·m, effectively removing the flexural limit so that columns are never the governing element in a capacity design check.
F2.3 — Expected Brace Capacities
AISC 341-16 requires that braces in SCBF be designed using expected material properties (RyFy instead of Fy) to account for material overstrength. The standard specifies Ry = 1.5 for ASTM A500 HSS and 1.1 for A36/A992 W-shapes. Capacity Design of CB Frames uses Ry = 1.5 as a conservative default applicable to typical brace sections.
Post-Buckling Capacity = 0.3 × Pn
When a brace buckles in compression, it does not lose all its capacity immediately. It retains a post-buckling residual force of approximately 30% of its pre-buckling compressive strength. This 0.3 factor comes from experimental research on brace behavior and is codified in AISC 341.
Ordinary vs. Special — Key Differences
- Lower ductility demand
- Uses Ω₀×E as tension demand
- Uses 0.3×Pn as compression capacity
- Pn from SAP2000 design (nominal Fy)
- No column override required
- 2 load cases per direction
- Higher ductility demand
- Uses RyFyAg as tensile capacity
- Uses min(C1,C2) as compressive capacity
- CPB = 0.3×max(C1,C2) post-buckling
- Column Mn overridden to ∞
- 4 load cases per direction
17. AISC 360-16 Chapter E — Compression Equations
Background — Column Buckling Theory
A compression member can fail by yielding (short/stocky) or by elastic buckling (long/slender). The boundary between these regimes is defined by the ratio of the yield stress to the Euler elastic buckling stress.
Euler Elastic Buckling Stress
where:
E = elastic modulus (200,000 MPa for steel)
K = effective length factor (1.0 assumed)
L = member length (mm)
r = minimum radius of gyration (mm)
Critical Stress — Inelastic Buckling (E3-2)
When the member is stocky enough that it yields before elastic buckling occurs (4.71√(E/Fy) ≥ KL/r, equivalent to Fy/Fe ≤ 2.25):
In Capacity Design of CB Frames: Fy is replaced by RyFy = Ry×Fy
Fcre = 0.658(RyFy/Fe) × RyFy
Critical Stress — Elastic Buckling (E3-3)
When the member is slender and buckling occurs elastically (KL/r > 4.71√(E/Fy)):
In Capacity Design of CB Frames: Fcre = 0.877 × Fe
The 0.877 factor accounts for initial imperfections in elastic buckling
Transition — 4KL/r vs. 2.25 Threshold
The code transition can be expressed equivalently as:
Capacity Design of CB Frames uses the second form (RyFy/Fe ≤ 2.25) which is algebraically equivalent and avoids computing a square root.
18. Key Factors & Constants
| Symbol | Value | Engineering Meaning | Code Source |
|---|---|---|---|
| Ry | 1.5 | Expected-to-nominal yield stress ratio. Accounts for the fact that real steel yields ~50% above the nominal Fy. | AISC 341 Table A3.1 |
| φc | 0.9 | Resistance factor for compression members (LRFD). Reduces nominal capacity to design capacity. | AISC 360-16 E1 |
| 0.3 (post-buckling) | 0.3 | Fraction of pre-buckling compression capacity retained after a brace buckles. Based on experimental observations of cyclic brace behavior. | AISC 341-16 F2.3 |
| 0.001 (stiffness) | 0.001 | Axial stiffness reduction factor applied to diagonal braces. Prevents braces from carrying gravity loads during the capacity design analysis step. | AISC 341 design intent |
| K | 1.0 | Effective length factor. Assumes both ends of diagonal brace are pinned (gusset plate connections). Conservative for compression. | AISC 360-16 Table C-A-7.1 |
| 0.877 (imperfection) | 0.877 | Reduction factor in elastic buckling equation accounting for initial out-of-straightness in real members. | AISC 360-16 C-E3 |
| Ω₀ | User input (default: 2.0) | Seismic overstrength factor. Amplifies elastic seismic forces to estimate the maximum force the structural system can develop before yielding. Prevents brittle failures in non-ductile elements. | ASCE 7, AISC 341 |
| ρ | User input (optional, default: 1.0) | Redundancy factor. Increases seismic demands for systems with limited redundancy. Divided out before capacity design to work with the "base" seismic force. | ASCE 7-16 Section 12.3.4 |
19. Parameter Reference
User Inputs
| Parameter | UI Field | Units | Valid Range | Default |
|---|---|---|---|---|
| Frame type | Radio buttons | — | Ordinary / Special | Ordinary |
| Loading direction | Radio buttons | — | X / Y / BiDir30 / BiDir100 | X Dir |
| SAP2000 model | Browse / Attach | — | Valid .sdb path or running instance | — |
| EQ Case X | TextBox1 | — | Non-empty string matching SAP2000 case name | — |
| EQ Case Y | TextBox2 | — | Non-empty string (BiDir modes only) | — |
| Omega₀ | Omega | dimensionless | > 0 (typical 1.5–3.0) | 2.0 |
| Rho | Rho | dimensionless | > 0 (typical 1.0–1.3) | disabled |
| P-Delta case | PDELTA_CASE_NAME | — | Non-empty string (if P-Delta enabled) | disabled |
| 0.3EX pattern | EX_03 | — | Non-empty string (BiDir modes) | — |
| 0.3EY pattern | EY_03 | — | Non-empty string (BiDir modes) | — |
Computed Per-Brace Outputs
| Variable | Units | Description |
|---|---|---|
BraceE | kN | Seismic axial force × Ω₀ (demand) |
BraceSign | T or C | Tension or compression classification from positive-direction EQ |
BraceLength | mm | 3D Euclidean length of brace |
BraceCapacity | kN | (Ordinary) 0.3×Pn post-buckling capacity |
Tension | kN | (Special) RyFyAg expected tensile capacity |
Compression | kN | (Special) min(C1,C2) expected compressive capacity |
C_PB | kN | (Special) 0.3×max(C1,C2) post-buckling capacity |
20. Load Combination Naming Convention
The following table shows exactly how the 16 combinations are built for the Special Frame + BiDir 100%+100% mode, for an original combo named DSEQX that uses EQ cases EQX and EQY:
| Combo Name | X-Dir Case | Y-Dir Case | Description |
|---|---|---|---|
C1_DSEQX | EQX_P1 | EQY_P1 | Full C or T in +X, Full C or T in +Y |
C2_DSEQX | EQX_P1 | EQY_N1 | Full C or T in +X, Full C or T in −Y |
C3_DSEQX | EQX_P1 | EQY_P2 | Full C or T in +X, Post-buckle in +Y |
C4_DSEQX | EQX_P1 | EQY_N2 | Full C or T in +X, Post-buckle in −Y |
C5_DSEQX | EQX_N1 | EQY_P1 | Full C or T in −X, Full C or T in +Y |
C6_DSEQX | EQX_N1 | EQY_N1 | Full C or T in −X, Full C or T in −Y |
C7_DSEQX | EQX_N1 | EQY_P2 | Full C or T in −X, Post-buckle in +Y |
C8_DSEQX | EQX_N1 | EQY_N2 | Full C or T in −X, Post-buckle in −Y |
C9_DSEQX | EQX_P2 | EQY_P1 | Post-buckle in +X, Full C or T in +Y |
C10_DSEQX | EQX_P2 | EQY_N1 | Post-buckle in +X, Full C or T in −Y |
C11_DSEQX | EQX_P2 | EQY_P2 | Post-buckle in +X, Post-buckle in +Y |
C12_DSEQX | EQX_P2 | EQY_N2 | Post-buckle in +X, Post-buckle in −Y |
C13_DSEQX | EQX_N2 | EQY_P1 | Post-buckle in −X, Full C or T in +Y |
C14_DSEQX | EQX_N2 | EQY_N1 | Post-buckle in −X, Full C or T in −Y |
C15_DSEQX | EQX_N2 | EQY_P2 | Post-buckle in −X, Post-buckle in +Y |
C16_DSEQX | EQX_N2 | EQY_N2 | Post-buckle in −X, Post-buckle in −Y |
21. Limitations & Assumptions
| Item | Assumption / Limitation | Impact |
|---|---|---|
| K-factor | K = 1.0 assumed for all diagonal braces | Conservative for most gusset-plate connections. May be unconservative if fixity is assumed at brace ends. |
| Ry factor | Ry = 1.5 hardcoded | Correct for HSS (ASTM A500) and conservative for W-shapes (A992, Ry=1.1). If A36 plate braces are used, this may be slightly overconservative. |
| Brace identification | Geometry-only: ΔZ ≠ 0 AND ΔX or ΔY ≠ 0 | Any diagonal member meeting these criteria is treated as a brace, regardless of section type or function. Do not model non-structural diagonals in the model. |
| Single material | One Fy and E per brace (queried from SAP2000) | Mixed-material braces (e.g., composite) are not supported. |
| Design code | AISC 360-16 (also supports 360-22, 360-10, 360-05) | Non-AISC design codes (Canadian, European, etc.) are not supported. |
| SAP2000 version | SAP2000 v23+ required for COM API | Earlier versions may not expose all required API methods. |
| Brace direction | X-dir and Y-dir braces processed independently | Braces inclined in both X and Y (e.g., plan-diagonal braces in 3D space) are handled by the bidirectional mode, but must be correctly categorized by the user's selection of X or Y direction. |
| Out-of-plane braces | Not designed | Braces oriented outside the selected plane are ignored. The user must run both X-dir and Y-dir (or use bidirectional mode) to capture all braces. |
22. Troubleshooting / FAQ
Q: No braces were found. What's wrong?
Check that your model contains members with different Z-coordinates at each end. If using X-direction mode, the brace must also differ in X-coordinate. Pure vertical columns and horizontal beams are excluded by design.
Q: The progress bar stops mid-way. What happened?
The most common cause is a SAP2000 API error — for example, the earthquake load case name doesn't match exactly, or no steel design results exist. Check that steel design has been run before clicking "Prepare for capacity design". Use "Return to Original" to clean up partial changes before retrying.
Q: I accidentally closed the tool without clicking "Return to Original". How do I restore the model?
Re-open Capacity Design of CB Frames, load the same model and configuration, and click "Return to Original". The tool does not store a separate state file — it identifies its modifications by the naming convention of load patterns and combinations (prefixes: CP_, CN_, CP1_, CN1_, CP2_, CN2_, C1_–C16_).
Q: SAP2000 design results look unchanged after running "Prepare for capacity design". Why?
You must manually trigger a new analysis and design run in SAP2000 after Capacity Design of CB Frames has prepared the model. The tool modifies the model but does not run the final design automatically. Go to SAP2000 → Analyze → Run Analysis, then Design → Steel Frame Design → Start Design/Check.
Q: Can I use this with a non-AISC design code in SAP2000?
No. The tool uses AISC 360-specific SAP2000 design API indices (preference index 34 for Omega₀, overwrite indices 39 and 40 for column Mn). Other design codes use different index mappings and are not supported.
Q: Why is Omega₀ set to 1.0 in SAP2000 during the process?
The tool manually multiplies seismic forces by Omega₀ when computing BraceE. If SAP2000's internal Omega₀ preference were left at the user's value, SAP2000 would apply it a second time during the design check, resulting in a double-amplification. Setting it to 1.0 prevents this.
Q: The Rho factor — when should I enable it?
Enable Rho when your seismic load case in SAP2000 already includes the redundancy factor ρ in its scale factor (e.g., the load case was defined as ρ×E). Capacity Design of CB Frames will divide out the ρ before capacity design so that the brace capacity is computed based on the unreduced seismic demand.
23. Report Generation
After a successful capacity design run, Capacity Design of CB Frames can produce a fully formatted Word document (.docx) that records every action the tool took — inputs used, braces detected, capacity forces computed, loads applied, and model modifications made. The report serves as a traceable engineering record for peer review, project documentation, or quality assurance.
.docx file. Microsoft Word does not need to be installed on the machine running Capacity Design of CB Frames.
Availability
The Generate Word Report button is enabled only after Prepare for capacity design has completed successfully. It is grayed out at startup and resets to disabled each time you click Prepare for capacity design so that you cannot generate a report from a previous run by accident.
How to Generate a Report
Complete a successful capacity design run by clicking Prepare for capacity design and waiting for the completion message.
Click the 📄 Generate Word Report button that appears in the main form.
A Save As dialog opens. The default file name is
CapacityDesignReport_YYYYMMDD_HHMM.docx. Choose a folder and file name, then click Save.The tool writes the report. When complete, a dialog asks whether you want to open the file immediately. Click Yes to open it in your default Word viewer, or No to leave it on disk.
Report Structure
The report always contains the same seven sections regardless of frame type or loading direction. Sections that differ between Ordinary and Special frames are noted below.
| Section | Title | Contents |
|---|---|---|
| Cover | Title page | Software name, report generation timestamp, frame type (OCBF / SCBF), and active license plan. |
| 1 | Analysis Parameters | All user inputs: frame type, loading direction, seismic load case name(s), Omega₀, Rho (if used), P-Delta case (if used), 30% orthogonal pattern names (if bidirectional 100%+30% mode), brace stiffness modifier, total braces detected, and units note. |
| 2 | Detected Brace Members | Table of every brace identified by the geometry algorithm: member name, i-node, j-node, 3-D Euclidean length, and T/C classification under the positive-direction earthquake. For bidirectional runs, X-direction and Y-direction braces appear in separate sub-tables. |
| 3 | Seismic Forces (frame-type dependent) | Ordinary: raw axial force from SAP2000 and the amplified demand (Omega₀ × E) per brace. Special: raw axial force from SAP2000 and the resulting T/C classification per brace. The amplified force is not used directly as the applied demand for special frames — instead it only drives the classification. |
| 4 | Capacity Values (frame-type dependent) | Ordinary: the φPn retrieved from SAP2000 design results and the derived post-buckling capacity (0.3 × Pn/φ) per brace. Special: expected tensile capacity T = RyFyAg, expected compressive capacity C = min(C1, C2), and post-buckling capacity CPB = 0.3 × max(C1, C2) per brace. Section properties (Ag, r, Fy, E) and intermediate values (Fe, RyFy, Fcre) are used internally. |
| 5 | Applied Capacity-Design Loads | The actual point load values written to SAP2000, per brace per load case. Includes the load assignment logic summary (which brace state maps to which load case) and the numerical values for each case: _P / _N for ordinary, or _P1 / _N1 / _P2 / _N2 for special. Positive values represent tension; negative values represent compression. |
| 6 | Modifications Applied to the SAP2000 Model | Itemised list of every change made to the model: Omega₀ preference set to 1.0 (with API preference index noted), ρ factor removed from seismic scale factor (if Rho was enabled), brace axial stiffness modifiers reduced to 0.001, P-Delta case disabled (if used), modal and response spectrum cases disabled (with case names listed), and — for special frames — column Mn,major and Mn,minor overrides set to 1×1030 kN·m (with column count). |
| 7 | Generated Load Patterns, Cases, and Combinations | Tables of every load pattern created (name, type, description), every static load case created (name, referenced pattern, scale factor, initial condition), every load combination generated (name and which capacity case it uses), and a note that original seismic combinations were removed from the steel strength check list. |
Ordinary vs. Special Report Differences
- Section 3: shows raw axial E and Omega₀×E per brace
- Section 4: shows φPn from design and CPB = 0.3×Pn/φ
- Section 5: two load values per brace (_P and _N cases)
- Section 7: two load patterns (_P, _N) and two load cases
- Section 3: shows raw axial E and T/C classification only
- Section 4: shows T, C, and CPB from first-principles capacity calc
- Section 5: four load values per brace (_P1, _N1, _P2, _N2 cases)
- Section 6: extra sub-section for column Mn overrides
- Section 7: four load patterns and four load cases
Bidirectional Runs
When either bidirectional mode (100%+30% or 100%+100%) is used, Sections 2 through 5 split into sub-tables for X-direction braces and Y-direction braces. The X-direction braces are classified from the X earthquake load case and the Y-direction braces from the Y earthquake load case. Each sub-table is labelled with the relevant load case name.
Report Styling
The document uses the software's navy-and-gold colour scheme: a dark navy cover with a gold title, gold-accented section headings with a left border, alternating-stripe data tables with navy headers and gold header text, and muted italic caption text below each table. The page margins are approximately 1 inch top and bottom, 0.85 inch left and right.