Skip to main content
Version: 14

viktor.external.sap2000

SAP2000Analysis​

class viktor.external.sap2000.sap2000.SAP2000Analysis(script=None, script_key='', files=None, output_filenames=None)

Bases: PythonAnalysis

New in 14.17.0

SAP2000Analysis can be used to evaluate a SAP2000-python script on third-party infrastructure. The script is expected to be blocking, i.e. if the script is invoked from command prompt, it should wait until the executable is finished. The default behaviour, is that the python script is defined within the app and send to the worker to be executed on third-party infrastructure. If desired (due to security considerations) the worker can be configured to only run local scripts. These scripts must be defined the in worker configuration file and can be selected through the script_key.

Usage:

script = vkt.File.from_path(Path(__file__).parent / "run_sap2000.py")
files = [
    ('input1.txt', file1),
]
analysis = SAP2000Analysis(script=script, files=files, output_filenames=["output.txt"])
analysis.execute(timeout=60)
output_file = analysis.get_output_file("output.txt")

Exceptions which can be raised during calculation:

Parameters:
  • script (File) – Script file that is transferred to the working directory on the server.

  • script_key (str) – The key of the script that needs to be run. Only use this when the worker is configured to run local scripts. This key should be present in the configuration file of the worker.

  • files (List[Tuple[str, BytesIO | File]]) – Additional files that are transferred to the working directory on the server. Each file is a tuple containing the content and the filename which is used to save on the infrastructure.

  • output_filenames (List[str]) – A list of filenames (including extension) that are to be transferred back to the app. This filename is relative to the working directory.

Either one of ‘script’ or ‘script_key’ should be defined.

Raises:

ValueError – when neither ‘script’ or ‘script_key’ is included OR when both are included.

SAP2000Connection​

class viktor.external.sap2000.sap2000.SAP2000Connection(session)

Bases: _CSIConnection

New in 14.32.0

The sap object returned by connect() or attach(), used to control SAP2000 through the SAP2000 OAPI. Use the default OAPI calls with comtypes syntax. Each call returns the OAPI result: the status code, or [*out_params, status] when the call has output parameters.

The SDK sends calls to the worker in chunks. A result is read when your code first uses its value: in ==, if, float(), int(), str(), print() or a loop. A failed call raises viktor.errors.ExecutionError at that read, with the call and your line. Two things do not read a result: passing it to a later call, and unpacking it into names. So the example below sends all three calls in one chunk. result is None is always False on an unread result; use == None. Pass defer=False to connect() / attach() to send each call on its own.

name, ret = sap.FrameObj.AddByCoord(0, 0, 0, 6, 0, 0, "", "Default", "Beam", "Global")
sap.FrameObj.SetSection(name, "W12X26")

See batch() when one loop makes more than a few hundred calls.

Warning

Do not instantiate this class directly; obtain it from connect() or attach().

batch()

New in v14.37.0

Send all calls of the block to the worker as one job when the block ends. Without the block the SDK sends calls in chunks of a few hundred, each one round trip. The gain grows with the size of the block; below a few hundred calls it changes nothing. You cannot read a result inside the block: a read raises RuntimeError. So do isinstance(), print(), str() and repr() on a result. Read the results after the block. The block runs as one job under the session timeout (300 s by default). For a very large block, increase timeout in connect() / attach().

with sap.batch():
    for x, y in points:  # 5000 points
        name, ret = sap.FrameObj.AddByCoord(x, y, 0, x, y, 3, "", "W12X26")
        sap.FrameObj.SetGroupAssign(name, "Columns")
# 10000 calls went to the worker in one job

Needs a deferred connection (defer=True). Blocks cannot be nested. Calls made before the block are sent when the block starts.

Return type:

ContextManager[None, bool | None]

property application: Any

Call OAPI members on the top-level application object rather than the SapModel.

Example:

sap.application.Hide()
version = sap.application.GetOAPIVersionNumber()

attach​

viktor.external.sap2000.sap2000.attach(timeout=300, defer=True)

New in 14.33.0

Attach to the SAP2000 instance already running on the worker machine and control it through the SAP2000 OAPI, like connect(), but without starting a fresh instance. Typical use: a personal worker on the engineer’s own machine, so the app acts on the model they have open on screen.

Warning

This is a BETA feature.

Requires a worker of kind sap2000connect. Declare it in your viktor.config.toml:

worker_integrations = [
    "sap2000connect",
]

Usage:

import viktor as vkt

with vkt.sap2000.attach(timeout=60) as sap:
    [pt_i, pt_j, ret] = sap.FrameObj.GetPoints("B1", "", "")  # reads the model open in SAP2000
    ret = sap.View.RefreshView()                              # changes show in the user's window

Closing the session detaches without exiting the instance. The app can change the attached model but not save it in place: File.Save requires a relative filename and writes into the session directory.

Note

The OAPI members you call on sap (e.g. sap.FrameObj.AddByCoord) mirror the SAP2000 OAPI and are surfaced through IDE autocomplete rather than listed here. Look them up in the SAP2000 OAPI reference: the CSI OAPI help file (.chm) in your SAP2000 installation directory (e.g. C:/Program Files/Computers and Structures/SAP2000 <version>/), or on CSI’s developer site.

Parameters:
  • timeout (int) – timeout in seconds for one chunk of calls; also bounds the attach itself, so keep it at or above the platform’s 30 second bind window.

  • defer (bool) – queue calls and send them to the worker in chunks; a result is fetched when your code first reads it (default: True). False sends every call at once and returns plain values.

    New in v14.37.0

Return type:

SAP2000Connection

Exceptions which can be raised during execution:

  • viktor.errors.WorkerSessionAttachError: the attach failed, e.g. no SAP2000 is running on the worker machine, or the running instance is a different product. reason names the cause; that set is open.

  • viktor.errors.ExecutionError: generic error during a call. Error message provides more information.

  • viktor.errors.WorkerSessionError: the session was lost after attaching (e.g. the user closed the SAP2000 instance). The session cannot be resumed; start a new one to continue.

  • TimeoutError: a chunk of calls took longer than timeout

connect​

viktor.external.sap2000.sap2000.connect(timeout=300, defer=True)

New in 14.32.0

Connect to SAP2000 running on a connected VIKTOR worker and control it through the SAP2000 OAPI directly from your app, as shown below. Always starts a fresh, empty instance; to act on the instance already running on the worker machine instead, use attach().

Warning

This is a BETA feature.

Requires a worker of kind sap2000connect. Declare it in your viktor.config.toml:

worker_integrations = [
    "sap2000connect",
]

Usage:

import viktor as vkt

with vkt.sap2000.connect(timeout=60) as sap:
    ret = sap.InitializeNewModel(vkt.sap2000.eUnits.kN_m_C)  # a call returns the status code
    [beam_name, ret] = sap.FrameObj.AddByCoord(0, 0, 0, 6, 0, 0, "", "Default", "Beam", "Global")
    [pt_i, pt_j, ret] = sap.FrameObj.GetPoints(beam_name, "", "")  # ...or out-params, then status
    sap.File.Save("model.sdb")  # use a relative filename, not an absolute path

Note

The OAPI members you call on sap (e.g. sap.FrameObj.AddByCoord) mirror the SAP2000 OAPI and are surfaced through IDE autocomplete rather than listed here. Look them up in the SAP2000 OAPI reference: the CSI OAPI help file (.chm) in your SAP2000 installation directory (e.g. C:/Program Files/Computers and Structures/SAP2000 <version>/), or on CSI’s developer site.

Parameters:
  • timeout (int) – timeout in seconds for one chunk of calls.

  • defer (bool) – queue calls and send them to the worker in chunks; a result is fetched when your code first reads it (default: True). False sends every call at once and returns plain values.

    New in v14.37.0

Return type:

SAP2000Connection

Exceptions which can be raised during execution:

  • viktor.errors.ExecutionError: generic error. Error message provides more information. A host whose SAP2000 license is not activated also fails this way: SAP2000 blocks on an interactive sign-in dialog that the worker cannot answer, so starting it up times out.

  • viktor.errors.WorkerSessionError: the session was lost (e.g. its SAP2000 instance was torn down). The session cannot be resumed; start a new one to continue.

  • TimeoutError: a chunk of calls took longer than timeout

SAP2000 enum values, generated from SAP2000 27.1.0 (Ultimate).

e2DFrameType​

class viktor.external.sap2000.enums.e2DFrameType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 e2DFrameType values, mirroring the product API’s names so code reads like its docs.

ConcentricBraced = 1
EccentricBraced = 2
PortalFrame = 0

e3DFrameType​

class viktor.external.sap2000.enums.e3DFrameType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 e3DFrameType values, mirroring the product API’s names so code reads like its docs.

BeamSlab = 2
FlatPlate = 3
OpenFrame = 0
PerimeterFrame = 1

eBridgeCodeAASHTO​

class viktor.external.sap2000.enums.eBridgeCodeAASHTO(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeCodeAASHTO values, mirroring the product API’s names so code reads like its docs.

AASHTO_LRFD_2007 = 1
AASHTO_LRFD_2012 = 2
AASHTO_LRFD_2014 = 3
AASHTO_LRFD_2017 = 4
AASHTO_LRFD_2020 = 5
AASHTO_STD_2002 = 0

eBridgeCodeInterims​

class viktor.external.sap2000.enums.eBridgeCodeInterims(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeCodeInterims values, mirroring the product API’s names so code reads like its docs.

Interim_2011 = 1
Interim_2012 = 2
Interim_2013 = 3
Interim_2014 = 4
Interim_2015 = 5
NoInterims = 0

eBridgeObjectBentPart​

class viktor.external.sap2000.enums.eBridgeObjectBentPart(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeObjectBentPart values, mirroring the product API’s names so code reads like its docs.

Bearing = 3
CapBeam = 1
Column = 2
Wall = 4

eBridgeObjectFoundationPart​

class viktor.external.sap2000.enums.eBridgeObjectFoundationPart(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeObjectFoundationPart values, mirroring the product API’s names so code reads like its docs.

Footing = 1
FoundationSpring = 4
Pile = 3
PileCap = 2

eBridgeObjectType​

class viktor.external.sap2000.enums.eBridgeObjectType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeObjectType values, mirroring the product API’s names so code reads like its docs.

General = 0
Segmental = 1

eBridgeObjectUserPointType​

class viktor.external.sap2000.enums.eBridgeObjectUserPointType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeObjectUserPointType values, mirroring the product API’s names so code reads like its docs.

General = 0
SegmentalTendon = 1

eBridgeResponseDesignRating​

class viktor.external.sap2000.enums.eBridgeResponseDesignRating(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeResponseDesignRating values, mirroring the product API’s names so code reads like its docs.

Design_Crack_Bot_Crack_Width = 55
Design_Crack_Top_Bot_Crack_Widths = 56
Design_Crack_Top_Crack_Width = 54
Design_Fatigue_Bot_Flange_Lateral_Bending_Stress_Range = 75
Design_Fatigue_Bot_Flange_Tensile_Stress_Range_Without_FLB = 74
Design_Fatigue_DC_Ratio_Web_Shear = 76
Design_Fatigue_Top_Flange_Tensile_Stress_Range_Without_FLB = 73
Design_Flexure_Moment_About_Horizontal_Axis_M3 = 64
Design_Principal_Stress_Beam_Web_Bot = 61
Design_Principal_Stress_Beam_Web_Top = 60
Design_Principal_Stress_Envelope = 57
Design_Principal_Stress_Neutral_Axis = 62
Design_Principal_Stress_Web_Bot = 59
Design_Principal_Stress_Web_Top = 58
Design_Shear_Controlling_DC_Ratio = 43
Design_Shear_Controlling_Shear_DC_Ratio = 34
Design_Shear_Controlling_Torsion_DC_Ratio = 35
Design_Shear_Demand_Concrete_Shear_Capacity_Ratio = 33
Design_Shear_Longit_Rebar_Area = 45
Design_Shear_Longit_Rebar_Area_Beam = 50
Design_Shear_Longit_Rebar_Area_Bot_Flange = 48
Design_Shear_Longit_Rebar_Area_Bot_Slab = 46
Design_Shear_Longit_Rebar_Area_Slab = 49
Design_Shear_Longit_Rebar_Area_Top_Slab = 47
Design_Shear_Longit_Torsional_Rebar_Area_PerL = 51
Design_Shear_Rebar_Area_PerL = 44
Design_Shear_Required_Extra_Longit_Rebar_Area = 37
Design_Shear_Required_Extra_Longit_Rebar_Area_Beam = 42
Design_Shear_Required_Extra_Longit_Rebar_Area_Bot_Slab = 39
Design_Shear_Required_Extra_Longit_Rebar_Area_For_Torsion = 38
Design_Shear_Required_Extra_Longit_Rebar_Area_Slab = 41
Design_Shear_Required_Extra_Longit_Rebar_Area_Top_Slab = 40
Design_Shear_Required_Extra_Shear_Rebar_Area_PerL = 36
Design_Shear_Torsion_Plus_Shear_Rebar_Area_PerL = 53
Design_Shear_Torsion_Rebar_Area_PerL = 52
Design_Strength_DC_Ratio_FlexureShearInteract_Neg = 71
Design_Strength_DC_Ratio_FlexureShearInteract_Pos = 70
Design_Strength_DC_Ratio_Negative_Moment = 66
Design_Strength_DC_Ratio_Net_Section_Fracture_Neg = 69
Design_Strength_DC_Ratio_Net_Section_Fracture_Pos = 68
Design_Strength_DC_Ratio_Positive_Moment = 65
Design_Strength_DC_Ratio_Shear = 67
Design_Strength_Total_Nominal_Shear_Force_6_10_10_4_2 = 72
Design_Tendon_Stress_Controlling_DC_Ratio = 63
Rating_ASM_Rating = 94
Rating_Flexure = 81
Rating_Flexure_Factored_Moment_Resistance = 82
Rating_Flexure_Factored_Moment_Resistance_UMr = 83
Rating_Flexure_Live_load_Capacity_Factor_F = 84
Rating_LFM_Service_Rating = 96
Rating_LFM_Strength_Rating = 95
Rating_MinRebar_Flexure_Rating = 92
Rating_MinRebar_Min_Of_Abs_1_2Mcr_And_Abs_1_33Mu_For_Neg = 91
Rating_MinRebar_Min_Of_Abs_1_2Mcr_And_Abs_1_33Mu_For_Pos = 90
Rating_Service = 93
Rating_Service_Flexure_Rating = 89
Rating_Shear = 77
Rating_Shear_Factored_Shear_Resistance = 78
Rating_Shear_Factored_Shear_Resistance_UVr = 79
Rating_Shear_Live_load_Capacity_Factor_F = 80
Rating_Strength_Flexure_Rating = 86
Rating_Strength_Live_load_Capacity_Factor_F_Moment_M3 = 87
Rating_Strength_Live_load_Capacity_Factor_F_Shear_V2 = 88
Rating_Strength_Shear_Rating = 85
S11_Longitudinal_Beam_Bot_Center = 39
S11_Longitudinal_Beam_Bot_Envelope = 32
S11_Longitudinal_Beam_Bot_Left = 29
S11_Longitudinal_Beam_Bot_Right = 31
S11_Longitudinal_Beam_Top_Center = 10
S11_Longitudinal_Beam_Top_Envelope = 12
S11_Longitudinal_Beam_Top_Left = 9
S11_Longitudinal_Beam_Top_Right = 11
S11_Longitudinal_Bot_Center = 15
S11_Longitudinal_Bot_Envelope = 18
S11_Longitudinal_Bot_Left = 13
S11_Longitudinal_Bot_Left_Corner = 14
S11_Longitudinal_Bot_Right = 16
S11_Longitudinal_Bot_Right_Corner = 17
S11_Longitudinal_Girder_Bot_Envelope = 21
S11_Longitudinal_Girder_Bot_Left = 19
S11_Longitudinal_Girder_Bot_Right = 20
S11_Longitudinal_Slab_Bot_Beam_Center = 24
S11_Longitudinal_Slab_Bot_Beam_Left = 23
S11_Longitudinal_Slab_Bot_Beam_Right = 25
S11_Longitudinal_Slab_Bot_Center = 26
S11_Longitudinal_Slab_Bot_Envelope = 28
S11_Longitudinal_Slab_Bot_Left = 22
S11_Longitudinal_Slab_Bot_Right = 27
S11_Longitudinal_Slab_Top_Beam_Center = 6
S11_Longitudinal_Slab_Top_Center = 5
S11_Longitudinal_Slab_Top_Envelope = 8
S11_Longitudinal_Slab_Top_Left = 4
S11_Longitudinal_Slab_Top_Right = 7
S11_Longitudinal_Top_Center = 1
S11_Longitudinal_Top_Envelope = 3
S11_Longitudinal_Top_Left = 0
S11_Longitudinal_Top_Right = 2

eBridgeResponseDisplDOF​

class viktor.external.sap2000.enums.eBridgeResponseDisplDOF(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeResponseDisplDOF values, mirroring the product API’s names so code reads like its docs.

Avg_Longitudinal_Rotation = 4
Longitudinal_Displacement = 2
Longitudinal_Rotation = 3
Transverse_Displacement = 1
Vertical_Displacement = 0

eBridgeResponseDisplLoc​

class viktor.external.sap2000.enums.eBridgeResponseDisplLoc(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeResponseDisplLoc values, mirroring the product API’s names so code reads like its docs.

Left_Web = 5
Left_Web_Bottom = 4
Left_Web_Top = 3
Right_Web = 8
Right_Web_Bottom = 7
Right_Web_Top = 6
Slab_Center = 9
Web = 2
Web_Bottom = 1
Web_Top = 0

eBridgeResponseForce​

class viktor.external.sap2000.enums.eBridgeResponseForce(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeResponseForce values, mirroring the product API’s names so code reads like its docs.

Axial_Force_P = 1
Moment_About_Horizontal_Axis_M3 = 6
Moment_About_Vertical_Axis_M2 = 5
Shear_Horizontal_V3 = 3
Shear_Vertical_V2 = 2
Torsion_T = 4

eBridgeResponsePart​

class viktor.external.sap2000.enums.eBridgeResponsePart(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeResponsePart values, mirroring the product API’s names so code reads like its docs.

All_Beams = 7
All_Girders = 6
All_Slabs = 9
All_Webs = 8
Beam = 3
Entire_Bridge_Section = 1
Entire_Section_Plus_All_Girders = 10
Girder = 2
Slab = 5
Web = 4

eBridgeResponseStress​

class viktor.external.sap2000.enums.eBridgeResponseStress(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeResponseStress values, mirroring the product API’s names so code reads like its docs.

S11_Lateral_Bending_Bot = 25
S11_Lateral_Bending_Top = 22
S11_Lateral_Bending_Top_ULeft = 23
S11_Lateral_Bending_Top_URight = 24
S11_Longitudinal_Bot_Beam_Left = 16
S11_Longitudinal_Bot_Beam_Right = 17
S11_Longitudinal_Bot_Center = 14
S11_Longitudinal_Bot_Envelope = 18
S11_Longitudinal_Bot_Left = 13
S11_Longitudinal_Bot_Right = 15
S11_Longitudinal_Top_Beam_Center = 3
S11_Longitudinal_Top_Bot_Center = 20
S11_Longitudinal_Top_Bot_Left = 19
S11_Longitudinal_Top_Bot_Right = 21
S11_Longitudinal_Top_Center = 1
S11_Longitudinal_Top_Envelope = 4
S11_Longitudinal_Top_Left = 0
S11_Longitudinal_Top_Right = 2
S11_Longitudinal_Top_ULeft_Center = 6
S11_Longitudinal_Top_ULeft_Envelope = 8
S11_Longitudinal_Top_ULeft_Left = 5
S11_Longitudinal_Top_ULeft_Right = 7
S11_Longitudinal_Top_URight_Center = 10
S11_Longitudinal_Top_URight_Envelope = 12
S11_Longitudinal_Top_URight_Left = 9
S11_Longitudinal_Top_URight_Right = 11

eBridgeSegmentConstructionMethod​

class viktor.external.sap2000.enums.eBridgeSegmentConstructionMethod(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeSegmentConstructionMethod values, mirroring the product API’s names so code reads like its docs.

CastInPlace = 1
Precast = 0

eBridgeSegmentType​

class viktor.external.sap2000.enums.eBridgeSegmentType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeSegmentType values, mirroring the product API’s names so code reads like its docs.

Closure = 3
PierTable = 1
Rigid = 0
Segment = 2

eBridgeTendonCategory​

class viktor.external.sap2000.enums.eBridgeTendonCategory(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eBridgeTendonCategory values, mirroring the product API’s names so code reads like its docs.

BottomSpan = 2
Cantilever = 1
Continuity = 4
General = 0
TopSpan = 3

eCNameType​

class viktor.external.sap2000.enums.eCNameType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eCNameType values, mirroring the product API’s names so code reads like its docs.

LoadCase = 0
LoadCombo = 1

eConstraintAxis​

class viktor.external.sap2000.enums.eConstraintAxis(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eConstraintAxis values, mirroring the product API’s names so code reads like its docs.

AutoAxis = 4
X = 1
Y = 2
Z = 3

eConstraintType​

class viktor.external.sap2000.enums.eConstraintType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eConstraintType values, mirroring the product API’s names so code reads like its docs.

Beam = 5
Body = 1
Diaphragm = 2
Equal = 6
Line = 13
Local = 7
Plate = 3
Rod = 4
Weld = 8

eDesignActionType​

class viktor.external.sap2000.enums.eDesignActionType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eDesignActionType values, mirroring the product API’s names so code reads like its docs.

LongTermComposite = 3
NonComposite = 1
Other = 5
ShortTermComposite = 2
Staged = 4

eForce​

class viktor.external.sap2000.enums.eForce(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eForce values, mirroring the product API’s names so code reads like its docs.

N = 3
NotApplicable = 0
kN = 4
kgf = 5
kip = 2
lb = 1
tonf = 6

eFramePropType​

class viktor.external.sap2000.enums.eFramePropType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eFramePropType values, mirroring the product API’s names so code reads like its docs.

Angle = 4
Auto = 12
Box = 6
Bridge = 16
BucklingRestrainedBrace = 33
BuiltupICoverplate = 23
BuiltupIHybrid = 26
BuiltupUHybrid = 27
Channel = 2
Circle = 9
Cold_2C = 18
Cold_2L = 21
Cold_Box = 42
Cold_C = 17
Cold_Hat = 22
Cold_I = 43
Cold_L = 20
Cold_Pipe = 44
Cold_T = 45
Cold_Z = 19
ConcreteBox = 36
ConcreteCross = 38
ConcretePipe = 37
ConcreteTee = 35
Concrete_L = 28
CoreBrace_BRB = 34
DbChannel = 11
DblAngle = 5
EncasedCircle = 32
EncasedRectangle = 31
FilledPipe = 30
FilledTube = 29
General = 10
I = 1
Joist = 15
PCCGirderBox = 47
PCCGirderI = 24
PCCGirderSuperT = 41
PCCGirderU = 25
Pipe = 7
Rectangular = 8
SD = 13
SteelPlate = 39
SteelRod = 40
T = 3
Trapezoidal = 46
Variable = 14

eHingeDistributionType​

class viktor.external.sap2000.enums.eHingeDistributionType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eHingeDistributionType values, mirroring the product API’s names so code reads like its docs.

ContinuousSupport = 4
DistributedPlasticity = 2
EqualSpacing = 3
NonlinearBeamColumn = 1
UserDefined = 5

eHingeLengthOverwriteType​

class viktor.external.sap2000.enums.eHingeLengthOverwriteType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eHingeLengthOverwriteType values, mirroring the product API’s names so code reads like its docs.

Absolute = 2
None_ = 1
Relative = 3

eHingeLocationType​

class viktor.external.sap2000.enums.eHingeLocationType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eHingeLocationType values, mirroring the product API’s names so code reads like its docs.

OffsetFromIEnd = 2
OffsetFromJEnd = 3
RelativeDistance = 1

eItemType​

class viktor.external.sap2000.enums.eItemType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eItemType values, mirroring the product API’s names so code reads like its docs.

Group = 1
Objects = 0
SelectedObjects = 2

eItemTypeElm​

class viktor.external.sap2000.enums.eItemTypeElm(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eItemTypeElm values, mirroring the product API’s names so code reads like its docs.

Element = 1
GroupElm = 2
ObjectElm = 0
SelectionElm = 3

eLength​

class viktor.external.sap2000.enums.eLength(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eLength values, mirroring the product API’s names so code reads like its docs.

NotApplicable = 0
cm = 5
ft = 2
inch = 1
m = 6
micron = 3
mm = 4

eLinkPropType​

class viktor.external.sap2000.enums.eLinkPropType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eLinkPropType values, mirroring the product API’s names so code reads like its docs.

Damper = 2
DamperBilinear = 13
DamperFrictionSpring = 14
DamperLinearExponential = 12
Gap = 3
Hook = 4
Isolator1 = 6
Isolator2 = 7
Isolator3 = 10
Isolator4 = 11
Linear = 1
MultilinearElastic = 8
MultilinearPlastic = 9
PlasticWen = 5

eLoadCaseType​

class viktor.external.sap2000.enums.eLoadCaseType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eLoadCaseType values, mirroring the product API’s names so code reads like its docs.

Buckling = 10
ExternalResults = 15
HyperStatic = 14
LinearDynamic = 7
LinearHistory = 5
LinearStatic = 1
LinearStaticMultiStep = 13
Modal = 3
MovingLoad = 9
NonlinearDynamic = 8
NonlinearHistory = 6
NonlinearStatic = 2
NonlinearStaticMultiStep = 17
PowerSpectralDensity = 12
ResponseSpectrum = 4
StagedConstruction = 16
SteadyState = 11

eLoadPatternType​

class viktor.external.sap2000.enums.eLoadPatternType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eLoadPatternType values, mirroring the product API’s names so code reads like its docs.

ActiveEarthPressure = 45
Bouyancy = 36
Braking = 15
Centrifugal = 16
Construction = 39
Creep = 29
Dead = 1
DeadManufacture = 42
DeadWater = 41
DeadWearing = 40
DownDrag = 23
EarthHydrostatic = 43
EarthSurcharge = 22
EuroLm1Char = 48
EuroLm1Freq = 49
EuroLm2 = 50
EuroLm3 = 51
EuroLm4 = 52
Friction = 17
HorizontalEarthPressure = 20
Hyperstatic = 35
Ice = 18
Impact = 38
Live = 3
LiveLoadSurcharge = 31
LockedInForces = 32
Move = 9
MoveDeflection = 57
MoveFatigue = 55
MoveFatiguePermit = 56
MoveTrain = 58
Notional = 12
Other = 8
PassiveEarthPressure = 44
PatternAuto = 60
PatternLive = 13
PedestrianLL = 33
PedestrianLLReduced = 46
Permit = 54
Prestress = 34
PrestressTransfer = 59
Quake = 5
QuakeDrift = 61
QuakeVerticalOnly = 62
ReduceLive = 4
Rooflive = 11
SeaState = 53
Settlement = 27
Shrinkage = 28
Snow = 7
SnowHighAltitude = 47
StreamFlow = 37
SuperDead = 2
Temperature = 10
TemperatureGradient = 26
VehicleCollision = 24
VerticalEarthPressure = 21
VesselCollision = 25
WaterloadPressure = 30
Wave = 14
Wind = 6
WindOnLiveLoad = 19

eMatCoupledType​

class viktor.external.sap2000.enums.eMatCoupledType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatCoupledType values, mirroring the product API’s names so code reads like its docs.

FariaConcreteDamagePlasticity = 4
ModifiedDarwinPecknoldConcrete = 3
None_ = 1
VonMisesPlasticity = 2

eMatType​

class viktor.external.sap2000.enums.eMatType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatType values, mirroring the product API’s names so code reads like its docs.

Aluminum = 4
ColdFormed = 5
Concrete = 2
Masonry = 8
NoDesign = 3
Rebar = 6
Steel = 1
Tendon = 7

eMatTypeAluminum​

class viktor.external.sap2000.enums.eMatTypeAluminum(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatTypeAluminum values, mirroring the product API’s names so code reads like its docs.

SubType_5052_H34 = 3
SubType_6061_T6 = 1
SubType_6063_T6 = 2

eMatTypeColdFormed​

class viktor.external.sap2000.enums.eMatTypeColdFormed(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatTypeColdFormed values, mirroring the product API’s names so code reads like its docs.

ASTM_A653SQGr33 = 1
ASTM_A653SQGr50 = 2

eMatTypeConcrete​

class viktor.external.sap2000.enums.eMatTypeConcrete(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatTypeConcrete values, mirroring the product API’s names so code reads like its docs.

Chinese_C20_NormalWeight = 9
Chinese_C30_NormalWeight = 10
Chinese_C40_NormalWeight = 11
EN_C12_NormalWeight = 22
EN_C16_NormalWeight = 23
EN_C20_NormalWeight = 24
EN_C25_NormalWeight = 25
EN_C30_NormalWeight = 26
EN_C35_NormalWeight = 27
EN_C40_NormalWeight = 28
EN_C45_NormalWeight = 29
EN_C50_NormalWeight = 30
EN_C55_NormalWeight = 31
EN_C60_NormalWeight = 32
EN_C70_NormalWeight = 33
EN_C80_NormalWeight = 34
EN_C90_NormalWeight = 35
FC3000_LightWeight = 5
FC3000_NormalWeight = 1
FC4000_LightWeight = 6
FC4000_NormalWeight = 2
FC5000_LightWeight = 7
FC5000_NormalWeight = 3
FC6000_LightWeight = 8
FC6000_NormalWeight = 4
Indian_M15_NormalWeight = 12
Indian_M20_NormalWeight = 13
Indian_M25_NormalWeight = 14
Indian_M30_NormalWeight = 15
Indian_M35_NormalWeight = 16
Indian_M40_NormalWeight = 17
Indian_M45_NormalWeight = 18
Indian_M50_NormalWeight = 19
Indian_M55_NormalWeight = 20
Indian_M60_NormalWeight = 21

eMatTypeRebar​

class viktor.external.sap2000.enums.eMatTypeRebar(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatTypeRebar values, mirroring the product API’s names so code reads like its docs.

ASTM_A615Gr40 = 1
ASTM_A615Gr60 = 2
ASTM_A615Gr75 = 3
ASTM_A706 = 4
Chinese_HPB235 = 5
Chinese_HRB335 = 6
Chinese_HRB400 = 7
Indian_HYSD415 = 9
Indian_HYSD500 = 10
Indian_HYSD550 = 11
Indian_Mild250 = 8

eMatTypeSteel​

class viktor.external.sap2000.enums.eMatTypeSteel(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatTypeSteel values, mirroring the product API’s names so code reads like its docs.

ASTM_A36 = 1
ASTM_A500GrB_Fy42 = 3
ASTM_A500GrB_Fy46 = 4
ASTM_A53GrB = 2
ASTM_A572Gr50 = 5
ASTM_A913Gr50 = 6
ASTM_A992_Fy50 = 7
Chinese_Q235 = 8
Chinese_Q345 = 9
Chinese_Q355 = 16
EN100252_S235 = 12
EN100252_S275 = 13
EN100252_S355 = 14
EN100252_S450 = 15
Indian_Fe250 = 10
Indian_Fe345 = 11

eMatTypeTendon​

class viktor.external.sap2000.enums.eMatTypeTendon(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eMatTypeTendon values, mirroring the product API’s names so code reads like its docs.

ASTM_A416Gr250 = 1
ASTM_A416Gr270 = 2

eNamedSetType​

class viktor.external.sap2000.enums.eNamedSetType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eNamedSetType values, mirroring the product API’s names so code reads like its docs.

All = 0
BridgeCalculationReport = 17
BridgeCalculationReportSub = 18
BridgeSeismicReport = 15
BridgeSuperstructureResponse = 16
JointTHResponseSpectra = 8
NamedDisplay = 9
PlotFunctionTraces = 10
PushoverCurve = 11
RunAnalysis = 2
RunBridgeDesignSeismic = 5
RunBridgeDesignSubstructure = 4
RunBridgeDesignSuperstructure = 3
RunBridgeRatingSuperstructure = 6
RunMemberRating = 7
TableGroupSuperset = 14
TableSet = 13
UpdateBridgeObject = 1
VirtualWork = 12

eObjType​

class viktor.external.sap2000.enums.eObjType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eObjType values, mirroring the product API’s names so code reads like its docs.

Area = 3
Frame = 2
Point = 1
Solid = 6

eReturnCode​

class viktor.external.sap2000.enums.eReturnCode(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eReturnCode values, mirroring the product API’s names so code reads like its docs.

Deprecated = -98
NoError = 0
NotApplicable = -100
NotImplemented = -99
TableDoesNotExist = -96
TableIsObsolete = -97
UnspecifiedError = 1

eSolidPropFormulationType​

class viktor.external.sap2000.enums.eSolidPropFormulationType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eSolidPropFormulationType values, mirroring the product API’s names so code reads like its docs.

LegacyQuadratic = 1
LegacyStandard = 0
Quadratic = 3
Standard = 2

eSuperObjectClass​

class viktor.external.sap2000.enums.eSuperObjectClass(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eSuperObjectClass values, mirroring the product API’s names so code reads like its docs.

BridgeFoundation = 3
Foundation = 2
None_ = 0
SuperObject = 1

eTemperature​

class viktor.external.sap2000.enums.eTemperature(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eTemperature values, mirroring the product API’s names so code reads like its docs.

C = 2
F = 1
NotApplicable = 0

eTemplateType​

class viktor.external.sap2000.enums.eTemplateType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eTemplateType values, mirroring the product API’s names so code reads like its docs.

Advanced = 17
Barrel = 12
Beam = 2
BracedFrame = 7
Bridge = 11
BridgeWizard = 23
CableBridges = 29
Clear = 1
Cylinder = 13
Dome = 14
EccentricFrame = 8
Floor = 16
Frame2D = 21
Frame3D = 22
Grid = 0
PerimeterFrame = 9
PipesAndPlates = 24
PortalFrame = 6
ShearWall = 15
Shells = 25
SlopedTruss = 3
SolidModels = 26
SpaceFrame = 10
SpaceTruss = 5
Staircases = 28
StorageStructures = 27
Truss2D = 19
Truss3D = 20
UndergoundConcrete = 18
VerticalTruss = 4

eUnits​

class viktor.external.sap2000.enums.eUnits(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eUnits values, mirroring the product API’s names so code reads like its docs.

N_cm_C = 15
N_m_C = 10
N_mm_C = 9
Ton_cm_C = 16
Ton_m_C = 12
Ton_mm_C = 11
kN_cm_C = 13
kN_m_C = 6
kN_mm_C = 5
kgf_cm_C = 14
kgf_m_C = 8
kgf_mm_C = 7
kip_ft_F = 4
kip_in_F = 3
lb_ft_F = 2
lb_in_F = 1

eWallPierRebarLayerType​

class viktor.external.sap2000.enums.eWallPierRebarLayerType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eWallPierRebarLayerType values, mirroring the product API’s names so code reads like its docs.

Confinement_EndZoneI = 5
Confinement_EndZoneJ = 6
Diagonal_Each = 7
Horizontal_Distributed_MiddleZone_Eachface = 2
Vertical_Distributed_EndZoneI_Total = 3
Vertical_Distributed_EndZoneJ_Total = 4
Vertical_Distributed_MiddleZone_Eachface = 1

eWallSpandrelRebarLayerType​

class viktor.external.sap2000.enums.eWallSpandrelRebarLayerType(*values)

Bases: IntEnum

New in 14.32.0

SAP2000 eWallSpandrelRebarLayerType values, mirroring the product API’s names so code reads like its docs.

Diagonal_Each = 5
Horizontal_Bottom_Total = 2
Horizontal_Distributed_Eachface = 3
Horizontal_Top_Total = 1
Vertical_Ties_Distributed = 4