0% found this document useful (0 votes)
231 views

RAM DataAccess Developers Guide

Uploaded by

neo_may_sing
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
231 views

RAM DataAccess Developers Guide

Uploaded by

neo_may_sing
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 456

RAM DataAccess

Developer’s Guide

Release 15.06.00
October 2017

Bentley Systems
2744 Loker Avenue West, Suite 103
Carlsbad, CA 92010
Telephone: (760) 431-3610
Toll Free: (800) 726-7789
Fax: (760) 431-5214
TRADEMARK NOTICE
Bentley and the "B" Bentley logo are registered or non-registered trademarks of Bentley Systems, Incorporated.

RAM SBeam, RAM Structural System, RAM Manager, RAM Modeler, RAM Steel, RAM Frame, RAM Foundation and RAM Concrete
are registered or non-registered trademarks of Bentley Systems, Incorporated.

All other marks are the property of their respective owners.

COPYRIGHT NOTICE
Copyright (c) 2015 Bentley Systems, Incorporated. All Rights Reserved.
Including software, file formats, and audiovisual displays; may only be used pursuant to applicable software license agreement;
contains confidential and proprietary information of Bentley Systems, Incorporated and/or third parties which is protected by
copyright and trade secret law and may not be provided or otherwise made available without proper authorization.

RESTRICTED RIGHTS LEGENDS


If this software is acquired for or on behalf of the United States of America, its agencies and/or instrumentalities ("U.S. Government"),
it is provided with restricted rights. This software and accompanying documentation are "commercial computer software" and
"commercial computer software documentation," respectively, pursuant to 48 C.F.R. 12.212 and 227.7202, and "restricted computer
software" pursuant to 48 C.F.R. 52.227-19(a), as applicable. Use, modification, reproduction, release, performance, display or
disclosure of this software and accompanying documentation by the U.S. Government are subject to restrictions as set forth in this
Agreement and pursuant to 48 C.F.R. 12.212, 52.227-19, 227.7202, and 1852.227-86, as applicable. Contractor/Manufacturer is
Bentley Systems, Incorporated, 685 Stockton Drive, Exton, PA 19341-0678.

Unpublished - rights reserved under the Copyright Laws of the United States and International treaties.
DISCLAIMER
The software and related documentation, including this documentation, are protected by both United States copyright law and
international treaty provisions. Any unauthorized copying or reproduction is strictly prohibited and subject to civil and criminal
penalties. Please refer to the License Agreement for authorization to make a backup copy of the software. You may not sell this
software or documentation or give copies of them away to anyone else.

Except as expressly warranted in the License Agreement, Bentley Systems, Incorporated disclaims all warranties, expressed or
implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to the
software, the accompanying written materials, and any accompanying hardware. All results should be verified to the user’s
satisfaction. The contents of these written materials may include technical inaccuracies or typographical errors and may be revised
without prior notice.
Table of Contents
Introduction .......................................................................................................................................................................................... 10
Basic Concepts of the RAM Object Model ........................................................................................................................................... 10
General Information ............................................................................................................................................................................. 12
Creating and Updating a Model ........................................................................................................................................................... 14
Reading an Existing Model .................................................................................................................................................................. 18
The Object Model Interfaces ................................................................................................................................................................ 19
DAArray............................................................................................................................................................................................ 19
IAnalyticalResult ............................................................................................................................................................................... 20
IBasePlate ........................................................................................................................................................................................ 21
IBeam ............................................................................................................................................................................................... 21
IBeams ............................................................................................................................................................................................. 25
IColumn ............................................................................................................................................................................................ 26
IColumns .......................................................................................................................................................................................... 30
IColumnStack ................................................................................................................................................................................... 32
ICompDeckProp ............................................................................................................................................................................... 32
ICompDeckProps ............................................................................................................................................................................. 33
IConcreteCriteria .............................................................................................................................................................................. 35
IConcreteMaterial ............................................................................................................................................................................. 35
IConcSectProp ................................................................................................................................................................................. 36
IConcSectProps ............................................................................................................................................................................... 37
IConcShearWallCriteria .................................................................................................................................................................... 40
IConcSlabProp ................................................................................................................................................................................. 40
IConcSlabProps ............................................................................................................................................................................... 41
IContinuousFnd ................................................................................................................................................................................ 42
IContinuousFnds .............................................................................................................................................................................. 44
ICouplingBeam ................................................................................................................................................................................. 45
ICouplingBeamCriteria ..................................................................................................................................................................... 47
ICouplingBeams ............................................................................................................................................................................... 47
IDB ................................................................................................................................................................................................... 49
IDBRecord........................................................................................................................................................................................ 49
IDBRecords ...................................................................................................................................................................................... 49
IDBTable .......................................................................................................................................................................................... 49
IDBTables ........................................................................................................................................................................................ 49
IDeck ................................................................................................................................................................................................ 49
IDecks .............................................................................................................................................................................................. 51
IDeckTableEntries ............................................................................................................................................................................ 53
IDeckTableEntry ............................................................................................................................................................................... 54
IDiaphragm ....................................................................................................................................................................................... 54
IDiaphragms ..................................................................................................................................................................................... 57
IField ................................................................................................................................................................................................ 58
IFields............................................................................................................................................................................................... 59
IFinalWallOpening ............................................................................................................................................................................ 59
IFinalWallOpenings .......................................................................................................................................................................... 59
IFloorType ........................................................................................................................................................................................ 60
IFloorTypes ...................................................................................................................................................................................... 64
IFrameAnalysisCriteria ..................................................................................................................................................................... 66
IGridSystem ..................................................................................................................................................................................... 67
IGridSystems .................................................................................................................................................................................... 67
IHorizBrace ...................................................................................................................................................................................... 69
IHorizBraces ..................................................................................................................................................................................... 71
IIsolatedFnd ..................................................................................................................................................................................... 72
IIsolatedFnds .................................................................................................................................................................................... 74
ILayoutBeam .................................................................................................................................................................................... 76
ILayoutBeams .................................................................................................................................................................................. 81
ILayoutColumn ................................................................................................................................................................................. 83
ILayoutColumns ............................................................................................................................................................................... 86
ILayoutContinuousFnd ..................................................................................................................................................................... 88
ILayoutContinuousFnds ................................................................................................................................................................... 90
ILayoutHorizBrace ............................................................................................................................................................................ 92
ILayoutHorizBraces .......................................................................................................................................................................... 94
ILayoutIsolatedFnd ........................................................................................................................................................................... 96
ILayoutIsolatedFnds ......................................................................................................................................................................... 98
ILayoutMatFndPerim ........................................................................................................................................................................ 99
ILayoutMatFndPropPoly ................................................................................................................................................................. 100
ILayoutWall .................................................................................................................................................................................... 100
ILayoutWalls ................................................................................................................................................................................... 102
ILineLoadPropertySet..................................................................................................................................................................... 103
ILineLoadPropertySets ................................................................................................................................................................... 104
ILineLoadSet .................................................................................................................................................................................. 105
ILineLoadSets ................................................................................................................................................................................ 105
ILoadCase ...................................................................................................................................................................................... 107
ILoadCases .................................................................................................................................................................................... 108
ILoadCombination .......................................................................................................................................................................... 109
ILoadCombinationParam................................................................................................................................................................ 110
ILoadCombinationParams .............................................................................................................................................................. 111
ILoadCombinations ........................................................................................................................................................................ 112
ILoadCombinationTerm .................................................................................................................................................................. 114
ILoadCombinationTerms ................................................................................................................................................................ 114
ILoadComboInternal ....................................................................................................................................................................... 116
ILoadComboParamCntrl1 ............................................................................................................................................................... 116
ILoadComboParamCntrl3 ............................................................................................................................................................... 116
ILoadComboParamsCntrl1 ............................................................................................................................................................. 116
ILoadComboParamsCntrl3 ............................................................................................................................................................. 117
IMatFndPerim ................................................................................................................................................................................. 119
IMatFndPropPoly ........................................................................................................................................................................... 119
IMemberForce ................................................................................................................................................................................ 119
IMemberForces .............................................................................................................................................................................. 119
IModel ............................................................................................................................................................................................ 120
IModelGrid...................................................................................................................................................................................... 135
IModelGrids .................................................................................................................................................................................... 135
INode.............................................................................................................................................................................................. 137
INodes ............................................................................................................................................................................................ 138
INonCompDeckProp ...................................................................................................................................................................... 139
INonCompDeckProps..................................................................................................................................................................... 139
IOtherMaterial ................................................................................................................................................................................ 140
IOtherSectProp .............................................................................................................................................................................. 140
IOtherSectProps ............................................................................................................................................................................. 141
IPile ................................................................................................................................................................................................ 143
IPileConfiguration ........................................................................................................................................................................... 144
IPileConfigurations ......................................................................................................................................................................... 144
IPiles .............................................................................................................................................................................................. 145
IPoint .............................................................................................................................................................................................. 147
IPointLoad ...................................................................................................................................................................................... 147
IPointLoadPropertySet ................................................................................................................................................................... 148
IPointLoadPropertySets ................................................................................................................................................................. 148
IPointLoads .................................................................................................................................................................................... 150
IPointLoadSet ................................................................................................................................................................................. 150
IPointLoadSets ............................................................................................................................................................................... 150
IPoints ............................................................................................................................................................................................ 152
IProperties ...................................................................................................................................................................................... 153
IProperty......................................................................................................................................................................................... 154
IPropertyDefinition .......................................................................................................................................................................... 156
IPropertyDefinitions ........................................................................................................................................................................ 159
IRAMFrameCriteria ........................................................................................................................................................................ 161
IRawWallOpening........................................................................................................................................................................... 162
IRawWallOpenings ......................................................................................................................................................................... 163
IRawWallSectionCut....................................................................................................................................................................... 164
IRawWallSectionCuts ..................................................................................................................................................................... 168
IRBSPropertySet ............................................................................................................................................................................ 170
IReactionNode ............................................................................................................................................................................... 170
IReactionNodes .............................................................................................................................................................................. 171
IRecord........................................................................................................................................................................................... 172
IRecords ......................................................................................................................................................................................... 172
IShell .............................................................................................................................................................................................. 173
IShells ............................................................................................................................................................................................ 174
ISlabEdge....................................................................................................................................................................................... 175
ISlabEdges ..................................................................................................................................................................................... 175
ISlabOpening ................................................................................................................................................................................. 176
ISlabOpenings ................................................................................................................................................................................ 177
ISlabPerimeter ............................................................................................................................................................................... 178
ISlabPerimeters .............................................................................................................................................................................. 179
ISnowLoadPropertySet .................................................................................................................................................................. 179
ISnowLoadPropertySets................................................................................................................................................................. 180
ISnowLoadSet ................................................................................................................................................................................ 181
ISnowLoadSets .............................................................................................................................................................................. 182
ISteelBeamDesignResult ............................................................................................................................................................... 183
ISteelCriteria .................................................................................................................................................................................. 184
ISteelMaterial ................................................................................................................................................................................. 186
IStories ........................................................................................................................................................................................... 186
IStory .............................................................................................................................................................................................. 188
IStress ............................................................................................................................................................................................ 192
IStresses ........................................................................................................................................................................................ 192
IStringValue .................................................................................................................................................................................... 193
ISurfaceLoadPropertySet ............................................................................................................................................................... 193
ISurfaceLoadPropertySets ............................................................................................................................................................. 194
ISurfaceLoadSet ............................................................................................................................................................................ 195
ISurfaceLoadSets ........................................................................................................................................................................... 195
ITable ............................................................................................................................................................................................. 197
ITrialGroup ..................................................................................................................................................................................... 197
ITrialGroups ................................................................................................................................................................................... 198
IVerticalBrace ................................................................................................................................................................................. 199
IVerticalBraces ............................................................................................................................................................................... 203
IWall ............................................................................................................................................................................................... 205
IWallBarLayout ............................................................................................................................................................................... 208
IWallBarLayouts ............................................................................................................................................................................. 209
IWallBarPattern .............................................................................................................................................................................. 211
IWallBarPatterns ............................................................................................................................................................................ 211
IWallBarPlacement ......................................................................................................................................................................... 213
IWallBarPlacements ....................................................................................................................................................................... 213
IWallBarSet .................................................................................................................................................................................... 214
IWallBarSets .................................................................................................................................................................................. 215
IWallCodeMessage ........................................................................................................................................................................ 216
IWallCodeMessages ...................................................................................................................................................................... 217
IWallCodeResult ............................................................................................................................................................................ 218
IWallCodeResults ........................................................................................................................................................................... 219
IWallDesignGroup .......................................................................................................................................................................... 220
IWallDesignGroups ........................................................................................................................................................................ 223
IWallFailedMember ........................................................................................................................................................................ 224
IWallFailedMembers....................................................................................................................................................................... 224
IWallFE........................................................................................................................................................................................... 226
IWallFEs ......................................................................................................................................................................................... 227
IWallLimitCheck ............................................................................................................................................................................. 227
IWallLimitChecks ............................................................................................................................................................................ 228
IWallPanel ...................................................................................................................................................................................... 230
IWallPanelReinfZone...................................................................................................................................................................... 232
IWallPanelReinfZones .................................................................................................................................................................... 232
IWallPanels .................................................................................................................................................................................... 233
IWalls ............................................................................................................................................................................................. 234
IWallSectionDsnCut ....................................................................................................................................................................... 236
IWallSectionDsnCutForceSet ......................................................................................................................................................... 238
IWallSectionDsnCutForceSets ....................................................................................................................................................... 239
IWallSectionDsnCuts...................................................................................................................................................................... 240
IWebOpening ................................................................................................................................................................................. 242
IWebOpenings ............................................................................................................................................................................... 243
WallBarPatternTemplate ................................................................................................................................................................ 244
WallBarPatternTemplates .............................................................................................................................................................. 245
Original DataAccess Interfaces .......................................................................................................................................................... 248
IConcAnalysis1 .............................................................................................................................................................................. 248
IConcAnalysisState1 ...................................................................................................................................................................... 250
IConcBeamState1 .......................................................................................................................................................................... 256
IConcBeamState2 .......................................................................................................................................................................... 266
IConcCntlrCommon1 ...................................................................................................................................................................... 276
IConcColModState1 ....................................................................................................................................................................... 280
IConcColModState2 ....................................................................................................................................................................... 286
IConcept ......................................................................................................................................................................................... 288
IDBIO1 ........................................................................................................................................................................................... 290
IForces1 ......................................................................................................................................................................................... 292
IForces2 ......................................................................................................................................................................................... 302
IGravityLoads1 ............................................................................................................................................................................... 308
IGravitySteelDesign1...................................................................................................................................................................... 326
ILoading1 ....................................................................................................................................................................................... 329
IMemberData1 ............................................................................................................................................................................... 334
IMemberData2 ............................................................................................................................................................................... 346
IModelData1 ................................................................................................................................................................................... 351
IModelData2 ................................................................................................................................................................................... 357
IModelGeometry1 ........................................................................................................................................................................... 366
IModelGeometry2 ........................................................................................................................................................................... 378
IModelStatus1 ................................................................................................................................................................................ 382
IRamDataAccess2.......................................................................................................................................................................... 384
ISteelColumnState ......................................................................................................................................................................... 384
ISteelColumnState2 ....................................................................................................................................................................... 388
RamDataAccess1........................................................................................................................................................................... 388
Common Structure Definitions ........................................................................................................................................................... 389
Common Enumerator Definitions ....................................................................................................................................................... 408
Appendix A - RAM Object Model Diagram ......................................................................................................................................... 441
Appendix B – Using DataAccess from VB/VBA ................................................................................................................................. 443
Appendix C – Using RAM DataAccess in a Visual C++ Project ......................................................................................................... 446
Appendix D - Using RAMDataAccess in C++ with Smart Pointers .................................................................................................... 451
Appendix E – Additional Load Case Information ................................................................................................................................ 453
Appendix F – Shear wall interface constants ..................................................................................................................................... 455
Introduction
RAM DataAccess was first introduced several years ago as a new way to access data in a RAM Structural System model. It
replaced the Programmer’s Interface and was designed to be used not only by 3 rd parties, but also by RAM Structural System itself.
The primary role of DataAccess in the first few years was to read data in the RAM SS model. Eventually the need arose to modify
the RAM SS model via DataAccess. At that point, we decided that the existing interfaces did not lend themselves well to this new
required functionality and a new set of interfaces, collectively termed the “RAM Object Model” were designed with these
requirements in mind. These new interfaces, which allow data to not only be read, but also updated, added and deleted, have been
incorporated into our existing RAM DataAccess COM component, although they can for the most part be used independently of the
pre-existing interfaces. The RAM Object Model interfaces have been designed with the framework of the RAM Structural System in
mind to help ensure that a valid model is created (see the first section under Basic Concepts below). The interfaces have also been
architected to provide a clear plan for future extensions and enhancements to the RAM Object Model.

There is much overlap in the functionality of the RAM Object Model interfaces and the original DataAccess interfaces. Whenever the
same functionality can be achieved in either set of interfaces, it is preferred to use the RAM Object Model interfaces. Eventually all
functionality will be provided via interfaces that are built on the RAM Object Model architecture and the original interfaces will
gradually become obsolete.

Basic Concepts of the RAM Object Model


In designing the RAM Object Model interfaces, both the framework of the RAM Structural System and future extensibility of the
object model were taken into consideration.

RAM Structural System Model


The RAM Structural System makes use of the concept of a typical floor, or floor type. Each floor type can be used to define multiple
stories in a model such that there is often a one-to-many correspondence between floor types and stories. This modeling concept
poses some restrictions on how a model may be modified outside of the RAM Structural System. For example, although member
sizes may vary from story-to-story for a member on a single floor type, other properties, such as type of material cannot vary
between stories. Additionally, most members cannot be added, deleted, or moved on a story-by-story basis since all stories based
on the same floor type must have the same basic geometry. (Note that vertical braces are an exception, since they are added to the
story, not to the floor type.)

RAM Object Model Architecture


There is a COM interface for each entity of a building model that is represented in the RAM Object Model, such as a floor type
(IFloorType), beam (IBeam), or deck (IDeck). Using these interfaces, properties of the entity can be retrieved or changed.

Additionally, there is an interface for each entity type that represents a collection of entities (i.e. IFloorTypes, IBeams, IDecks). The
collection interface allows for the addition or deletion of the type of entity associated with the interface (although there are some
exceptions as explained below). For example, to add or delete floor types, use the IFloorTypes interface. The collection interface
can be used to iterate through a set of entities and to filter the collection to obtain a subset of that type of entity.

For each member that is modeled through a floor type in the RAM Structural System, but which may also be altered on a story basis
(beams, columns, etc), there are two corresponding interfaces, one for the floor type, and one for the story. Each ILayoutMember1
interface, for example, corresponds to a member in the floor type, which may correspond to zero, one or more actual members,
depending on how many stories are associated with the floor type. (Note that floor types are sometimes referred to as “layout types”
in the RAM Structural System, so these interfaces don’t refer to “laying out” the member, but refer to the member on the “layout type”
or floor type.)

The IMember interface corresponds to a single member at a particular story. Generally, to get properties of a member, use the
IMember interface. Some properties (any property that the RAM Structural System allows to be modified on a story-by-story basis)
can also be set for a member using the IMember interface, such as member size or fixity. For properties that cannot vary story-to-
story, or to move a member, the ILayoutMember interface must be used, which in effect updates all corresponding members on the
stories associated with that floor type. The documentation for each interface indicates which properties can be set from that
interface.

As explained above, all stories that are based on the same floor type must have the same basic geometry. For this reason,
members cannot be added on a story-by-story basis. Due to this restriction in the RAM Structural System model, the IMembers
interfaces (which correspond to a story) do not have functionality to add or delete members. For example, to add a beam, you need
to use the ILayoutBeams collection interface; the IBeams interface does not allow beams to be added.

1 The italicized Member is used to refer to any of Beam, Column, Wall, HorizBrace, IsolatedFnd or ContinuousFnd.
General Information

Consistency with RAM Structural System


The version of RAM DataAccess is consistent with the version of RAM Sructural System installed on the computer. It is possible to
encounter situations where the user writes a program in one version and then shares it with another user who is running an earlier
version that does not support some of the methods used in the program. You may want to call the GetVersion method in the
IRamDataAccess2 interface at the beginning of the program and only allow the program to continue if a certain version of
RAMDataAccessl or later is available.

In general, RAM DataAccess will return information that is consistent with the state of RAM Structural System. In order for a model’s
results to be accessible, it needs to be run/analyzed in RAM Structural System and saved first. You could use DataAccess to check
the model status to ensure this if desired. Also, results are consistent with the various criteria in RAM Structural System. For
example, if member self-weight is included in the RAM Manager critieria, then the dead load in force methods will include self-weight
unless the method makes it an option.

Definitions and Naming Convention


RAM International utilizes Hungarian Notation to make it easy to identify data and variable types. Each variable or data type is
prefixed with one or more letters that identify its type. The following table lists the most common prefixes and their meanings. (Note
to VB/VBA users: several of these variable types are not used in VB/VBA. Explanations of them are provided in the “For VB/VBA”
users. A link to that section will be provided when appropriate.)

Prefix Meaning
I A capital “I” precedes all interface names.
C A capital “C” precedes all class names.
E A capital “E” precedes names of enumerators.
S A capital “S” precedes names of structures.

bstr BSTR, a 32-bit character pointer


This is how we pass strings through a COM interface. VB/VBA
l or n long, a 32-bit signed integer
d double, a 64-bit double precision number
f float, a 32-bit single precision number
e an enumerated type. Technically a long.
dw DWORD, a 32-bit unsigned integer.
p a pointer VB/VBA
a an array
pp Pointer to a pointer for an array.
This is used to allocate memory for the array inside of DA.
For C++ users the array must be set to NULL before the function is called and if the array size is zero then the array is not
changed or redimentioned in any way. The memory must be released on the calling function side using CoTaskMemFree.
This feature is incompatible with VB/VBA and all Automation programming tools.

Prefixes are often combined to provide more information about a variable. For instance, the prefix “pd” would refer to, not just a pointer, but a
pointer to a double.

In addition to variable prefixes, variables in the parameter list are preceded by one of the following identifiers.

[in] indicates that this is a variable being passed in


[out] indicates that a value will be returned in this variable.
[out, retval] indicates that a value will be returned as the result of the method call (in VB/VBA or if using #import for C++ users).

Method Return values


In general, one of three values is returned from RAM DataAccess. Always check the return value of the methods you are using. Note
that the “S” and “E” preceding these return values do not follow the rules mentioned above. In this case “S” refers to success and “E”
refers to error.

S_OK The method was completed successfully


E_FAIL The method did not complete successfully
E_NOTIMPL This method is not yet implemented.

If E_FAIL is returned, the GetLastError method can be used to find out more about what went wrong (see Common Methods).

Note that for VB/VBA users and C++ users using #import, this return value is automatically parsed and any return other than S_OK
will result in an error that must be handled in an error_handler or catch statement respectively. C++ users can change this default
behavior of #import (so as to have the compiler not automatically parse the return value). Refer to Appendix D for more information.

For most functions created in v8.2 and later you will notice a plRetVal as the last parameter. plRetVal will provide a return error code
that may not be critical but should be verified. This is different than the S_OK, E_FAIL and E_NOTIMPL which in general are critical
(COM related) errors. The plRetVal will provide you with an error code that you can use to decide if you want to ignore the error or if
you need to in some way change the program flow due to the error.

For all VB/VBA program and C++ programs using the #import, the plRetVal will be the return value for the function.

Database Units
All values are stored as inches and kips with the exception of Unit Weight which is stored in pounds per cubic foot (pcf).
A Note about this Documentation
The methods that appear grayed out are not intended for use outside of RAM International. This includes methods that have been
deprecated and some “Set” methods.

Creating and Updating a Model

Opening a Model
First, create an instance of IRAMDataAccess1 in your project. (Specific instructions for different languages are available in the
appendices.) After creating an instance of the IRAMDataAccess1 interface, use the GetInterfacePointerByEnum() (or
GetDispInterfacePointerByEnum() if using VB) function to get a pointer to the IDBIO1 interface. With the IDBIO interface, you can
use LoadDataBase2() to load an existing model, or CreateNewDatabase2() to start a new model. Once the model is open, get a
pointer to the IModel interface. When opening an existing model, you may want to call IDBIO::GetDatabaseVersion() to make sure
the database version is what you are expecting. If the database version does not match the version of RAMDataAccess,
LoadDatabase() will fail.

Starting a New Model


There are many defaults that a user can set for a RAM Structural System model using the RAM Defaults Utility. These defaults are
stored in the Ramis.ini file located in the Windows or Winnt directory of a computer that has the RAM Structural System installed.
When a new model is created, these defaults are pulled from the Ramis.ini file and used to set global model defaults such as which
design code to use for steel beam design. The default is the value that will be used unless the property is changed by the user. If no
defaults are set in the Ramis.ini file, hard-coded defaults are used when a new model is created.

When creating a new RAM Structural System model, you will first need to create a floor type to which you can then add members.
You will also need to create a story that uses that floor type before the members will be a part of the 3D model.

Creating a floor type


If you are starting with an empty model, the first thing to do is create a new floor type. From the IModel interface, get the IFloorTypes
interface, which is the collection of floor types for the model. Since there are no floor types yet, the IFloorTypes interface represents
an empty collection. Use the Add() function to add a new floor type. Once you have the resulting IFloorType interface, you can
immediately generate a story associated with that floor type, or simply begin adding members. You can create one or more stories
from the same floor type before or after adding members. However, until you create at least one story from the floor type, the
members on that floor type are not part of the 3D model.

Defining grid systems


Grid systems can be defined once and assigned to one or more floor types. A floor type can have one or more grid systems
assigned to it.

From the IModel interface, get the IGridSystems interface, which is the collection of all grid systems defined for the model. Use the
Add() function to add a new grid system. From the resulting IGridSystem interface, use the GetGrids() function to get the collection
of grid lines associated with the grid system. Use the Add() function to add new grid lines to the grid system.

Once the grid system is defined, using the IFloorType interface of the floor type to which the grid system is to be assigned, call
GetGridSystemIDArray() to get the collection of grid system unique IDs that are assigned to that floor type (it may be empty). From
the resulting IDAArray interface, add the unique ID of the grid system to be assigned to this floor type. The new grid system
assignment is not completed until the IDAArray interface is passed back to the floor type using the SetGridSystemIDArray() function
call.

Creating a story
Using the unique ID for a floor type, you can add one or more stories associated with that floor type. From the IModel interface, get
the IStories interface, which is the collection of stories for the model. Use the Add() function to add a new story.

Adding columns
Columns are added to floor types, not stories. When a column is added to a floor type, one column will be added to the 3D model for
each story associated with that floor type. Using the IFloorType interface for the floor type to which you want to add columns, get the
ILayoutColumns interface, which represents the collection of columns on that floor type. Use the Add() function to add a new
column. You can use the resulting ILayoutColumn interface to set properties for the newly added column(s).

Adding beams, walls or horizontal braces


These member types are also added to floor types, not stories. When a beam, wall, or horizontal brace is added to a floor type, one
will be added to the 3D model for each story associated with that floor type. Using the IFloorType interface for the floor type to which
you want to add columns, get the corresponding ILayoutBeams, ILayoutWalls, or ILayoutHorizontalBraces interface, which
represents a collection of that member type on the floor type. Use the Add() function to add a new member of that type. You can
use the resulting ILayoutBeam, ILayoutWall or ILayoutHorizBrace interface to set properties for the newly added member(s).

Adding vertical braces


Since vertical braces span 2 or more stories, they are not added to floor types. (And consequently, they do not have a
corresponding ILayout interface.) Vertical braces are associated with the two stories into which its nodes connect. From the IModel
interface, get the IVerticalBraces interface, which represents the collection of all braces in the model. Use the Add() function to add
a new brace, passing in the IDs of the stories into which the brace frames. You can use the resulting IVerticalBrace interface to set
properties for the newly added brace. An alternative to getting the entire list of vertical braces for the model is to get the
IVerticalBraces interface from the IStory interface. This essentially filters the list of braces to those whose top end frames into the
story represented by the IStory interface.
Defining material properties for a member
Eventually, the RAM Structural System will allow material properties to be defined separately from any member and assigned to one
or more members. With that in mind, separate interfaces were designed for steel, concrete and ‘Other’ materials. However,
currently, there must be a one-to-one correspondence between a material and a member. For this reason, you cannot currently add
material properties to their corresponding collection interfaces (ISteelMaterials, IConcreteMaterials, IOtherMaterials). Rather, there
is already one material property for each beam, column, wall, horizontal brace, vertical brace and foundation which can be obtained
from the IModel interface.

The IBeam, IColumn, IWall, IHorizBrace, IVerticalBrace, IIsolatedFnd and IContinuousFnd interfaces all have a unique material
property ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of the
corresponding member. Likewise, if the member is concrete, call GetConcreteMaterial(), or if it is ‘Other’, call GetOtherMaterial().
With the corresponding ISteelMaterial, IConcreteMaterial, or IOtherMaterial, you can set the material properties for that material
definition.

Assigning sizes to steel members


To assign a size to a steel member, set the strSectionLabel property through the ILayoutBeam or the IBeam interface. Sizes for
steel members must correspond to one of the design tables shipped with the RAM Structural System. In other words, the name set
for the strSectionLabel must exactly match the name of the size listed in the corresponding design table. Custom tables can be
created by the engineer, but these must follow the format of the tables provided by RAM. The RAM Structural System will look for
the sizes in the design tables specified in the IModel interface. Be sure to set the name of the Master Steel Table as well as the
specific tables for steel beams and steel columns. If needed, also be sure to set the names of the tables for castellated and cellular
beam sections.

Assigning section properties to concrete members


To assign section properties to a concrete member, you must first define a concrete section property. From the IModel interface, call
GetConcreteSectionProps() to get the IConcSectProps collection interface that represents the collection of all concrete section
properties defined in the model. Use the AddTee(), AddRect() or AddRound() functions to define a new concrete section property.
(Note there are three separate add commands since each shape has a different minimum set of data required for defining a valid
section property.) The resulting IConcSectProp interface can be used to set additional properties for the section. To assign the
section property to a concrete member, either set the strSectionLabel property for the member to the strLabel property of the
IConcSectProp, or set the lSectionID property of the member to the unique ID of the IConcSectProp.

Note that the assigned section property must match the material type of the member (which can be accessed via the eMaterial
property of a member). It should be noted that assigning a concrete section property to a steel beam does not change the material
of the beam and when the model is run in the RAM Structural System, an error message will be issued for the member.
Also note that concrete section properties are defined by the type of member they can be assigned to: beam, column or brace. See
the documentation for the IConcSectProp interface for more information.

Assigning section properties to ‘Other’ members


Some members are neither defined with steel nor concrete material type. These are referred to as type ‘Other’ in the RAM Structural
System and they can include members of any type of material which are not currently represented in the RAM Structural System. To
assign section properties to an ‘Other’ member, you must first define an ‘Other’ section property. From the IModel interface, call
GetOtherSectionProps() to get the IOtherSectProps collection interface that represents the collection of all ‘Other’ section properties
defined in the model. Use the Add() function to define a new ‘Other’ section property. The resulting IOtherSectProp interface can be
used to set additional properties for the section. To assign the section property to an ‘Other’ member, either set the strSectionLabel
property for the member to the strLabel property of the IOtherSectProp, or set the lSectionID property of the member to the unique
ID of the IOtherSectProp.

Note that the assigned section property must match the material type of the member (which can be accessed via the eMaterial
property of a member). Assigning an ‘Other’ section property to a steel beam does not change the material of the beam and when
the model is run in the RAM Structural System, an error message will be issued for the member.

Also note that ‘Other’ section properties are defined by the type of member they can be assigned to: beam, column or brace. See
the documentation for the IOtherSectProp interface for more information.

Updating an existing model


Once you have a model that was either created from scratch through the RAM Object Model or created by the RAM Structural
System, you may need to update existing members in the model. Nearly every item in the Object Model has a unique ID associated
with it. Using that ID, you can get an interface to the corresponding member directly from the IModel interface.

Updating a column
From the IModel interface, call GetLayoutColumn() using the unique ID of the column. With the ILayoutColumn interface, you can
modify the column coordinates using SetLayoutCoordinates() or modify most of the column properties using the set functions
associated with each property.

Since the ILayoutColumn may represent one or more columns, not all properties can be read from the ILayoutColumn interface.
Those properties that can vary story-to-story must be read from the IColumn interface. If you know the unique ID of the column, you
can call GetColumn() from the IModel interface. Alternatively, from the ILayoutColumn interface, call GetAssociatedStoryColumns(),
which will return an IColumns collection interface representing the collection of columns associated with that layout column (one for
each story that uses the floor type). Loop through the IColumn interfaces to get the properties for the columns at each story.

Updating beams, walls, horizontal braces


See section above on updating a column.
Updating a vertical brace
From the IModel interface, call GetVerticalBrace() using the unique ID of the brace to be modified. With the IVerticalBrace interface,
you can modify the brace location and any of its settable properties.

Reading an Existing Model


To read in an existing RAM Structural System model, call GetStories() from the IModel interface. Use the GetCount() function in the
IStories interface to determine the number of stories in the model, then use the GetAt() function to get the IStory interface for each
story.

From the IStory interface, call GetColumns() to get an IColumns collection interface for the columns on that story. Use the
GetCount() function in the IColumns collection interface to determine the number of columns on that story, then use the GetAt()
function to get the IColumn interface for each column.

From the IColumn interface, call the GetEndCoordinates() function to get the 3D location of the column in the model. Use the
various properties in the IColumn interface to get the properties of the column.

The data for beams, walls, vertical and horizontal braces, and foundations can be obtained similarly as for columns.

Getting section properties for concrete members


To get the section properties of a concrete member, get the lSectionID property of the member. Then call GetConcreteSectionProp()
from the IModel interface with that ID to get the corresponding IConcSectProp. All of the section properties are available as
properties through the IConcSectProp interface.

Getting section properties for ‘Other’ members


To get the section properties of an ‘Other’ member, get the lSectionID property of the member. Then call GetOtherSectionProp()
from the IModel interface with that ID to get the corresponding IOtherSectProp. All of the section properties of the member are
available as properties through the IOtherSectProp interface.

Getting material properties for a member


The IBeam, IColumn, IWall, IHorizBrace, IVerticalBrace, IIsolatedFnd and IContinuousFnd interfaces all have a unique material
property ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of the
corresponding member. Likewise, if the member is concrete, call GetConcreteMaterial(), or if it is ‘Other’, call GetOtherMaterial().
With the corresponding ISteelMaterial, IConcreteMaterial, or IOtherMaterial, you can get the material properties for that material.
The Object Model Interfaces
The following interfaces make up what is referred to as the RAM Object Model. There interfaces were added during v9.0
development, but were only made public in v10.0. Documentation for the earlier DataAccess interfaces can be found at the end of
this section.

DAArray
Single row array for use with indexed get/set DA methods.

Add ([in] pvrtItem, [out] long plRetval)


Add a new item to the end of the DA array.

Parameters
pvrtItem Item being added to the DA array
plRetval Return variable. 0 if successful.

GetAt ([in] long lIndex, [out] pvrtItem)


Get at a DA array item by index number.

Parameters
lIndex Index into the array
pvrtItem Variant item value in the array at lIndex

GetSize ([out] long plSize)


Get the size of the array.

Parameters
plSize Number of entries in the DA array

Remove ([in] pvrtItem)


Removes a item from the DA array by item value.

Parameters
pvrtItem Variant item in the DA array
RemoveAt ([in] lIndex)
Removes an item from the DA array by index number.

Parameters
lIndex Index into the array for the item being removed

SetAt ([in] long lIndex, [in] pvrtItem)


Add a new DAArray interface.

Parameters
lIndex Index into the DA array
pvrtItem Variant item value at index

SetSize ([in] lSize)


Sets the size of the DA Array.

Parameters
lSize Number of entries in the DA array

IAnalyticalResult
This interface represents the analytical results for an individual member.

GetMaximumComboReactions ([in] COMBO_MATERIAL_TYPE eComboType, [out, retval] IMemberForces**


ppIMemberForces)

Gets the maximum (with sign so -4 is > +2) reaction forces at the start and end support of the member. For cantilever members it is the
inside of the support that is reported. Note that currently only shear reactions are available.

Parameters
eComboType Combination type (Only STEEL_GRAV is supported currently)
ppIMemberForces Pointer to two IMemberForces, index 0 is at start support of member (top of col, top of brace, left of beam) with
the maximum of all current selected combinations (with sign).
IBasePlate
This interface represents a single base plate.

Properties
Type Property Get Set Description
double dAngle X The angle of the dLength axis with the X=0 Axis, counterclockwise.
double dLength X Length of base plate (in direction of column major axis)
double dThickness X Thickness of base plate
double dWidth X Width of base plate
long lColumnID X Unique ID of the column associated with this base plate

IBeam
This interface represents a single beam. This is a beam associated with a story, rather than a floor type. This interface can be used
to read data for a beam at a story. To change coordinates or edit cantilevers, use the ILayoutBeam interface.

GetAnalyticalResult ([out, retval] IAnalyticalResult** ppIAnalyticalResult)

Gets the analytical result interface.

Parameters
ppIAnalyticalResult Pointer to an IAnalyticalResult interface that represents the analysis results for this member.

GetCoordinates ([in] EBeamCoordLoc eBeamCoordLoc, [out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out,
retval] long* plRetval)

Gets the indicated coordinates for the beam.

Parameters
eBeamCoordLoc Whether to get the end coordinates or the support coordinates
pStartPoint SCoordinate corresponding to the start of the beam
pEndPoint SCoordinate corresponding to the end of the beam
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetEndRigidLink ([out] SCoordinate *pPoint, [out] long lMemberID)

Gets rigid link information at the end of a beam.


Parameters
pPoint Coordinates of the end the rigid link at the supporting member for end of the beam. Coordinates match end
coordinates if no rigid link exists.
plMemberID Unique ID of the member that supports the end of the rigid link. Zero if no rigid link exists.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

GetRBSPropertySet ([out, retval] IRBSPropertySet** ppIRBSPropertySet)

Get the reduced beam section properties for this beam if it has a reduced beam section property assigned to it. These values will only be
non-zero IF the user has provided these properties for this particular beams section (size) and have stipulated that RBS are to be used on
this beam (in RAM Frame).

Parameters
ppIRBSPropertySet The reduced beam section properties (dogbone). See IRBSPropertySet enumerator.

GetStartRigidLink ([out] SCoordinate *pPoint, [out] long lMemberID)

Gets rigid link information at the start of a beam.

Parameters
pPoint Coordinates of the end the rigid link at the supporting member for start of the beam. Coordinates match start
coordinates if no rigid link exists
plMemberID Unique ID of the member that supports the end of the rigid link. Zero if no rigid link exists.

GetSteelDesignResult ([out, retval] ISteelBeamDesignResult** ppIDesignResult)


Gets the steel beam design results interface.

Parameters
ppIDesignResult Pointer to an ISteelBeamDesignResult interface that represents the design results for this member

Properties
Note that some properties of beams cannot be changed through the IBeam interface. Any properties which cannot vary story-to-
story when a floor type is used by multiple stories must be set through the ILayoutBeam interface.

Type Property Get Set Description


BOOL bComposite X If TRUE, beam is composite. If FALSE, beam is non-composite.
BOOL bMajAxisBendFixedEnd X X Major axis bending release at end of beam (j-end).
BOOL bMajAxisBendFixStart X X Major axis bending release at start of beam (i-end).
BOOL bMinAxisBendFixedEnd X X Minor axis bending release at end of beam (j-end).
BOOL bMinAxisBendFixedStart X X Minor axis bending release at start of beam (i-end).
BOOL bSizeIsValid X True if a valid section is assigned (section in table, etc.)
BOOL bTorFixedEnd X X Torsion release at end of beam (j-end).
BOOL bTorFixedStart X X Torsion release at start of beam (i-end).
BOOL bUseRBS X X True if the user has indicated to use the reduced beam on this beam
double dCamber X X Camber of the beam
double dEndCantilever X Length of cantilever at end of beam (j-end)
double dFlangeOverhangLeft X Left flange length beyond beam’s web thickness
double dFlangeOverhangRight X Right flange length beyond beam’s web thickness
double dFlangeThickBot X Thickness of bottom flange of beam
double dFlangeThickLeft X Thickness of left flange beyond beam’s web thickness
double dFlangeThickRight X Thickness of right flange beyond beam’s web thickness
double dFlangeThickTop X Thickness of top flange of beam
double dFlangeWidthBot X Width of bottom flange
double dFlangeWidthTop X Width of top flange
double dStartCantilever X Length of cantilever at start of beam (i-end)
double dStudDiameter X X Stud diameter
double dStudLength X X Stud length
double dStudSegment1Length X X Length of first stud segment
double dStudSegment2Length X X Length of second stud segment
double dStudSegment3Length X X Length of third stud segment
double dStudSegment4Length X X Length of fourth stud segment
double dStudSegment5Length X X Length of fifth stud segment
double dStudTensileStrength X X Tensile strength of stud
Type Property Get Set Description
double dUnbracedLengthAxialLX X X Unbraced axial length in the major axis
double dUnbracedLengthAxialLY X X Unbraced axial length in the minor axis
double dUnbracedLengthFlexLY X X Unbraced length for lateral torsional buckling
double dWebDepth X Top or single web depth
double dWebDepthBot X Bottom we depth for beams made from different top and bottom sections
double dWebWidth X Top or single web width
double dWebWidthBot X Bottom web width for beams made from different top and bottom sections
EAnalyzeFlag eAnalyzeFlag X X Indicates if the state of the steel beam
EFRAMETYPE eFramingType X Whether member is lateral or gravity
EBeamConnectionType eLeftConnectionType X X Connection type at the left support of beam
EMATERIALTYPES eMaterial X X Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat,
ESmartbeamBeamMat, EConcreteMat, or EOtherMat.
EJoistType eMemberJoistType X Type of joist (if beam material type is ESteelJoistMat)
ESTEEL_SEC eOptimizeShape X Shape for which beam is to be optimized (if section is not user-defined).
EBeamConnectionType eRightConnectionType X X Type of connection on the right end
ESeismicProvFrameType eSeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc)
ECONC_OTHER_SEC eShape X Only valid for Concrete or Other material. Returns shape of cross section
long eSharingLoadType X X Returns sharing load type:
-1: None
0: Entirely two-way
1: Entirely one-way
2: One-way and two-way
long lBeamLineNumber X X Beam line that beam is part of (applicable only if this is a concrete beam).
long lFlangeBracing X X Flange bracing flags. Sum the appropriate flags to determine the appropriate value for
the settings.
0 – All global
1 – Override global
2 – Top flange braced
4 – Bot flange braced
long lFrameNumber X X Frame number for lateral members. It must be positive number.
long lLabel X Numeric label of beam used for on-screen display in RAM Structural System. It is
unique per floor type.
Long lLeftConnectionID X X Left end connection UID
long lMaterialID X Unique ID of material properties for this beam. Must correspond to type of material.
See section Getting material properties for a member for more information.
long lRightConnectionID X X Right end connection ID
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this beam. See Assigning section
properties to concrete members and Assigning section properties to ‘Other’ members for
more information.
long lStageNumber X X Construction stage number
long lUID X Unique ID of beam.
Type Property Get Set Description
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriate value for
the settings.
0 – All global
1 – Override global UnbracedLengthAxialLX
2 – Override global UnbracedLengthAxialLY
4 – User defined UnbracedLengthAxialLX
8 – User defined UnbracedLengthAxialLY
32 – Override global UnbracedLengthFlexLY
128 – User defined UnbracedLengthFlexLY
ESeismicProvFrameType SeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc)
BSTR strSectionLabel X X Label of the size or section property for this beam. Limited to 15 characters. See
Assigning sizes to steel members, Assigning section properties to concrete members,
and Assigning section properties to ‘Other’ members for more information.

IBeams
This interface represents a collection of beams associated with a story. This collection can be used to read data for beams at a
story. To add or delete beams, use the ILayoutBeams interface associated with a floor type.

Filter ([in] EBeamFilter eBeamFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of beams based on given criteria.

Parameters
eFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IBeam** ppIBeam)

Gets an interface for a specific beam by unique ID.

Parameters
lUID The unique ID of the requested layout beam
ppIBeam Pointer to an IBeam interface that represents the requested beam, or NULL if no beam is found in the collection
with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IBeam** ppIBeam)


Gets an interface for a specific beam by index.

Parameters
lIndex The index into the collection of the requested beam
ppIBeam Pointer to an IBeam interface that represents the requested beam, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of beams in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the
total number of beams on the story. When the collection is unfiltered, this function returns the total number of beams on the story.

Parameters
plCount Number of beams in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IColumn
This interface represents a single column. This is a column associated with a story, rather than a floor type. This interface can be
used to read data for a column at a story. To change coordinates, use the ILayoutColumn interface.

GetEndCoordinates ([out] SCoordinate* pPoint1, [out] SCoordinate* pPoint2, [out, retval] long* plRetval)

Gets the end coordinates for the column.

Parameters
pPoint1 SCoordinate of the column end. This is the top of standard columns and
bottom of hanging columns.
pPoint2 SCoordinate of the column end. This is the bottom of standard columns and
top of hanging columns.
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetFinalSpliceSetting ([out, retval] long * eFinalSpliceSetting)

Determine if the column is spliced or not.

Parameters
eFinalSpliceSetting 0 = No splice
1 = splice
2 = temporary splice added by RAMSS because of change of property between stories. The temporary splice
overrides the user defined value.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetRigidLink ([out] SCoordinate *pPoint, [out] long *plMemberID)

Gets the unique ID and coordinates of the support at the end of a rigid link.

Parameters
pPoint Coordinates of end of the rigid link at the support. This is always at the bottom of standard columns and top of
hanging columns. Matches column end coordinates if there is no rigid link.
plMemberID Unique ID of the member that supports the rigid link.

SetRigidLink ([in] double dX, [in] double dY)


Sets rigid link end coordinates.

Parameters
dX X coordinate for the end of the rigid. A support must exist at this location.
dY Y coordinate for the end of the rigid. A support must exist at this location.

Properties
Note that some properties of columns cannot be changed through the IColumn interface. Any properties which cannot vary story-to-
story when a floor type is used by multiple stories must be set through the ILayoutColumn interface.

Type Property Get Set Description


BOOL bAbsMajorAxisEccentricity X TRUE if eccentricity in major axis is absolute distance. FALSE if eccentricity is
relative to column’s centerline.
BOOL bAbsMinorAxisEccentricity X TRUE if eccentricity in minor axis is absolute distance. FALSE if eccentricity is
relative to column’s centerline.
BOOL bAtFoundation X Indicates if column is at foundation level
BOOL bBracedMajorAxisByMember X TRUE if column is braced in column local X direction by the slab or a beam (within
user specified angle)
BOOL bBracedMinorAxisByMember X TRUE if column is braced in column local Y direction by the slab or a beam (within
user specified angle)
BOOL bDoubleAngleLLBackToBack X X Double angle long leg back to back
BOOL bDoubleAngleSnugTightBolt X X Double angle using snug tight bolted intermediate connectors
BOOL bHanger X X Flag indicating whether the column is a hanging column or not.
BOOL bKinked X X Part of a nonlinear column stack
BOOL bMajAxisBendFixedBot X X Major axis bending release at bottom of column (j-end).
BOOL bMajAxisBendFixedTop X X Major axis bending release at top of column (i-end).
BOOL bMinAxisBendFixedBot X X Minor axis bending release at bottom of column (j-end).
BOOL bMinAxisBendFixedTop X X Minor axis bending release at top of column (i-end).
BOOL bSglAngleMirrored X X Single angle mirrored orientation
BOOL bSizeIsValid X True if a valid section is assigned (section in table, etc.)
BOOL bSpliceLevel X X Indicates whether this column is spliced at this story. This is set in the story data in
the modeler.
BOOL bTorFixedBot X X Torsion release at bottom of column (j-end).
BOOL bTorFixedTop X X Torsion release at top of column (i-end).
double dDblAngleBackSpacing X X Double angle back to back spacing
double dLength X X Column length
double dLoadSharingFactor X X Factor for load sharing
double dMajorAxisEccentricity X Eccentricity value for major axis
double dMinorAxisEccentricity X Eccentricity value for minor axis
double dOrientation X Orientation of column with respect to the global axis system.
double dStressRatio X X Stress ratio for column (used by RAM Frame)
double dUnbracedLengthAxialLX X X Axial unbraced length for buckling about the X axis
Type Property Get Set Description
double dUnbracedLengthAxialLY X X Axial unbraced length for buckling about the Y axis
double dUnbracedLengthFlexLX X X Flexural unbraced length for lateral torsional buckling
double dUnbracedLengthFlexLY X X Flexural Unbraced length
double dUnityForSizeSelected X X Column interaction equation value
double dZBotOffset X X Bottom z offset from story below elevation (or foundation) for start of column. This is
made available because the offset at the bottom of the column (at the transition
between floortypes or at the foundation) may differ from that at the other stories that
use the floortype. This is true if the member a column sits on is lowered or raised.
EAnalyzeFlag eAnalyzeFlag X X Whether column will be optimized or analyzed during design.
EBeamSpan eBeamSpanAtSide1 X Beam type framing into this side of column
EBeamSpan eBeamSpanAtSide2 X Beam type framing into this side of column
EBeamSpan eBeamSpanAtSide3 X Beam type framing into this side of column
EBeamSpan eBeamSpanAtSide4 X Beam type framing into this side of column
EFRAMETYPE eFramingType X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X X Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or
EOtherMat.
ESTEEL_SEC eOptimizeShape X X Shape for which steel column will be optimized
ESeismicProvFrameType eSeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc) As defined in
RAM Frame
long eSharingLoadType X X Returns sharing load type:
-1: None
0: Entirely two-way
1: Entirely one-way
2: One-way and two-way
EUserOverride eUserSpliceLevel X X Indicates user assigned splice setting for a given story. Default value is eUserNA
which, means the splice from the story data should be used. A value of eUserYes
means that the user has set a splice at this level. A value of eUserNo means that the
user has removed the splice at this level.

The user’s assignment overrides the story data setting except in cases where the
physical geometry necessitates a splice, such as changing material between levels.
single fMaxLLRed X X Maximum live load reduction
long lColumnAboveUID X Unique ID of column above
long lDesignStatus X X Design status
long lDxfElevationNumber X X DXF Elevation number
long lFlangeBracing X X Flange bracing flags. Sum the appropriate flags to determine the appropriate value
for the settings.
0 – All global
1 – Override global UnbracedLengthAxialLX
2 – Override global UnbracedLengthAxialLY
4 – User defined UnbracedLengthAxialLX
8 – User defined UnbracedLengthAxialLY
Type Property Get Set Description
long lFrameNumber X X Frame number for lateral members. The frame number for lateral columns defaults
to zero but can be set to a positive number. The frame number for gravity columns is
always -1.
long lLabel X Numeric label of column used for on-screen display in RAM Structural System.
Each member type is uniquely numbered per floor type.
long lLLRedCalc X X Calculated Live Load reduction factor
long lMaterialID X Unique ID of material properties for this column. Must correspond to type of
material. See section Getting material properties for a member for more information.
long lMemberBelowUID X Unique ID of column below
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this column. See Assigning
section properties to concrete members and Assigning section properties to ‘Other’
members for more information.
long lStageNumber X X Construction stage number
long lStoryID X Get the ID of the story this column belongs to. Returns -1 in the event of an error.
long lUID X Unique ID of column
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriate value
for the settings.
0 – All global
1 – Override global UnbracedLengthAxialLX
2 – Override global UnbracedLengthAxialLY
4 – User defined UnbracedLengthAxialLX
8 – User defined UnbracedLengthAxialLY
32 – Override global UnbracedLengthFlexLY
128 – User defined UnbracedLengthFlexLY
long lUserBracedMajorAxis X X User bracing assignment for column local X direction
-1 = use global criteria, 0 = not braced, 1 = braced
long lUserBracedMinorAxis X X User bracing assignment for column local Y direction
-1 = use global criteria, 0 = not braced, 1 = braced
long lWallGroupNumber X X Wall group number
ESeismicProvFrameType SeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc)
BSTR strSectionLabel X X Label of the size or section property for this column. Limited to 15 characters. See
Assigning sizes to steel members, Assigning section properties to concrete
members, and Assigning section properties to ‘Other’ members for more information.
BSTR strTrialSizeUsed1 X X User assigned trial size 1
BSTR strTrialSizeUsed2 X X User assigned trial size 2
BSTR strTrialSizeUsed3 X X User assigned trial size 3

IColumns
This interface represents a collection of columns associated with a story. This collection can be used to read data for columns at a
story. To add or delete columns, use the ILayoutColumns interface associated with a floor type.
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of columns based on given criteria.

Parameters
eColumnFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IColumn** ppIColumn)

Gets an interface for a specific column by unique ID.

Parameters
lUID The unique ID of the requested column
ppIColumn Pointer to an IColumn interface that represents the requested column, or NULL if no column is found in the
collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IColumn** ppIColumn)

Gets an interface for a specific column by index.

Parameters
lIndex The index into the collection of the requested column
ppIColumn Pointer to an IColumn interface that represents the requested column, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of columns in the collection. When the collection is filtered, this function returns the number in the filtered collection, not
the total number of columns on the story. When the collection is unfiltered, this function returns the total number of columns on the story.

Parameters
plCount Number of columns in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.


Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IColumnStack
This interface represents a single column stack in the model.

GetBasePlate ( [out, retval] IBasePlate** ppIBasePlate)


Gets an interface for the baseplate for this column stack. Will return NULL if baseplate is not designed.

GetColumns ( [out, retval] IColumns** ppIColumns)


Gets a collection interface for all the columns in the column stack.

Properties
Type Property Get Set Description
long lBasePlateColumnID X Unique ID of column at which the base plate occurs
BSTR strGridLabel X Get the grid intersection label at this column stack

ICompDeckProp
This interface represents a single composite deck property.
Properties
Type Property Get Set Description
BOOL bShored X X TRUE if the deck is shored.
double dEffectiveThickness X X The effective thickness of the deck.
double dElasticModulus X X The elastic modulus of the deck.
double dFpc X X The concrete compression capacity (psi).
double dPoissonsRatio X X The Poisson’s Ratio of the deck.
double dSelfWtDeck X X The self-weight of the steel deck (psf).
double dStudDiameter X X The stud diameter.

double dStudFu X X The ultimate strength of the stud (ksi).


double dStudLength X X The length of the studs.
Type Property Get Set Description
double dThickAboveFlutes X X Concrete thickness above top of flutes.
double dUnitWeight X X The unit weight of the concrete (ksi).
long lUID X Unique ID of composite deck property.
BSTR strDeckType X X Type of deck. This name must match the name in the deck table and
is limited to 19 characters.
BSTR strLabel X X Label for the composite deck property

ICompDeckProps
This interface represents a collection of composite deck properties defined in the model. Composite deck properties are defined
using this interface and then can be assigned to decks. In v9.0 of DataAccess, decks cannot yet be added. However, the composite
deck properties defined here can be assigned to decks that are laid out in the RAM Modeler.

Add ([in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval] ICompDeckProp **
ppICompDeckProp)

Adds a new composite deck property.

Parameters
bstDeckType Name of deck from deck table
dThickAboveFlutes Thickness of concrete above top of flutes
dStudLength Length of the stud
ppICompDeckProp Pointer to an ICompDeckProp interface that represents the newly added composite deck property.

Add2 ([in] BSTR bstLabel, [in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval]
ICompDeckProp ** ppICompDeckProp)

Adds a new composite deck property. 0.

Parameters
bstLabel Name of the composite deck property
bstDeckType Name of deck from deck table
dThickAboveFlutes Thickness of concrete above top of flutes
dStudLength Length of the stud
ppICompDeckProp Pointer to an ICompDeckProp interface that represents the newly added composite deck property.

Delete ([in] long lUID, [out, retval] long *plRetVal)


Deletes the composite deck property with the given unique ID. A deck property that is currently assigned to a deck cannot be deleted.

Parameters
lUID Unique ID of composite deck property to delete
plRetval 0 if composite deck property is deleted successfully
-1 if unique ID is not found in filtered list of composite deck properties or if composite deck property is currently
assigned to a deck polygon

Filter ([in] ECompDeckPropsFilter eCompDeckPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of composite deck properties based on given criteria.

Parameters
eCompDeckPropsFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ICompDeckProp ** ppICompDeckProp)

Gets an interface for a specific composite deck property by unique ID.

Parameters
lUID The unique ID of the requested composite deck property
ppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property, or NULL if no
composite deck property is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ICompDeckProp ** ppICompDeckProp)

Gets an interface for a specific composite deck property by index.

Parameters
lIndex The index into the collection of the requested composite deck property
ppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)


Gets the number of composite deck properties in the collection. When the collection is filtered, this function returns the number in the
filtered collection, not the total number of composite deck properties in the model. When the collection is unfiltered, this function returns the
total number of composite deck properties in the model.

Parameters
plCount Number of composite deck properties in the collection

IConcreteCriteria
This interface provides access to all concrete design criteria, including the names of any tables used during the design.
Properties
Type Property Get Set Description
EDA_CONC_CODE eConcreteDesignCode X X Design code for concrete beams and columns
EDA_CONC_CODE eFoundationDesignCode X X Design code for foundations
BSTR strPanJoistTable X X Table of pans to use for laying out pan joists. File must have a .pnj extension. Maximum 19
characters allowed.
BSTR strReinforcementTable X X Rebar table to use when designing concrete beams and columns. File must have a .ren
extension. Maximum 32 characters allowed.

IConcreteMaterial
This interface represents a single concrete material property set. A member’s concrete material properties can be read and set
through this interface.

Properties
Type Property Get Set Description
double dAggregateSize X X Aggregate size of concrete (Only applicable for British code and only
for beams and columns)
double dElasticModulus X X Elastic modulus. If -1, the program will calculate this value. (Only
applicable for beams and columns)
double dFct X X Concrete cracking stress capacity. Only used for ACI code design.
(Only applicable for beams and columns)
double dFpc X X Concrete compressive strength (f’c).
double dFyBoundary X X Yield strength of boundary steel reinforcing for concrete shear walls.
double dFyDistributed X X Yield strength of distributed steel reinforcing for concrete shear walls.
double dFyLongitudinal X X Yield strength of longitudinal steel reinforcing for concrete columns,
beams, horizontal braces and foundations.
Type Property Get Set Description
double dFyTiesLinks X X Yield strength of steel reinforcing for ties and links for concrete shear
walls.
double dFyTransverse X X Yield strength of transverse steel reinforcing for concrete columns,
beams, horizontal braces and foundations.
double dPoissonsRatio X X Poisson’s Ratio.
double dSelfWeight X X Self-weight of member.
double dUnitWeight X X Unit weight of member.
EAggregateType eConcreteAggType X X Aggregate type of concrete. (Only applicable for beams and columns)

IConcSectProp
This interface represents a single concrete section. Certain properties cannot be changed once a section is defined, such as the
shape or the type of member (beam, column, or brace) to which it can be assigned.

Note that pan joist sections, which can only be created in the RAM Structural System Modeler, will be treated as tee sections through
DataAccess, but the properties will not be editable.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

Properties
Type Property Get Set Description
double dCrackedAxialFactor X X Cracked section factor for axial stiffness. It is the multiplier for the
axial stiffness.
double dCrackedFactor X X Cracked factor of concrete section.
double dCrackedTorsionFactor X X Cracked section factor for torsional stiffness. It is the multiplier for the
torsional stiffness.
double dDepth X X Depth of section. Applies to rectangular and tee sections.
double dDiameter X X Diameter of section. Applies to round sections.
double dFlangeOverhangLeft X X Left flange overhang. Applies to tee sections. If -1, program will
calculate this value.
double dFlangeOverhangRight X X Right flange overhang. Applies to tee sections. If -1, program will
calculate this value.
double dFlangeThickLeft X X Left flange thickness. Applies to tee sections. If -1, program will
calculate this value based on slab thickness. Note that if the left or
right flange thickness is set, it will be applied to both sides.
double dFlangeThickRight X X Right flange thickness. Applies to tee sections. If -1, program will
calculate this value based on slab thickness. Note that if the left or
right flange thickness is set, it will be applied to both sides.
double dWebWidth X X Web width of section. Applies to rectangular and tee sections.
EUniqueMemberTypeID eMemType X Type of member to which this section can be assigned.
ECONC_OTHER_SEC eShape X Shape of the section.
long lUID X Unique ID of concrete section.
BSTR strLabel X X A label for this concrete section. Limited to 15 characters.

IConcSectProps
This interface represents a collection of all concrete section properties defined in the model. Concrete section properties are defined
using this interface and then can be assigned to members of material type concrete. Concrete sections are defined as sections for
beams, columns or vertical braces. A section defined as a concrete beam section can only be assigned to beams and horizontal
braces, and likewise for column and brace concrete sections.

AddRect ([in]BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dTotalBeamDepth, [in] double dWebWidth, [out,
retval] IConcSectProp** ppIConcSectProp)

Adds a new rectangular concrete section. Rectangular sections can be defined for beams, columns or vertical braces.

Parameters
bstName Label of concrete section. Limited to 15 characters.
eMemType Must specify if this is a rectangular section for a beam, column or brace
dTotalBeamDepth Total depth of section
dWebWidth Web thickness of section
ppIConcSectProp Pointer to an IConcSectProp interface that represents the newly added concrete section.

AddRound ([in]BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dDiameter, [out, retval] IConcSectProp**
ppIConcSectProp)

Adds a new round concrete section. Round sections can be defined for columns or vertical braces.

Parameters
bstName Label of concrete section. Limited to 15 characters.
eMemType Must specify if this is a rectangular section for a beam, column or brace
dDiameter Diameter of section
ppIConcSectProp Pointer to an IConcSectProp interface that represents the newly added concrete section.

AddTee ([in]BSTR bstName, [in] double dFlangeLeftOverhang, [in] double dFlangeRtOverhang, [in] double dFlangeThick, [in]
double dTotalBeamDepth, [in] double dWebWidth, [out, retval] IConcSectProp** ppIConcSectProp)

Adds a new tee section. Assumed to be for a beam since concrete tee sections cannot be assigned to ‘Other’ member types.

Parameters
bstName Label of concrete tee section. Limited to 15 characters.
dFlangeLeftOverhang Left flange overhang (-1 if program should calculate)
dFlangeRtOverhang Right flange overhang (-1 if program should calculate)
dFlangeThick Flange thickness (-1 if program should calculate based on slab thickness)
dTotalBeamDepth Total depth of beam section
dWebWidth Web thickness of section
ppIConcSectProp Pointer to an IConcSectProp interface that represents the newly added concrete section.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the concrete section with the given unique ID. A section that is currently assigned to a member cannot be deleted.

Parameters
lUID Unique ID of concrete section to delete
plRetval 0 if concrete section is deleted successfully
-1 if unique ID is not found in filtered list of concrete sections or if section is currently assigned to a member

Filter ([in] EConcSectPropsFilter eConcSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of concrete sections based on given criteria.


Parameters
eConcSectPropsFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IConcSectProp** ppIConcSectProp)

Gets an interface for a specific concrete section property by unique ID.

Parameters
lUID The unique ID of the requested concrete section
ppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section, or NULL if no concrete
section is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IConcSectProp** ppIConcSectProp)

Gets an interface for a specific concrete section property by index.

Parameters
lIndex The index into the collection of the requested concrete section
ppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of concrete sections in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of concrete sections in the model. When the collection is unfiltered, this function returns the total number of
concrete sections in the model.

Parameters
plCount Number of concrete sections in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IConcShearWallCriteria
This interface represents an object that remembers settings that have been used in RAM Concrete Shear Wall so that those settings
can be used as default values.

Properties
Type Property Get Set Description
BOOL bAutoGenSCOpeningCutAtBtm X Whether or not auto-generated section cuts include horizontal cuts above the bottoms of
openings.
BOOL bAutoGenSCOpeningCutAtSides X Whether or not auto-generated section cuts include vertical cuts inside openings.
BOOL bAutoGenSCOpeningCutAtTop X Whether or not auto-generated section cuts include horizontal cuts below the tops of openings.
BOOL bAutoGenSCOpeningCutsOutside X Whether or not auto-generated section cuts include cuts around the outside of openings.
BOOL bAutoGenSCPanelCutAtBtm X Whether or not auto-generated section cuts include horizontal cuts at the bottoms of walls.
BOOL bAutoGenSCPanelCutAtEnds X Whether or not auto-generated section cuts include vertical cuts at the edges of walls.
BOOL bAutoGenSCPanelCutAtTop X Whether or not auto-generated section cuts include horizontal cuts at the tops of walls.
double dAutoGenSCEdgeOffset X The distance from the edges of walls and openings to offset auto-generated section cuts.
double dAutoGenSCHorizMaxSpacing X The maximum spacing between horizontal section cuts for auto-generated section cuts, or 0.0 if
there is no maximum.
double dAutoGenSCVertMaxSpacing X The maximum spacing between vertical section cuts for auto-generated section cuts, or 0.0 if
there is no maximum.
BSTR strConcreteCode X The unique ID of this wall bar pattern template.

IConcSlabProp
This interface represents a single concrete slab property.

Properties
Type Property Get Set Description
BOOL bUseElasticModulus X X If FALSE, uses the calculated elastic modulus for the slab. If TRUE,
uses the elastic modulus from the dElasticModulus property.
double dBendingCrackedFactor X X Bending cracked factor of the concrete slab.
double dDiaphragmCrackedFactor X X Diaphragm cracked factor of the concrete slab.
double dElasticModulus X X Elastic modulus of the concrete slab if bUseElasticModulus is TRUE.
double dFpc X X FPC of the concrete slab.
double dPoissonsRatio X X Poisson’s Ratio of the concrete slab.
double dSelfWeight X X Self-weight of concrete slab.
Type Property Get Set Description
double dThickness X X Thickness of concrete slab.
double dUnitWeight X X Unit weight of the concrete slab.
long lUID X Unique ID of concrete slab property.
BSTR strLabel X X Label of concrete slab property. Limited to 19 characters.

IConcSlabProps
This interface represents a collection of concrete slab properties defined in the model. Concrete slab properties are defined using
this interface and then can be assigned to decks or mat foundations. In v9.0 of DataAccess, decks and mat foundations cannot yet
be added. However, the concrete slab properties defined here can be assigned to decks and mat foundations that are laid out in the
RAM Modeler.

Add ([in] BSTR bstSlabName, [in] double dThick, [in] double dSelfWeight, [out, retval] IConcSlabProp** ppIConcSlabProp)

Adds a new concrete slab property.

Parameters
bstSlabName Label for concrete slab property. Limited to 19 characters.
dThick Thickness of concrete slab
dSelfWeight Self-weight of concrete slab
ppIConcSlabProp Pointer to an IConcSlabProp interface that represents the newly added concrete slab property.

Delete ([in] long lUID, [out, retval] long *plRetVal)

Deletes the concrete slab property with the given unique ID. A concrete slab that is currently assigned to a deck or mat foundation cannot
be deleted.

Parameters
lUID Unique ID of concrete slab property to delete
plRetval 0 if concrete slab property is deleted successfully
-1 if unique ID is not found in filtered list of concrete slab properties or if concrete slab property is currently assigned
to a deck or mat footing polygon

Get ([in] long lUID, [out, retval] IConcSlabProp** ppIConcSlabProp)

Gets an interface for a specific concrete slab property by unique ID.

Parameters
lUID The unique ID of the requested concrete slab property
ppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property, or NULL if no concrete
slab property is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IConcSlabProp** ppIConcSlabProp)

Gets an interface for a specific concrete slab property by index.

Parameters
lIndex The index into the collection of the requested concrete slab property
ppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of concrete slab properties in the collection.

Parameters
plCount Number of concrete slab properties in the collection

IContinuousFnd
This interface represents a single continuous foundation. This is a continuous foundation associated with a story, rather than a floor
type. This interface can be used to read data for a continuous foundation at a story. To change coordinates, use the
ILayoutContinuousFnd interface.

GetCoordinates ([out] SCoordinate* pStartCenterLinePoint, [out] SCoordinate* pEndCenterLinePoint, [out, retval] long* plRetval)

Gets the coordinates of the continuous foundation.

Parameters
pStartCenterLinePoint SCoordinate corresponding to the start center point of the foundation
pEndCenterLinePoint SCoordinate corresponding to the end center point of the foundation
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)


Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetReinforcement ([out, retval] SFND_CONT_REINF* pVal)

Gets reinforcement information for continuous foundation.

Parameters
pVal Structure for continuous foundation reinforcement. See SFND_CONT_REINF.

GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)

Gets additional continuous foundation reinforcement information.

Parameters
pVal Structure for additional continuous reinforcement. See SFND_REINF_OTHER_DATA.

Properties
Type Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not

double dBottom X X Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global X-
axis
double dLeft X X Dimension from center of foundation to left edge defined when footing major axis is parallel to global X-axis
double dOrientation X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-
axis
double dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge defined when footing major axis is parallel to global X-axis
Type Property Get Set Description
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor
type.
long lMaterialID X Unique ID of material properties for this continuous foundation. Foundation is always concrete. See
section Getting material properties for a member for more information.

long lUID X Unique ID of the continuous footing.

IContinuousFnds
This interface represents a collection of continuous foundations associated with a story. While continuous foundations are added to
the ILayoutContinuousFnds interface (which is associated with a floor type), they only are considered in the 3D model at the lowest
story used by that floor type. For example, if continuous foundations are defined on a floor type that is associated with 2 stories,
calling GetContinuousFnds from the IStory associated with the top story for that floor type will yield an empty IContinuousFnds
collection, but from the IStory associated with the bottom story, the IContinuousFnds collection will represent all the continuous
foundations at that story.

Get ([in] long lUID, [out, retval] IContinuousFnd** ppIContinuousFnd)

Gets an interface for a specific continuous foundation by unique ID.

Parameters
lUID The unique ID of the requested continuous foundation
ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation, or NULL if no
continuous foundation is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IContinuousFnd** ppIContinuousFnd)

Gets an interface for a specific continuous foundation by index.

Parameters
lIndex The index into the collection of the requested continuous foundation
ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of continuous foundations in the collection.


Parameters
plCount Number of continuous foundations in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.

Parameters
plCount Leave blank for public properties or enter a valid user ID to get properties.
pplPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of
properties that can be associated with this member type.

ICouplingBeam
This interface represents a coupling beam.

GetPoints ([out,retval] IPoints **ppIPoints)

Gets an interface for the collection of points in the receiver.

Parameters
ppIPoints Pointer to an IPoints interface for the points in the receiver.

GetWallBarSets ([out,retval] IWallBarSets **ppIWallBarSets)

Gets the collection of wall bar sets in the receiver.

Parameters
ppIWallBarSets Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.

GetWallSectionDsnCuts ([out,retval] IWallSectionDsnCuts** ppIWallSectionDsnCuts)


Gets the collection of all design cuts in the coupling beam.

Parameters
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all design cuts in the coupling beam.

SetPoints ([in] IPoints *pIPoints , [out, retval] long* plRetval)


Sets an interface for the collection of points in the receiver.

Parameters
pIPoints An IPoints interface to assign to the receiver.
plRetVal 0 if points were assigned successfully.
-1 if assignment failed.

Properties
Type Property Get Set Description
BOOL bDesigned X X Indicates whether or not this coupling beam has been designed.
BOOL bFrozen X X Indicates whether or not this coupling beam has been frozen by the user.
BOOL bUseBarPattern X X Indicates if the bar pattern option is selected in the uniform layout option
BOOL bUseUniformLayout X X Indicates if the uniform layout option is selected
double dBotLongRowSpacing X X Spacing of the bottom longitudinal bars in the nonuniform layout option
double dDiagElementHeight X X Distance between outer edges of diagonal longitudinal bars
double dDiagElementWidth X X Distance between outer edges of diagonal longitudinal bars
double dDiagTieSpacing X X Tie spacing for diagonal reinforcment
double dLongBarSpacing X X Spacing of the horizontal bars in the uniform layout option
double dSideBarSpacing X X Spacing of the side bars in the nonuniform layout option
double dStirrupSpacing X X Spacing of the transverse bars in the nonuniform layout option
double dTopLongRowSpacing X X Spacing of the top longitudinal bars in the nonuniform layout
double dTransBarSpacingUniform X X Spacing of the transverse bars in the uniform layout option
long lBotLongBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
long lDiagReinfSize X X Index of the bar size in the rebar table for the diagonal longitudinal bars
long lDiagTieSize X X Index of the bar size in the rebar table for the diagonal tie bars
long lLongBarSize X X Index of the bar size in the rebar table for the horizontal bars in the uniform layout option
long lNumBotLongBarRows X X Number of bottom layers of reinforcing in the nonuniform layout option
long lNumBotLongBars X X Number of bottom bars in each layer of reinforcing in the nonuniform layout option
long lNumDiagBarsSide X X Number of diagonal longitudinal bars at sides
long lNumDiagBarsTopAndBot X X Number of diagonal longitudinal top and bottom bars
long lNumLayers X X Number of layers of reinforcing in the uniform layout option
long lNumTopLongBarRows X X Number of top layers of reinforcing in the nonuniform layout option
long lNumTopLongBars X X Number of top bars in each layer of reinforcing in the nonuniform layout option
long lSideBarSize X X Index of the bar size in the rebar table for the side bars in the nonuniform layout option
long lStirrupSize X X Index of the bar size in the rebar table for the transverse bars in the nonuniform layout option
long lStirrupSizeUniform X X Index of the bar size in the rebar table for the vertical bars in the uniform layout option
long lTopLongBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
long lUID X The unique ID of the coupling beam
ICouplingBeamCriteria
This interface represents global coupling beam reinforcing criteria.

Properties
Type Property Get Set Description
BOOL bUseBarPattern Indicates if the bar pattern option is selected in the uniform layout option
BOOL bUseUniformLayout X X Indicates if the uniform layout option is selected
DOUBLE dBotLayerSpacing X X Spacing of the bottom longitudinal bars in the nonuniform layout option
DOUBLE dDiagElementHeight X X Distance between outer edges of diagonal longitudinal bars
DOUBLE dDiagElementWidth X X Distance between outer edges of diagonal longitudinal bars
DOUBLE dDiagTieSpacing X X Tie spacing for diagonal reinforcment
DOUBLE dLongBarSpacing X X Spacing of the horizontal bars in the uniform layout option
DOUBLE dSideBarSpacing X X Spacing of the side bars in the nonuniform layout option
DOUBLE dStirrupSpacing X X Spacing of the transverse bars in the nonuniform layout option
DOUBLE dStirrupSpacingUniform X X Spacing of the transverse bars in the uniform layout option
DOUBLE dTopLayerSpacing X X Spacing of the top longitudinal bars in the nonuniform layout
LONG lBotBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
LONG lDiagLongBarSize X X Index of the bar size in the rebar table for the diagonal longitudinal bars
LONG lDiagTieSize X X Index of the bar size in the rebar table for the diagonal tie bars
LONG lLongBarSize X X Index of the bar size in the rebar table for the horizontal bars in the uniform layout option
LONG lNumBotBars X X Number of bottom bars in each layer of reinforcing in the nonuniform layout option
LONG lNumBotLayers X X Number of bottom layers of reinforcing in the nonuniform layout option
LONG lNumDiagBarsSide X X Number of diagonal longitudinal bars at sides
LONG lNumDiagBarsTopBot X X Number of diagonal longitudinal top and bottom bars
LONG lNumLayers X X Number of layers of reinforcing in the uniform layout option
LONG lNumTopBars X X Number of top bars in each layer of reinforcing in the nonuniform layout option
LONG lNumTopLayers X X Number of top layers of reinforcing in the nonuniform layout option
LONG lSideBarSize X X Index of the bar size in the rebar table for the side bars in the nonuniform layout option
LONG lStirrupSize X X Index of the bar size in the rebar table for the transverse bars in the nonuniform layout option
LONG lStirrupSizeUniform X X Index of the bar size in the rebar table for the vertical bars in the uniform layout option
LONG lTopBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option

ICouplingBeams
This interface represents a collection of ICouplingBeam objects.

Add ([out,retval] ICouplingBeam** ppICouplingBeam)

Adds a new wall panel to the receiver.


Parameters
ppICouplingBeam Pointer to an ICouplingBeam interface that represents the newly added coupling beam.

Clear ()

Deletes all coupling beams from the collection.

Delete ([in] long lUID)

Deletes a coupling beam for a specific unique ID from the collection.

Parameters
lUID Unique ID of the coupling beam to delete.

DeleteAt ([in] long lIndex)

Deletes a coupling beam for a specific index from the collection.

Parameters
lPanelID Index of the coupling beam to delete.

Get ([in] long lUID, [out, retval] IWallPanel ** ppIWallPanel)

Gets an interface for a specific coupling beam unique ID.

Parameters
lUID The unique ID of the requested wall panel.
ppICouplingBeam Pointer to an ICouplingBeam interface that represents the requested coupling beam, or NULL if no coupling beam
is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ICouplingBeam ** ppICouplingBeam)

Gets an interface for a specific coupling beam by index.

Parameters
lIndex The index into the collection of the requested coupling beam.
ppICouplingBeam Pointer to an ICouplingBeam interface that represents the requested coupling beam, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)


Gets the number of wall panels in the receiver.

Parameters
plCount The number of IWallPanel objects in the collection.

IDB
Internal use only.

IDBRecord
Internal use only.

IDBRecords
Internal use only.

IDBTable
Internal use only.

IDBTables
Internal use only.

IDeck
This interface represents a specific deck on a floor type.

GetFinalPolygon ([in] LONG lStoryUID, [in] LONG lIndex, [out,retval] IPoints** ppIPoints)
Gets the specified final polygon for this deck. Note that exterior polygons are at the beginning of this list. The return value from
GetNumFinalDiaphragms (plCount) determines how many of these polygons are exterior polygons. The first plCount polygons in this list
are the exterior ones.

Parameters
lStoryUID The story ID of the story for which to get the polygon.
lIndex Index of the polygon to get.
plCount Pointer to IPoints collection that represents the vertices of the specified polygon.

GetFinalShells ([in] LONG lStoryUID, [out] IShells **ppIShells)

Gets the collection of shells (quads) that make up this deck.

Parameters
lStoryUID The story ID of the story for which to get the shells.
ppIShells Pointer to IShells collection that represents the shells of the deck.

GetNumFinalDiaphragms ([in] LONG lStoryUID, [out,retval] LONG* plCount)

Gets the number of final exterior polygons needed to specify the outline of this deck.

Parameters
lStoryUID The story ID of the story for which to get the polygon count.
plCount Number of final exterior polygons.

GetNumFinalPolygons ([in] LONG lStoryUID, [out,retval] LONG* plCount)

Gets the number of final polygons needed to specify the outline of this deck. Note that this number includes both the interior and exterior
polygons. Interior polygons specify holes in the deck.

Parameters
lStoryUID The story ID of the story for which to get the polygon count.
plCount Number of final polygons.

GetPoints ([out, retval] IPoints** ppIPoints)

Gets the list of points, or vertices, that define the deck polygon. Changing these points does not affect the deck unless SetPoints() is
subsequently called.
Parameters
ppIPoints Pointer to IPoints collection that represents the vertices of the deck polygon. Note that these are the points in the
logical deck polygon, prior to being intersected with slab edges or having overlying deck areas subtracted.
Additionally, the Z values are not populated with valid data.

SetPoints ([in] IPoints* pIPoints, [out, retval] long* plRetval)

Sets the list of points, or vertices, that define the deck polygon. The number of vertices cannot change. The first and last point must be
identical.

Parameters
pIPoints Pointer to IPoints collection that represents the vertices of the deck polygon.
plRetval 0 if successful

Properties
Type Property Get Set Description
BOOL bDropCap X Flag indicating whether or not this deck was modeled as a drop cap.
double dAngle X X Orientation of deck
EDeckType eDeckPropType X Type of deck, either composite, non-composite or concrete
ESlabActions eSlabAction X X The slab action for this deck (one-way or two-way).
long lDropCapColumnID X The unique ID of the column associated with the drop cap
long lPropID X Unique ID of the deck property
long lUID X Unique ID of deck polygon

IDecks
This interface represents a collection of all decks on a floor type.

Add ([in] long lDeckPropID, [in] long lNumPoints, [out, retval] IDeck** ppIDeck)

Adds a new deck to the collection of decks for the model.

Parameters
lDeckPropID Unique ID of deck property used by this deck
lNumPoints Number of points in the deck polygon. The first and last points of the polygon must be the same point, so the
number of points should be the actual number in the polygon plus one.
ppIDeck Pointer to an IDeck interface that represents the new deck, or NULL if Add fails

AddDropCap ([in] long lDeckPropID, [in] long lNumPoints, [in] lColumnID, [out, retval] IDeck** ppIDeck)
Adds a new deck to the collection of decks for the model.

Parameters
lDeckPropID Unique ID of deck property used by this deck
lNumPoints Number of points in the deck polygon. The first and last points of the polygon must be the same point, so the
number of points should be the actual number in the polygon plus one.
lColumnID Unique ID of the column associated with the drop cap
ppIDeck Pointer to an IDeck interface that represents the new deck, or NULL if Add fails

Delete ([in] long lDeckUID, [out, retval] LONG *plRetval)

Deletes the deck with the given unique ID from the collection.

Parameters
lDeckUID Unique ID of the deck to delete
plRetval If deletion fails (lDeckUID not found) this is set to a value less than zero. Otherwise, it is set to 0.

DeleteAt ([in] long lIndex, [out, retval] LONG *plRetval)

Deletes the deck at the given index from the collection.

Parameters
lIndex Index in the collection of the deck to delete

Filter ([in] EDeckFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )

Filters the collection of decks based on given criteria.

Parameters
eFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IDeck** ppIDeck)

Gets an interface for a specific deck by unique ID.

Parameters
lUID The unique ID of the requested deck
ppIDeck Pointer to an IDeck interface that represents the requested deck, or NULL if no deck is found in the collection with
the given unique ID. If the collection is filtered, only the decks in the filtered collection are considered.

GetAt ([in] long lIndex, [out, retval] IDeck** ppIDeck)

Gets an interface for a specific deck by index.

Parameters
lIndex The index into the collection of the requested deck
ppIDeck Pointer to an IDeck interface that represents the requested deck, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of decks in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the
total number of decks on the floor type. When the collection is unfiltered, this function returns the total number of decks on a floor type.

Parameters
plCount Number of decks in the collection

IDeckTableEntries
This interface is used to hold a collection of IDeckTableEntry objects.

GetAt ([in] long lIndex, [out, retval] IDeckTableEntry** ppIDeckTableEntry)

Gets the IDeckTableEntry object at the specified index.

Parameters
lIndex The index of the specified deck table entry.
ppIDeckTableEntry The IDeckTableEntry object at the specified index.

GetCount ([out,retval] long** plCount)

Gets number of IDeckTableEntry objects in the collection.

Parameters
plCount The number of IDeckTableEntry objects in the collection.
IDeckTableEntry
This interface is used represent an entry in the model’s composite decking table. Refer to the RAM Manager manual for a more
detailed description of the properties.

Properties
Type Property Get Set Description
DOUBLE dABD X Area of concrete in the rib per unit deck width
DOUBLE dRSpac X Rib spacing
DOUBLE dTD X Nominal rib height
DOUBLE dWR X Average rib width
DOUBLE dYBar2 X Distance from the bottom of the deck to the centroid of the concrete area dABD
BSTR strDeckName X The name of the decking.

IDiaphragm
This interface represents a single diaphragm. The diaphragm is defined by the slab edge and is a construct utilized in RAM Frame
and RAM Concrete to enforce nodal constraint for all nodes within the diaphragm.

GetDisplacementsForLoadCase ([in] long lLoadCaseID, [out] double* pdDispX, [out] double* pdDispY, double* pdThetaZ)

Gets the diaphragm displacements for a Frame load case.

Parameters
lLoadCaseID Unique ID for the load case the diaphragm applied loads are associated with.
pdDispX Diaphragm displacement in the global X direction for the load case.
pdDispY Diaphragm displacement in the global Y direction for the load case.
pdThetaZ Diaphragm rotation about the global Z axis for the load case.

GetPointLoads ([in] EAnalysisResultType eAnalysisType, [in] long lLoadCaseID, [out,retval] IPointLoads** ppIPointLoads)

Gets the collection of point loads on this diaphragm.

Parameters
eAnalysisType The analysis type (As of v10 only RAMFRAMEResultType is supported)
lLoadCaseID Unique ID for the load case the diaphragm applied loads are associated with.
ppIPointLoads Pointer to an IPointLoads collection interface that represents the point loads on the diaphragm.
Collection will return a collection of 1 for typical generated story force on rigid diaphragm.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for this member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this member defined by a specific
user
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

GetShells ([in] EAnalysisResultType eAnalysisType, [out, retval] IShells** ppIShells)

Gets the collection of shells (quads) for this diaphragm.

Parameters
eAnalysisType The analysis type (As of v10 only RAMFRAMEResultType is supported)
lLoadCaseID Unique ID for the load case the diaphragm applied loads are associated with.
ppIPointLoads Pointer to an IPointLoads collection interface that represents the point loads on the diaphragm.
Collection will return a collection of 1 for typical generated story force on rigid diaphragm.

GetShearsForLoadCase ([in] long lLoadCaseID, [out] double* pdShearX, [out] double* pdShearY)

Gets the diaphragm shears for a Frame load case.

Parameters
lLoadCaseID Unique ID for the load case the diaphragm applied loads are associated with.
pdShearX Diaphragm shear in the global X direction for the load case.
pdShearY Diaphragm shear in the global Y direction for the load case.
Properties
Type Property Get Set Description
BOOL bSkipSurfaceLoad X X Skip surface load polygon edges as constraints while meshing
double dAdvMeshShapeQualValue X X This parameter controls the trade-off between shape optimization and
size optimization. It is the weight of the shape quality in the measure
of the global quality of an element. The default value (0.6) gives a
slight preference to the shape quality over the size quality.
double dAdvMeshSizeRatio X X This ratio is used to get a coarser mesh (for ratio > 1) or a finer mesh
(for ratio < 1) than what the mesher would normally produce. Default
value is 1.0.
double dAdvNormEdgeLengthRatio X X This parameter is used to limit the length of the edges in the
generated mesh (normalized length). This is not a strict enforcement
however. Most of the edges will be shorter than this limit, but some
may remain somewhat longer. The default value of 1.414 gives the
optimal meshes with respect to the size qualities. With this default
value, the average edge length tends to be 1 (optimal edge quality on
average). Sometimes, it can be useful to limit the length of the edges
to a shorter value (usually between 1 and 1.414), and to accept an
average value smaller than 1 (sub-optimal edge qualities on average).
double dHardNodeDensityFactor X X Factor for mesh density around a hard node, larger is less dense,
default 1.0.
double dMaxMeshLength X X It allows defining the maximum distance between two nodes along a
mesh edge. Note that the program may generate additional nodes
closer than user entered value, but it is never allowed to be larger
than that value.
double dMergeNodeTolerance X X Any two mesh nodes found to be smaller than this value, the program
treat these two nodes the same (only keeps one copy of the node)
double dMeshTolerance X X It is used in geometry calculation as a threshold tolerance value. This
should not be confused with a merge (close) node tolerance.
Examples are as follows: it is used as a tolerance to check a node is
on a line or to check a point is inside a polygon, etc...
EDiaphragmDeckDirTypes eContainedDeckDirections X Snapshot of the different deck directions contained in the diaphragm.
long lAdvMeshOptimizationLevel X X From value 1 on, the optimizer algorithm uses several techniques to
improve both the shape quality and the size quality of the elements,
such as node smoothing, edge swapping, and node insertion. Default
value of 3 is usually a good compromise between quality and CPU
cost.
long lPerimeterID X The perimeter ID of this diaphragm. Note: for diaphragms created
using eDSModelData as the value of eSource in
IStory::GetDiaphragms2, this will be the same as the unique ID.
long lStageNumber X Construction stage number
long lUID X Unique ID of diaphragm.
IDiaphragms
This interface represents a collection of all diaphragms associated with a story.

Get ([in] long lUID, [out, retval] IDiaphragm** ppIDiaphragm)

Gets an interface for a specific diaphragm by unique ID.

Parameters
lUID The unique ID of the requested diaphragm
ppIDiaphragm Pointer to an IDiaphragm interface that represents the requested diaphragm, or NULL if no diaphragm is found in
the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IDiaphragm** ppIDiaphragm)

Gets an interface for a specific diaphragm by index.

Parameters
lIndex The index into the collection of the requested diaphragm ( 0 to Count -1 )
ppIDiaphragm Pointer to an IDiaphragm interface that represents the requested diaphragm, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of diaphragms in the collection.

Parameters
plCount Number of diaphragms in the collection

IDisplacement
This interface represents a single displacement.

Properties
Type Property Get Set Description
double dDispX X Translational displacement in the X axis
double dDispY X Translational displacement in the X axis
double dDispZ X Translational displacement in the X axis
double dThetaX X Rotational displacement about the X axis
Type Property Get Set Description
double dThetaY X Rotational displacement about the X axis
double dThetaZ X Rotational displacement about the X axis
long lLoadCaseID X Load case unique ID responsible for the displacement
SCoordinate sLocation X 3D location of the displacement

IDisplacements
This interface represents a collection of displacements.

Get ([in] long lLoadCaseID, [out, retval] IDisplacement** ppIDisplacement)

Gets an interface for a displacement by load case unique ID.

Parameters
lLoadCaseID The unique ID of the load case causing the displacement
ppIDisplacement Pointer to an IDisplacement interface that represents the requested displacement.

GetAt ([in] long lIndex, [out, retval] IDisplacement** ppIDisplacement)


Gets an interface for a final wall opening by index.

Parameters
lIndex The index into the collection of displacement cases
ppIRawWallOpening Pointer to an IDisplacements nterface that represents the requested displacement.

GetCount ([out, retval] long* plCount)

Gets the number of displacement cases in the collection.

Parameters
plCount Number of displacement cases in the collection

IField
Internal use only.
IFields
Internal use only.

IFinalWallOpening
This interface represents a single final wall opening, which is an opening clipped to a specific wall.

GetOpeningVertices ([out,retval] IPoints** ppIVertexCoordinates)

Gets the vertices of the opening clipped to the wall polygon.

Parameters
ppIVertexCoordinates Pointer to an IPoints collection interface which represents the locations of the
vertices of the opening in 3D coordinates.

Properties
Type Property Get Set Description
long lRawOpeningUID X Unique ID of raw wall opening from which this this clipped opening originated
long lWallUID X Unique ID of wall to which this final opening is clipped

IFinalWallOpenings
This interface represents a collection of final wall openings associated with a wall. Final openings are the collection of openings that
intersect a wall, regardless of which wall into the openings were initially modeled.

Get ([in] long lUID, [out, retval] IFinalWallOpening** ppIFinalWallOpening)

Gets an interface for a specific raw wall opening by unique ID.

Parameters
lUID The unique ID of the requested wall opening
ppFinalWallOpening Pointer to an IFinalWallOpening interface that represents the requested final wall opening, or NULL if no wall
opening is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IFinalWallOpening** ppIFinalWallOpening)

Gets an interface for a final wall opening by index.


Parameters
lIndex The index into the collection of the requested final wall opening
ppIRawWallOpening Pointer to an IFinalWallOpening interface that represents the requested final wall opening, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of wall openings in the collection.

Parameters
plCount Number of final wall openings in the collection

IFloorType
This interface represents a single floor type in the model.

GetAllSlabEdges ([out, retval] ISlabEdges** ppISlabEdges)

Gets the collection of all slab edges for this floor-type. Unlike the edges returned from ISlabPerimeter::GetEdges, this collection is editable.

Parameters
ppISlabEdges Pointer to an ISlabEdges collection interface that represents all the edges present on this floor type.
Note that some of them may not belong to any defined perimeter if they do not form complete closed
shapes.

GetAllSlabOpenings ([out, retval] ISlabEdges** ppISlabOpenings)

Gets the collection of all slab opening edges for this floor-type. Unlike the opening edges returned from ISlabOpening::GetEdges, this
collection is editable.

Parameters
ppISlabOpenings Pointer to an ISlabEdges collection interface that represents all the opening edges present on this floor
type. Note that some of them may not belong to any defined opening if they do not form complete
closed shapes.

GetDecks ([out, retval] IDecks** ppIDecks)


Gets the collection of all decks for this floor type.

Parameters
ppIDecks Pointer to an IDecks collection interface that represents all decks defined on this floor type

GetGridSystemIDArray ([out, retval] IDAArray** ppIDAArray)

Gets the collection of unique IDs of grid systems that are assigned to this floor type.

Parameters
ppIDAArray Pointer to an IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor
type.

GetLayoutBeams ([out, retval] ILayoutBeams** ppILayoutBeams)

Gets the collection of all beams for this floor type.

Parameters
ppILayoutBeams Pointer to an ILayoutBeams collection interface that represents all beams defined on this floor type

GetLayoutColumns ([out, retval] ILayoutColumns** ppILayoutColumns)

Gets the collection of all columns for this floor type.

Parameters
ppILayoutColumns Pointer to an ILayoutColumns collection interface that represents all columns defined on this floor type

GetLayoutContinuousFnds ([out, retval] ILayoutContinuousFnds** ppILayoutContinuousFnds)

Gets the collection of all continuous foundations for this floor type.

Parameters
ppILayoutContinuousFnds Pointer to an ILayoutContinuousFnds collection interface that represents all continuous foundations defined
on this floor type

GetLayoutHorizBraces ([out, retval] ILayoutHorizBraces** ppILayoutHorizBraces)

Gets the collection of all horizontal braces for this floor type.

Parameters
ppILayoutHorizBraces Pointer to an ILayoutHorizBraces collection interface that represents all horizontal braces defined on this floor type

GetLayoutIsolatedFnds ([out, retval] ILayoutIsolatedFnds** ppILayoutIsolatedFnds)

Gets the collection of all isolated foundations for this floor type.

Parameters
ppILayoutIsolatedFnds Pointer to an ILayoutIsolatedFnds collection interface that represents all isolated foundations defined on this
floor type

GetLayoutWalls ([out, retval] ILayoutWalls** ppILayoutWalls)

Gets the collection of all walls for this floor type.

Parameters
ppILayoutWalls Pointer to an ILayoutWalls collection interface that represents all walls defined on this floor type

GetLineLoadSets (ILineLoadSets ** ppLineLoadSets )


Gets the collection of all line load sets for this floor type.

Parameters
ppLineLoadSets Pointer to an ILineLoadSets collection interface that represents all line load sets defined on this floor type

GetPointLoadSets (IPointLoadSets** ppPointLoadSets )


Gets the collection of all point load sets for this floor type.

Parameters
ppPointLoadSets Pointer to an IPointLoadSets collection interface that represents all point load sets defined on this floor type

GetSlabOpenings ([out, retval] ISlabOpenings** ppISlabOpenings)

Gets the collection of all slab openings for this floor type.

Parameters
ppISlabOpenings Pointer to an ISlabOpenings collection interface that represents all slab openings defined on this floor type

GetSlabPerimeters ([out, retval] ISlabPerimeters** ppISlabPerimeters)


Gets the collection of all slab perimeters for this floor type.

Parameters
ppISlabPerimeters Pointer to an ISlabPerimeters collection interface that represents all slab perimeters defined on this floor type

GetSnowLoadSets ([out, retval] ISnowLoadSets **ppSnowLoadSets)


Gets the collection of all snow load sets for this floor type.

Parameters
ppSnowLoadSets Pointer to an ISnowLoadSets collection interface that represents all snow load sets defined on this floor type.

GetStories ([out, retval] IStories** ppIStories)

Gets the collection of all stories associated with this floor type. May be 0, 1 or many.

Parameters
ppIStories Pointer to an IStories collection interface that represents all stories based on this floor type

GetSurfaceLoadSets (ISurfaceLoadSets **ppSurfaceLoadSets)


Gets the collection of all surface load sets for this floor type.

Parameters
ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor type.

GetSurfaceLoadSets2 ([out, retval] ISurfaceLoadSets **ppSurfaceLoadSets)


Gets the collection of all surface load sets for this floor type. Note: this is the same as GetSurfaceLoadSets, but with the
ppSurfaceLoadSets argument set to be a retval.

Parameters
ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor
type.

SetGridSystemIDArray ([in] IDAArray * pIDAArray, [out, retval] long *plRetVal)

Sets the collection of unique IDs of grid systems that are assigned to this floor type.

Parameters
pIDAArray Pointer to an IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor
type.
plRetVal 0 if collection is set

Properties
Type Property Get Set Description
long lUID X Unique ID of floor type
BSTR strLabel X X Label of floor type. Maximum of 19 characters allowed.

IFloorTypes
This interface represents a collection of all floor types for the model. It can be used to add and delete floor types.

Add ([in] BSTR bstrFloorTypeName, [out, retval] IFloorType** ppFloorType)

Adds a new floor type to the collection of floor types for the model.

Parameters
bstrFloorTypeName A label for the floor type. Max 19 characters allowed.
ppFloorType Pointer to an IFloorType interface that represents the newly added floor type.

Copy ([in] long lSrcIndex, [in] BSTR strFloorTypeName, [in] DWORD dwWhatToCopy, [out, retval] IFloorType** ppFloorType)

Creates a duplicate copy of the specified floor type.

Parameters
lScrIndex Index of the floor type to copy.
bstrFloorTypeName A label for the new floor type. Max 19 characters allowed.
dwWhatToCopy Bitwise OR of members of the EFloorTypeElements enumeration indicating what portions of the floor type should
be copied.
ppFloorType Pointer to an IFloorType interface that represents the newly added floor type.

Copy2 ([in] long lSrcIndex, [in] BSTR strFloorTypeName, [in] LONG lWhatToCopy, [out, retval] IFloorType** ppFloorType)

Creates a duplicate copy of the specified floor type.

Parameters
lScrIndex Index of the floor type to copy.
bstrFloorTypeName A label for the new floor type. Max 19 characters allowed.
lWhatToCopy Bitwise OR of members of the EFloorTypeElements enumeration indicating what portions of the floor type should
be copied.
ppFloorType Pointer to an IFloorType interface that represents the newly added floor type.

Delete ([in] long lUID, [out, retval] long* plRetval )

Deletes a floor type from the collection. The floor type must be in the filtered collection to be deleted. Note that a floor type that is
associated with a story cannot be deleted. All stories associated with the floor type must be deleted first.

Parameters
lUID Unique ID of floor type to be deleted
plRetval 0 if floor type is deleted successfully
-1 if the unique ID was not found in the filtered list and could not be deleted or if the floor type is associated with
one or more stories.

Filter ([in] EFloorTypeFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )

Filters the collection of floor types based on given criteria.

Parameters
eFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IFloorType** ppFloorType )

Gets an interface for a specific floor type by unique ID.

Parameters
lUID The unique ID of the requested floor type
ppFloorType Pointer to an IFloorType interface that represents the requested floor type, or NULL if no floor type is found in the
collection with the given unique ID. If the collection is filtered, only the floor types in the filtered collection are
considered.

GetAt ([in] long lIndex, [out, retval] IFloorType** ppFloorType )

Gets an interface for a specific floor type by index.

Parameters
lIndex The index into the collection of the requested floor type
ppFloorType Pointer to an IFloorType interface that represents the requested floor type, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount )

Gets the number of floor types in the collection. When the collection is filtered, this function returns the number in the filtered collection, not
the total number of floor types in the model. When the collection is unfiltered, this function returns the total number of floor types in the
model.

Parameters
plCount Number of floor types in the collection

MSIWorkaround_EFloorTypeElements_DO_NOT_CALL ()

Internal use only.

IFrameAnalysisCriteria
This interface provides access to frame analysis criteria used during an analysis in RAM Frame. Replaced by IRAMFrameCriteria.

Properties
Type Property Get Set Description
BOOL bConsiderAdvancedMeshCriteria X X Indicates whether to consider advanced wall meshing criteria. If it is False, default
mesh criteria values are used.
BOOL bConsiderPDelta X X TRUE if PDelta effect should be considered during analysis, FALSE if not
BOOL bOutputForcesAtFace X X Same as option in RAM Frame Analysis Criteria Dialog. Indicates whether forces
should be provided at the face of the column/beam or at the centerline node
double dMeshMaxDistBetweenNodes X X Maximum allowed distance between wall mesh nodes between nodes on walls when
walls are meshed. It controls the wall mesh density (ie., how coarse or fine the mesh
is).
double dMeshShapeQualityRatio X X Advanced wall mesh shape quality ratio (between 0.1 and 1). The Default is 0.6.
double dPDeltaFactor X X Scale factor (between 0 and 10) to magnify the effect of PDelta during the analysis.
The Default is 1.
EDiaphragm eDiaphragmType X X Type of diaphragms in model. Will be eNoDiaphragm if no stories have diaphragms.
Will be eRigidDiaphragm if some stories have rigid diaphragms
long lMeshOptimizationLevel X X Advanced wall mesh optimization level (between 1 and 10). The Default is 3.
IGridSystem
This interface represents a single grid system.

GetGrids ([out, retval] IModelGrids ** ppIGrids)

Gets the collection of grid lines for the grid system.

Parameters
ppIGrids Pointer to an IModelGrids interface that represents the collection of grids for the grid system.

Properties
Type Property Get Set Description
double dRotation X X Rotation angle of grid system.
double dXoffset X X Offset of grid system from 0, along x-axis.
double dYoffset X X Offset of grid system from 0, along y-axis.
SGridSysType eOrientationType X X Orientation type of grid system.
long lUID X Unique ID of grid system.
BSTR strLabel X X Label of grid system.

IGridSystems
This interface represents the collection of all grid systems defined in the model. Grid systems are defined once and then assigned to
one or more floor types.

Add ([in] BSTR bstGridSystemLabel, [out, retval] IGridSystem** ppIGridSystem )

Adds a grid system to the collection of grid systems for the model.

Parameters
bstGridSystemLabel Label for this grid system
ppIGridSystem Pointer to an IGridSystem interface that represents the newly added grid system.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the grid system with the given unique ID. Note that a grid system cannot be deleted if it is currently assigned to a floor type.

Parameters
lUID Unique ID of grid system to delete
plRetval 0 if grid system is deleted successfully
-1 if unique ID is not found in filtered list of grid systems

Filter ([in] EGridSystemFilter eGridSystemFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of grid systems based on given criteria.

Parameters
eGridSystemFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IGridSystem** ppIGridSystem)

Gets an interface for a specific grid system by unique ID.

Parameters
lUID The unique ID of the requested grid system
ppIGridSystem Pointer to an IGridSystem interface that represents the requested grid system, or NULL if no grid system is found in
the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IGridSystem** ppIGridSystem)

Gets an interface for a specific grid system by index.

Parameters
lIndex The index into the collection of the requested grid system
ppIGridSystem Pointer to an IGridSystem interface that represents the requested grid system, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of grid systems in the collection. When the collection is filtered, this function returns the number in the filtered collection,
not the total number of layout grid systems in the model. When the collection is unfiltered, this function returns the total number of grid
systems in the model.

Parameters
plCount Number of grid systems in the collection
IHorizBrace
This interface represents a single horizontal brace. This is a horizontal brace associated with a story, rather than a floor type. This
interface can be used to read data for a horizontal brace at a story. To change coordinates, use the ILayoutHorizBrace interface.

GetEndCoordinates ([out] SCoordinate* pStartPoint, [out] SCoordinate* pEndPoint, [out, retval] long* plRetval)

Gets the end coordinates for the horizontal brace.

Parameters
pStartPoint SCoordinate corresponding to the start of the horizontal brace
pEndPoint SCoordinate corresponding to the end of the horizontal brace
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

Properties
Note that some properties of horizontal braces cannot be changed through the IHorizBrace interface. Any properties which cannot
vary story-to-story when a floor type is used by multiple stories must be set through the ILayoutHorizBrace interface.
Type Property Get Set Description
BOOL bDblAngleLLBacktoBack X X Applies to a steel horizontal brace that has been assigned a double angle
section. If TRUE, long legs of double angle are back to back. If FALSE, short
legs are back to back.
BOOL bDblAngleSnugTightBolt X X Applies to a steel horizontal brace that has been assigned a double angle
section. TRUE indicates that only a snug tight connector will be used.
BOOL bMajAxisBendFixEnd X X Major axis bending release at end of horizontal brace (j-end).
BOOL bMajAxisBendFixStart X X Major axis bending release at start of horizontal brace (i-end).
BOOL bMinAxisBendFixedEnd X X Minor axis bending release at end of horizontal brace (j-end).
BOOL bMinAxisBendFixedStart X X Minor axis bending release at start of horizontal brace (i-end).
BOOL bSglAngleLLHorizontal X X Applies to a steel horizontal brace that has been assigned a single angle
section. TRUE indicates that the long leg of the angle is horizontal. FALSE
indicates that the long leg is vertical.
BOOL bTorFixedEnd X X Torsion release at end of horizontal brace (j-end).
BOOL bTorFixedStart X X Torsion release at start of horizontal brace (i-end).
double dDblAngleBackSpacing X X Spacing distance between angles of double angle section. Applies to a steel
horizontal brace that has been assigned a double angle section.
double dUnbracedLengthAxialX X X Strong axis unbraced length for axial compression
double dUnbracedLengthAxialY X X Weak axis unbraced length for axial compression
double dUnbracedLengthFlexuralY X X Unbraced length for lateral torsional buckling
ETensionCompressionMemType eAnalysisType X X Indicates whether horizontal brace takes tension, compression, or both
EMATERIALTYPES eMaterial X Material type of horizontal brace. Valid options for horizontal braces are
ESteelMat, EConcreteMat, or EOtherMat.
long lFlangeBracing X X Flange bracing flags. Sum the appropriate flags to determine the appropriate
value for the settings.
0 – All global
1 – Override global
2 – Top flange braced
4 – Bot flange braced
long lFrameNumber X X Frame number assigned
long lLabel X Numeric label of horizontal brace used for on-screen display in RAM Structural
System. It is unique per floor type.
long lMaterialID X Unique ID of material properties for this horizontal brace. Must correspond to
type of material. See section Getting material properties for a member for
more information.
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this horizontal brace. See
Assigning section properties to concrete members and Assigning section
properties to ‘Other’ members for more information.
long lStageNumber X X Construction stage number
long lUID X Unique ID of horizontal brace.
Type Property Get Set Description
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriate
value for the settings.
0 – All global
1 – Override global UnbracedLengthAxialLX
2 – Override global UnbracedLengthAxialLY
4 – User defined UnbracedLengthAxialLX
8 – User defined UnbracedLengthAxialLY
32 – Override global UnbracedLengthFlexLY
128 – User defined UnbracedLengthFlexLY
BSTR strSectionLabel X X Label of the size or section property for this horizontal brace. Limited to 15
characters. See Assigning sizes to steel members, Assigning section
properties to concrete members, and Assigning section properties to ‘Other’
members for more information.

IHorizBraces
This interface represents a collection of horizontal braces associated with a story. This collection can be used to read data for
horizontal braces at a story. To add or delete horizontal braces, use the ILayoutHorizBraces interface associated with a floor type.

Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of layout horizontal braces based on given criteria.

Parameters
eFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IHorizBrace** ppIHorizBrace)

Gets an interface for a specific horizontal brace by unique ID.

Parameters
lUID The unique ID of the requested layout horizontal brace
ppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace, or NULL if no horizontal brace is
found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IHorizBrace** ppIHorizBrace)


Gets an interface for a specific horizontal brace by index.

Parameters
lIndex The index into the collection of the requested horizontal brace
ppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of horizontal braces in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of horizontal braces on the story. When the collection is unfiltered, this function returns the total number of
horizontal braces on the story.

Parameters
plCount Number of horizontal braces in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IIsolatedFnd
This interface represents a single isolated foundation. This is an isolated foundation associated with a story, rather than a floor type.
This interface can be used to read data for an isolated foundation at a story. To change coordinates, use the ILayoutIsolatedFnd
interface.

GetCoordinate ([out] SCoordinate* pCenterPoint, [out, retval] long* plRetval)


Gets the coordinate of the isolated foundation.

Parameters
pCenterPoint SCoordinate corresponding to the center point of the isolated foundation
plRetval 0 if successful
-1 if coordinate cannot be retrieved

GetPileLocations ([out, retval] IPoints** ppIPoints)


Applies to pile cap foundations. Gets a collection of points that represent the location of the piles relative to the center point of the footing.

Parameters
ppIPoints Pointer to an IPoints interface that represents the location of the piles in the pile cap.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)


Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)


Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetReinforcement ([in] EFndReinfLoc eLoc, [out, retval] SFND_ISO_REINF* pVal)
Gets isolated foundation reinforcement for location.

Parameters
eLoc Location of reinforcement. See EFndReinfLoc.
pVal Structure containing reinforcement information. See SFND_ISO_REINF.

GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)


Gets additional reinforcement information.

Parameters
pVal Structure for additional reinforcement information. See SFND_REINF_OTHER_DATA.

Properties
Type Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge of footing when footing major axis is
parallel to global X-axis
double dLeft X X Dimension from center of foundation to left edge of footing when footing major axis is parallel to
global X-axis
double dOrientation X X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge of footing when footing major axis is parallel
to global X-axis
double dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge of footing when footing major axis is parallel to
global X-axis
EIsolatedFndType eType X X Type of isolated foundation (i.e. spread footing, pile cap)
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique
per floor type.
long lMaterialID X Unique ID of material properties for this isolated foundation. Foundation is always concrete.
See section Getting material properties for a member for more information.
long lPileConfigurationID X X ID of pile configuration assigned to this foundation; only applies if eType is EFndPileCap. From
the IModel interface, call GetPileConfiguration() using this ID to get the interface for the pile
configuration associated with this pile cap footing.
long lPileID X X ID of pile type assigned to this foundation; only applies if eType is EFndPileCap. From the
IModel interface, call GetPile() using this ID to get the interface for the pile definition associated
with this pile cap footing.
long lUID X Unique ID of isolated foundation.

IIsolatedFnds
This interface represents a collection of isolated foundations (foundations that sit under a single column) associated with a story.
While isolated foundations are added to the ILayoutIsolatedFnds interface (which is associated with a floor type), they only are
considered in the 3D model at the lowest story used by that floor type. For example, if isolated foundations are defined on a floor
type that is associated with 2 stories, calling GetIsolatedFnds() from the IStory associated with the top story for that floor type will
yield an empty IIsolatedFnds collection, but from the IStory associated with the bottom story, the IIsolatedFnds collection will
represent all the isolated foundations at that story.

Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of isolated foundations based on given criteria.


Parameters
eIsolatedFndFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IIsolatedFnd** ppIIsolatedFnd)

Gets an interface for a specific isolated foundation by unique ID.

Parameters
lUID The unique ID of the requested isolated foundation
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the requested isolated foundation, or NULL if no isolated
foundation is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IIsolatedFnd** ppIIsolatedFnd)


Gets an interface for a specific isolated foundation by index.

Parameters
lIndex The index into the collection of the requested isolated foundation
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the requested isolated foundation, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)


Gets the number of isolated foundations in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of isolated foundations on the story. When the collection is unfiltered, this function returns the total number
of isolated foundations on the story.

Parameters
plCount Number of isolated foundations in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

ILayoutBeam
This interface represents a single layout beam. A layout beam is a beam associated with a floor type. Since a floor type can be
associated with one or more stories, a layout beam may actually represent one or more beams. This interface can be used to modify
the coordinates and properties of a layout beam.

GetAssociatedStoryBeams ([out, retval] IBeams** ppIBeams)

Gets an interface for a collection of story beams associated with this layout beam. Collection may be empty if no stories are associated
with the floor type the layout beam is on.

Parameters
ppIBeams Pointer to an IBeams interface that represents the collection of story beams associated with this layout beam.

GetEndRigidLink ([out] double *pdX, [out] *double pdY, [out] long *plMemberID)

Gets the support unique ID and coordinates for the rigid link at the end of the beam.

Parameters
pdX X coordinate of the end of the rigid link on the supporting member at the end of the beam. Matches beam end
X coordinate if there is no rigid link.
pdY Y coordinate of the end of the rigid link on the supporting member at the end of the beam. Matches beam end
Y coordinate if there is no rigid link.
plMemberID Unique ID of the member that supports the rigid link at the end of the beam.

GetLayoutCoordinates ([out] double *pdStartSupportX, [out] double *pdStartSupportY, [out] double *pdStartSupportZOffset, [out]
double *pdEndSupportX, [out] double *pdEndSupportY, [out]double *pdEndSupportZOffset, [out, retval] long* plRetval)

Gets the coordinates of the layout beam. Note that it returns the coordinates of the support points of the beam. For the actual end
coordinates, use the IBeam interface.

Parameters
pdStartSupportX X coordinate of the support point at the start of the beam (i-end).
pdStartSupportY Y coordinate of the support point at the start of the beam (i-end).
pdStartSupportZOffset Z offset value from the story elevation for the support point at the start of the beam (i-end).
pdEndSupportX X coordinate of the support point at the end of the beam (j-end).
pdEndSupportY Y coordinate of the support point at the end of the beam (j-end).
pdEndSupportZOffset Z offset value from the story elevation for the support point at the end of the beam (j-end).
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetStartRigidLink ([out] double *pdX, [out] *double pdY, [out] long *plMemberID)

Gets the support unique ID and coordinates for the rigid link at the start of the beam.

Parameters
pdX X coordinate of the end of the rigid link on the supporting member at the start of the beam. Matches beam start
X coordinate if there is no rigid link.
pdY Y coordinate of the end of the rigid link on the supporting member at the start of the beam. Matches beam start
Y coordinate if there is no rigid link.
plMemberID Unique ID of the member that supports the rigid link at the start of the beam.

GetStubCantileverCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZOffset, [out] double
*pdEndtX, [out] double *pdEndY, [out] double *pdEndZOffset)

Gets the end coordinates of a stub cantilever layout beam. 1.

Parameters
pdStartX X coordinate of the supported stub cantilever end.
pdStartY Y coordinate of the supported stub cantilever end.
pdStartZOffset Z offset value from the story elevation of the supported stub cantilever end.
pdEndX X coordinate of the free stub cantilever end.
pdEndY Y coordinate of the free stub cantilever end.
pdEndZOffset Z offset value from the story elevation of the free stub cantilever end.

GetWebOpenings ([out, retval] IWebOpenings** ppIWebOpenings )

Gets an interface for a collection of web openings associated with this layout beam. Collection may be empty if no web openings are
defined on this beam.

Parameters
ppIWebOpenings Pointer to an IWebOpenings interface that represents the collection of web openings defined on this layout beam.

IsStubCantilever ([out, retval] BOOL* bStubCantilever)


Determine if the layout beam is a stub cantilever or not. 1

Parameters
bStubCantilever Returns 1 if the layout beam is a stub cantilever, 0 if not.

SetEndRigidLink ([in] double dX, [in] double dY)

Sets the end coordinates for the rigid link at the end of the beam. A support must exist before the link can be added.

Parameters
dX X coordinate of the end of the rigid link on the supporting member at the end of the beam.
dY Y coordinate of the end of the rigid link on the supporting member at the end of the beam.

SetLayoutCoordinates ([in] double dStartSupportX, [in] double dStartSupportY, [in] double dStartSupportZOffset, [in] double
dEndSupportX, [in] double dEndSupportY, [in] double dEndSupportZOffset, [out, retval] long* plRetval)

Sets the coordinates of the layout beam. Note that the coordinates being set are of the support points of the beam. Beams must be
defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they
will be reversed.

Parameters
dStartSupportX X coordinate of the support point at the start of the beam (i-end).
dStartSupportY Y coordinate of the support point at the start of the beam (i-end).
dStartSupportZOffset Z offset value from the story elevation for the support point at the start of the beam (i-end).
dEndSupportX X coordinate of the support point at the end of the beam (j-end).
dEndSupportY Y coordinate of the support point at the end of the beam (j-end).
dEndSupportZOffset Z offset value from the story elevation for the support point at the end of the beam (j-end).
plRetval 0 if successful
-1 if coordinates cannot be set

SetStartRigidLink ([in] double dX, [in] double dY)

Sets the end coordinates for the rigid link at the start of the beam. A support must exist before the link can be added.

Parameters
dX X coordinate of the end of the rigid link on the supporting member at the start of the beam.
dY Y coordinate of the end of the rigid link on the supporting member at the start of the beam.
SetStubCantileverCoordinates ([in] double dStartX, [in] double dStartY, [in] double dStartZOffset, [in] double dEndtX, [in] double
dEndY, [in] double dEndZOffset)

Sets the end coordinates of a stub cantilever layout beam. 1.

Parameters
dStartX X coordinate of the supported stub cantilever end.
dStartY Y coordinate of the supported stub cantilever end.
dStartZOffset Z offset value from the story elevation of the supported stub cantilever end.
dEndX X coordinate of the free stub cantilever end.
dEndY Y coordinate of the free stub cantilever end.
dEndZOffset Z offset value from the story elevation of the free stub cantilever end.

Properties
Note that some properties that can be set through the ILayoutBeam interface cannot be retrieved. Any property of a beam that can
vary story-to-story (such as the section label, which corresponds to the beam size) cannot be retrieved through this interface
because the ILayoutBeam interface may represent more than one beam, not all of which will have the same assigned size. For
example, if a floor type is associated with 3 stories, the corresponding beams on those stories may have 3 different assigned sizes.
So the section label is one property that cannot be retrieved through the ILayoutBeam interface. To get the section label for a beam,
use the IBeam interface.

When a property is set through the ILayoutBeam interface, all beams represented by this interface will be updated.

Type Property Get Set Description


BOOL bComposite X X If TRUE, beam is composite. If FALSE, beam is non-composite.
BOOL bMajAxisBendFixedEnd X Major axis bending release at end of beam (j-end).
BOOL bMajAxisBendFixedStart X Major axis bending release at start of beam (i-end).
BOOL bMinAxisBendFixedEnd X Minor axis bending release at end of beam (j-end).
BOOL bMinAxisBendFixedStart X Minor axis bending release at start of beam (i-end).
BOOL bTorFixedEnd X Torsion release at end of beam (j-end).
BOOL bTorFixedStart X Torsion release at start of beam (i-end).
double dCastellatedBottomDt X X
double dCastellatedDt X X ‘dt’ is the distance from the top of the beam to the top of a castellated beam opening.
double dCastellatedE X X ‘e’ is the dimension of the top of the castellated opening, and the spacing between openings.
This is the maximum dimension in the case that a range was specified by the design.
double dCastellatedMaxE X X Minimum space between holes in castellated beams.
double dCastellatedMinE X X Maximum space between holes in castellated beams.
double dCastellatedPhiBot X X Angle off the horizontal of the slant of the bottom two slanted portions of the holes in
castellated beams.
double dCastellatedPhiTop X X Angle off the horizontal of the slant of the top two slanted portions of the holes in castellated
beams.
Type Property Get Set Description
double dCastellatedTopDt X X Vertical distance from flange to hole for castellated beams.
double dCellularDo X X ‘Do’ is the hole diameter for cellular beams.
double dCellularMaxS X X Minimum center-to-center spacing of holes in cellular beams.
double dCellularMinS X X Maximum center-to-center spacing of holes in cellular beams.
double dCellularS X X ‘S’ is the spacing between openings for cellular beams. This is the maximum dimension in
the case that a range was specified by the design.
double dEndCantilever X X Length of cantilever at end of beam (j-end)
double dManufacturerSelfWeight X X Self weight supplied by a custom beam manufacturer, used in place of self-weight
calculation for calculating reactions on other members – only used in Ram Structural System
if lManufacturerID has been set. This value should be in pounds per linear foot.
double dStartCantilever X X Length of cantilever at start of beam (i-end)
EAnalyzeFlag eAnalyzeFlag X X Whether beam will be optimized or analyzed during design
EFRAMETYPE eFramingType X X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat,
ESmartbeamBeamMat, EConcreteMat, or EOtherMat.
EJoistType eMemberJoistType X X Type of joist (if beam material type is ESteelJoistMat)
ESMARTBEAMTYPE eSmartBeamSubType X X Whether the beam is a castellated or cellular smartbeam. Only applicable if eMaterial is
ESmartbeamBeamMat.
EDefaultOrAlternate eSteelTable X X Whether beam size will be found in default or alternate steel beam design table
long lBeamLineNumber X Beam line that beam is part of (applicable only if this is a concrete beam).
long lDeckUID X Deck unique id on the “left” or “right” of the beam.
long lFrameNumber X Frame number for lateral members. It must be positive number.
long lLabel X Numeric label of beam used for on-screen display in RAM Structural System. It is unique
per floor type.
long lManufacturerID X X 0 if none assigned. Custom beam manufacturers may obtain a manufacturer ID from RAM
International. When set on a beam, the beam will be ignored during the Design All
command in RAM Steel Beam.
long lMaterialID X Unique ID of material properties for this beam. Must correspond to type of material. See
section Getting material properties for a member for more information.
long lSectionID X Unique ID of concrete or ‘Other’ section assigned to this beam. See Assigning section
properties to concrete members and Assigning section properties to ‘Other’ members for
more information.
long lUID X Unique ID of layout beam. This unique ID corresponds to the beam on the top story
associated with this floor type, if any.
BSTR strSectionLabel X Label of the size or section property for this beam. Limited to 15 characters. See Assigning
sizes to steel members, Assigning section properties to concrete members, and Assigning
section properties to ‘Other’ members for more information.
ILayoutBeams
This interface represents a collection of beams associated with a floor type. This collection is used to add or delete beams on a floor
type. (Beams cannot be added or deleted for a story through the IBeams interface, so this is the only interface through which beams
can be added or deleted from the model.)

Add ([in] EMATERIALTYPES eMat, [in]double dStartSupportX, [in] double dStartSupportY, [in]double dZOffset1, [in]double
dEndSupportX, [in]double dEndSupportY, [in]double dZOffset2, [out, retval] ILayoutBeam** ppILayoutBeam)

Adds a new layout beam to the collection of layout beams for the floor type. A beam is defined by its support points, not its end points.
Beams must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM
Structural System, they will be reversed. If a beam is cantilevered, the cantilever length is added as a property of the ILayoutBeam
interface.

Parameters
eMat Material type of beam to add (Valid options are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat,
or EOtherMat)
dStartSupportX X coordinate of the support point at the start of the beam (i-end).
dStartSupportY Y coordinate of the support point at the start of the beam (i-end).
dZOffset1 Z offset value from the story elevation for the support point at the start of the beam (i-end).
dEndSupportX X coordinate of the support point at the end of the beam (j-end).
dEndSupportY Y coordinate of the support point at the end of the beam (j-end).
dZOffset2 Z offset value from the story elevation for the support point at the end of the beam (j-end).
ppILayoutBeam Pointer to an ILayoutBeam interface that represents the newly added layout beam.

AddStubCantilever ([in] EMATERIALTYPES eMat, [in]double dStartX, [in] double dStartY, [in]double dZOffset1, [in]double dEndX,
[in]double dEndY, [in]double dZOffset2, [out, retval] ILayoutBeam** ppILayoutBeam)

Adds a new stub cantilever layout beam to the collection of layout beams for the floor type. 1

Parameters
eMat Material type of beam to add (Valid options are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat,
or EOtherMat)
dStartX X coordinate of the supported stub cantilever end.
dStartY Y coordinate of the supported stub cantilever end.
dZOffset1 Z offset value from the story elevation of the supported stub cantilever end.
dEndX X coordinate of the free stub cantilever end.
dEndY Y coordinate of the free stub cantilever end.
dZOffset2 Z offset value from the story elevation of the free stub cantilever end.
ppILayoutBeam Pointer to an ILayoutBeam interface that represents the newly added layout beam.
Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the layout beam with the given unique ID, as well as all corresponding beams on stories associated with the floor type that the
layout beam is on.

Parameters
lUID Unique ID of layout beam to delete
plRetval 0 if layout beam is deleted successfully
-1 if unique ID is not found in filtered list of layout beams

Filter ([in] EBeamFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of layout beams based on given criteria.

Parameters
eFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ILayoutBeam** ppILayoutBeam)

Gets an interface for a specific layout beam by unique ID.

Parameters
lUID The unique ID of the requested layout beam
ppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam, or NULL if no layout beam is found
in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILayoutBeam** ppILayoutBeam)

Gets an interface for a specific layout beam by index.

Parameters
lIndex The index into the collection of the requested layout beam
ppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)


Gets the number of layout beams in the collection. When the collection is filtered, this function returns the number in the filtered collection,
not the total number of layout beams on the floor type. When the collection is unfiltered, this function returns the total number of layout
beams on the floor type.

Parameters
plCount Number of layout beams in the collection

ILayoutColumn
This interface represents a single layout column. A layout column is a column associated with a floor type. Since a floor type can be
associated with one or more stories, a layout column may actually represent one or more columns. This interface can be used to
modify the coordinates and properties of a layout column.

GetAssociatedStoryColumns ([out, retval] IColumns** ppIColumns)

Gets an interface for a collection of story columns associated with this layout column. Collection may be empty if no stories are associated
with the floor type the layout column is on.

Parameters
ppIColumns Pointer to an IColumns interface that represents the collection of story columns associated with this layout
column.

GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *pdZ1Offset, [out]double *pdZ2, [out, retval] long*
plRetval)

Gets the coordinates of the top of the layout column.

Parameters
pdX X coordinate of the column
pdY Y coordinate of the column
pdZ1Offset Z offset value from the story elevation. This is the top of the standard
columns and the bottom of hanging columns.
pdZ2Offset Z offset value from the story elevation. This is the bottom of the standard
columns and the top of hanging columns.
plRetval 0 if successful
-1 if coordinates cannot be retrieved
GetLayoutCoordinates2 ([out] double *pdX1, [out] double *pdY1, [out] double *pdZ1Offset, [out] double *pdX2, [out] double
*pdY2, [out]double *pdZ2Offset)

Gets the coordinates of the layout column.

Parameters
pdX1 X coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.
pdY1 Y coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.
pdZ1Offset Z offset value from the story elevation. This is the top of standard columns
and the bottom of hanging columns.
pdX2 X coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
pdY2 Y coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
pdZ2Offset Z offset value from the story elevation. This is the bottom of standard
columns and the top of hanging columns.

SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZ1Offset, [in] double dZ2Offset, [out, retval] long* plRetval)

Sets the coordinates of the layout column.

Parameters
dX X coordinate of the column
dY Y coordinate of the column
dZTopOffset Z offset value from the story elevation. This is the top of the standard
columns and the bottom of hanging columns.
dZBotOffset Z offset value from the story elevation. This is the bottom of the standard
columns and the top of hanging columns.
plRetval 0 if successful
-1 if coordinates cannot be set

SetLayoutCoordinates2 ([in] double dX1, [in] double dY1, [in] double dZ1Offset, [in] double dX2, [in] double dY2, [in] double
dZ2Offset)

Sets the coordinates of the layout column.

Parameters
dX1 X coordinate of the column. This is the top of standard columns and bottom of
hanging columns.
dY1 Y coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.
dZ1Offset Z offset value from the story elevation. This is the top of standard columns
and the bottom of hanging columns.
dX2 X coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
dY2 Y coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
dZ2Offset Z offset value from the story elevation. This is the bottom of standard
columns and the top of hanging columns.

Properties
Note that some properties that can be set through the ILayoutColumn interface cannot be retrieved. Any property of a column that
can vary story-to-story (such as the section label, which corresponds to the column size) cannot be retrieved through this interface
because the ILayoutColumn interface may represent more than one column, not all of which will have the same assigned size. For
example, if a floor type is associated with 3 stories, the corresponding columns on those stories may have 3 different assigned sizes.
So the section label is one property that cannot be retrieved through the ILayoutColumn interface. To get the section label for a
column, use the IColumn interface.

When a property is set through the ILayoutColumn interface, all columns represented by this interface will be updated.

Type Property Get Set Description


BOOL bDblAngleLLBackToBack X X True if double angles have long leg back to back
BOOL bDblAngleSnugTightBolt X X True if double angles are using the snug tight bolts for intermediate connectors
BOOL bHanger X X True if layout column is a hanging column
BOOL bMajAxisBendFixedBot X Major axis bending release at bottom of column (j-end)
BOOL bMajAxisBendFixTop X Major axis bending release at top of column (i-end)
BOOL bMinAxisBendFixedBot X Minor axis bending release at bottom of column (j-end).
BOOL bMinAxisBendFixedTop X Minor axis bending release at top of column (i-end).
BOOL bSglAngleMirrored True if single angle layout column is mirrored.
BOOL bTorFixedBot X Torsion release at bottom of column (j-end).
BOOL bTorFixedTop X Torsion release at top of column (i-end).
double dDblAngleBackSpacing The back to back spacing between angles in the double angle section
double dOrientation X X Orientation of column in degrees. Angle measured between web of column and x-axis.
EFRAMETYPE eFramingType X X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or
EOtherMat.
long lFrameNumber X Frame number for lateral members. Must be positive number.
Type Property Get Set Description
long lLabel X Numeric label of column used for on-screen display in RAM Structural System. It is unique
per floor type.
long lMaterialID X Unique ID of material properties for this column. Must correspond to type of material. See
section Getting material properties for a member for more information.
long lSectionID X Unique ID of concrete or ‘Other’ section assigned to this column. See Assigning section
properties to concrete members and Assigning section properties to ‘Other’ members for
more information.
long lUID X Unique ID of layout column. This unique ID corresponds to the column on the top story
associated with this floor type, if any.
BSTR strSectionLabel X Label of the size or section property for this column. Limited to 15 characters. See Assigning
sizes to steel members, Assigning section properties to concrete members, and Assigning
section properties to ‘Other’ members for more information.

ILayoutColumns
This interface represents a collection of columns associated with a floor type. This collection is used to add or delete columns on a
floor type. (Columns cannot be added or deleted for a story through the IColumns interface, so this is the only interface through
which columns can be added or deleted from the model.)

Add ([in] EMATERIALTYPES eMat, [in]double dX, [in] double dY, [in]double dZ1Offset, [in]double dZ2Offset, [out, retval]
ILayoutColumn** ppILayoutColumn)

Adds a new (vertical) layout column to the collection of layout columns for the floor type. Since sloped columns are currently not handled in
the RAM Structural System, only one set of x,y coordinates are used in the definition of a new column.

Parameters
eMat Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
dX X coordinate of the column
dY Y coordinate of the column
dZTopOffset Z offset value from the story elevation. This is the top of standard columns and the bottom of hanging columns.
dZBotOffset Z offset value from the story elevation. This is the bottom of standard columns and the top of hanging columns.
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the newly added layout column.

Add2 ([in] EMATERIALTYPES eMat, [in]double dX1, [in]double dY1, [in]double dX2, [in] double dY2, [in]double dZ1Offset,
[in]double dZ2Offset, [out, retval] ILayoutColumn** ppILayoutColumn)

Adds a new (possibly sloping) layout column to the collection of layout columns for the floor type.

Parameters
eMat Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
dX1 X coordinate of the column. This is the top of standard columns.
dY1 Y coordinate of the column. This is the top of standard columns.
dX2 X coordinate of the column. This is the bottom of standard columns.
dY2 Y coordinate of the column. This is the bottom of standard columns.
dZ1Offset Z offset value from the story elevation. This is the top of standard columns.
dZ2Offset Z offset value from the story elevation. This is the bottom of standard columns.
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the newly added layout column.

Add3 ([in] EMATERIALTYPES eMat, [in]double dX1, [in]double dY1, [in]double dX2, [in] double dY2, [in]double dZ1Offset,
[in]double dZ2Offset, [in] BOOL bHanger, [out, retval] ILayoutColumn** ppILayoutColumn)

Adds a new (possibly sloping) layout column (standard or hanging) to the collection of layout columns for the floor type.

Parameters
eMat Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
dX1 X coordinate of the column. This is the top of standard columns and the bottom of hanging columns.
dY1 Y coordinate of the column. This is the top of standard columns and the bottom of hanging columns.
dX2 X coordinate of the column. This is the bottom of standard columns and the top of hanging columns.
dY2 Y coordinate of the column. This is the bottom of standard columns and the top of hanging columns.
dZ1Offset Z offset value from the story elevation. This is the top of standard columns and the bottom of hanging columns.
dZ2Offset Z offset value from the story elevation. This is the bottom of standard columns and the top of hanging columns.
bHanger Enter 1 if the column is a hanger and 0 if it is not.
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the newly added layout column.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the layout column with the given unique ID, as well as all corresponding columns on stories associated with the floor type that the
layout column is on.

Parameters
lUID Unique ID of layout column to delete
plRetval 0 if layout column is deleted successfully
-1 if unique ID is not found in filtered list of layout columns

Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of layout columns based on given criteria.

Parameters
eColumnFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ILayoutColumn** ppILayoutColumn)

Gets an interface for a specific layout column by unique ID.

Parameters
lUID The unique ID of the requested layout column
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if no layout column is
found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILayoutColumn** ppILayoutColumn)


Gets an interface for a specific layout column by index.

Parameters
lIndex The index into the collection of the requested layout column
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of layout columns in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of layout columns on the floor type. When the collection is unfiltered, this function returns the total number
of layout columns on the floor type.

Parameters
plCount Number of layout columns in the collection

ILayoutContinuousFnd
This interface represents a single layout continuous foundation. A layout continuous foundation is a continuous foundation
associated with a floor type. The continuous foundation will exist in the 3D model at the lowest story used by the floor type, unless
there is something below the foundation. If a column or wall is sitting below the continuous foundation, the foundation will be ignored
in the 3D model. This interface can be used to modify the coordinates and properties of a layout continuous foundation.
GetContinuousFnd ([out, retval] IContinuousFnd** ppIContinuousFnd)

Gets an interface for the continuous foundation associated with this layout continuous foundation.

Parameters
ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the continuous foundation at the lowest story associated
with this layout continuous foundation. If no stories are defined for the floor type associated with the layout
continuous foundation, this pointer will be NULL.

GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out] double
*pdZOffset, [out, retval] long* plRetval)

Gets the coordinates of the layout continuous foundation.

Parameters
pdStartX X coordinate of the center of the start of the footing
pdStartY Y coordinate of the center of the start of the footing
pdEndX X coordinate of the center of the end of the footing
pdEndY Y coordinate of the center of the end of the footing
pdZOffset Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetReinforcement ([out, retval] SFND_CONT_REINF* pVal)

Gets reinforcement information for continuous foundation.

Parameters
pVal Structure for continuous foundation reinforcement information. See SFND_CONT_REINF.

GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)

Gets additional reinforcement information for continuous foundation.

Parameters
pVal Structure for additional reinforcement information. See SFND_REINF_OTHER_DATA.

SetLayoutCoordinates ([in]double dStartX, [in] double dStartY, [in]double dEndX, [in] double dEndY, [in]double dZOffset, [out,
retval] long* plRetval)
Sets the coordinates of the layout continuous foundation.

Parameters
dStartX X coordinate of the center of the start of the footing
dStartY Y coordinate of the center of the start of the footing
dEndX X coordinate of the center of the end of the footing
dEndY Y coordinate of the center of the end of the footing
dZOffset Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing
plRetval 0 if successful
-1 if coordinates cannot be set

Properties
Type Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global X-
axis
double dLeft X X Dimension from center of foundation to left edge defined when footing major axis is parallel to global X-axis
double dOrientation X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-
axis
double dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge defined when footing major axis is parallel to global X-axis
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor
type.
long lMaterialID X Unique ID of material properties for this continuous foundation. Foundations are always concrete. See
section Getting material properties for a member for more information.
long lUID X Unique ID of layout continuous foundation.

ILayoutContinuousFnds
This interface represents a collection of continuous foundations associated with a floor type. This collection is used to add or delete
continuous foundations on a floor type. (Foundations cannot be added or deleted for a story through the IContinuousFnds interface,
so this is the only interface through which continuous foundations can be added or deleted from the model.)

Add ([in]double dStartX, [in] double dStartY, [in]double dEndX, [in] double dEndY, [in]double dZOffset, [out, retval]
ILayoutContinuousFnd** ppILayoutContinuousFnd)

Adds a new layout continuous foundation to the collection of layout continuous foundations for the floor type.
Parameters
dStartX X coordinate of the center of the start of the footing
dStartY Y coordinate of the center of the start of the footing
dEndX X coordinate of the center of the end of the footing
dEndY Y coordinate of the center of the end of the footing
dZOffset Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing
ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the newly added layout isolated foundation.

Delete ([in] long lUID, [out, retval] long* plRetval )

Deletes the layout continuous foundation with the given unique ID.

Parameters
lUID Unique ID of layout continuous foundation to delete
plRetval 0 if layout continuous foundation is deleted successfully
-1 if unique ID is not found in filtered list of layout continuous foundations

Get ([in] long lUID, [out, retval] ILayoutContinuousFnd** ppILayoutContinuousFnd)

Gets an interface for a specific layout continuous foundation by unique ID.

Parameters
lUID The unique ID of the requested layout continuous foundation
ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation, or
NULL if no layout continuous foundation is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILayoutContinuousFnd** ppILayoutContinuousFnd)

Gets an interface for a specific layout continuous foundation by index.

Parameters
lIndex The index into the collection of the requested layout continuous foundation
ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation, or
NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of layout continuous foundations in the collection.

Parameters
plCount Number of layout continuous foundations in the collection

ILayoutHorizBrace
This interface represents a single layout horizontal brace. A layout horizontal brace is a horizontal brace associated with a floor type.
Since a floor type can be associated with one or more stories, a layout horizontal brace may actually represent one or more
horizontal braces. This interface can be used to modify the coordinates and properties of a layout horizontal brace.

GetAssociatedStoryHorizontalBraces ([out, retval] IHorizBraces** ppIHorizBraces)

Gets an interface for a collection of story horizontal braces associated with this layout horizontal brace. Collection may be empty if no
stories are associated with the floor type the layout horizontal brace is on.

Parameters
ppIHorizBraces Pointer to an IHorizBraces interface that represents the collection of story horizontal braces associated with this
layout horizontal brace.

GetLayoutCoordinates ([out] double *pdStartSupportX, [out] double *pdStartSupportY, [out] double *pdStartSupportZOffset, [out]
double *pdEndSupportX, [out] double *pdEndSupportY, [out] double *pdEndSupportZOffset, [out, retval] long* plRetval)

Gets the coordinates of the layout horizontal brace.

Parameters
pdStartSupportX X coordinate of the support point at the start of the beam (i-end).
pdStartSupportY Y coordinate of the support point at the start of the beam (i-end).
pdStartSupportZOffset Z offset value from the story elevation for the support point at the start of the beam (i-end).
pdEndSupportX X coordinate of the support point at the end of the beam (j-end).
pdEndSupportY Y coordinate of the support point at the end of the beam (j-end).
pdEndSupportZOffset Z offset value from the story elevation for the support point at the end of the beam (j-end).
plRetval 0 if successful
-1 if coordinates cannot be retrieved

SetLayoutCoordinates ([in] double dStartSupportX, [in] double dStartSupportY, [in] double dStartSupportZOffset, [in] double
dEndSupportX, [in] double dEndSupportY, [in] double dEndSupportZOffset, [out, retval] long* plRetval)

Sets the coordinates of the layout horizontal brace. Horizontal braces must be defined from left-to-right, top-to-bottom. If the coordinates
are sent in opposite of the convention used by the RAM Structural System, they will be reversed.
Parameters
dStartSupportX X coordinate of the support point at the start of the horizontal brace (i-end).
dStartSupportY Y coordinate of the support point at the start of the horizontal brace (i-end).
dStartSupportZOffset Z offset value from the story elevation for the support point at the start of the horizontal brace (i-end).
dEndSupportX X coordinate of the support point at the end of the horizontal brace(j-end).
dEndSupportY Y coordinate of the support point at the end of the horizontal brace (j-end).
dEndSupportZOffset Z offset value from the story elevation for the support point at the end of the horizontal brace (j-end).
plRetval 0 if successful
-1 if coordinates cannot be set

Properties
Note that some properties that can be set through the ILayoutHorizBrace interface cannot be retrieved. Any property of a horizontal
brace that can vary story-to-story (such as the section label, which corresponds to the brace size) cannot be retrieved through this
interface because the ILayoutHorizBrace interface may represent more than one horizontal brace, not all of which will have the same
assigned size. For example, if a floor type is associated with 3 stories, the corresponding horizontal braces on those stories may
have 3 different assigned sizes. So the section label is one property that cannot be retrieved through the ILayoutHorizBrace
interface. To get the section label for a horizontal brace, use the IHorizBrace interface.

When a property is set through the ILayoutHorizBrace interface, all horizontal braces represented by this interface will be updated.

Type Property Get Set Description


BOOL bDblAngleLLBacktoBack X Applies to a steel horizontal brace that has been assigned a double angle
section. If TRUE, long legs of double angle are back to back. If FALSE,
short legs are back to back.
BOOL bDblAngleSnugTightBolt X Applies to a steel horizontal brace that has been assigned a double angle
section. TRUE indicates that only a snug tight connector will be used.
BOOL bMajAxisBendFixEnd X Major axis bending release at end of horizontal brace (j-end).
BOOL bMajAxisBendFixStart X Major axis bending release at start of horizontal brace (i-end).
BOOL bMinAxisBendFixedEnd X Minor axis bending release at end of horizontal brace (j-end).
BOOL bMinAxisBendFixedStart X Minor axis bending release at start of horizontal brace (i-end).

BOOL bSglAngleLongLegHorizontal Applies to a steel horizontal brace that has been assigned a single angle
section. TRUE indicates that the long leg of the angle is horizontal. FALSE
indicates that the long leg is vertical.
BOOL bTorFixedEnd X Torsion release at end of horizontal brace (j-end).

BOOL bTorFixedStart X Torsion release at start of horizontal brace (i-end).


double dDblAngleBackSpacing Spacing distance between angles of double angle section. Applies to a steel
horizontal brace that has been assigned a double angle section.
ETensionCompressionMemType eAnalysisType X Indicates whether horizontal brace takes tension, compression, or both
Type Property Get Set Description
EMATERIALTYPES eMaterial X X Material type of horizontal brace. Valid options for horizontal braces are
ESteelMat, EConcreteMat, or EOtherMat.
long lLabel X Numeric label of horizontal brace used for on-screen display in RAM
Structural System. It is unique per floor type.
long lMaterialID X Unique ID of material properties for this horizontal brace. Must correspond to
type of material. See section Getting material properties for a member for
more information.
long lSectionID X Unique ID of concrete or ‘Other’ section assigned to this horizontal brace.
See Assigning section properties to concrete members and Assigning section
properties to ‘Other’ members for more information.
long lUID X Unique ID of layout horizontal brace. This unique ID corresponds to the
beam on the top story associated with this floor type, if any.
BSTR strSectionLabel X Label of the size or section property for this horizontal brace. Limited to 15
characters. See Assigning sizes to steel members, Assigning section
properties to concrete members, and Assigning section properties to ‘Other’
members for more information.

ILayoutHorizBraces
This interface represents a collection of horizontal braces associated with a floor type. This collection is used to add or delete
horizontal braces on a floor type. (Horizontal braces cannot be added or deleted for a story through the IHorizBraces interface, so
this is the only interface through which horizontal braces can be added or deleted from the model.)

Add ([in] EMATERIALTYPES eMat, [in]double dStartSupportX, [in] double dStartSupportY, [in]double dStartSupportZOffset,
[in]double dEndSupportX, [in]double dEndSupportY, [in]double dEndSupportZOffset, [out, retval] ILayoutHorizBrace**
ppILayoutHorizBrace)

Adds a new layout horizontal brace to the collection of layout horizontal braces for the floor type. Horizontal braces must be defined from
left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they will be
reversed.

Parameters
eMat Material type of horizontal brace to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
dStartSupportX X coordinate of the support point at the start of the horizontal brace (i-end).
dStartSupportY Y coordinate of the support point at the start of the horizontal brace (i-end).
dStartSupportZOffset Z offset value from the story elevation for the support point at the start of the horizontal brace (i-end).
dEndSupportX X coordinate of the support point at the end of the horizontal brace (j-end).
dEndSupportY Y coordinate of the support point at the end of the horizontal brace (j-end).
dEndSupportZOffset Z offset value from the story elevation for the support point at the end of the horizontal brace (j-end).
ppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the newly added layout horizontal brace.
Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the layout horizontal brace with the given unique ID, as well as all corresponding horizontal braces on stories associated with the
floor type that the layout horizontal brace is on.

Parameters
lUID Unique ID of layout horizontal brace to delete
plRetval 0 if layout horizontal brace is deleted successfully
-1 if unique ID is not found in filtered list of layout horizontal braces

Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of layout horizontal braces based on given criteria.

Parameters
eFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ILayoutHorizBrace** ppILayoutHorizBrace)

Gets an interface for a specific layout horizontal brace by unique ID.

Parameters
lUID The unique ID of the requested layout horizontal brace
ppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace, or NULL if no
layout horizontal brace is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILayoutHorizBrace** ppILayoutHorizBrace)

Gets an interface for a specific layout horizontal brace by index.

Parameters
lIndex The index into the collection of the requested layout horizontal brace
ppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)


Gets the number of layout horizontal braces in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of layout horizontal braces on the floor type. When the collection is unfiltered, this function returns the total
number of layout horizontal braces on the floor type.

Parameters
plCount Number of layout horizontal braces in the collection

ILayoutIsolatedFnd
This interface represents a single layout isolated foundation. A layout isolated foundation is an isolated foundation associated with a
floor type. The isolated foundation will exist in the 3D model at the lowest story used by the floor type, unless there is something
below the foundation. If a column or wall is sitting below the isolated foundation, the foundation will be ignored in the 3D model.
This interface can be used to modify the coordinates and properties of a layout isolated foundation.

GetIsolatedFnd ([out, retval] IIsolatedFnd** ppIIsolatedFnd)

Gets an interface for the isolated foundation associated with this layout isolated foundation.

Parameters
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the isolated foundation at the lowest story associated with this
layout isolated foundation. If no stories are defined for the floor type associated with the layout isolated
foundation, this pointer will be NULL.

GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *pdZOffset, [out, retval] long* plRetval)

Gets the coordinates of the layout isolated foundation.

Parameters
pdX X coordinate of the center of the footing
pdY Y coordinate of the center of the footing
pdZTopOffset Z offset value from the story elevation for the top of the footing
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetReinforcement ([out, retval] SFND_ISO_REINF* pVal)

Gets reinforcement information for isolated footing.


Parameters
pVal Structure for islolated footing information. See SFND_ISO_REINF.

GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)

Information for isolated foundation reinforment.

Parameters
pVal Structure for additional reinforment information. See SFND_REINF_OTHER_DATA.

SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZOffset, [out, retval] long* plRetval)

Sets the coordinates of the layout isolated foundation.

Parameters
dX X coordinate of the center of the footing
dY Y coordinate of the center of the footing
dZTopOffset Z offset value from the story elevation for the top of the footing
plRetval 0 if successful
-1 if coordinates cannot be set

Properties
Type Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge of footing when footing major axis is
parallel to global X-axis
double dLeft X X Dimension from center of foundation to left edge of footing when footing major axis is parallel to
global X-axis
double dOrientation X X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge of footing when footing major axis is parallel
to global X-axis
double dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge of footing when footing major axis is parallel to
global X-axis
EIsolatedFndType eType X X Type of isolated foundation (i.e. spread footing, pile cap)
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique
per floor type.
long lMaterialID X Unique ID of material properties for this isolated foundation. Foundations are always concrete.
See section Getting material properties for a member for more information.
Type Property Get Set Description
long lPileConfigurationID X X ID of pile configuration assigned to this foundation; only applies if eType is EFndPileCap. From
the IModel interface, call GetPileConfiguration() using this ID to get the interface for the pile
configuration associated with this pile cap footing.
long lPileID X X ID of pile type assigned to this foundation; only applies if eType is EFndPileCap. From the
IModel interface, call GetPile() using this ID to get the interface for the pile definition associated
with this pile cap footing.
long lUID X Unique ID of layout foundation.

ILayoutIsolatedFnds
This interface represents a collection of isolated foundations (foundations that sit under a single column) associated with a floor type.
This collection is used to add or delete isolated foundations on a floor type. (Foundations cannot be added or deleted for a story
through the IIsolatedFnds interface, so this is the only interface through which isolated foundations can be added or deleted from the
model.)

Add ([in] EIsolatedFndType eType, [in] double dX, [in] double dY, [in] double dZOffset, [out, retval] ILayoutIsolatedFnd**
ppILayoutIsolatedFnd)

Adds a new layout isolated foundation to the collection of layout isolated foundations for the floor type.

Parameters
eType Type of isolated foundation (i.e. spread footing, pile cap)
dX X coordinate of the center of the footing
dY Y coordinate of the center of the footing
dZOffset Z offset value from the story elevation for the top of the footing
ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the newly added layout isolated foundation.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the layout isolated foundation with the given unique ID.

Parameters
lUID Unique ID of layout isolated foundation to delete
plRetval 0 if layout isolated foundation is deleted successfully
-1 if unique ID is not found in filtered list of layout isolated foundations

Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout isolated foundations based on given criteria.

Parameters
eIsolatedFndFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ILayoutIsolatedFnd** ppILayoutIsolatedFnd)


Gets an interface for a specific layout isolated foundation by unique ID.

Parameters
lUID The unique ID of the requested layout isolated foundation
ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation, or NULL if no
layout isolated foundation is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILayoutIsolatedFnd** ppILayoutIsolatedFnd)

Gets an interface for a specific layout isolated foundation by index.

Parameters
lIndex The index into the collection of the requested layout isolated foundation
ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation, or NULL if
lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of layout isolated foundations in the collection. When the collection is filtered, this function returns the number in the
filtered collection, not the total number of layout isolated foundations on the floor type. When the collection is unfiltered, this function
returns the total number of layout isolated foundations on the floor type.

Parameters
plCount Number of layout isolated foundations in the collection

ILayoutMatFndPerim
Future interface.
ILayoutMatFndPropPoly
Future interface.

ILayoutWall
This interface represents a single layout wall. A layout wall is a wall associated with a floor type. Since a floor type can be
associated with one or more stories, a layout wall may actually represent one or more walls. This interface can be used to modify
the coordinates and properties of a layout wall.

GetAssociatedStoryWalls ([out, retval] IWalls** ppIWalls)

Gets an interface for a collection of story walls associated with this layout wall. Collection may be empty if no stories are associated with
the floor type the layout wall is on.

Parameters
ppIWalls Pointer to an IWalls interface that represents the collection of story walls associated with this layout wall.

GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZTopOffset, [out]double
*pdStartZBotOffset, [out] double *pdEndX, [out] double *pdEndY, [out] double *pdEndZTopOffset, [out]double *pdEndZBotOffset,
[out, retval] long* plRetval)

Gets the coordinates of the layout wall.

Parameters
pdStartX X coordinate of start of the wall (i-end).
pdStartY Y coordinate of start of the wall (i-end).
pdStartZTopOffset Z offset value from the story elevation for start of wall at top (i-end).
pdStartZBotOffset Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story
below).
pdEndX X coordinate of end of the wall (j-end).
pdEndY Y coordinate of end of the wall (j-end).
pdEndZTopOffset Z offset value from the story elevation for the end of the wall at top (j-end).
pdEndZBotOffset Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the
story below).
plRetval 0 if successful
-1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dStartX, [in] double dStartY, [in] double dStartZTopOffset, [in] double dStartZBotOffset, [in]
double dEndX, [in] double dEndY, [in] double dEndZTopOffset, [in] double dEndZBotOffset, [out, retval] long* plRetval)

Sets the coordinates of the layout wall. Walls must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the
convention used by the RAM Structural System, they will be reversed.

Parameters
dStartX X coordinate of start of the wall (i-end).
dStartY Y coordinate of start of the wall (i-end).
dStartZTopOffset Z offset value from the story elevation for start of wall at top (i-end).
dStartZBotOffset Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story
below).
dEndX X coordinate of end of the wall (j-end).
dEndY Y coordinate of end of the wall (j-end).
dEndZTopOffset Z offset value from the story elevation for the end of the wall at top (j-end).
dEndZBotOffset Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the
story below).
plRetval 0 if successful
-1 if coordinates cannot be set

Properties
When a property is set through the ILayoutWall interface, all columns represented by this interface will be updated.

Type Property Get Set Description


double dCrackedFactor X Membrane cracked factor. Applies if wall is concrete.
double dCrackedFactorForBending X X Out-of-plane bending cracked factor. Applies if wall is concrete.
double dThickness X Thickness of wall.
EFRAMETYPE eFramingType X X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X Material type of wall. Valid options for walls are EWallPropConcreteMat or
EWallPropOtherMat.
long lFrameNumber X Frame number for lateral members. Must be positive number.
long lLabel X Numeric label of wall used for on-screen display in RAM Structural System. It is unique per
floor type.
long lMaterialID X Unique ID of material properties for this wall. Must correspond to type of material. See
section Getting material properties for a member for more information.
long lUID X Unique ID of layout wall. This unique ID corresponds to the wall on the top story associated
with this floor type, if any.
ILayoutWalls
This interface represents a collection of walls associated with a floor type. This collection is used to add or delete walls on a floor
type. (Walls cannot be added or deleted for a story through the IWalls interface, so this is the only interface through which walls can
be added or deleted from the model.)

Add ([in] EMATERIALTYPES eMat, [in]double dStartX, [in] double dStartY, [in]double dStartZTopOffset, [in]double
dStartZBotOffset, [in]double dEndX, [in]double dEndY, [in]double dEndZTopOffset, [in]double dEndZBotOffset, [in]double
dThickness, [out, retval] ILayoutWall** ppILayoutWall)

Adds a new layout wall to the collection of layout walls for the floor type. Since sloped walls are currently not handled in the RAM Structural
System, only one set of x,y coordinates are used in the definition of each end of the wall. Walls must be defined from left-to-right, top-to-
bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they will be reversed.

Parameters
eMat Material type of wall to add. (Valid options are EWallPropConcreteMat or EWallPropOtherMat).
dStartX X coordinate of start of the wall (i-end).
dStartY Y coordinate of start of the wall (i-end).
dStartZTopOffset Z offset value from the story elevation for start of wall at top (i-end).
dStartZBotOffset Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story
below).
dEndX X coordinate of end of the wall (j-end).
dEndY Y coordinate of end of the wall (j-end).
dEndZTopOffset Z offset value from the story elevation for the end of the wall at top (j-end).
dEndZBotOffset Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the
story below).
dThickness Thickness of the wall
ppILayoutWall Pointer to an ILayoutWall interface that represents the newly added layout wall.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the layout wall with the given unique ID, as well as all corresponding walls on stories associated with the floor type that the layout
wall is on.

Parameters
lUID Unique ID of layout wall to delete
plRetval 0 if layout wall is deleted successfully
-1 if unique ID is not found in filtered list of layout walls

Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout walls based on given criteria.

Parameters
eWallFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ILayoutWall** ppILayoutWall)

Gets an interface for a specific layout wall by unique ID.

Parameters
lUID The unique ID of the requested layout wall
ppILayoutWall Pointer to an ILayoutWall interface that represents the requested layout wall, or NULL if no layout wall is found in
the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILayoutWall** ppILayoutWall)

Gets an interface for a specific layout wall by index.

Parameters
lIndex The index into the collection of the requested layout wall
ppILayoutWall Pointer to an ILayoutWall interface that represents the requested layout wall, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of layout walls in the collection. When the collection is filtered, this function returns the number in the filtered collection,
not the total number of layout walls on the floor type. When the collection is unfiltered, this function returns the total number of layout walls
on the floor type.

Parameters
plCount Number of layout walls in the collection

ILineLoadPropertySet
This interface represents a single line load property set as defined in the RAM Modeler.
Properties
Type Property Get Set Description
double dConstDeadLoad X X Construction Dead load (positive is down)
double dConstLiveLoad X X Construction Liveload (positive is down)
double dDeadLoad X X Dead load magnitude (positive is down)
double dLiveLoad X X Live load magnitude (positive is down)
double dMassDeadLoad X X Mass dead load magnitude (positive is down)
double dPartitionLoad X X Partion load magnitude (positive is down)
ELoadCaseType eLiveLoadType X X The live load case type (MUST BE A LIVE LOAD TYPE)
long lUID X Unique ID of property set
BSTR strLabel X X Label of the property set. Limited to 19 characters.

ILineLoadPropertySets
This interface represents all the line load property sets as defined in the RAM Modeler.

Add ([in] BSTR bstrLabel, [out,retval] ILineLoadPropertySet** ppILineLoadPropSet )


Adds a new line load property set to the collection.

Parameters
bstrLabel Unique label for the line load property set. Limited to 19 characters.
ppILineLoadPropSet A pointer to an ILineLoadPropertySet that represents the newly added line load property set

Delete ([in] long lUID, [out, retval] long* plRetval)


Deletes a line load property set.

Parameters
lUID Unique ID of line load property set to delete
plRetVal 0 if line load property set is deleted successfully
-1 if failed. Delete will fail if member is not found or if the line load property set is in use by a line load set.

Get ([in] long lUID, [out, retval] ILineLoadPropertySet** ppILineLoadPropSet)


Gets an interface for a specific line load property set by unique ID.

Parameters
lUID Unique ID of the requested line load property set
ppILineLoadPropSet Pointer to an ILineLoadPropertySet interface that represents the requested line load property set, or NULL if no
line load property set is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILineLoadPropertySet** ppILineLoadPropSet)

Gets an interface for a specific line load property set by index.

Parameters
lIndex Index of the requested line load property set
ppILineLoadPropSet Pointer to an ILineLoadPropertySet interface that represents the requested line load property set, or NULL if
lIndex is invalid.

GetCount([out, retval] long *plCount)


Gets the number of line load property sets in the collection.

Parameters
plCount Number of line load property sets in the collection

ILineLoadSet
This interface represents a single line load set associated with a floor type. Since a floor type can be associated with one or more
stories, a line load set may actually represent load sets on multiple stories. This interface can be used to modify the location and
properties of a line load set.

Properties
Type Property Get Set Description
long lPropertySetUID X X The UID of the LineLoadPropertySet associated with the line load set
long lUID X Unique ID of the Line Load Set
SCoordinate sCoordinateEnd X X Location of end of the line load (only X and Y are used)
SCoordinate sCoordinateStart X X Location of start of the line load (only X and Y are used)

ILineLoadSets
This interface represents a collection of line load sets associated with a floor type. This collection is used to add or delete line load
sets on a floor type. A line load set consists of a location and a line load property set. This corresponds to a modeled line load in
RAM Modeler.
Add ([in] long lPropSetID, [in]double dStartX, [in] double dStartY, [in]double dEndX, [in]double dEndY, [out,retval] ILineLoadSet**
ppILineLoadSet )

Adds a new line load set to the collection of line load sets for the floor type.

Parameters
lPropSetID Unique ID of point load property set associated with this point load set
dStartX X coordinate of the start of the line load set
dStartY Y coordinate of the start of the line load set
dEndX X coordinate of the end of the line load set
dEndY Y coordinate of the end of the line load set
ppILineLoadSet Pointer to an ILineLoadSet interface that represents the newly added line load set.

Delete ([in] long lUID, [out, retval] long* plRetval)


Deletes the line load set with the given unique ID.

Parameters
lUID Unique ID of line load set to delete
plRetval 0 if line load set is deleted successfully
-1 if unique ID is not found in list of point load sets

Get ([in] long lUID, [out, retval] ILineLoadSet** ppILineLoadSet);


Gets an interface for a specific point load set by index.

Parameters
lUID Unique ID of the requested line load set
ppILineLoadSet Pointer to an ILineLoadSet interface that represents the requested line load set, or NULL if no line load set is found in
the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ILineLoadSet** ppILineLoadSet);


Gets an interface for a specific line load set by index.

Parameters
lIndex The index into the collection of the requested line load set
ppILineLoadSet Pointer to an ILineLoadSet interface that represents the requested line load set, or NULL if lIndex is invalid.
GetCount([out, retval] long *plCount)
Gets the number of line load sets in the collection.

Parameters
plCount Number of line load sets in the collection

ILoadCase
This interface represents a single load case definition.

GetPrimaryLoadCases ([out,retval] ILoadCases** ppILoadCases)

Gets the collection of load cases that comprise this load case.

Parameters
ppILoadCases Pointer to an ILoadCases collection interface that represents the load cases that comprise this load case.

Properties
Type Property Get Set Description
BOOL bConcShearWallSelected X X Whether the load case selected for use in concrete shear wall load
combinations. TRUE = selected.
BOOL bReadOnly X Whether the properties of this load case can be modified
double dDirCoeffX X Directional coefficient of load case for x component of the force associated
with the load case. This is used by the load combo generator.
1.0 = force in the positive x direction.
0.0 = no force in the x direction.
-1.0 = force in the negative x direction.
double dDirCoeffY X Directional coefficient of load case for y component of the force associated
with the load case. This is used by the load combo generator.
1.0 = force in the positive y direction.
0.0 = no force in the y direction.
-1.0 = force in the negative y direction.
double dLoadCaseAngle X Angle of the shear force at the base level of the structure. This angle is used
to calculate the components of the notional load case when used in
combination in the direction of other lateral load cases.
double dRhomax X r max associated with controlling rho
double dUBCRho X Redundancy factor calculated for the load case. This is only relevant for
seismic load cases.
EStateStatus eAnalyzedState X Whether Load Case is analyzed/current
ECompoundLoadCaseState eCompoundState X Whether this is merged/compound load case (made up of other load cases)
Type Property Get Set Description
EMergeState eLdCaseMergeState X Flag describing the merged state of the load case (single, merged or
included in a merged case).
ELoadCaseType eLoadType X One of main load types: Gravity, Wind, Seismic, Dynamic Hyperstatic,
Virtual, Other
ELoadCaseType eNotionalLoadType X Notional load case type
ESubLoadCaseType eSubLoadType X Depending on load type defines more details of the actual type of load case.
long lAnalyzeNo X
long lDirCoeffX X
long lDirCoeffY X
long lLoadType X
long lSubLoadType X
long lUID X Unique ID of load case
BSTR strLoadCaseGroupLabel X X The label assigned to the load case at the top of the load case generator
dialog, applies to one or more load cases. Limited to 15 characters.
BSTR strSymbol X The load case symbol (1-3chars) for reports/combos
BSTR strTypeLabel X The generated name for the specific load case depending on user options
during generation. When used together with strLoadCaseGroupLabel it
uniquely identifies this load case.

ILoadCases
This interface represents a collection of load cases.

Filter ([in] ELoadCaseFilter eLoadCaseFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of load combinations based on given criteria.

Parameters
eLoadCaseFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] ILoadCase** ppILoadCase)

Gets an interface for a specific load case by unique ID.

Parameters
lUID Unique ID of requested load case
ppILoadCase Pointer to an ILoadCase interface that represents the requested load case, or NULL if no load case with given
unique ID is found in the collection.

GetAt ([in] long lIndex, [out, retval] ILoadCase** ppILoadCase)

Gets an interface for a specific load case by index.

Parameters
lIndex The index into the collection of the requested load case
ppILoadCase Pointer to an ILoadCase interface that represents the requested load case, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of load cases in the collection.

Parameters
plCount Number of load cases in the collection

ILoadCombination
This interface represents a single load combination definition.

CalculateForce ([in] IMemberForces *pILoadCaseForces, [out,retval] IMemberForce** ppIMemberForce)

Calculates the combined force based on the terms in the receiving load combination and the given list of load case forces.

Parameters
pILoadCaseForces The list of load case force to combine based on the terms of the receiver.
ppIMemberForce The calculated combined member force.

GetLoadCombinationTerms ([out,retval] ILoadCombinationTerms** ppILoadComboTerms)

Gets the collection of load combination terms for the load combination.

Parameters
ppILoadComboTerms Pointer to an ILoadCombinationTerms collection interface that represents the load combination terms for this load
combination.
Properties
Type Property Get Set Description
BOOL bReadOnly X Whether this load combination can be modified or not
BOOL bSelected X X User has selected this load combination to be considered
EStateStatus eStatus X Combination is valid (all load cases/factors exist in analyzed state)
ECombinationSourceType eType X Custom or Generated
long lLabelNo X The label of the load combination as shown in the load combo dialog
BSTR strDisplayString X The combination string formatted for display

ILoadCombinationParam
This interface provides access to the parameters used to generate a specific set of load combinations.

GetParamsForControl1 ([out,retval] ILoadComboParamsCntrl1** ppIParamsCntrl1)

Returns a pointer to an ILoadComboParamsCntrl1 interface.

Parameters
ppIParamsCntrl1 Pointer to an ILoadComboParamsCntrl1 interface that contains the control 1 parameters used to generate a
specific set of load combinations.

GetParamsForControl3 ([out,retval] ILoadComboParamsCntrl3** ppIParamsCntrl3)

Returns a pointer to an ILoadComboParamsCntrl1 interface.

Parameters
ppIParamsCntrl3 Pointer to an ILoadComboParamsCntrl3 interface that contains the control 3 parameters used to generate a
specific set of load combinations.

Properties
Type Property Get Set Description
BOOL bCntl4LCaseSpcSetting X The radio button selection for control 4. TRUE = “Use Calculated”
BOOL bCntl4UseOnly X Indicates whether the selected code has calculated values associated with it. If this
bCntrl4UseOnly = FALSE, the “Use Calculated” radio button selection is grayed out.
double dCntl4LCaseSpc1 X First value associated with control 4.
double dCntl4LCaseSpc2 X Second value associated with control 4.
COMBO_MATERIAL_TYPE eCombinationType X The type of combination parameters are requested for. Note that parameters are
only saved for code generated combinations.
long nComboBox2Index X Index of the selection for control 2 (drop-down combo box)
Type Property Get Set Description
long nComboBox5Index X Index of the selection for control 5 (drop-down combo box)
long nNumVarsFor2 X Number of possible variables associated with each drop-down selection in control 2.
long nNumVarsFor5 X Number of possible variables associated with each drop-down selection in control 5.
BSTR strComboTemplateName X Name of the template for which combinations were generated. This string must
match the NAME: entry in the combo template.

ILoadCombinationParams
This interface represents a collection of ILoadCombinationParam objects.

Add ([in] BSTR bstrTemplateName, [in] long nComboBox2Index, [in] long nNumVarsFor2, [in] long nComboBox5Index, [in] long
nNumVarsFor5, [in] BOOL bCntl4UseOnly, [in] BOOL bCntl4LCaseSpcSetting, [in] double dCntl4LCaseSpc1, [in] double
dCntl4LCaseSpc2, [out,retval] ILoadCombinationParam** ppIComboParams)

Adds a new load combination param to the receiver.

Parameters
bstrTemplateName Name of the template for which combinations were generated. This string must match the NAME: entry
in the combo template.
nComboBox2Index Index of the selection for control 2 (drop-down combo box)
nNumVarsFor2 Number of possible variables associated with each drop-down selection in control 2.
nComboBox5Index Index of the selection for control 5 (drop-down combo box)
nNumVarsFor5 Number of possible variables associated with each drop-down selection in control 5.
bCntl4UseOnly Indicates whether the selected code has calculated values associated with it. If this bCntrl4UseOnly =
FALSE, the “Use Calculated” radio button selection is grayed out.
bCntl4LCaseSpcSetting The radio button selection for control 4. TRUE = “Use Calculated”
dCntl4LCaseSpc1 First value associated with control 4.
dCntl4LCaseSpc2 Second value associated with control 4.
ppIComboParams Pointer to an ILoadCombinationParam interface that represents the newly added load combination
param.

Clear ()

Deletes all load combination params from the collection.

Delete ([in] long lUID)

Delete a load combination param from the collection for the specified unique ID.
Parameters
lUID Unique ID of the laod combination param being deleted

Get ([in] COMBO_MATERIAL_TYPE eCombinationType, [out,retval] ILoadCombinationParam** ppIComboParams)

Gets an interface for a specific load combination param by combination type.

Parameters
eCombinationType The combination type of the requested load combination param.
ppIComboParams Pointer to an ILoadCombinationParam interface that represents the requested load combination param, or NULL
if no load combination param is found in the collection with the given combination type.

GetAt ([in] long lIndex, [out, retval] ILoadCombinationParam ** ppIComboParams)

Gets an interface for a specific load combination param by index.

Parameters
lIndex The index in the collection the requested load combination param.
ppIComboParams Pointer to an ILoadCombinationParam interface that represents the requested load combination param, or
NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of load combination params in the receiver.

Parameters
plCount The number of ILoadCombinationParam objects in the collection.

ILoadCombinations
This interface represents a collection of load combinations.

Add ( [out, retval] ILoadCombination** ppILoadCombination)

Adds a new load combination to the end of the collection.

Parameters
ppILoadCombination A pointer to an ILoadCombination that represents the newly added load combination

Clear ()

Deletes all load combinations in the collection.

DeleteAt ([in] long lIndex, [out, retval] long *plRetVal)

Deletes a load combination in the collection at the specified index.

Parameters
lIndex Index at which to delete term
plRetVal 0 if deleted successfully

Filter ([in] ELoadCombinationFilter eLoadCombinationFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of load combinations based on given criteria.

Parameters
eLoadCombinationFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

GetAt ([in] long lIndex, [out, retval] ILoadCombination** ppILoadCombination)

Gets an interface for a specific load combination by index.

Parameters
lIndex The index into the collection of the requested load combination
ppILoadCombination Pointer to an ILoadCombination interface that represents the requested load combination, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of load combinations in the collection.

Parameters
plCount Number of load combinations in the collection
MSIWorkaround_ILoadComboInternal_DO_NOT_CALL ()

Internal use only.

ILoadCombinationTerm
This interface represents a single load combination term.

Properties
Type Property Get Set Description
double dFactor X Factor to apply to the load case
long lLoadCaseID X The Unique ID of the load case
long lLoadCaseIndex X Index of the load case into the load case array.

ILoadCombinationTerms
This interface represents a collection of load combination terms for a single load combination. The load combination string is limited
to 254 characters. Hence, the maximum number of terms in a load combination can vary.

Add ([in] double dFactor, [in] long lLoadCaseUID, [out, retval] ILoadCombinationTerm** ppILoadCombinationTerm)

Adds a new load combination term to the end of the collection.

Parameters
dFactor Factor to apply to the load case
lLoadCaseUID The Unique ID of the load case for this load combination term
ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term

AddWithIndex ([in] double dFactor, [in] long lLoadCaseUID, [in] long lLoadCaseIndex, [out, retval] ILoadCombinationTerm**
ppILoadCombinationTerm)

Adds a new load combination term with the given load case index to the end of the collection.

Parameters
dFactor Factor to apply to the load case
lLoadCaseUID The Unique ID of the load case for this load combination term
ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term

DeleteAt ([in] long lIndex, [out, retval] long *plRetVal)

Deletes a load combination term in the collection at the specified index.

Parameters
lIndex Index at which to delete term
plRetVal 0 if deleted successfully

GetAt ([in] long lIndex, [out, retval] ILoadCombinationTerm** ppILoadCombinationTerm)

Gets an interface for a specific load combination term by index.

Parameters
lIndex The index into the collection of the requested load combination term
ppILoadCombinationTerm Pointer to an ILoadCombinationTerm interface that represents the requested load combination term, or NULL if
lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of load combination terms in the collection.

Parameters
plCount Number of load combination terms in the collection

InsertAt ([in] long lIndex, [in] double dFactor, [in] long lLoadCaseUID, [out, retval] ILoadCombinationTerm**
ppILoadCombinationTerm)

Adds a new load combination term to the collection at the specified index.

Parameters
lIndex Index at which to add new term
dFactor Factor to apply to the load case
lLoadCaseUID The Unique ID of the load case for this load combination term
ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term
ILoadComboInternal
Internal use only.

ILoadComboParamCntrl1
Variable names and values associated with control 1 of the load combination generator. At this time, any set of generated load
combinations can have at most 10 control 1 parameters.

Properties
Type Property Get Set Description
double dVarValue X Value of the parameter.
long lParamID X ID that associates the control 1 parameter back to the ILoadCombinationParam
BSTR strVarName X Variable name associated with this parameter value. This is the variable displayed by the load combo generator in the
control 1 grid.

ILoadComboParamCntrl3
Display strings and check box states associated with control 3 of the load combination generator. At this time, any set of generated
load combinations can have at most 10 control 3 parameters.

Properties
Type Property Get Set Description
BOOL bVarValue X X State of the check box. TRUE = Checked.
long lParamID X ID that associates the control 1 parameter back to the ILoadCombinationParam
BSTR strVarName X X String displayed beside the check box in the load combo generator control 3 grid.

ILoadComboParamsCntrl1
This interface represents a collection of ILoadComboParamCntrl1 objects.

Add ([in]BSTR bstrVarName, [in]double dVarValue, [out, retval] ILoadComboParamCntrl1 **ppIParamCntrl1)

Adds a new control 1 load combination param to the receiver.

Parameters
bstrVarName Variable name associated with this parameter value. This is the variable displayed by the load combo
generator in the control 1 grid.
dVarValue Value of the parameter.
ppIParamCntrl1 Pointer to an ILoadComboParamCntrl1 interface that represents the newly added control 1 load
combination param.

Clear ()

Deletes all control 1 load combination params from the collection.

Delete ([in] long lIndex)

Deletes a control 1 load combination param from the collection at the specified index.

Parameters
lIndex The index in the collection for the requested control 1 load combination param.

GetAt ([in] long lIndex, [out, retval] ILoadComboParamCntrl1** ppIParamCntrl1)

Gets an interface for a specific control 1 load combination param by index.

Parameters
lIndex The index in the collection the requested control 1 load combination param.
ppIParamCntrl1 Pointer to an ILoadComboParamCntrl1 interface that represents the requested control 1 load combination
param, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of control 1 load combination params in the receiver.

Parameters
plCount The number of ILoadComboParamCntrl1 objects in the collection.

ILoadComboParamsCntrl3
This interface represents a collection of ILoadComboParamCntrl3 objects.

Add ([in]BSTR bstrVarName, [in] BOOL bVarValue, [out, retval] ILoadComboParamCntrl3** ppIParamCntrl3)
Adds a new control 3 load combination param to the receiver.

Parameters
bstrVarName String displayed beside the check box in the load combo generator control 3 grid.
bVarValue State of the check box. TRUE = Checked.
ppIParamCntrl3 Pointer to an ILoadComboParamCntrl3 interface that represents the newly added control 3 load
combination param.

Clear ()

Deletes all control 3 load combination params from the collection.

Delete ([in] long lIndex)

Deletes a control 3 load combination param from the collection at the specified index.

Parameters
lIndex The index in the collection for the requested control 3 load combination param.

GetAt ([in] long lIndex, [out, retval] ILoadComboParamCntrl3** ppIParamCntrl3)

Gets an interface for a specific control 3 load combination param by index.

Parameters
lIndex The index in the collection the requested control 1 load combination param.
ppIParamCntrl3 Pointer to an ILoadComboParamCntrl3 interface that represents the requested control 3 load combination
param, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of control 3 load combination params in the receiver.

Parameters
plCount The number of ILoadComboParamCntrl3 objects in the collection.
IMatFndPerim
Future interface.

IMatFndPropPoly
Future interface.

IMemberForce
This interface represents a single member force.

Properties
Type Property Get Set Description
double dAxial X Axial force (kip) – Positive is compression. FZ for reactions.
double dLocation X Normalized location along member (0.0-1.0) where force is applied (N/A for section cuts and
reactions).
double dMomentMajor X Moment about the minor axis (in direction of major axis)*. MXX for global reactions.
double dMomentMinor X Moment about the major axis (in direction of minor axis)*. MYY for global reactions.
double dShearMajor X Shear in direction of Major axis of member*. FX for reactions.
double dShearMinor X Shear in direction of Minor axis of member*. FY for reactions.
double dTorsion X Torsion about the longitudinal axis of the member*. MZZ for reactions.
long lLoadCaseID X Unique ID analysis load case responsible for this force
* For sign convention refer to the RAM SS manual or the documentation for IForces later in this document.

IMemberForces
This interface represents the collection of forces in a member.

Get ([in] long lLoadCaseID, [out, retval] IMemberForce** ppIMemberForce)

Gets an interface for a specific member force by load case ID.

Parameters
lLoadCaseID The load case ID of the requested member force (0 to Count -1 )
ppIMemberForce Pointer to an IMemberForce interface that represents the requested member force, or NULL if lIndex is
invalid.
GetAt ([in] long lIndex, [out, retval] IMemberForces** ppIMemberForces)

Gets an interface for a specific member force by index.

Parameters
lIndex The index into the collection of the requested member force (0 to Count -1 )
ppIMemberForce Pointer to an IMemberForce interface that represents the requested member force, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of member forces in the collection.

Parameters
plCount Number of member forces in the collection

IModel
The IModel interface is the highest level in the hierarchy of interfaces. It represents the RAM Structural System model. Entities such
as section definitions and floor types that are global to the model can be accessed through this interface. Other entities, such as
decks or beams, which belong to a specific floor type, can be accessed through this interface using the entity’s unique ID.

ClearOldSWResults ([in] BOOL bClearForces, [in] BOOL bClearResults)


Deletes Shear Wall results. This is designed to be used after a model is converted, and is called automatically by RAM Structural System; it
should not be called by external programs.

Parameters
bClearForces Flag that indicates whether Shear Wall forces should be cleared.
bClearResults Flag that indicates whether other Shear Wall results should be clear.

ClearSWData ([in] BOOL bIncludeSettings)


Clear all RAM Concrete Shear Wall-releated data from the model. You must call this (with bIncludeSettings set to FALSE) any time you
modify the geometry of the model using RAM Data Access. (This requirement will go away in a future release.)

Parameters
bIncludeSettings Flag that indicates whether settings (criteria) should also be cleared.

GetBeam ([in] long lUID, [out, retval] IBeam** ppIBeam )

Gets an interface for a beam.

Parameters
lUID Unique ID of beam to retrieve
ppIBeam Pointer to an IBeam interface that represents the requested beam

GetColumn ([in] long lUID, [out, retval] IColumn** ppIColumn )

Gets an interface for a column.

Parameters
lUID Unique ID of column to retrieve
ppIColumn Pointer to an IColumn interface that represents the requested column

GetColumnStack ([in] long lColumnID, [out, retval] IColumnStack** ppIColumnStack)


Gets an interface for a column stack given the unique ID of any column in the stack.

Parameters
lColumnID Unique ID of column for which to retrieve column stack
ppIColumnStack Pointer to an IColumnStack interface that represents the requested column stack

GetCompositeDeckProp ([in] long lUID, [out, retval] ICompDeckProp** ppICompDeckProp)


Gets an interface for a specific composite deck property.

Parameters
lUID Unique ID of composite deck property to retrieve
ppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property

GetCompositeDeckProps ([out, retval] ICompDeckProps** ppICompDeckProps)


Gets the collection of all composite deck properties defined for this model.

Parameters
ppICompDeckProps Pointer to an ICompDeckProps collection interface that represents all composite deck properties defined in the
model
GetConcreteCriteria ([out, retval] IConcreteCriteria** ppIConcreteCriteria )
Gets an interface for the concrete criteria applied to the model.

Parameters
ppIConcreteCriteria Pointer to an IConcreteCriteria interface that represents all concrete criteria for the model

GetConcreteMaterial ([in] long lUID, [out, retval] IConcreteMaterial** ppIConcreteMaterial)


Gets an interface for a specific concrete material property set.

Parameters
lUID Unique ID of concrete material property set to retrieve
ppIConcreteMaterial Pointer to an IConcreteMaterial interface that represents the requested concrete material property set

GetConcreteSectionProp ([in] long lUID, [out, retval] IConcSectProp** ppIConcSectProp)


Gets an interface for a specific concrete section property.

Parameters
lUID Unique ID of concrete section property to retrieve
ppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section property

GetConcreteSectionProps ([out, retval] IConcSectProps** ppIConcSectProps)


Gets the collection of all concrete section properties for this model.

Parameters
ppIConcSectProps Pointer to an IConcSectProps collection interface that represents all concrete section properties defined in the model

GetConcreteSlabProp ([in] long lUID, [out, retval] IConcSlabProp** ppIConcSlabProp)


Gets an interface for a specific concrete slab property.

Parameters
lUID Unique ID of concrete deck property to retrieve
ppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property

GetConcreteSlabProps ([out, retval] IConcSlabProps** ppIConcreteSlabProps)


Gets the collection of all concrete slab properties defined for this model.
Parameters
ppIConcSlabProps Pointer to an IConcSlabProps collection interface that represents all concrete slab properties defined in the model

GetConcShearWallCriteria ([out,retval] IConcShearWallCriteria** ppIConcShearWallCriteria)


Gets an interface for Shear Wall criteria in the model.

Parameters
ppIConcShearWallCriteria Pointer to an IConcShearWallCriteria interface that represents the RAM Concrete Shear Wall criteria for the
model.

GetContinuousFnd ([in] long lUID, [out, retval] IContinuousFnd** ppIContinuousFnd )


Gets an interface for a continuous foundation.

Parameters
lUID Unique ID of continuous foundation to retrieve
ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation

GetCouplingBeamCriteria ([out, retval] ICouplingBeamCriteria** ppICouplingBeamCriteria)

Gets an interface to the the global coupling beam criteria.

Parameters
ppICouplingBeamCriteria Pointer to an ICouplingBeamCriteria interface that represents the global coupling beam criteria.

GetDeck ([in] long lUID, [out, retval] IDeck** ppIDeck)

Gets an interface for a deck definition.

Parameters
lUID Unique ID of deck definition to retrieve
ppIDeck Pointer to an IDeck interface that represents the requested deck definition

GetFloorType ([in] long lUID, [out, retval] IFloortype** ppIFloorType)


Gets an interface for a specific floor type.

Parameters
lUID Unique ID of floor type to retrieve
ppIFloorType Pointer to an IFloortype interface that represents requested floor type

GetFloorTypes ([out, retval] IFloorTypes** ppIFloorTypes)


Gets the collection of all floor types in the model, even those that may not be used by any stories.

Parameters
ppIFloorTypes Pointer to an IFloorTypes collection interface that represents all floor types in the model

GetFrameAnalysisCriteria ([out, retval] IFrameAnalysisCriteria** ppIFrameAnalysisCriteria)


Gets an interface for the frame analysis criteria applied to the model.

Parameters
ppIFrameAnalysisCriteria Pointer to an IFrameAnalysisCriteria interface that represents the frame analysis criteria for the model

GetFrameAnalysisNodes ([out, retval] INodes** ppINodes)


Gets an interface for the frame analysis nodes in the model.

Parameters
ppINodes Pointer to an INodes interface that represents the frame analysis nodes for the model

GetGenericTable ([in] BSTR bstrTableName, [out, retval] ITable **ppITable)


Gets an interface to a generic data table. Generic tables can be used to hold any arbitrary data.

Parameters
bstrTableName The name of the data table.
ppITable Pointer to an ITable interface that represents the generic table.

GetGridSystem ([in] long lUID, [out, retval] IGridSystem** ppIGridSystem )


Gets an interface for a grid system.

Parameters
lUID Unique ID of grid system to retrieve
ppIGridSystem Pointer to an IGridSystem interface that represents the requested grid system
GetGridSystems ([out, retval] IGridSystems** ppIGridSystems)
Gets the collection of all grid systems defined for this model.

Parameters
ppIGridSystems Pointer to an IGridSystems collection interface that represents all grid systems defined in the model

GetHorizBrace ([in] long lUID, [out, retval] IHorizBrace** ppIHorizBrace)

Gets an interface for a horizontal brace.

Parameters
lUID Unique ID of horizontal brace to retrieve
ppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace

GetIsolatedFnd ([in] long lUID, [out, retval] IIsolatedFnd** ppIIsolatedFnd )


Gets an interface for an isolated foundation.

Parameters
lUID Unique ID of isolated foundation to retrieve
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the requested isolated foundation

GetLayoutBeam ([in] long lUID, [out, retval] ILayoutBeam** ppILayoutBeam )

Gets an interface for a layout beam.

Parameters
lUID Unique ID of layout beam to retrieve
ppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam

GetLayoutColumn ([in] long lUID, [out, retval] ILayoutColumn** ppILayoutColumn)

Gets an interface for a layout column.

Parameters
lUID Unique ID of layout column to retrieve
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column

GetLayoutContinuousFnd ([in] long lUID, [out, retval] ILayoutContinuousFnd** ppILayoutContinuousFnd)


Gets an interface for a layout continuous foundation.

Parameters
lUID Unique ID of layout continuous foundation to retrieve
ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation

GetLayoutHorizBrace ([in] long lUID, [out, retval] ILayoutHorizBrace** ppILayoutHorizBrace)

Gets an interface for a layout horizontal brace.

Parameters
lUID Unique ID of layout horizontal brace to retrieve
ppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace

GetLayoutIsolatedFnd ([in] long lUID, [out, retval] ILayoutIsolatedFnd** ppILayoutIsolatedFnd)

Gets an interface for a layout isolated foundation.

Parameters
lUID Unique ID of layout isolated foundation to retrieve
ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation

GetLayoutMatFndPerim ([in] long lUID, [out, retval] ILayoutMatFndPerim** ppILayoutMatFndPerim)

Gets an interface for a layout mat foundation perimeter.

Parameters
lUID Unique ID of the mat foundation perimeter to retrieve
ppILayoutMatFndPerim Pointer to an ILayoutMatFndPerim interface that represents the requested layout mat foundation
perimeter

GetLayoutMatFndPropPolygon ([in] long lUID, [out, retval] ILayoutMatFndPropPolygon** ppILayoutMatFndPropPolygon)

Gets an interface for a layout mat foundation property polygon.

Parameters
lUID Unique ID of the mat foundation property polygon to retrieve
ppILayoutMatFndPropPolygon Pointer to an ILayoutMatFndPropPolygon interface that represents the requested layout
mat foundation property polygon
GetLayoutWall ([in] long lUID, [out, retval] ILayoutWall** ppILayoutWall)

Gets an interface for a layout wall.

Parameters
lUID Unique ID of layout wall to retrieve
ppILayoutWall Pointer to an ILayoutWall interface that represents the requested layout wall

GetLineLoadPropertySets ([out, retval] ILineLoadPropertySets** ppLineLoadPropertySets)


Gets the collection of all line load property sets for this model. Line load property sets are associated with line load sets.

Parameters
ppLineLoadPropertySets Pointer to an ILineLoadPropertySets collection interface that represents all line load property sets defined in
the model

GetLoadCases ([in] EAnalysisResultType eAnalysisType, [out, retval] ILoadCases** ppILoadCases)


Gets a collection interface of all load cases for a specific analysis type.

Parameters
eAnalysisType Type of anlaysis for which to get load cases. As of v10.0, only implemented for RAMFrameResultType
ppILoadCases Pointer to an ILoadCases collection interface that represents load cases for specified analysis type

GetLoadCombinations ([in] COMBO_MATERIAL_TYPE eCombinationsType, [out, retval] ILoadCombinations**


ppILoadCombinations)
Gets a collection interface of all load combinations for a specific load combo type.

Parameters
eCombinationsType Type of load combinations to get
ppILoadCombinations Pointer to an ILoadCombinations collection interface that represents load combinations for specified combo type

GetLoadComboParameters [in] COMBO_MATERIAL_TYPE eCombinationsType, [out,retval] ILoadCombinationParams**


ppILoadComboParams)

Gets an interface load combination parameters in the model.

Parameters
eCombinationsType Indicates the load combination type (generated soil, custom concrete…). See COMBO_MATERIAL_TYPE for
list of options.
ppILoadComboParams Pointer to an ILoadCombinationParams interface that represents the load combinations parameters for the
model.

GetMatFndPerimeter ([in] long lUID, [out, retval] IMatFndPerim** ppIMatFndPerim)

Gets an interface for a mat foundation perimeter.

Parameters
lUID Unique ID of the mat foundation perimeter to retrieve
ppIMatFndPerim Pointer to an IMatFndPerim interface that represents the requested mat foundation perimeter

GetMatFndPropPolygon ([in] long lUID, [out, retval] IMatFndPropPolygon** ppIMatFndPropPolygon)

Gets an interface for a layout mat foundation property polygon.

Parameters
lUID Unique ID of the mat foundation property polygon to retrieve
ppItMatFndPropPolygon Pointer to an IMatFndPropPolygon interface that represents the requested mat foundation
property polygon

GetNonCompDeckProp ([in] long lUID, [out, retval] INonCompDeckProp** ppINonCompDeckProps)


Gets an interface for a specific non-composite deck property.

Parameters
lUID Unique ID of non-composite deck property to retrieve
ppINonCompDeckProps Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property

GetNonCompDeckProps ([out, retval] INonCompDeckProps** ppINonCompDeckProps)


Gets the collection of all non-composite deck properties defined for this model.

Parameters
ppINonCompDeckProps Pointer to an INonCompDeckProps collection interface that represents all non-composite deck properties
defined in the model

GetOldSWResultsDeletedFlag ()
Internal use only.
GetOtherMaterial ([in] long lUID, [out, retval] IOtherMaterial** ppIOtherMaterial)
Gets an interface for a specific ‘Other’ material property set.

Parameters
lUID Unique ID of ‘Other’ material property set to retrieve
ppIOtherMaterial Pointer to an IOtherMaterial interface that represents the requested ‘Other’ material property set

GetOtherSectionProp ([in] long lUID, [out, retval] IOtherSectProp** ppIOtherSectProp)


Gets an interface for a specific ‘Other’ section property.

Parameters
lUID Unique ID of ‘Other’ section property to retrieve
ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section property

GetOtherSectionProps ([out, retval] IOtherSecProps** ppIOtherSectProps)


Gets the collection of all section properties of material type ‘Other’ for this model.

Parameters
ppIOtherSectProps Pointer to an IOtherSectionProps collection interface that represents all ‘Other’ section properties defined in the model

GetPile ([in] long lUID, [out, retval] IPile** ppIPile)

Gets an interface for a pile definition.

Parameters
lUID Unique ID of pile definition to retrieve
ppIPile Pointer to an IPile interface that represents the requested pile

GetPileConfiguration ([in] long lUID, [out, retval] IPileConfiguration** ppIPileConfiguration)

Gets an interface for a pile configuration definition.

Parameters
lUID Unique ID of pile configuration definition to retrieve
ppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration

GetPileConfigurations ([out, retval] IPileConfigurations** ppIPileConfigurations)


Gets the collection of all pile configuration definitions for this model. Pile configurations can be associated with pile caps.

Parameters
ppIPileConfigurations Pointer to an IPileConfigurations collection interface that represents all pile configurations defined in the model

GetPiles ([out, retval] IPiles** ppIPiles)


Gets the collection of all pile definitions for this model. Piles can be associated with pile caps.

Parameters
ppIPiles Pointer to an IPiles collection interface that represents all piles defined in the model

GetPointLoadPropertySets ([out,retval] IPointLoadPropertySets** ppPointLoadPropertySets)


Gets the collection of all point load property sets for this model. Point load property sets are associated with point load sets.

Parameters
ppPointLoadPropertySets Pointer to an IPointLoadPropertySets collection interface that represents all point load property sets defined
in the model

GetRAMFrameCriteria ([out,retval] IRAMFrameCriteria** ppIRAMFrameCriteria)


Gets the RAM Frame criteria for the model. 5.03.

Parameters
ppIRAMFrameCritieria Pointer to an IRAMFrameCriteria interface that represents the RAM Frame criteria defined in the model

GetRawWallOpening ([in] long lUID, [out, retval] IRawWallOpening** ppIRawWallOpening)

Gets an interface for a raw wall opening.

Parameters
lUID Unique ID of wall opening to retrieve
ppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested wall opening

GetRawWallSectionCut ([in] long lUID, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)


Gets an interface for a raw wall section cut.

Parameters
lUID Unique ID of wall section cut to retrieve
ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested wall section cut

GetRawWallSectionCuts ([out, retval] IRawWallSectionCuts** ppIRawWallSectionCuts)


Gets a collection interface of all raw wall section cuts for the model, not just for an individual wall.

Parameters
ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all raw wall section cuts in the model.

GetSlabOpening ([in] long lUID, [out, retval] ISlabOpening** ppISlabOpening)

Gets an interface for a slab opening.

Parameters
lUID Unique ID of slab opening to retrieve
ppISlabOpening Pointer to an ISlabOpening interface that represents the requested slab opening

GetSlabPerimeter ([in] long lUID, [out, retval] ISlabPerimeter** ppISlabPerimeter)

Gets an interface for a slab perimeter.

Parameters
lUID Unique ID of slab perimeter to retrieve
ppISlabPerimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter

GetSnowLoadPropertySet ([in] LONG lUID, [out, retval] ISnowLoadPropertySet **ppISnowLoadPropertySet)

Gets an interface to the collection of steel column trial groups.

Parameters
lUID Unique ID for the snow load property
ppISnowLoadPropertySet Pointer to an ISnowLoadPropertySet interface that represents the snow load property

GetSnowLoadPropertySets [out, retval] ISnowLoadPropertySets **ppISnowLoadPropertySets)

Gets an interface to the collection of snow load property sets in the model.

Parameters
ppISnowLoadPropertySets Pointer to an ISnowLoadPropertySets interface that represents the snow load property
sets in the model.
GetSteelColumnTrialGroups ([in] BOOL bHangingColumn, [out, retval] ITrialGroups** ppITrialGroups)

Gets an interface to the collection of steel column trial groups.

Parameters
bHangingColumn 1 for hanging column trial groups and 0 for standard columns
ppILoadComboParams Pointer to an ITrialGroups interface that represents the steel column trial groups in the model.

GetSteelCriteria ([out, retval] ISteelCriteria** ppISteelCriteria )


Gets an interface for the steel criteria applied to the model.

Parameters
ppISteelCriteria Pointer to an ISteelCriteria interface that represents all steel criteria for the model

GetSteelMaterial ([in] long lUID, [out, retval] ISteelMaterial** ppISteelMaterial)


Gets an interface for a specific steel material property set.

Parameters
lUID Unique ID of steel material property set to retrieve
ppISteelMaterial Pointer to an ISteelMaterial interface that represents the requested steel material property set

GetStories ([out, retval] IStories** ppIStories)


Gets the collection of all stories in the model.

Parameters
ppIStories Pointer to an IStories collection interface that represents all stories in the model

GetStory ([in] long lUID, [out, retval] IStory** ppIStory)


Gets an interface for a specific story.

Parameters
lUID Unique ID of story to retrieve
ppIStory Pointer to an IStory interface that represents requested story

GetSurfaceLoadPropertySets ([out,retval] ISurfaceLoadPropertySets **ppSurfaceLoadPropertySets)


Gets an interface to the surface load property sets in the model. These are the surface load properties defined in RAM Modeler.
Parameters
ppSurfaceLoadPropertySets Pointer to an ISurfaceLoadPropertySets interface that represents the surface load property sets for the
model.

GetVerticalBrace ([in] long lUID, [out, retval] IVerticalBrace** ppIVerticalBrace)

Gets an interface for a vertical brace.

Parameters
lUID Unique ID of vertical brace to retrieve
ppIVerticalBrace Pointer to an IVerticalBrace interface that represents the requested vertical brace

GetVerticalBraces ([out, retval] IVerticalBraces** ppIVerticalBraces)


Gets the collection of all vertical braces in the model.

Parameters
ppIVerticalBraces Pointer to an IVerticalBraces collection interface that represents all vertical braces in the model

GetWall ([in] long lUID, [out, retval] IWall** ppIWall )

Gets an interface for a wall.

Parameters
lUID Unique ID of wall to retrieve
ppIWall Pointer to an IWall interface that represents the requested wall

GetWallBarPatternTemplates ( [out, retval] WallBarPatternTemplates** ppWallBarPatternTempaltes )

Gets an interface for the collection of wall bar pattern templates.

Parameters
ppWallBarPatternTemplates Pointer to a WallBarPatternTemplates interface that represents the
collection of wall bar patterns in the model

GetWallDesignGroups ([out,retval] IWallDesignGroups** ppIWallDesignGroups)


Gets a collection of all Wall Design Groups in the model.
Parameters
ppIWallDesignGroups Pointer to an IWallDesignGroups interface that represents the wall design groups for the model.

MSIWorkaround_IStringValue_DO_NO_CALL ()
Internal use only.

SetOrigin ([in] dX, [in] dY, [in] dZ)

Alternate mechanism for setting the sOrigin property, for use in languages that cannot set that property directly. 1

Parameters
dX X Coordinate
dY Y Coordinate
dZ Z Coordinate

Properties
Type Property Get Set Description
BOOL bCombineLoads X If TRUE, loads on beams were combined during gravity analysis.
BOOL bIncludeBeamSelfWeight X X Beam self weight will automatically be considered if TRUE
BOOL bIncludeColSelfWeight X X Column self weight will automatically be considered if TRUE
BOOL bIncludeSlabSelfWeight X X Slab and deck self weight will automatically be considered if TRUE
BOOL bIncludeWallSelfWeight X X Wall self weight will automatically be considered if TRUE
BOOL bLLRedStoriesInclRoof X X If TRUE, roof levels will be included when determining number of stories
BOOL bLLRedStoriesInclStorLevels X X If TRUE, storage levels will be included when determining number of stories
BOOL bLLRedStoriesInclUnredLevels X X If TRUE, unreducible levels will be included when determining number of stories
BOOL bSkipMeshInGE X X Flag that determines whether or not to skip loading of the deck and slab meshes
when loading the model into RAM Container. Setting this to TRUE will cause
these meshes not to be loaded during startup, and consequently will hide them.
BOOL bSkipMeshInGEAsked X X Flag that indicates whether or not the user has been asked if mesh loading
should be skipped.
double dOriginAngle X X Property designed to be used purely by 3rd-party import/export routines to record
the model’s origin rotation angle. This value is not used by the RAM Structural
System, but is stored with the model.
double dVersion X Version of the Ram Structural System model
ECANImportanceCategory eCANImpCategory X X Importance Category for Live Load Reduction when NBC of Canada is selected
as the Live Load Reduction code.
EBuildingCode eCodeSelection X X Building code by which Live Load Reduction will be calculated
EUnits eDisplayUnits X X Units (English, SI or Metric) to use when displaying model data in the RAM
Structural System. All values passed through interfaces are assumed to be
English units. This is only to set units for display.
ERoofLLType eRoofLiveLoadType X X Indicates whether roof live loads are reducible or whether they are snow
Type Property Get Set Description
EStateStatus eStatusConcGravForces X Status of the Concrete analysis
EStateStatus eStatusDataCheck X Status of data check
EStateStatus eStatusGravForces X Status of RAM Gravity
EStateStatus eStatusLatForces X Status of the Frame analysis
long lDataTimeStamp X Time stamp
long lGroundLevel X X Unique ID of story that is at ground level,
SCoordinate sOrigin X X Property designed to be used purely by 3rd-party import/export routines to record
the model’s origin point. This value is not used by the RAM Structural System,
but is stored with the model.
BSTR strJobName X X Text description of model that can be up to 71 characters

IModelGrid
This interface represents a single grid line.

Properties
Type Property Get Set Description
BOOL bApplyMaxLimit X X If TRUE, this grid maximum will be drawn limited to user coordinate.
BOOL bApplyMinLimit X X If TRUE, this grid minimum will be drawn limited to user coordinate.
BOOL bDisplayLabelAtI X X If TRUE, the grid label bubble will be displayed at the I-end of the grid line.
BOOL bDisplayLabelAtJ X X If TRUE, the grid label bubble will be displayed at the J-end of the grid line.
double dCoordinate_Angle X X The grid coordinate or angle.
double dMaxLimitValue X X If bApplyMaxLimit is TRUE, this is the maximum limit specified by user to which grid line will be drawn.
If bApplyMaxLimit is FALSE, this property will return -1.
double dMinLimitValue X X If bApplyMinLimit is TRUE, this is the minimum limit specified by user to which grid line will be drawn.
If bApplyMinLimit is FALSE, this property will return -1.
EGridAxis eAxis X The grid axis (X/Radial or Y/Circular).
long lUID X Unique ID of grid line.
BSTR strLabel X X Grid label.

IModelGrids
This interface represents a collection of grid lines from a grid system.

Add ([in]BSTR bstGridLabel, [in] EGridAxis eGridAxis, [in] double dGridCoord_Angle, [out, retval] IModelGrid** ppIGrid)

Adds a grid to the collection of grids for a grid system.


Parameters
bstGridLabel Label for this grid
eGridAxis The grid axis (i.e. x or y for an orthogonal grid system, Radial or Circular for radial grid systems)
dGridCoord_Angle The grid coordinate or grid angle (for radial grid system)
ppIGrid Pointer to an IModelGrid interface that represents the newly added grid.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the grid with the given unique ID.

Parameters
lUID Unique ID of grid to delete
plRetval 0 if grid is deleted successfully
-1 if unique ID is not found in filtered list of grids

Filter ([in] EGridFilter eGridFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of grids based on given criteria.

Parameters
eGridFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IModelGrid ** ppIGrid)

Gets an interface for a specific grid by unique ID.

Parameters
lUID The unique ID of the requested grid line
ppIGrid Pointer to an IModelGrid interface that represents the requested grid, or NULL if no grid is found in the collection
with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IModelGrid ** ppIGrid)

Gets an interface for a specific grid by index.

Parameters
lIndex The index into the collection of the requested grid
ppIGrid Pointer to an IModelGrid interface that represents the requested grid, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of grids in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the
total number of grids in the grid system. When the collection is unfiltered, this function returns the total number of grids in the grid system.

Parameters
plCount Number of grids in the collection

INode
This interface is used represent a finite element node.

GetDisplacements ([out, retval] IDisplacements** ppIDisplacements)

Gets the IDisplacements collection for the node.

Parameters
ppIDisplacements The IDisplacements collection for the nodal displacements

GetReactions ([out, retval] IMemberForces** ppIMemberForces)

Gets the IMemberForces collection for the node.

Parameters
ppIMemberForces The IMemberForces collection for the nodal reactions

Properties
Type Property Get Set Description
ENODESOURCE eSource X Source of the node.
LONG lLabel X The node label.
LONG lIndex X The node label.
LONG lUniqueID X The unique ID for the node.
SCoordinate sLocation X The location of the node in global model coordinates.
INodes
This interface is used to hold a collection of INode objects.

Filter ([in] ENodeFilter eNodeFilter, [out, retval] INodes** ppINodes)

Filters the INodes collection for the specified filter.

Parameters
eNodeFilter Filter type.
ppINodes INode collection.

GetAt ([in] long lIndex, [out, retval] INode** ppINode)

Gets the INode object at the specified index.

Parameters
lIndex The index of the specified Wall FE.
ppINode The INode object at the specified index.

GetClosesNode ([in] double dX, [in] double dY, [in] double dZ, [out, retval] INode** ppINode)

Gets the closest INode to the provided 3D coordinate.

Parameters
dX The X coordinate in 3D space.
dY The Y coordinate in 3D space.
dZ The Z coordinate in 3D space.
ppINode The closest INode object.

GetCount ([out,retval] long** plCount)

Gets number of INode objects in the collection.

Parameters
plCount The number of INode objects in the collection.
INonCompDeckProp
This interface represents a single non-composite deck property.

Properties
Type Property Get Set Description
double dEffectiveThickness X X The effective thickness of the deck
double dElasticModulus X X The elastic modulus of the deck
double dPoissonsRatio X X The Poisson’s Ratio of the deck
double dSelfWeight X X The self-weight of the deck
long lUid X The unique ID of the deck.
BSTR strLabel X X The label of the deck

INonCompDeckProps
This interface represents a collection of non-composite deck properties defined in the model.

Add ([in] BSTR strLabel, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)

Creates a new non-composite deck property, adds it to the collection, and returns an interface to the newly created property.

Parameters
strLable The label for the new non-composite deck property
ppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the newly added non-composite deck property.

Get ([in] long lUID, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)

Gets an interface for a specific non-composite deck property by unique ID.

Parameters
lUID The unique ID of the requested non-composite deck property
ppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property, or NULL
if no non-composite deck property is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)

Gets an interface for a specific non-composite deck property by index.

Parameters
lIndex The index into the collection of the requested non-composite deck property
ppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property, or NULL
if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of non-composite deck properties in the collection.

Parameters
plCount Number of non-composite deck properties in the collection

IOtherMaterial
This interface represents a single ‘Other’ material property set. A member’s ‘Other’ material properties can be read and set through
this interface.

Properties
Type Property Get Set Description
double dE X X Young’s modulus, modulus of elasticity (E).
double dPoissonsRatio X X Poisson’s Ratio.
double dSelfWeight X X Self weight of member.

IOtherSectProp
This interface represents a single ‘Other’ section. Note that the type of member (beam, column, or brace) to which it can be
assigned cannot be changed after a section is defined.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)


Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

Properties
Type Property Get Set Description
double dArea X X Area of section.
double dDepth X X Depth of section measured in direction of major axis.
double dMomInertiaMajor X X Moment of inertia in major direction (Ix).
double dMomInertiaMinor X X Moment of inertia in minor direction (Iy).
double dShearAreaMajor X X Shear area in major direction.
double dShearAreaMinor X X Shear area in minor direction.
double dTorsionConstant X X Torsion Constant (J).
double dWidth X X Width of section.
EUniqueMemberTypeID eMemType X Type of member to which this section can be assigned.
long lUID X Unique ID of ‘Other’ section.
BSTR strLabel X X A label for this ‘Other’ section. Limited to 15 characters.

IOtherSectProps
This interface represents a collection of ‘Other’ section properties defined in the model. ‘Other’ section properties are defined using
this interface and then can be assigned to members of material type ‘Other’. ‘Other’ sections are defined as sections for beams,
columns, or vertical braces. A section defined as an ‘Other’ beam section can only be assigned to beams and horizontal braces, and
likewise for column and brace ‘Other’ sections.

Add ([in] BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dWidth, [in] double dDepth, [in] double dArea, [in]
double dMomInertiaMajor, [in] double dMomInertiaMinor, [in] double dTorsionConstant, [in] double dMajorShearArea, [in] double
dMinorShearArea, [out, retval] IOtherSectProp** ppIOtherSectProp)

Adds a new ‘Other’ section.

Parameters
bstName Label of ‘Other’ section. Limited to 15 characters.
eMemType Must specify if this is a section for a beam, column or brace
dWidth Total width of section
dDepth Depth of section
dArea Area of section
dMomInertiaMajor Moment of inertia in major direction (Ix).
dMomInertiaMinor Moment of inertia in minor direction (Iy).
dTorsionConstant Torsion Constant (J).
dMajorShearArea Shear area in major direction.
dMinorShearArea Shear area in minor direction.
ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the newly added ‘Other’ section.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the ‘Other’ section with the given unique ID. A section that is currently assigned to a member cannot be deleted.

Parameters
lUID Unique ID of ‘Other’ section to delete
plRetval 0 if ‘Other’ section is deleted successfully
-1 if unique ID is not found in filtered list of ‘Other’ sections or if section is currently assigned to a member

Filter ([in] EOtherSectPropsFilter eOtherSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of concrete sections based on given criteria.

Parameters
eOtherSectPropsFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IOtherSectProp** ppIOtherSectProp)

Gets an interface for a specific ‘Other’ section property by unique ID.

Parameters
lUID The unique ID of the requested ‘Other’ section
ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section, or NULL if no ‘Other’ section is
found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IOtherSectProp** ppIOtherSectProp)

Gets an interface for a specific ‘Other’ section property by index.


Parameters
lIndex The index into the collection of the requested ‘Other’ section
ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of ‘Other’ sections in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of ‘Other’ sections in the model. When the collection is unfiltered, this function returns the total number of
‘Other’ sections in the model.

Parameters
plCount Number of ‘Other’ sections in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IPile
This interface represents a single pile.

Properties
Type Property Get Set Description
double dCompressionCap X X Compression capacity of pile
double dDiameter X X Diameter of pile
double dShearCap X X Shear capacity of pile
double dTensionCap X X Tension capacity of pile
long lUID X Unique ID of pile.
BSTR strLabel X X Label for this pile
IPileConfiguration
This interface represents a single pile configuration.

Properties
Type Property Get Set Description
EPileConfiguration eConfiguration X X Configuration of pile group
long lNumHorizRows X X Number of rows of pile running parallel to the major axis of the footing. Applies to rectangular pile
configurations
long lNumVertRows X X Number of rows of pile running perpendicular to the major axis of the footing. Applies to rectangular pile
configurations
long lUID X Unique ID of pile configuration.
BSTR strLabel X X Label for this pile configuration

IPileConfigurations
This interface represents a collection of all pile configurations defined in the model. Pile configurations are assigned to pile cap
foundations (a type of isolated foundation).

AddRectangular ([in] BSTR bstrName, [in] long lNumVertRows, [in] long lNumHorizRows, [out, retval] IPileConfiguration**
ppIPileConfiguration)

Adds a new rectangular pile configuration to the collection of pile configurations for the model.

Parameters
bstrName A label for the pile configuration
lNumVertRows Number of rows of piles perpendicular to the major axis
lNumHorizRows Number of rows of piles parallel to the major axis
ppIPileConfiguration Pointer to an IPileConfiguration interface that represents the newly added pile configuration.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes a pile configuration with the given unique ID from the collection.

Parameters
lUID Unique ID of pile configuration to delete
plRetval 0 if pile configuration is deleted successfully
-1 if unique ID is not found in collection of pile configuration
Get ([in] long lUID, [out, retval] IPileConfiguration** ppIPileConfiguration)

Gets an interface for a specific pile configuration by unique ID.

Parameters
lUID The unique ID of the requested pile configuration
ppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration, or NULL if no pile
configuration is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IPileConfiguration** ppIPileConfiguration)

Gets an interface for a specific pile configuration by index.

Parameters
lIndex The index into the collection of the requested pile configuration
ppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of pile configurations in the collection.

Parameters
plCount Number of pile configurations in the collection

IPiles
This interface represents a collection of all piles defined for the model.

Add ([in] BSTR bstrName, [in] double dDiameter, [in] double dCompressionCap, [in] double dTensionCap, [in] double dShearCap,
[out, retval] IPile** ppIPile)

Adds a new pile definition to the collection of piles for the model.

Parameters
bstrName A label for the pile
dDiameter The diameter of the pile
dCompressionCap The compression capacity of the pile
dTensionCap The tension capacity of the pile
dShearCap The shear capacity of the pile
ppIPile Pointer to an IPile interface that represents the newly added pile.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes a pile with the given unique ID from the collection.

Parameters
lUID Unique ID of pile to delete
plRetval 0 if pile is deleted successfully
-1 if unique ID is not found in collection of pile

Get ([in] long lUID, [out, retval] IPile** ppIPile)

Gets an interface for a specific pile by unique ID.

Parameters
lUID The unique ID of the requested pile
ppIPile Pointer to an IPile interface that represents the requested pile, or NULL if no pile is found in the collection with the
given unique ID.

GetAt ([in] long lIndex, [out, retval] IPile** ppIPile)

Gets an interface for a specific pile by index.

Parameters
lIndex The index into the collection of the requested pile
ppIPile Pointer to an IPile interface that represents the requested pile, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of piles in the collection.

Parameters
plCount Number of piles in the collection
IPoint
This interface represents a single point.

GetCoordinate ([out] SCoordinate *pPoint, [out, retval] long *plRetval)


Gets the coordinate of the point.

Parameters
pPoint The coordinate of the point
plRetval 0 if coordinate is retrieved successfully

SetCoordinate ([in] SCoordinate Point, [out, retval] long *plRetval)


Sets the coordinate of the point.

Parameters
Point The coordinate of the point
plRetval 0 if coordinate is set successfully

SetCoordinate2 ([in] double dX, [in] double dY, [in] double dZ, [out, retval] long *plRetval)
Sets the coordinate of the point. (Note: this was added because SetCoordinate isn’t compatible with Visual Basic.)

Parameters
dX The X coordinate of the point
dY The Y coordinate of the point
dZ The Z coordinate of the point
plRetval 0 if coordinate is set successfully

IPointLoad
This interface represents a single point load.

GetCoordinate ([out] SCoordinate* pLocation, [out, retval] long* plRetval)


Gets the number of point loads in the collection.

Parameters
pLocation Location of the point load in global X,Y,Z coordinates
plRetval Error code

Properties
Sign of force is positive in direction of global axes and right hand rule for moments (thumb in global axis direction). Coordinate
system is based on context in which the force is obtained (default is global coordinate system).

Type Property Get Set Description


double dFx X Horizontal force magnitude (kip) in X axis
double dFy X Horizontal force magnitude (kip) in Y axis
double dFz X Vertical force magnitude (kip) in Z axis
double dMxx X Moment about the XX axis
double dMyy X Moment about the YY axis
double dMzz X Moment about the ZZ Axis

IPointLoadPropertySet
This interface represents a single point load property set as defined in the modeler.

Properties
Type Property Get Set Description
double dConstDeadLoad X X Construction Dead load (positive is down)
double dConstLiveLoad X X Construction Live load (positive is down)
double dDeadLoad X X Dead load magnitude (positive is down)
double dLiveLoad X X Live load magnitude (positive is down)
double dMassDeadLoad X X Mass dead load magnitude (positive is down)
double dPartitionLoad X X Partion load magnitude (positive is down)
ELoadCaseType eLiveLoadType X X The live load case type (MUST BE A LIVE LOAD TYPE)
long lUID X Unique ID of the property set
BSTR strLabel X X Label of the property set. Limited to 19 characters.

IPointLoadPropertySets
This interface represents all the point load property sets as defined in the RAM Modeler.

Add ([in] BSTR bstrLabel, [out,retval] IPointLoadPropertySet**ppIPointLoadPropSet);

Adds a new point load property set to the collection.


Parameters
bstrLabel Unique label for the line load property set. Limited to 19 characters.
ppIPointLoadPropSet A pointer to an IPointLoadPropertySet that represents the newly added point load property set

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes a point load property set.

Parameters
lUID Unique ID of point load property set to delete
plRetVal 0 if point load property set is deleted successfully
-1 if failed. Delete will fail if member is not found or if the point load property set is in use by a point load set.

Get ([in] long lUID, [out, retval] IPointLoadPropertySet** ppIPointLoadPropSet);


Gets an interface for a specific point load property set by unique ID.

Parameters
lUID Unique ID of the requested point load property set
ppIPointLoadPropSet Pointer to an IPointLoadPropertySet interface that represents the requested point load property set, or NULL if no
line load property set is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IPointLoadPropertySet**ppIPointLoadPropSet);

Gets an interface for a specific point load property set by index.

Parameters
lIndex Index of the requested point load property set
ppIPointLoadPropSet Pointer to an IPointLoadPropertySet interface that represents the requested point load property set, or NULL if
lIndex is invalid.

GetCount ([out, retval] long *plCount)


Gets the number of point load property sets in the collection.

Parameters
plCount Number of point load property sets in the collection
IPointLoads
This interface represents a collection of individual point load objects.

GetAt ([in] long lIndex, [out, retval] IPointLoad** ppIPointLoad)


Gets an interface for a specific point load by index (zero based).

Parameters
lIndex The index into the collection of the requested point load (0 to Count-1)
ppIPointLoad Pointer to an IPointLoad interface that represents the requested point load, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)


Gets the number of point loads in the collection.

Parameters
plCount Number of point loads in the collection

IPointLoadSet
This interface represents a single point load set associated with a floor type. Since a floor type can be associated with one or more
stories, a point load set may actually represent load sets on multiple stories. This interface can be used to modify the location and
properties of a point load set.

Properties
Type Property Get Set Description
long lPropertySetUID X X The UID of the PointLoadPropertySet associated with the point load
long lUID X Unique ID of the Point Load Set
SCoordinate sCoordinate X X Location of the point load (only X and Y are used)

IPointLoadSets
This interface represents a collection of point load sets associated with a floor type. This collection is used to add or delete point
load sets on a floor type. A point load set consists of a location and a point load property set. This corresponds to a modeled point
load in RAM Modeler.
Add ([in] long lPropSetID, [in] double dX, [in] double dY, [out,retval] IPointLoadSet** ppIPointLoadSet )
Adds a new point load set to the collection of point load sets for the floor type.

Parameters
lPropSetID Unique ID of point load property set associated with this point load set
dX X coordinate of the point load set
dY Y coordinate of the point load set
ppIPointLoadSet Pointer to an IPointLoadSet interface that represents the newly added point load set.

Delete ([in] long lUID, [out, retval] long* plRetval)


Deletes the point load set with the given unique ID.

Parameters
lUID Unique ID of point load set to delete
plRetval 0 if point load set is deleted successfully
-1 if unique ID is not found in list of point load sets

Get ([in] long lUID, [out, retval] IPointLoadSet** ppIPointLoadSet)


Gets an interface for a specific point load set by index.

Parameters
lUID Unique ID of the requested point load set
ppIPointLoadSet Pointer to an IPointLoadSet interface that represents the requested point load set, or NULL if no point load set is found
in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IPointLoadSet** ppIPointLoadSet)


Gets an interface for a specific point load set by index.

Parameters
lIndex The index into the collection of the requested point load set
ppIPointLoadSet Pointer to an IPointLoadSet interface that represents the requested point load set, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)


Gets the number of point load sets in the collection.
Parameters
plCount Number of point load sets in the collection

IPoints
This interface represents a collection of points.

Add ([in] SCoordinate Point, [out, retval] IPoint** ppIPoint)

Adds a point to the collection.

Parameters
Point Coordinate of this point
ppIPoint Pointer to an IPoint interface that represents the newly added point.

Add2 ([in] double dX, [in] double dY, [in] double dZ, [out, retval] IPoint** ppIPoint)

Adds a point to the collection. (Note: this was added because Add isn’t compatible with Visual Basic.)

Parameters
dX The X coordinate of the point
dY The Y coordinate of the point
dZ The Z coordinate of the point
ppIPoint Pointer to an IPoint interface that represents the newly added point.

Delete ([in] long lIndex, [out, retval] long* plRetval)

Deletes the point at the given index.

Parameters
lIndex Index of point to delete.
plRetval 0 if point is deleted successfully
-1 if index is invalid

GetAt ([in] long lIndex, [out, retval] IPoint** ppIPoint)

Gets an interface for a specific point by index.


Parameters
lIndex The index into the collection of the requested point
ppIPoint Pointer to an IPoint interface that represents the requested point, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of points in the collection.

Parameters
plCount Number of points in the collection

InsertAt ([in] long lIndex, [in] SCoordinate Point, [out, retval] IPoint** ppIPoint)

Adds a point to the collection at the given index, growing the list of points if needed. This function is provided for when the order of the
points in the collection matters, such as for the definition of a polygon.

Parameters
lIndex The index at which to add the point
Point Coordinate of this point
ppIPoint Pointer to an IPoint interface that represents the newly added point.

InsertAt2 ([in] long lIndex, [in] double dX, [in] double dY, [in] double dZ, [out, retval] IPoint** ppIPoint)

Adds a point to the collection at the given index, growing the list of points if needed. This function is provided for when the order of the
points in the collection matters, such as for the definition of a polygon. (Note: this was added because InsertAt isn’t compatible with Visual
Basic.)

Parameters
lIndex The index at which to add the point
dX The X coordinate of the point
dY The Y coordinate of the point
dZ The Z coordinate of the point
ppIPoint Pointer to an IPoint interface that represents the newly added point.

IProperties
This interface represents a collection of properties associated with a member. This collection is used to add or delete properties to a
member.
Get ([in] BSTR bstrPropName, [out, retval], IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

GetAt ([in] long lIndex, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by index.

GetCount ([out, retval] long* plCount)

Gets the number of properties in the collection.

Parameters
plCount Number of properties in the collection

Parameters
lIndex The index into the collection of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if lIndex is invalid.

IProperty
This interface represents a single property for a member.

GetValueAsBool ([out] BOOL *pbValue, [out, retval] long* plRetval)

Gets the value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.

Parameters
pbValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
GetValueAsDouble ([out] double *pdValue, [out, retval] long* plRetval)

Gets the value of the property as a double. An error is returned if this is not the appropriate type for this property.

Parameters
pdValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

GetValueAsLong ([out] long *plValue, [out, retval] long* plRetval)

Gets the value of the property as a long. An error is returned if this is not the appropriate type for this property.

Parameters
plValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

GetValueAsString ([out] BSTR *pstrValue, [out, retval] long* plRetval)

Gets the value of the property as a string. This function works for any data type.

Parameters
pstrValue Value of the property
plRetval Should always be zero since any data type can be
returned as a string.

SetValueAsBool ([in] BOOL bValue, [out, retval] long* plRetval)

Sets the value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.

Parameters
bValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

SetValueAsDouble ([in] double dValue, [out, retval] long* plRetval)


Sets the value of the property as a double. An error is returned if this is not the appropriate type for this property.

Parameters
dValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

SetValueAsLong ([in] long lValue, [out, retval] long* plRetval)

Sets the value of the property as a long. An error is returned if this is not the appropriate type for this property.

Parameters
lValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

SetValueAsString ([in] BSTR strValue, [out, retval] long* plRetval)

Sets the value of the property as a string. This function works for any data type.

Parameters
strValue Value of the property
plRetval Should always be zero since any data type can be
returned as a string.

Properties
Type Property Get Set Description
BSTR strPropName X X Case insensitive name of property
EDBFieldType eType X The type of value for this property

IPropertyDefinition
This interface represents a single property definition for a member type.

GetDefaultAsBool ([out] BOOL *pbDefault, [out, retval] long* plRetval)

Gets the default value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.
Parameters
pbDefault Default value for the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

GetDefaultAsDouble ([out] double *pdDefault, [out, retval] long* plRetval)

Gets the default value for this property as a double. An error is returned if this is not the appropriate type for this property.

Parameters
pdDefault Default value for the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

GetDefaultAsLong ([out] long *plDefault, [out, retval] long* plRetval)

Gets the default value of the property as a long. An error is returned if this is not the appropriate type for this property.

Parameters
plDefault Default value for the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

GetDefaultAsString ([out] BSTR *pstrDefault, [out, retval] long* plRetval)

Gets the default value of the property as a string. An error is returned if this is not the appropriate type for this property.

Parameters
pstrDefault Default value for the property
plRetval Should always be zero since any data type can be
returned as a string.

SetDefaultAsBool ([in] BOOL bDefault, [out, retval] long* plRetval)

Sets the default value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.

Parameters
bDefault Default value for the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

SetDefaultAsDouble ([in] double dDefault, [out, retval] long* plRetval)

Sets the default value for this property as a double. An error is returned if this is not the appropriate type for this property.

Parameters
dDefault Default value for the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

SetDefaultAsLong ([in] long lDefault, [out, retval] long* plRetval)

Sets the default value of the property as a long. An error is returned if this is not the appropriate type for this property.

Parameters
lDefault Default value for the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.

SetDefaultAsString ([in] BSTR strDefault, [out, retval] long* plRetval)

Sets the default value of the property as a string. An error is returned if this is not the appropriate type for this property.

Parameters
strDefault Default value for the property
plRetval Should always be zero since any data type can be
returned as a string.

Properties
Type Property Get Set Description
EDBFieldType eType X The type of value for this property
BSTR strPropDescription X X Description of the property
BSTR strPropName X X Case insensitive name of property
IPropertyDefinitions
This interface represents a collection of property definitions associated with a type of member. This collection is used to add or
delete properties associated with a member type.

AddPropBool ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BOOL bDefaultValue, [out, retval]
IPropertyDefinition** ppIPropertyDef)

Adds a new property to the collection of properties for the member.

Parameters
bstrPropName Name of the property
bstrPropDescription Description of the property (can be left blank)
bDefaultValue Default value for this property when not set for a member
ppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.

AddPropDouble ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] double dDefaultValue, [out, retval]
IPropertyDefinition** ppIPropertyDef)

Adds a new property definition to the collection of property definitions for the member type.

Parameters
bstrPropName Name of the property
bstrPropDescription Description of the property (can be left blank)
dDefaultValue Default value for this property when not set for a member
ppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.

AddPropLong ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] long lDefaultValue, [out, retval] IPropertyDefinition**
ppIPropertyDef)

Adds a new property to the collection of properties for the member.

Parameters
bstrPropName Name of the property
bstrPropDescription Description of the property (can be left blank)
lDefaultValue Default value for this property when not set for a member
ppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.
AddPropString ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BSTR strDefaultValue, [out, retval]
IPropertyDefinition** ppIPropertyDef)

Adds a new property to the collection of properties for the member.

Parameters
bstrPropName Name of the property
bstrPropDescription Description of the property (can be left blank)
strDefaultValue Default value for this property when not set for a member
ppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.

Delete ([in] BSTR bstrPropName, [out, retval] long* plRetval)

Deletes the property definition with the given name. Use with caution as this will delete the value for each instance of the member type.

Parameters
bstrPropName Name of property to delete
plRetval 0 if property is deleted successfully
-1 if no property is found with given name

Get ([in] BSTR bstrPropName, [out, retval], IPropertyDefinition** ppIPropertyDef)

Gets an interface for a specific property definition by property name.

Parameters
bstrPropName The name of the requested property
ppIPropertyDef Pointer to an IPropertyDefinition interface that represents the requested property definition, or NULL if no property
is found with given name.

GetAt ([in] long lIndex, [out, retval] IPropertyDefinition** ppIPropertyDef)

Gets an interface for a specific property definition by index.

Parameters
lIndex The index into the collection of the requested property definition
ppIPropertyDef Pointer to an IPropertyDefinition interface that represents the requested property definition, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)


Gets the number of property definitions in the collection.

Parameters
plCount Number of property definitions in the collection

IRAMFrameCriteria
This interface represents the criteria in RAM Frame. 5.03.

GetFrame_SolverSettings ( [out] BOOL* pbDirectSolver, [out] BOOL* pbInCore, [out] BOOL* pbUseSingleCPU )

Gets solver settings in RAM Frame – Criteria - General. 5.03.

Parameters
pbDirectSolver 1 if the Direct Solver is selected
pbInCore 1 if In Core is selected
pbUseSingleCPU 1 if Use Single CPU is selected

SetFrame_SolverSettings ( [in] BOOL bDirectSolver, [in] BOOL bInCore, [in] BOOL bUseSingleCPU )

Sets solver settings in RAM Frame – Criteria - General. 5.03.

Parameters
bDirectSolver 1 if the Direct Solver is selected
bInCore 1 if In Core is selected
bUseSingleCPU 1 if Use Single CPU is selected

Properties
Type Property Get Set Description
BOOL bAISC360_UseReducedStiff X 1 if Use Reduced Stiffness is selected
BOOL bAISC360_UseTau1 X 1 if Tau = 1.0 is selected
BOOL bMemberForceOutputAtFaceOfJoint X 1 if member force output at joint face is selected
BOOL bPDelta X 1 if P Delta is set to Yes
BOOL bPDelta_UseMassLoad X 1 if P Delta Use Mass is selected
BOOL bResponseSpectra_ConsiderSign X 1 if Consider Sign is selected
BOOL bResponseSpectra_IncludeMassinZDir X 1 if Include Z Mass is selected
BOOL bRigidEndZones_IgnoreEffects X 1 if Ignore Effects is selected
BOOL bSidePlate_HighSeismicDesign X 1 if High Seismic Design is selected
BOOL bWallElement_IncludeOOPStif X 1 if include out of plane stiffness is selected
Type Property Get Set Description
BOOL bWallElement_ReleaseRotFixity X 1 if release rotational fixity is selected
BOOL bWallElement_StoreStress X 1 if store wall stresses is selected
double dAISC360_UserEnteredTau X Value of the user defined Tau
double dAnalyticalModel_GeometryTol X Geometric tolerance
double dAnalyticalModel_MaxDistance X Maximum distance between nodes
double dAnalyticalModel_MergeTol X Merge node tolerance
double dPDelta_DeadLoadScaleFactor X P Delta scale factor
double dPDelta_LiveLoadScaleFactor X P Delta scale factor
double dPDelta_MassLoadScaleFactor X P Delta scale factor
double dPDelta_RoofLoadScaleFactor X P Delta scale factor
double dPDelta_SnowLoadScaleFactor X P Delta scale factor
double dRigidEndZones_Reduction X Rigid end zone reduction percentage
long lGroundLevel X Index to the ground level story. -1 if base.

IRawWallOpening
This interface represents a single raw wall opening.

GetOpeningVertices ([out,retval] IPoints** ppIVertexCoordinates)

Gets the vertices of the opening.

Parameters
ppIVertexCoordinates Pointer to an IPoints collection interface which represents the locations of the
vertices of the opening in 3D coordinates.

Properties
Type Property Get Set Description
double dHorizontalLoc X X Horizontal location along wall, measured from eWallRefCorner
double dOpeningHeight X X Height of opening
double dOpeningWidth X X Width of opening
double dVerticalLoc X X Vertical location along wall, measured from eWallRefCorner
EDA_MEMBER_LOC eWallRefCorner X X Reference corner from which opening location is measured
long lLabel X Generated label for display of wall opening
long lUID X Unique ID of wall opening
long lWallUID X Unique id of wall that opening was modeled in
IRawWallOpenings
This interface represents a collection of raw wall openings associated with a wall.

Add ([in] EDA_MEMBER_LOC eRefCorner, [in] double dHorizontalLoc, [in] double dVerticalLoc, [in] double dOpeningWidth, [in]
double dOpeningHeight, [out, retval] IRawWallOpening** ppIRawWallOpening)

Adds a raw wall opening to the collection of openings for the wall.

Parameters
eRefCorner Indicates the reference corner of the wall from which the opening location is measured
dHorizontalLoc Horizontal location along the wall, measured from eRefCorner
dVerticalLoc Vertical location along the wall, measured from eRefCorner
dOpeningWidth Width of opening
dOpeningHeight Height of opening
ppIRawWallOpening Pointer to an IRawWallOpening interface that represents the newly added raw wall opening

Delete ([in] long lUID, [out, retval] long* plRetval )

Deletes the raw wall opening with the given unique ID.

Parameters
lUID Unique ID of raw wall opening to delete
plRetval 0 if opening is deleted successfully
-1 if lIndex is invalid

Get ([in] long lUID, [out, retval] IRawWallOpening** ppIRawWallOpening)

Gets an interface for a specific raw wall opening by unique ID.

Parameters
lUID The unique ID of the requested wall opening
ppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested raw wall opening, or NULL if no wall
opening is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IRawWallOpening** ppIRawWallOpening)

Gets an interface for a raw wall opening by index.


Parameters
lIndex The index into the collection of the requested raw wall opening
ppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested raw wall opening, or NULL if lIndex is
invalid.

GetCount ([out, retval] long* plCount)

Gets the number of wall openings in the collection.

Parameters
plCount Number of raw wall openings in the collection

IRawWallSectionCut
This interface represents a single raw wall section cut. Raw indicates it may span over multiple walls.

ClearComboForceSets ()

Deletes all load combination-based force sets in the collection.

ClearForceSets ()

Deletes all force sets in the collection.

GetCoordinates ([out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out, retval] long* plRetval)

Gets the section cut ends, global coordinates.

Parameters
pStartPoint Start coordinate of section cut
pEndPoint End coordinate of section cut

GetCutBars ([in] BOOL bCompound, [out,retval] IWallBarPlacements** ppIWallBarPlacements)

Gets an array of bar placements cut by this section cut.

Parameters
bCompound If TRUE, and the section cut is part of a compound section cut, this will return the bar placements for all cuts in the
compound section cut.
If FALSE, only returns the bar placements for the current raw section cut.
ppIWallBarPlacements The bars cut by this section cut.

GetCutMembers ([out, retval] IDAArray** ppICutMembersArray)

Gets an array of members cut by this section cut.

Parameters
ppICutMembersArray Array of unique IDs of walls, beams, columns, that are cut by this section cut

GetForce ([in] EAnalysisResultType eAnalysisType, [in] long lAnalysisLoadCaseID, [out,retval] IMemberForce** ppIMemberForce)

Gets the force at this section cut for the given analysis type and load case ID.

Parameters
eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)
lAnalysisLoadCaseID Analysis load case ID for which to get force
ppIMemberForce Pointer to an IMemberForce interface that represents the force at this section cut.

GetForces ([in] EAnalysisResultType eAnalysisType, [out, retval] IMemberForces** ppIMemberForces)

Gets the force at this section cut for the given analysis type.

Parameters
eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)
ppIMemberForces Pointer to an IMemberForces collection interface that represents the forces at this section cut.

GetForceSets ([out, retval] IWallSectionDsnCutForceSets ** ppIWallSectionDsnCutForceSets)

Gets the collection force sets for the section cut.

Parameters
ppIWallSectionDsnCutForceSets Pointer to an IWallSectionDsnCutForceSets collection interface that represents all force sets in the wall
section design cut.

GetForcesForLoadCases ([in] EAnalysisResultType eAnalysisType, [in] DAArray aAnalysisLoadCaseIDs, [out, retval]


IMemberForces** ppIMemberForces)
Gets the force at this section cut for the given analysis type and load case ID.

Parameters
eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)
aAnalysisLoadCaseIDs Array of analysis load case IDs for which to get force
ppIMemberForces Pointer to an IMemberForces collection interface that represents the forces at this section cut for the given load
case IDs.

GetForcesOnHorizontalPlane ([in] long lLoadCaseUID, [in] long lNumWallUIDs, [in] long* palWallUIDs, [in] long
lNumBeamUIDs, [in] long* palBeamUIDs, [in] long lNumColumnUIDs, [in] long* palColumnUIDs, [in] double dCutStartX, [in] double
dCutStartY, [in] double dCutEndX, [in] double dCutEndY, [in] double dCutZ, [out] double* pdFX_g, [out] double* pdFY_g, [out]
double* pdFZ_g, [out] double* pdMX_g, [out] double* pdMY_g, [out] double* pdMZ_g, [out] double* pdCenterX, [out] double*
pdCenterY, [out] double* pdCenterZ, [out, retval] long *plRetVal)

Returns the resultant force on a horizontal plane through the specified members.

Parameters
lLoadCaseUID Unique id of the load case for which forces are requested.
lNumWallUIDs Number of wall unique ids in the palWallUIDs array.
palWallUIDs Array of wall unique ids for which forces are requested.
lNumBeamUIDs Number of beam unique ids in the palBeamUIDs array.
palBeamUIDs Array of beam unique ids for which forces are requested.
lNumColumnUIDs Number of column unique ids in the palColumnUIDs array.
palColumnUIDs Array of column unique ids for which forces are requested.
dCutStartX Global X coordinate of start point of section cut.
dCutStartY Global Y coordinate of start point of section cut.
dCutEndX Global X coordinate of end point of section cut.
dCutEndY Global Y coordinate of end point of section cut.
dCutZ Global Z coordinate of section cut.
pdFX_g Resultant force in X direction
pdFY_g Resultant force in Y direction
pdFZ_g Resultant force in Z direction
pdMX_g Resultant moment about X axis
pdMY_g Resultant moment about Y axis
pdMZ_g Resultant moment about Z axis
pdCenterX X coordinate of point where resultant force is acting on combined members
pdCenterY Y coordinate of point where resultant force is acting on combined members
pdCenterZ Z coordinate of point where resultant force is acting on combined members
plRetVal 0 if successful
-1 failed
GetForcesOnVerticalPlane ([in] long lLoadCaseUID, [in] long lWallUID, [in] double dX1, [in] double dY1, [in] double dZ1, [in]
double dX2, [in] double dY2, [in] double dZ2, [out] double* pdFX, [out] double* pdFY, [out] double* pdFZ, [out] double* pdMX, [out]
double* pdMY, [out] double* pdMZ, [out, retval] long *plRetVal)

Gets resultant force on a vertical cut (plane) across the thickness of the give wall member. The cut is defined by a line throught the mid-
plane of the wall.

Parameters
lLoadCaseUID Unique id of the load case for which forces are requested.
lWallUID Unique id of the wall for which forces are requested.
dX1 X coordinate of start point of section cut.
dY1 Y coordinate of start point of section cut.
dZ1 Z coordinate of start point of section cut.
dX2 X coordinate of end point of section cut.
dY2 Y coordinate of end point of section cut.
dZ2 Z coordinate of end point of section cut.
pdFX Resultant force in X direction.
pdFY Resultant force in Y direction.
pdFZ Resultant force in Z direction.
pdMX Resultant moment about X axis.
pdMY Resultant moment about Y axis.
pdMZ Resultant moment about Z axis.
plRetVal 0 if successful
-1 failed

GetPolygonPoints ([in] BOOL bCompound, [out, retval] IPoints** ppIPoints)

Gets a collection of points that form the polygon of the section cut in 3D space.

Parameters
bCompound If TRUE, and the section cut is part of a compound section cut, this will return the points for the polygon formed by
all cuts in the compound section cut.
If FALSE, only returns the polygon for the current raw section cut.
ppIWallBarPlacements Collection of points that make up the 3D polygon for this section cut.

Properties
Type Property Get Set Description
BOOL bAutoGenerated X X Indicates whether the section cut was autocreated by the module
BOOL bFullModule X X Indicates whether the section cut was created in the full shear wall module
Type Property Get Set Description
BOOL bIncBoundaryElements X X Indicates whether or not to include the forces from the boundary elements (such as a column
attached to a wall) when getting the forces for the section cut
double dEndOffset X X Offset from bottom of wall or opening at which section cut terminates
double dStartOffset X X Offset from bottom of wall or opening from which section cut originates
EMemberOrientation eOrientation X X Orientation of section cut
EStatusState eStatus X Section cut design status
long lEndEdgeIndex X X Index of edge of wall or opening at which section cut terminates, 0 being the bottom edge and
continuing counter-clockwise (0-3 only valid indices at this time)
long lEndMemberUID X X Unique ID of wall or wall opening at which section cut terminates
long lSectionCutWDGID X X Section Cut Group ID within the Wall Design Group
long lStartEdgeIndex X X Index of edge of wall or opening from which section cut originates, 0 being the bottom edge
and continuing counter-clockwise (0-3 only valid indices at this time)
long lStartMemberOwnerUID X X If the start member is an opening, this contains the member ID of the wall that the opening is
in. If the start member is a wall, this is the same as lStartMemberUID.
long lStartMemberUID X X Unique ID of wall or wall opening from which section cut originates
long lUID X Unique ID of section cut
long lWallDesignGroup X X Wall Design Group number this section cut is part of or -1
BSTR strLabel X X User-defined label for section cut

IRawWallSectionCuts
This interface represents a collection of raw wall section cuts associated with a wall.

Add ([in] BSTR bstrLabel, [in] ESectionCutOrientation eOrientation, [in] long lStartMemberUID, [in] long lStartEdgeIndex, [in] double
dStartOffset, [in] long lEndMemberUID, [in] long lEndEdgeIndex, [in] double dEndOffset, [out, retval] ] IRawWallSectionCut**
ppIRawWallSectionCut)

Adds a raw section cut to the collection of section cuts for the wall.

Parameters
bstrLabel Display label for the section cut
eOrientation Orienation of section cut
lStartMemberUID Unique ID of member at which section cut starts (will be a wall or wall opening)
lStartEdgeIndex Index of edge of wall or opening at which section cut starts
dStartOffset Offset from start member edge
lEndMemberUID Unique ID of member at which section cut terminates (wioll be a wall or wall opening)
lEndEdgeIndex Index of edge of wall or opening at which section cut terminates
dEndOffset Offset from end member edge
AddRaw ([in] SCoordinate sStartPoint, [in] SCoordinate sEndPoint, [out, retval] ] IRawWallSectionCut** ppIRawWallSectionCut)

Adds a raw section cut to the collection of section cuts.

Parameters
sStartPoint Start coordinates of the raw section cut
sEndPoint End coordinates of the raw section cuts

Clear ([in] BOOL bClearAutoGenOnly)

Deletes raw wall section cuts in the receiver’s collection.

Parameters
bClearAutoGenOnly 1: Only delete auto-generated section cuts from collection.
0: Delete all section cuts from collection.

Delete ([in] long lUID, [out, retval] long* plRetval )

Deletes the raw wall section cut with the given unique ID.

Parameters
lUID Unique ID of raw wall section cut to delete
plRetval 0 if opening is deleted successfully
-1 if lIndex is invalid

Filter ([in] ERawWallSectionCutFilter eSectionCutFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of raw wall section cuts based on given criteria.

Parameters
eSectionCutFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)

Gets an interface for a specific raw wall section cut by unique ID.
Parameters
lUID The unique ID of the requested wall section cut
ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested raw wall section cut, or NULL if no wall
section cut is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)

Gets an interface for a raw wall section cut by index.

Parameters
lIndex The index into the collection of the requested raw wall section cut
ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested raw wall section cut, or NULL if
lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of wall section cuts in the collection.

Parameters
plCount Number of raw wall section cuts in the collection

IRBSPropertySet
Interface with reduced beam property set values. Obtained from a specific IBeam.

Properties
Type Property Get Set Description
double d_a X The distance from the column face to the start of the RBS.
double d_b X The length of the reduced beam section.
double d_c X The amount of flange removed on each side of the beam.

IReactionNode
This interface represents a single reaction node.

GetMembersAtReactionNode ([out,retval] DAArray** ppDAArray)


Gets an array of members at the reaction node.

Parameters
ppDAArray Pointer to an DAArray interface that represents the members at this reaction node.

GetReaction ([in] EFrameMemberForceSource eFrameMemForceSource, [in] long lAnalysisCaseID, [out, retval] IPointLoad**
ppIPointLoad)

Gets an IPointLoad interface for a reaction at a node.

Parameters
eFrameMemForceSource EFrameMemberForceSource
lAnalysisCaseID Unique ID of the analysis case
ppIPointLoad Pointer to an IPointLoad interface

GetReactions ([in] EFrameMemberForceSource eFrameMemForceSource, [out, retval] IPointLoads** ppIPointLoads)

Gets an IPointLoads interface for a collection of reactions at a node.

Parameters
eFrameMemForceSource EFrameMemberForceSource
ppIPointLoads Pointer to an IPointLoads interface

Properties
Type Property Get Set Description
SCoordinate SCoordinate X The coordinates of the reaction node.

IReactionNodes
This interface represents a collection of reaction nodes.

Filter ([in] EReactionNodeFilter EReactionNodeFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plCount)

Gets the number of wall section cuts in the collection.

Parameters
EReactionNodeFilter EReationNodeFilter
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases,
this parameter is not applicable
plCount Number reaction nodes in the filtered collection

GetAt ([in] long lIndex, [out, retval] IReactionNode** ppIReactionNode)

Gets an interface for a reaction node by index.

Parameters
lIndex The index into the collection of the requested raw wall section cut
ppIReactionNode Pointer to an IReactionNode interface that represents the requested reaction node, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of reaction nodes in the collection.

Parameters
plCount Number of reaction nodes in the collection

IRecord
This interface is used in conjunction with ITable to represent the data in a single record in a generic table. Please note: unlike most
properties in RAM Data Access, all properties in this table are indexed by the field name. In languages that support it, this field name
is specified in the same way as an array offset.

IRecord Properties
Type Property Get Set Description
BOOL bValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTBool.
double dValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTDouble.
long lValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTLong.
BSTR strValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTString.
VARIANT varValue X X The value of the field specified by bstrName. The type of data returned depends on the eType setting of the specified
field.

IRecords
This interface is use to represent the records in a generic table.
Add ([out,retval] IRecord **ppINewRecord)

Adds a new long field to the receiver.

Parameters
ppINewRecord Pointer to an IRecord interface that represents the newly added record.

DeleteAt (long lIndex)

Deletes the record at the given index.

Parameters
lIndex The index of the record to be deleted.

GetAt ([in] long lIndex, [out,retval] IRecord **ppIRecord)

Gets an interface for a specific record by index. Note: while the order of the records in an IRecords instance will not change, the order is
not recorded, so subsequent loading of the records could result in the records being returned in a different order.

Parameters
lIndex The index in the collection the requested record.
ppIRecord Pointer to an IRecord interface that represents the requested record, or NULL if lIndex is invalid.

Properties
Type Property Get Set Description
long lCount X The number of records in the collection.

IShell
This interface is used represent a finite element shell element (quad).

GetNodeResolvedAppliedLoads ([in] ELoadCaseType eLoadcaseType, [out, retval] IPointLoads** ppIPointLoads)

This method gets the resolved point load at the shell nodes due to surface, line and point load on the shell for a given load case type.

Parameters
eLoadcaseType Load case type
ppIPointLoads Resolved point loads at the
nodes of the shell

GetPoints ([out,retval] IPoints** ppIPoints)

Gets the collection of points for this shell.

Parameters
ppIPoints Pointer to an IPoints interface that represents the points in the shell.

Properties
Type Property Get Set Description
EUniqueMemberTypeID eMemberType X The member type of the member this shell was calculated from.
LONG lMemberID X The member ID of the member this shell was calculated from. This could be a wall ID or a deck ID.
LONG lUID X The unique ID for this shell.

IShells
This interface is used to hold a collection of IShell objects.

GetAt ([in] long lIndex, [out, retval] IShell** ppIShell)

Gets the IShell object at the specified index.

Parameters
lIndex The index of the specified shell.
ppIShell The IShell object at the specified index.

GetCount ([out,retval] long** plCount)

Gets number of IShell objects in the collection.

Parameters
plCount The number of IShell objects in the collection.
ISlabEdge
This interface represents a specific slab edge corresponding to a slab perimeter or slab opening.

GetCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out, retval] long*
plRetval)

Gets the coordinates for the slab edge in 2-dimensions.

Parameters
pdStartX The x coordinate at the start of the slab edge
pdStartY The y coordinate at the start of the slab edge
pdEndX The x coordinate at the end of the slab edge
pdEndY The y coordinate at the end of the slab edge
plRetval 0 if successful, -1 if coordinates cannot be retrieved

SetCoordinates ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [out, retval] long* plRetval)

Gets the coordinates for the slab edge in 2-dimensions.

Parameters
dStartX The x coordinate at the start of the slab edge
dStartY The y coordinate at the start of the slab edge
dEndX The x coordinate at the end of the slab edge
dEndY The y coordinate at the end of the slab edge
plRetval 0 if successful, -1 if coordinates cannot be set

Properties
Type Property Get Set Description
double dOffset X X Offset of slab edge from centerline of beam. In the RAM Structural System, slab edges are laid out along beams.
The coordinates along the beams are saved along with the offset from the beam to the edge of the slab.

ISlabEdges
This interface represents a collection of slab edges. Slab edges are associated with either a slab perimeter or a slab opening.

Add ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [in] double dOffset, [out, retval] ISlabEdge**
ppISlabEdge)
Adds a new slab edge or opening edge to the collection. Only works if the receiver was created using IFloorType::GetAllSlabEdges or
IFloorType::GetAllSlabOpenings.

Parameters
double dStartX The X coordinate of the beginning of the slab/opening edge.
double dStartY The Y coordinate of the beginning of the slab/opening edge.
double dEndX The X coordinate of the end of the slab/opening edge.
double dEndX The X coordinate of the end of the slab/opening edge.
double dOffset The offset of the actual edge from the given points.
ppISlabEdge Pointer to an ISlabEdge interface that represents the requested slab edge, or NULL if lIndex is invalid.

Delete ([in] long lIndex, [out, retval] long *plRetval)

Deletes the given slab edge or opening edge from the collection. Only works if the receiver was created using
IFloorType::GetAllSlabEdges or IFloorType::GetAllSlabOpenings.

Parameters
lIndex The index into the collection of the requested slab/opening edge
plRetval If less than zero, the deletion failed. Otherwise, the deletion was successful.

GetAt ([in] long lIndex, [out, retval] ISlabEdge** ppISlabEdge)

Gets an interface for a specific slab edge by index.

Parameters
lIndex The index into the collection of the requested slab edge
ppISlabEdge Pointer to an ISlabEdge interface that represents the requested slab edge, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of slab edges in the collection.

Parameters
plCount Number of slab edges in the collection

ISlabOpening
This interface represents a specific slab opening on a floor type.
GetEdges ([out, retval] ISlabEdges** ppISlabEdges)

Gets the collection of edges for this slab opening.

Parameters
ppISlabEdges Pointer to an ISlabEdges collection interface that represents the edges that define this slab opening.

GetOpeningVertices ([out, retval] IPoints** ppIVertexCoordinates)

Gets the collection of vertices for this slab opening.

Parameters
ppIVertexCoordinats Pointer to an IPoints collection interface that represents the vertices that define this slab opening.

Properties
Type Property Get Set Description
long lUID X Unique ID of slab opening

ISlabOpenings
This interface represents a collection of all slab openings on a floor type.

Add (not implemented)

Delete (not implemented)

Get ([in] long lUID, [out, retval] ISlabOpening** ppISlabOpening)

Gets an interface for a specific slab opening by unique ID.

Parameters
lUID The unique ID of the requested slab perimeter
ppISlabOpening Pointer to an ppISlabOpening interface that represents the requested slab opening, or NULL if no slab opening is
found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ISlabOpening** ppISlabOpening)


Gets an interface for a specific slab opening by index.

Parameters
lIndex The index into the collection of the requested slab opening
ppISlabOpening Pointer to an ISlabOpening interface that represents the requested slab opening, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of slab openings in the collection.

Parameters
plCount Number of slab openings in the collection

ISlabPerimeter
This interface represents a specific slab perimeter on a floor type.

GetEdges ([out, retval] ISlabEdges** ppISlabEdges)

Gets the collection of edges for this slab perimeter.

Parameters
ppISlabEdges Pointer to an ISlabEdges collection interface that represents the edges that define this slab perimeter.

GetPerimeterVertices ([out, retval] IPoints **ppIVertexCoordinates)

Gets the collection of vertices for this slab perimeter.

Parameters
ppIVertexCoordinates Pointer to an IPoints collection interface that represents the vertices for this slab perimeter.

Properties
Type Property Get Set Description
long lUID X Unique ID of slab perimeter
ISlabPerimeters
This interface represents the collection of slab perimeters on a floor type.

Add (not implemented)

Delete (not implemented)

Get ([in] long lUID, [out, retval] ISlabPerimeter** ppISlabPerimeter)

Gets an interface for a specific slab perimeter by unique ID.

Parameters
lUID The unique ID of the requested slab perimeter
ppISlabPerimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter, or NULL if no slab perimeter
is found in the collection with the given unique ID. If the collection is filtered, only the slab perimeters in the
filtered collection are considered.

GetAt ([in] long lIndex, [out, retval] ISlabPerimeter** ppISlabPerimeter)

Gets an interface for a specific slab perimeter by index.

Parameters
lIndex The index into the collection of the requested slab perimeter
ppISlabPerimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of slab perimeters in the collection. When the collection is filtered, this function returns the number in the filtered
collection, not the total number of slab perimeters on the floor type. When the collection is unfiltered, this function returns the total number
of slab perimeters on a floor type.

Parameters
plCount Number of slab perimeters in the collection

ISnowLoadPropertySet
This interface defines the surface load properties.
Properties
Type Property Get Set Description
double dMagnitude1 X X Drift snow load magnitude at first point or constant snow load magnitude
double dMagnitude2 X X Drift snow load magnitude at second point
double dMagnitude3 X X Drift snow load magnitude at third point
ESnowLoadType eType X X Enumerator for snow load type
long lUID X Unique ID of the snow load property
string strLabel X X Snow load property label

ISnowLoadPropertySets
This interface represents a collection if ISnowLoadPropertySet objects.

Add ([in] BSTR bstrLabel, [out,retval] ISnowLoadPropertySet **ppISnowLoadPropertySet)

Adds a new snow load property set to the receiver.

Parameters
bstrLabel The label for the new surface load set.
ppISurfaceLoadPropSet Pointer to an ISnowLoadPropertySet interface that represents the newly added surface load set.

Delete ([in] long lUID)

Deletes a snow load property set from the collection. Returns 0 if the snow load set was deleted successfully or -1 if the unique ID was not
found in the receiver.

Parameters
lUID Unique ID of snow load property to be deleted

Get ([in] long lUID, [out, retval] ISnowLoadPropertySet **ppISnowLoadProperySet)

Gets an interface for a specific snow load property load set by unique ID.

Parameters
lUID The unique ID of the requested snow load property set
ppISnowLoadPropertySet Pointer to an ISnowLoadPropertySet interface that represents the requested snow load set or NULL if no
snow load property set is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ISnowLoadPropertySet **ppISnowLoadPropertySet)

Gets an interface for a specific surface load set by index.

Parameters
lIndex The index into the collection of the requested snow load property set
ppISnowLoadPropertySetSet Pointer to an ISnowLoadPropertySet that represents the requested snow load property set or NULL if lIndex
is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of surface load sets in the receiver.

Parameters
plCount The number of ISnowLoadPropertySet objects in the collection.

ISnowLoadSet
This interface defines the points of the polygon that define the limits in which a single ISnowLoadPropertySet is applied.

GetControlPointIndex ([in] long IWhichPoint , [out, retval] long* plIndex)

Gets the index for the polygon point associated with the drift control point.

Parameters
IWhichPoint Point 1, 2, or 3 which is associated with drift magnitude 1, 2, or 3.
plIndex Index of the drift control point in the polygon.

GetPoints ([out,retval] IPoints **ppIPoints)

Gets an interface for the collection of points in the receiver.

Parameters
ppIPoints Pointer to an IPoints interface for the points in the receiver.

SetControlPointIndex ([in] long IWhichPoint , [in] long lIndex)

Sets the index for the polygon point associated with the drift control point.
Parameters
IWhichPoint Point 1, 2, or 3 which is associated with drift magnitude 1, 2, or 3.
lIndex Index of the drift control point in the polygon.

SetPoints ([in] IPoints *pIPoints , [out, retval] long* plRetval)

Sets an interface for the collection of points in the receiver.

Parameters
pIPoints An IPoints interface to assign to the receiver.
plRetVal 0 if points were assigned successfully.
-1 if assignment failed.

Properties
Type Property Get Set Description
long lPropertySetUID X X Unique ID of the snow load property set assigned to this surface load set.
long lUID X Unique ID of this snow load set.

ISnowLoadSets
This interface provides a collection of ISnowLoadSets, obtained from a single Floor Layout type typically.

Add ([in] BSTR bstrLabel, [out,retval] ISnowLoadSet **ppISnowLoadSet)

Adds a new snow load set to the receiver.

Parameters
bstrLabel The label for the new snow load set.
ppISnowLoadSet Pointer to an ISnowLoadSet interface that represents the newly added snow load set.

Delete ([in] long lUID)

Deletes a snow load set from the collection. Returns 0 if the snow load set was deleted successfully or -1 if the unique ID was not found in
the receiver.

Parameters
lUID Unique ID of snow load set to be deleted
Get ([in] long lUID, [out, retval] ISnowLoadSet **ppISnowLoadSet)

Gets an interface for a specific snow load set by unique ID.

Parameters
lUID The unique ID of the requested snow load set.
ppISurfaceLoadPropSet Pointer to an ISnowLoadSet interface that represents the requested snow load set, or NULL if no surface load
set is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ISnowLoadSet **ppISnowLoadSet)

Gets an interface for a specific snow load set by index.

Parameters
lIndex The index into the collection of the requested snow load set
ppISnowLoadSet Pointer to an ISnowLoadSet interface that represents the requested snow load set, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of snow load sets in the receiver.

Parameters
plCount The number of ISnowLoadSet objects in the collection.

ISteelBeamDesignResult
This interface represents the steel beam design results for an individual steel beam.

GetNumStudsInSegments ([out, retval] DAArray** ppaINumStudsinSegments)

Gets the collection of stud segments for the steel beam as an array of longs. Use the size of the array to determine the number of stud
segments. Each value in the array represents the number of studs in that segment.

Parameters
ppaINumStudsDAArray Array of longs that represent the number of studs in each segment
plRetval 0 if successful, -1 if failed to set studs
SetNumStudsInSegments ([in] DAArray* paINumStudsInSegments, [out, retval] long* plRetval)

Sets the collection of stud segments for the steel beam as an array of longs. Each value in the array represents the number of studs in that
segment. Note that the number of stud segments for the beam is determined at design time. The number of segments should not be
changed unless to change it to uniformly distributed studs (1 stud segment).

Parameters
paINumStudsDAArray Array of longs that represent the number of studs in each segment
plRetval 0 if successful, -1 if failed to set studs

Properties
Type Property Get Set Description
double dCriticalDeflectionInteraction X Controlling deflection ratio from the Steel Beam module
double dDesignCapacityInteraction X Controlling moment ratio from the Steel Beam module

ISteelCriteria
This interface provides access to all steel design criteria, including the names of the steel design tables used during the design.
Note that all tables must be located in the Tables directory on the target computer.

GetDeckTableEntries ([out, retval] IDeckTableEntries** ppIDeckTableEntries)

Gets the deck table entries.

Parameters
ppIDeckTableEntries Pointer to an IDeckTableEntries interface that represents the entries in the model’s deck table.

Properties
Type Property Get Set Description
BOOL bUseModelAltBeamSteelTable X Whether the alternate beam design table used by the model is stored with the
model (TRUE), rather than from the Tables directory (FALSE). No longer
applicable in v14.06.00 and later.
BOOL bUseModelMasterTable X Whether the master table used by the model is stored with the model (TRUE),
rather than from the Tables directory (FALSE). No longer applicable in
v14.06.00 and later.
BOOL bWOAllowStiffenerOneSide X X Allow stiffeners on one side of web (used during design of steel beams when
stiffeners are required for web openings)
BOOL bWOAllowStiffenerTwoSide X X Allow stiffeners on both sides of web (used during design of steel beams when
stiffeners are required for web openings)
Type Property Get Set Description
double dJstAllowableStressRatio X X Allowable stress ratio for joists
double dJstDefMaxConcentratedLoads X X Maximum concentrated loads in kips (default criteria, applies when
eStlJstNonUniUseEquivalentMethod is specified for
eJstDefNonUniformLoadOption)
double dJstDefUniformTolerance X X Tolerance for variation for uniform load (0-100%) (Default criteria for joists with
uniform load, when eStlJstUniSelectFromStdTable is specified for
eJstDefUniformLoadOption)
double dJstDefVariationTolerance X X Tolerance for variation of loads (default criteria, applies when
eStlJstNonUniUseEquivalentMethod is specified for
eJstDefNonUniformLoadOption)
double dWOStiffenerFy X X Fy of stiffeners for web openings
double dWOStiffenerLengthInc X X Increment for stiffener length (used during design of steel beams when
stiffeners are required for web openings)
double dWOStiffenerMinThickness X X Minimum thickness of stiffeners (used during design of steel beams when
stiffeners are required for web openings)
double dWOStiffenerMinWidth X X Minimum width of stiffeners (used during design of steel beams when stiffeners
are required for web openings)
double dWOStiffenerThicknessInc X X Increment for stiffener thickness (used during design of steel beams when
stiffeners are required for web openings)
double dWOStiffenerWidthInc X X Increment for stiffener width (used during design of steel beams when stiffeners
are required for web openings)
ESteelDesignCode eBasePlateDesignCode X X Design code to use for design of base plates
EJstNonUniformLoadOption eJstDefNonUniformLoadOption X X Default criteria for joists with non-uniform load
EJstUniformLoadOption eJstDefUniformLoadOption X X Default criteria for joists with uniform load
ESteelDesignCode eSteelBeamDesignCode X X Design code to use for design of steel beams
ESteelDesignCode eSteelColumnDesignCode X X Design code to use for design of steel columns
BSTR strAltCastellatedTable X X Alternate castellated beam section table to use when designing cellular beams.
File must have a .cas extension. Maximum 39 characters allowed.
BSTR strAltCellularTable X X Alternate cellular beam section table to use when designing cellular beams. File
must have a .cel extension. Maximum 39 characters allowed.
BSTR strAltSteelBeamTable X X Alternate section table to use when designing steel beams. File must have a
.bms extension. Maximum 32 characters allowed.
BSTR strDeckTable X X Deck table to use for composite deck properties. File must have a .dck
extension. Maximum 32 characters allowed.
BSTR strDefCastellatedTable X X Default castellated beam section table to use when designing cellular beams.
File must have a .cas extension. Maximum 39 characters allowed.
BSTR strDefCellularTable X X Default cellular beam section table to use when designing cellular beams. File
must have a .cel extension. Maximum 39 characters allowed.
BSTR strDefSteelBeamTable X X Default section table to use when designing steel beams. File must have a
.bms extension. Maximum 32 characters allowed.
BSTR strJstDefCustomLabel X X Custom label for joists with uniform loads (default criteria, applies if
eStlJstUniUseCustomLabel is specified for eJstDefUniformLoadOption). Max 4
characters allowed.
Type Property Get Set Description
BSTR strJstDefNonUniCSJstTable X X Default constant shear table to use when designing joists with non-uniform
loads (applies if eStlJstNonUniSelectFromCSTable is specified for
eJstDefNonUniformLoadOption). File must have a .csj extension. Maximum 32
characters allowed.
BSTR strJstDefUniformCSJstTable X X Default constant shear table to use when designing joists with uniform loads
(applies if eStlJstUniSelectFromCSTable is specified for
eJstDefUniformLoadOption). File must have a .csj extension. Maximum 32
characters allowed.
BSTR strJstDefUniformStdJstTable X X Default standard joist table to use when designing joists with uniform loads
(applies if eStlJstUniSelectFromStdTable is specified for
eJstDefUniformLoadOption). File must have a .jst extension. Maximum 32
characters allowed.
BSTR strMasterSteelTable X X Master section table that lists all sections to be used during design. File must
have a .tab extension. Maximum 32 characters allowed.
BSTR strSteelColumnTable X X Section table to use when designing steel columns. File must have a .col
extension. Maximum 32 characters allowed.

ISteelMaterial
This interface represents a single steel material property set. A member’s steel material properties can be read and set through this
interface.

Properties
Type Property Get Set Description
double dFy X X Yield strength (Fy) of the steel.

IStories
This interface represents a collection of all stories in the model. It can be used to add and delete stories.

Add ([in] long lFlrTypeID, [in] BSTR bstrStoryName, [in] double dFloorHeight, [out, retval] IStory** ppIStory)

Adds a new story to the collection of stories for the model.

Parameters
lFlrTypeID The unique ID of the floor type to associate with this story
bstrStoryName A label for the story. Limited to 19 characters.
dFloorHeight The height of this story (not the elevation, but the distance from floor to ceiling)
ppIStory Pointer to an IStory interface that represents the newly added story.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes a story with the given unique ID from the collection.

Parameters
lUID Unique ID of story to delete
plRetval 0 if story is deleted successfully
-1 if unique ID is not found in collection of story

Get ([in] long lUID, [out, retval] IStory** ppIStory)

Gets an interface for a specific story by unique ID.

Parameters
lUID The unique ID of the requested story
ppIStory Pointer to an IStory interface that represents the requested story, or NULL if no story is found in the collection with
the given unique ID.

GetAt ([in] long lIndex, [out, retval] IStory** ppIStory)

Gets an interface for a specific story by index.

Parameters
lIndex The index into the collection of the requested story
ppIStory Pointer to an IStory interface that represents the requested story, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of stories in the collection.

Parameters
plCount Number of stories in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for stories.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with
stories

InsertAt ([in] long lIndex, [in] long lFlrTypeID, BSTR bstrStoryName, [in] double dFloorHeight, [out, retval] IStory** ppIStory)

Inserts a story at the specified index. For example, if 0 is the new story index, a new story is added at the lowest level and all other stories
are pushed up one level.

Parameters
lIndex Index where the story is added
lFlrTypeID Unique ID of the floor type
dFloorHeight Story height between the inserted story and the story (or base) below
ppIStory Pointer to an IStory interface that represents the inserted story.

IStory
This interface represents a single story in the model.

DeleteVerticalBrace ([in] long lBraceID, [out, retval] long* plRetval)

Deletes the vertical brace with the given unique ID.

Parameters
lBraceID Unique ID of vertical brace to delete
plRetval 0 if vertical brace is deleted successfully
-1 if unique ID is not found in list of vertical braces on this story

GetBeams ([out, retval] IBeams** ppIBeams)

Gets the collection of all beams for this story.

Parameters
ppIBeams Pointer to an IBeams collection interface that represents all beams associated with this story

GetColumns ([out, retval] IColumns** ppIColumns)


Gets the collection of all columns for this story.

Parameters
ppIColumns Pointer to an IColumns collection interface that represents all columns associated with this story

GetContinuousFnds ([out, retval] IContinuousFnds** ppIContinuousFnds)

Gets the collection of all continuous foundations for this story.

Parameters
ppIContinuousFnds Pointer to an IContinuousFnds collection interface that represents all continuous foundations associated with this
story

GetDiaphragms ([out, retval] IDiaphragms** ppIDiaphragms)

Gets the collection of all diaphragms for this story. Note that this is equivalent to calling GetDiaphragms2 with eSource set to
eDSFrameAnalysis.

Parameters
ppIDiaphragms Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story

GetDiaphragms2 ([in] EDiaphragmSource eSource, [out, retval] IDiaphragms** ppIDiaphragms)

Gets the collection of all diaphragms for this story from the given source.

Parameters
eSource The source from which to fetch the diaphragm data. Note that the behavior of the IDiaphragms object is affected
by the source from which it was loaded.
ppIDiaphragms Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story, populated
from the given source.

GetFloorType ([out, retval] IFloorType** ppIFloorType)

Gets the floor type associated with this story.

Parameters
ppIFloorType Pointer to an IFloorType interface that represents the floor type associated with this story

GetHorizontalBraces ([out, retval] IHorizBraces** ppIHorizBraces)


Gets the collection of all horizontal braces for this story.

Parameters
ppIHorizBraces Pointer to an IHorizBraces collection interface that represents all horizontal braces associated with this story

GetIsolatedFnds ([out, retval] IIsolatedFnds** ppIIsolatedFnds)

Gets the collection of all isolated foundations for this story.

Parameters
ppIIsolatedFnds Pointer to an IIsolatedFnds collection interface that represents all isolated foundations associated with this story

GetMemberReactionNodesFromFloorBelow ([out, retval] IReactionNodes** ppIReactionNodes)

Gets the collection of nodes at the bottom of the story in the concrete analysis finite element model.

Parameters
ppIReactionNodes Pointer to an IReactionNodes interface that represents a collection of reaction nodes for this member

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the story.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

GetTimeStamp ([in] ETimeStampAction eAction, [in] long lObjectID, [in] ETimeStampProperty eProperty, [out] long *plTimestamp,
[out, retval] long *plRetval)
Gets the time stamp of the last update to this story, for the given action and property.

Parameters
eAction The action for which the timestamp was recorded (see enum for action types)
lObjectID The Unique ID of the object type, can be any member ID (Note that the timestamp is not for the specific member
identified but the type, i.e. if a beam unique id is used the timestamp will be for the most recent action for a
member of that type).
eProperty For some objects the property that changed may be of importance as well. For example, to find the most recent
time that a beam size was changed you would pass in the eTSSize property along with a beam unique ID and an
action.
plTimestamp The time in seconds since Jan 1, 1969
plRetval 0 if time stamp retrieved successfully

GetVerticalBraces ([out, retval] IVerticalBraces** ppIVerticalBraces)

Gets the collection of all vertical braces whose top node attaches to this story.

Parameters
ppIVerticalBraces Pointer to an IVerticalBraces collection interface that represents all vertical braces at this story

GetWalls ([out, retval] IWalls** ppIWalls)

Gets the collection of all walls for this story.

Parameters
ppIWalls Pointer to an IWalls collection interface that represents all walls associated with this story

GetZForPoint ([in] double dX, [in] double dY, [out, retval] double *pdZ)

Gets the elevation of a point inside the slab edge on a story. The method will fail if the point is outside of the slab edge.

Parameters
dX X coordinate of the point
dY Y coordinate of the point
pdZ Z coordinate on the story cooresponding to the X and Y coordinates

IsolateFloorType ()

If there are any other stories using the floor type referenced by the story, a copy of the floor type is made and assigned to the other stories.
Properties
Type Property Get Set Description
BOOL bStySpliceAtSty X X If TRUE, all columns will be spliced at this story
double dElevation X The elevation of the story from ground level to the bottom of the story

double dFlrHeight X X The height of this story (not the elevation, but the distance from floor to ceiling)
long lLevel X The level of the story, with 1 being the lowest story
long lUID X Unique ID of story.
BSTR strLabel X X Label of story. Limited to 19 characters.

IStress
This interface is used represent a single stress. Refer to the RAM Concrete Shear Wall manual for sign convention.

Properties
Type Property Get Set Description
DOUBLE dS11 X In plane normal stress.
DOUBLE dS12 X In plane shear stress along an edge.
DOUBLE dS13 X Transverse shear stress.
DOUBLE dS22 X In plane normal stress.
DOUBLE dS23 X Transverse shear stress.
DOUBLE dS33 X Transverse direct stress.
DOUBLE dSAvgMax X Average stress.
DOUBLE dSMax X Maximum in plane principal stress
DOUBLE dSMin X Minimum in plane principal stress
DOUBLE dSVMax X Maximum shear stress.

IStresses
This interface is used to hold a collection of IStress objects.

GetAt ([in] long lIndex, [out, retval] IStress** ppIStress)

Gets the IStress object at the specified index.

Parameters
lIndex The index of the specified stress.
ppIStress The IStress object at the specified index.

GetCount ([out,retval] long** plCount)

Gets number of IStress objects in the collection.

Parameters
plCount The number of INode objects in the collection.

IStringValue
Internal use only.

ISurfaceLoadPropertySet
This interface provides the properties of a surface load as defined in the RAM Modeler. These properties are typically associated
with ISurfaceLoadSets which define the extents (polygon) in which these properties are to be applied.

Properties
Type Property Get Set Description
double dConstDeadLoad X X Magnitude of construction dead load entered for this surface load.
double dConstLiveLoad X X Magnitude of construction live load entered for this surface load.
double dDeadLoad X X Magnitude of dead load entered for this surface load.
double dLiveLoad X X Magnitude of live load entered for this surface load.
double dMassDeadLoad X X Mass dead load magnitude (positive is down)
double dPartitionLoad X X Madgnitude of partition load entered for theis surface load
ELoadCaseType eLiveLoadType X X Flag describing the type of live load defined by this surface load
property set. While ELoadCaseType enumerates all possible load
case types, only the live load type is returned in this parameter. The
possible return values are: LiveReducibleLCa, LiveStorageLCa,
LiveUnReducibleLCa, and LiveRoofLCa.
long lUID X Unique ID of surface load property set.
BSTR strLabel X X Label of surface load property set.
ISurfaceLoadPropertySets
This interface represents a collection of ISurfaceLoadPropertySet objects.

Add ([in] BSTR bstrLabel, [out,retval] ISurfaceLoadPropertySet **ppISurfaceLoadPropSet)

Adds a new surface load property set to the receiver.

Parameters
bstrLabel The label for the new surface load property set.
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadPropertySet interface that represents the newly added surface load property set.

Delete ([in] long lUID, [out, retval] long *plRetval)

Deletes a surface load property set from the collection.

Parameters
lUID Unique ID of floor type to be deleted
plRetval 0 if surface load property set is deleted successfully
-1 if the unique ID was not found in the receiver.

Get ([in] long lUID, [out, retval] ISurfaceLoadPropertySet **ppISurfaceLoadPropSet)

Gets an interface for a specific surface load property set by unique ID.

Parameters
lUID The unique ID of the requested surface load property set.
ppFloorType Pointer to an ISurfaceLoadPropertySet interface that represents the requested surface load property set, or NULL if
no surface load property set is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ISurfaceLoadPropertySet **ppISurfaceLoadPropSet)

Gets an interface for a specific surface load property set by index.

Parameters
lIndex The index into the collection of the requested surface load property set
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadPropertySet interface that represents the requested surface load property set, or
NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)


Gets the number of surface load property sets in the receiver.

Parameters
plCount The number of ISurfaceLoadPropertySet objects in the collection.

ISurfaceLoadSet
This interface defines the points of the polygon that define the limits in which a single SurfacePropertyLoadSet is applied.

GetPoints ([out,retval] IPoints **ppIPoints)

Gets an interface for the collection of points in the receiver.

Parameters
ppIPoints Pointer to an IPoints interface for the points in the receiver.

SetPoints ([in] IPoints *pIPoints , [out, retval] long* plRetval)

Sets an interface for the collection of points in the receiver.

Parameters
pIPoints An IPoints interface to assign to the receiver.
plRetVal 0 if points were assigned successfully.
-1 if assignment failed.

ISurfaceLoadSet Properties
Type Property Get Set Description
long lPropertySetUID X X Unique ID of the surface load property set to which this surface load set belongs.
long lUID X Unique ID of this surface load set.

ISurfaceLoadSets
This interface provides a collection of ISurfaceLoadSets, obtained from a single Floor Layout type typically.

Add ([in] BSTR bstrLabel, [out,retval] ISurfaceLoadSet **ppISurfaceLoadPropSet)


Adds a new surface load set to the receiver.

Parameters
bstrLabel The label for the new surface load set.
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the newly added surface load set.

Delete ([in] long lUID, [out, retval] long *plRetval)

Deletes a surface load set from the collection.

Parameters
lUID Unique ID of surface load set to be deleted
plRetval 0 if surface load set is deleted successfully
-1 if the unique ID was not found in the receiver.

Get ([in] long lUID, [out, retval] ISurfaceLoadSet **ppISurfaceLoadPropSet)

Gets an interface for a specific surface load set by unique ID.

Parameters
lUID The unique ID of the requested surface load set.
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the requested surface load set, or NULL if no surface
load set is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] ISurfaceLoadSet **ppISurfaceLoadPropSet)

Gets an interface for a specific surface load set by index.

Parameters
lIndex The index into the collection of the requested surface load set
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the requested surface load set, or NULL if lIndex is
invalid.

GetCount ([out, retval] long *plCount)

Gets the number of surface load sets in the receiver.

Parameters
plCount The number of ISurfaceLoadSet objects in the collection.
ITable
This interface is used represent a generic database table.

DeleteRecord ([in] BSTR bstrFieldName, [in] long lFieldValue)

Deletes a record by field value. The specified field must be a field that was created with bIndexed set to 1.

Parameters
bstrFieldName The name of the field to match lFieldValue with.
lFieldValue The value in the field named bstrFieldName. The record that has the given value for the given field will be
deleted.

GetRecord ([in] BSTR bstrFieldName, [in] long lFieldValue, [out,retval] IRecord** ppIRecord)

Gets an interface for a specific record by field value. The specified field must be a field that was created with bIndexed set to 1.

Parameters
bstrFieldName The name of the field to match lFieldValue with.
lFieldValue The value in the field named bstrFieldName.
ppIRecord Pointer to an IRecord interface that represents the requested record, or NULL if no records have the given
value in the given field.

Properties
Type Property Get Set Description
IFields pIFields X The fields in the table.
IRecords pIRecords X The records in the table.
BSTR strName X The name of the table.

ITrialGroup
This interface represents a steel column trial group.

GetGroupName ([in] ESteelShapes peShape, [out, retval] BSTR bstrGroupName)

Gets the name of the trial group for the section type (W12, HSS8X8, etc.).
Parameters
peShape Steel section shape type
bstrGroupName Trial group name for the section type (W12, HSS8X8, etc)

GetShapeName ([in] ESteelShapes peShape, [out, retval] BSTR bstrShapeName)

Gets the description of the section type (I section, Rectangular HS, etc).

Parameters
peShape Steel section shape type
bstrShapeName Description of the section type (I section, Rectangular HS, etc)

SetGroupName ([in] ESteelShapes peShape, [in] BSTR bstrGroupName)

Sets the name of the trial group for the section type (W12, HSS8X8, etc).

Parameters
peShape Steel section shape type
bstrGroupName Trial group name for the section type (W12, HSS8X8, etc)

Properties
Type Property Get Set Description
BOOL bEnabled X X Indicates whether or not this trial group is selected.

ITrialGroups
This interface represents a collection of ITrialGroup objects.

GetAt ([in] long lIndex, [out, retval] ITrialGroup ** ppITrialGroup)

Gets an interface for a specific trial group by index.

Parameters
lIndex The index into the collection of the requested trial group.
ppITrialGroup Pointer to an ITrialGroup interface that represents the requested trial group, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)


Gets the number of trial groups in the receiver.

Parameters
plCount The number of ITrialGroup objects in the collection.

IVerticalBrace
This interface represents a single vertical brace. This interface can be used to modify the location of the brace or to change its
properties.

GetConnectionForces ([in] ECOMBOTYPES eComboType, [in, out] SForce* psForceTop, [in, out] SForce* psForceBot, [out,
retval] long* plRetval)

Gets the brace connection forces by material combo.

Parameters
eComboType Combination type.
psForceTop SForce at the top end of the brace
psForceBot SForce at the bottom end of the brace
plRetval 0 if successful, -1 if forces cannot be retrieved

GetEndCoordinates ([out] SCoordinate* pTopPoint, [out] SCoordinate* pBottomPoint, [out, retval] long* plRetval)

Gets the end coordinates for the vertical brace.

Parameters
pTopPoint SCoordinate corresponding to the top of the brace
pBottomPoint SCoordinate corresponding to the bottom of the brace
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.

Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

SetEndCoordinates ([in] long lTopStoryID, [in] double dTopX, [in] double dTopY, [in] double dTopZOffset, [in] long lBotStoryID,
[in] double dBotX, [in] double dBotY, [in] double dBotZOffset, [out, retval] long* plRetval)

Gets the end coordinates for the vertical brace.

Parameters
lTopStoryID Unique ID of story that top node of brace frames into
dTopX X coordinate of top of the brace.
dTopY Y coordinate of top of the brace
dTopZOffset Z offset value from the story elevation for top of brace
lBotStoryID Unique ID of story that bottom node of brace frames into
dBotX X coordinate of end of the wall (j-end).
dBotY Y coordinate of end of the wall (j-end).
dBotZOffset Z offset value from the story elevation for the bottom of the brace (measured from the elevation of the story
indicated by lBotStoryID).
plRetval 0 if successful
-1 if coordinates cannot be set

Properties
Type Property Get Set Description
BOOL bBucklingRestrained X X True if the braced is a buckling restrainted brace.
BOOL bCoreBraceOverStrengthUseCalculated X X True if CoreBrace overstrength parameters set to Use
Calculated
BOOL bCoreBraceUseAssigned X X True if CoreBrace dialog set to Use, False if Use Global
BOOL bDblAngleLLBacktoBack X X Applies to a steel vertical brace that has been assigned a double
angle section. If TRUE, long legs of double angle are back to
back. If FALSE, short legs are back to back.
BOOL bDblAngleSnugTightBolt X X Applies to a steel vertical brace that has been assigned a double
angle section. TRUE indicates that only a snug tight connector
will be used.
BOOL bMajAxisBendFixedBot X X Major axis bending release at bottom of vertical brace.
Type Property Get Set Description
BOOL bMajAxisBendFixedTop X X Major axis bending release at top of vertical brace.
BOOL bMinAxisBendFixedBot X X Minor axis bending release at bottom of vertical brace.
BOOL bMinAxisBendFixedTop X X Minor axis bending release at top of vertical brace.
BOOL bSglAngleLLHorizontal X X Applies to a steel vertical brace that has been assigned a single
angle section. TRUE indicates that the long leg of the angle is
horizontal. FALSE indicates that the long leg is vertical.
BOOL bStarSeismicOverStrengthUseCalculated X X True if the Star Seismic overstrength set to use calculated
BOOL bStarSeismicUseAssigned X X TRUE if use assigned is toggled

BOOL bTorFixedBot X X Torsion release at bottom of vertical brace.


BOOL bTorFixedTop X X Torsion release at top of vertical brace.
BOOL bWildcatBRB X X Wildcat buckling restrained brace
double dBRBFAxialStiffMultiplier X X Buckling restrained brace axial stiffness multiplier used in
analysis
double dDblAngleBackSpacing X X Spacing distance between angles of double angle section.
Applies to a steel vertical brace that has been assigned a double
angle section.
double dCoreBraceBoltedClearanceBot X X CoreBrace clearance for lower bolted
double dCoreBraceBoltedClearanceTop X X CoreBrace clearance for upper bolted
double dCoreBraceCustomClearanceBot X X CoreBrace clearance for lower custom
double dCoreBraceCustomClearanceTop X X CoreBrace clearance for upper custom
double dCoreBraceFyMax X X CoreBrace maximum yield strength
double dCoreBraceFyMin X X CoreBrace minimum yield strength
double dCoreBraceOverStrengthBeta X X Beta value for CoreBrace overstrength
double dCoreBraceOverStrengthOmega X X Omega value for CoreBrace overstrength
double dCoreBracePinnedClearanceBot X X CoreBrace clearance for lower pinned
double dCoreBracePinnedClearanceTop X X CoreBrace clearance for upper pinned
double dCoreBraceSplicePlateClearanceBot X X CoreBrace clearance for lower sideplate
double dCoreBraceSplicePlateClearanceTop X X CoreBrace clearance for upper bolted
double dCoreBraceStiffModUseOrFactorValue X X CoreBrace stiffness modifier factor or explicit value
double dCoreBraceWeldedClearanceBot X X CoreBrace clearance for lower welded
double dCoreBraceWeldedClearanceTop X X CoreBrace clearance for upper welded
double dStarSeismicFyMax X X Maximum yield strength of Star Seismic BRB
double dStarSeismicFyMin X X Minimum yield strength of Star Seismic BRB
double dStarSeismicLowerFromBeam X X Minimum clearance from lower beam
double dStarSeismicLowerFromColumn X X Minimum clearance from lower column
double dStarSeismicOverStrengthBeta X X Beta value for Star Seismic overstrength
double dStarSeismicOverStrengthOmega X X Omega value for Star Seismic overstrength
double dStarSeismicStiffModUseVal X X User assigned stiffness modifier if bStarSeismicUseAssigned is
TRUE
double dStarSeismicUpperFromBeam X X Minimum clearance from upper beam
double dStarSeismicUpperFromColumn X X Minimum clearance from upper column
double dUnbracedLengthAxialLX X X Axial unbraced length for buckling about the X axis
Type Property Get Set Description
double dUnbracedLengthAxialLY X X Axial unbraced length for buckling about the Y axis
double dUnbracedLengthFlexLY X X Flexural unbraced length for lateral torisional buckling
double dVertBraceStressRatio X Frame Steel Standard load / capacity ratio
ETensionCompressionMemType eAnalysisType X X Indicates whether vertical brace takes tension, compression, or
both
ECoreBraceType eCoreBraceConnectionType X X CoreBrace connection type
EMATERIALTYPES eMaterial X X Material type of vertical brace. Valid options for vertical braces
are ESteelMat, EConcreteMat, or EOtherMat.
ESeismicProvFrameType eSeismicFrameType X The Seismic Frame Type of the member (Special Moment
Frame, etc).
long lCoreBraceCheckBoxes X X CoreBrace flags. Sum the individual flags to determine the
appropriate value for the setting.
1 – Yield Strength
2 – Stiffness Modifier
4 – Overstrength Parameters
8 – Minimum Clearance
long lCoreBraceUseCalcStiffMod X X CoreBrace Stiffness Modifier option toggle
0 – Use Calculated
1 – Use Calculated Factored By
2 – Use
long lFrameNumber X X Frame number for lateral members. It must be positive number.
long lLabel X Numeric label of vertical brace used for on-screen display in
RAM Structural System.
long lMaterialID X Unique ID of material properties for this vertical brace. Must
correspond to type of material. See section Getting material
properties for a member for more information.
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this vertical
brace. See Assigning section properties to concrete members
and Assigning section properties to ‘Other’ members for more
information.
long lStageNumber X X Construction stage number
long lStarSeismicCheckBoxes X X Unbraced length flags. Sum the appropriate flags to determine
the appropriate value for the settings.
0 – Use Global
1 – Yield Strength checked
2 – Minimum Clearance checked
4 – Stiffness Modifier checked
Long lStarSeismicUseCalcStiffMod X X StarSeismic Brace Stiffness Modifier option toggle
0 – Use Calculated
1 – Use Calculated Factored By
2 – Use
long lStoryAtBotID X Unique ID of story into which bottom of brace frames
long lStoryAtTopID X Unique ID of story into which top of brace frames
long lUID X Unique ID of vertical brace.
Type Property Get Set Description
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine
the appropriate value for the settings.
0 – All global
1 – Override global UnbracedLengthAxialLX
2 – Override global UnbracedLengthAxialLY
4 – User defined UnbracedLengthAxialLX
8 – User defined UnbracedLengthAxialLY
32 – Override global UnbracedLengthFlexLY
128 – User defined UnbracedLengthFlexLY
ESeismicProvFrameType SeismicFrameType X The Seismic Frame Type of the member (Special Moment
Frame, etc)
BSTR strSectionLabel X X Label of the size or section property for this vertical brace.
Limited to 15 characters. See Assigning sizes to steel members,
Assigning section properties to concrete members, and
Assigning section properties to ‘Other’ members for more
information.

IVerticalBraces
This interface represents a collection of vertical braces. When it is obtained from the IModel interface, it will represent all vertical
braces in the model. When it is obtained from the IStory interface, it will represent the collection of all vertical braces whose top
nodes frames into the given story. Since vertical braces are associated with the 2 stories that its nodes frame into, and not with a
floor type, there is no corresponding ILayoutVerticalBraces interface. This interface can be used to add and delete vertical braces
from the model.

Add ([in] EMATERIALTYPES eMat, [in] long lTopStoryID, [in] double dTopX, [in] double dTopY, [in] double dTopZOffset, [in] long
lBotStoryID, [in] double dBotX, [in] double dBotY, [in] double dBotZOffset [out, retval] IVerticalBrace** ppIVerticalBrace)

Adds a new vertical brace to the collection of vertical braces.

Parameters
eMat Material type of vertical brace to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat).
lTopStoryID Unique ID of story that top node of brace frames into
dTopX X coordinate of top of the brace.
dTopY Y coordinate of top of the brace
dTopZOffset Z offset value from the story elevation for top of brace
lBotStoryID Unique ID of story that bottom node of brace frames into, or -1 if at ground level
dBotX X coordinate of end of the wall (j-end).
dBotY Y coordinate of end of the wall (j-end).
dBotZOffset Z offset value from the story elevation for the bottom of the brace (measured from the elevation of the story
indicated by lBotStoryID).
ppIVerticalBrace Pointer to an IVerticalBrace interface that represents the newly added vertical brace.

Delete ([in] long lUID, [out, retval] long* plRetval)

Deletes the vertical brace with the given unique ID.

Parameters
lUID Unique ID of vertical brace to delete
plRetval 0 if vertical brace is deleted successfully
-1 if unique ID is not found in filtered list of vertical braces

Filter ([in] EVerticalBraceFilter eVertBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of vertical braces based on given criteria.

Parameters
eVertBraceFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IVerticalBrace** ppIVerticalBrace)

Gets an interface for a specific vertical brace by unique ID.

Parameters
lUID The unique ID of the requested vertical brace
ppIVerticalBrace Pointer to an IVerticalBrace interface that represents the requested vertical brace, or NULL if no vertical brace is
found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IVerticalBrace** ppIVerticalBrace)

Gets an interface for a specific vertical brace by index.

Parameters
lIndex The index into the collection of the requested vertical brace
ppIVerticalBrace Pointer to an IVerticalBrace interface that represents the requested vertical brace, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)

Gets the number of vertical braces in the collection. When the collection is filtered, this function returns the number in the filtered collection.

Parameters
plCount Number of vertical braces in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)


Gets a collection of user-defined property definitions for this member type.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IWall
This interface represents a single wall. This is a column associated with a story, rather than a floor type. This interface can be used
to read data for a wall at a story. To change coordinates, use the ILayoutWall interface.

GetDisplacementForLoadCombo ([in] ILoadCombination *pILoadCombination, [out, retval] SCoordinate *pDisplacement)

Gets the average relative displacements associated with this wall for the given load combo. Average displacements at top and bottom edge
of the wall is first calculated and then difference between the top average and bottom average is returned.

Parameters
pILoadCombination The load combination to use in the displacement calculation.
pDisplacement Relative average displacements in global X, Y and Z directions

GetEndCoordinates ([out] SCoordinate* pTopStartPoint, [out] SCoordinate* pTopEndPoint, [out] SCoordinate* pBotStartPoint,
[out] SCoordinate* pBotEndPoint [out, retval] long* plRetval)

Gets the coordinates for the wall.

Parameters
pTopStartPoint SCoordinate corresponding to the start of the wall at the top
pTopEndPoint SCoordinate corresponding to the end of the wall at the top
pBotStartPoint SCoordinate corresponding to the start of the wall at the bottom
pBotEndPoint SCoordinate corresponding to the end of the wall at the bottom
plRetval 0 if successful
-1 if coordinates cannot be retrieved

GetFinalOpenings ([out, retval] IFinalWallOpenings** ppIFinalWallOpenings)

Gets the final wall openings associated with this wall. Final openings are all openings that fall at least partially on this wall, and are clipped
to the wall polygon.

Parameters
ppIFinalWallOpenings Pointer to an IFinalWallOpenings collection interface that represents the raw openings in the wall.

GetNodeForcesAtEdge ([in] EAnalysisResultType eAnalysisType, [in] long lAnalysisLoadCaseID, [in] EEdge edge, [out,retval]
IPointLoads** ppINodeForces)

Gets a collection of all the nodes and their corresponding force for a given analysis type, load case ID and wall edge. Node forces will be
with respect to the global axis.

Parameters
eAnalysisType Type of analysis for which to get force (Currently, only RAMFrameResultType supported)
lAnalysisLoadCaseID Analysis load case ID for which to get force
edge The edge along which node forces are to be provided.
ppINodeForces Pointer to an IPointLoads interface that represents the collection of forces at the given edge for the given load
case.

GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)

Gets a collection of user-defined properties for the member.

Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member

GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)

Gets an interface for a specific property by property name.


Parameters
bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.

GetRawOpenings ([out, retval] IRawWallOpenings** ppIRawWallOpenings)

Gets the raw wall openings associated with this wall. Raw openings are the openings that were modeled in a wall. Depending on how the
openings were modeled, the openings may span multiple walls or may not even lie within the wall in which they were modeled. However,
the openings remain associated with the wall in which they were initially modeled. Note that this collection of openings may not include all
openings that fall within this wall since some openings modeled in adjacent walls may fall within this wall. To get all openings that intersect
this wall, use the GetFinalOpenings() method.

Parameters
ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.

GetRawSectionCuts ([out, retval] IRawWallSectionCuts** ppIRawWallSectionCuts)

Gets the raw wall section cuts associated with this wall. Raw openings are the section cuts that start in a wall. Depending on how the
openings were modeled, the openings may span multiple walls. Note that this collection of section cuts may not include all openings that
fall within this wall since some section cuts modeled in adjacent walls may fall within this wall.

Parameters
ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.

GetTotalDisplacementForLoadCombo ([in] ILoadCombination *pILoadCombination, [in] BOOL bTopOfStory, [out, retval]


SCoordinate *pDisplacement)

Gets the average displacements associated with this wall for the given load combo at the top or bottom of the wall. If the top of the wall
requested (bTopOfStory=TRUE), average displacements at top edge of the wall is returned. If the bottom of the wall requested
(bTopOfStory=FALSE), average displacements at bottom edge of the wall is returned.

Parameters
pILoadCombination The load combination to use in the displacement calculation.
bTopOfStory If TRUE, the displacements returned for the top of the wall (or at the top story)
pDisplacement Average displacements at top of bottom of the wall in global X, Y and Z directions

GetWallFEs ([in] EAnalysisResultType eAnalysisType, [out, retval] IWallFEs** ppIWallFEs)


Gets the wall FE collection associated with this wall.

Parameters
ppIWallFEs Pointer to an IWallFEs collection interface that represents the wall FEs for the wall.

Properties
Type Property Get Set Description
double dCrackedFactor X X Cracked factor for membrane. Applies if wall is concrete.
double dCrackedFactorForBending X X Cracked factor for out-of-plane bending. Applies if wall is concrete.
double dEndZBotOffset X X Bottom z offset from story below elevation (or foundation) for end of wall. This is made
available because the offset at the bottom of the wall (at the transition between floortypes or
at the foundation) may differ from that at the other stories that use the floortype. This is true
if the member a wall sits on is lowered or raised.
double dStartZBotOffset X X Bottom z offset from story below elevation (or foundation) for start of wall. This is made
available because the offset at the bottom of the wall (at the transition between floortypes or
at the foundation) may differ from that at the other stories that use the floortype. This is true
if the member a wall sits on is lowered or raised.
double dThickness X X Thickness of wall
EFRAMETYPE eFramingType X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X X Material type of wall. Valid options for walls are EWallPropConcreteMat or
EWallPropOtherMat.
long eSharingLoadType X X Returns sharing load type:
-1: None
0: Entirely two-way
1: Entirely one-way
2: One-way and two-way
long lDxfElevNumber X X DXF elevation number
long lFrameNumber X X Frame number for lateral members. Must be positive number.
lLabel X Numeric label of wall used for on-screen display in RAM Structural System. It is unique per
floor type.
long lMaterialID X Unique ID of material properties for this wall. Must correspond to type of material. See
section Getting material properties for a member for more information.
long lStageNumber X X Construction stage number
long lUID X Unique ID of wall.
long lWallGroupNumber X X Wall group number assigned in RAM Frame

IWallBarLayout
Concrete wall bar layout information.
GetHorizBarPattern ([out,retval] IWallBarPattern** ppIWallBarPattern)

Gets the receiver’s horizontal bar pattern.

Parameters
ppIWallBarPattern Pointer to an IWallBarPattern interface that contains the the receiver’s horizontal bar pattern.

GetMyWallPanel ([out,retval] IWallPanel **ppIWallPanel)

Gets a pointer to the interface of the wall panel the receiver belongs to.

Parameters
ppIWallPanel Pointer to an IWallPanel interface for the wall panel that the receiver belongs to.

GetVertBarPattern ([out,retval] IWallBarPattern** ppIWallBarPattern)

Gets the receiver’s vertical bar pattern.

Parameters
ppIWallBarPattern Pointer to an IWallBarPattern interface that contains the the receiver’s vertical bar pattern.

GetWallBarSets ([out,retval] IWallBarSets **ppIWallBarSets)

Gets the collection of wall bar sets in the receiver.

Parameters
ppIWallBarSets Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.

Properties
Type Property Get Set Description
BOOL bUserDef X X Indicates whether or not this wall bar layout contains any user-defined bars.
long lUID X The unique ID of this wall bar layout.

IWallBarLayouts
This interface represents a collection of IWallBarLayout objects.
Add ([in] long lHorizBarPatternID, [in] long lVertBarPatternID, [in] BOOL bUserDefinedBars, [out,retval] IWallBarLayout
**ppIWallBarLayout)

Adds a new wall bar layout to the receiver.

Parameters
lHorizBarPatternID The bar pattern ID of the horizontal bars in the new wall bar layout.
lVertBarPatternID The bar pattern ID of the vertical bars in the new wall bar layout.
bUserDefinedBars Indicates whether or not the new wall bar layout contains any user-defined bars.
ppIWallBarLayout Pointer to an IWallBarLayout interface that represents the newly added wall bar layout.

Clear ()

Deletes all wall bar layouts from the collection.

Delete ([in] long lUID)

Deletes a wall bar layout from the collection.

Parameters
lUID Unique ID of the wall bar layout to delete.

Get ([in] long lUID, [out, retval] IWallBarLayout ** ppIWallBarLayout)

Gets an interface for a specific wall bar layout by unique ID.

Parameters
lUID The unique ID of the requested wall bar layout.
ppIWallBarLayout Pointer to an IWallBarLayout interface that represents the requested wall bar layout, or NULL if no wall bar layout
is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallBarLayout ** ppIWallBarLayout)

Gets an interface for a specific wall bar layout by index.

Parameters
lIndex The index into the collection of the requested wall bar layout.
ppIWallBarLayout Pointer to an IWallBarLayout interface that represents the requested wall bar layout, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)

Gets the number of wall bar layouts in the receiver.

Parameters
plCount The number of IWallBarLayout objects in the collection.

IWallBarPattern
This interface represents a particular bar pattern. They are generated based on the settings in a wall bar pattern template. One wall
bar pattern is generated for every possible combination of values in a bar pattern template.

GetMyWallPatternTemplate ([out,retval] WallBarPatternTemplate** ppWallBarPatternTemplate)

Gets an interface for the receiver’s wall bar pattern template.

Parameters
ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface for the receiver’s wall bar pattern template.

Properties
Type Property Get Set Description
double dDiameter X The diameter (in inches) of the bars in the pattern.
double dSpacing X The spacing between bars in the pattern.
long lBarPatternTemplateID X The unique ID of the WallBarPatternTemplate to which this wall bar pattern belongs.
long lUID X The unique ID of this wall bar pattern.
BSTR strBarSize X The name (from the concrete table) of the size of the bars in the pattern.

IWallBarPatterns
This interface represents a collection of wall bar patterns.

Get ([in] long lUID, [out, retval] IWallBarPattern ** ppIWallBarPattern)

Gets an interface for a specific wall bar pattern by unique ID.

Parameters
lUID The unique ID of the requested wall bar pattern.
ppIWallBarPattern Pointer to an IWallBarPattern interface that represents the requested wall bar pattern, or NULL if no wall bar
pattern is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallBarPattern ** ppIWallBarPattern)

Gets an interface for a specific wall bar pattern by index.

Parameters
lIndex The index into the collection of the requested wall bar pattern
ppIWallBarPattern Pointer to an IWallBarPattern interface that represents the requested wall bar pattern, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall bar patterns in the receiver.

Parameters
plCount The number of IWallBarPattern objects in the collection.

Add ([in] BSTR bstrBarSize, [in] double dSpacing, [in] double dDiameter, [out,retval] IWallBarPattern** ppIWallBarPattern)

Adds a new wall bar pattern to the receiver.

Parameters
bstrBarSize The bar size name of the new wall bar pattern. This must be a valid bar size from the concrete table.
dSpacing The spacing between bars in the new wall bar pattern.
dDiameter The diameter of bars in the new wall bar pattern. This must be the appropriate number for the given bstrBarSize
value.
ppIWallBarPattern Pointer to an IWallBarPattern interface that represents the newly added wall bar pattern.

Clear ()

Deletes all wall bar patterns from the collection.

DeleteAt ([in] long lIndex)

Deletes a wall bar pattern from the collection at the specified index.

Parameters
lIndex Index in the collection of the wall bar pattern to delete.
IWallBarPlacement
Concrete wall bar placement information.

GetMyWallBarSet ([out,retval] IWallBarSet** ppIWallBarSet)

Gets a pointer to the interface of the wall bar layout the receiver belongs to.

Parameters
ppIWallBarSet Pointer to an IWallBarSet interface for the wall bar set that the receiver belongs to.

Properties
Type Property Get Set Description
BOOL bUserDefined X User defined flag
double dDiameter X Bar diameter
EBarEndCondition eConditionEnd X End condition
EBarEndCondition eConditionStart X Start condition
long lNumCurtains X Number of reinforcing curtains
SCoordinate sCoordinateEnd X End coordinates
SCoordinate sCoordinateStart X Start coordinates
BSTR strBarName X Bar name

IWallBarPlacements
This interface represents a collection of IWallBarPlacement objects.

Add ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [in] EBarEndCondition eStartCondition, [in]
EBarEndCondition eEndCondition, [in] BOOL bUserDefined, [in] BSTR strBarName, [in] double dDiameter, [in] long lNumCurtains,
[out,retval] IWallBarPlacement** ppIWallBarPlacement)

Adds a new wall bar placement to the receiver.

Parameters
dStartX Start X coordinate
dStartY Start Y coordinate
dEndX End X coordinate
dEndY End Y coordinate
eStartCondition Start condition
eEndCondition End condition
bUserDefined User defined flag
strBarName Bar name
dDiameter Bar diameter
lNumCurtains Number of reinforcing curtains
ppIWallBarPlacement Pointer to an IWallBarPlacement interface that represents the newly added wall bar placement.

Clear ()

Deletes all wall bar placements from the collection.

DeleteAt ([in] long lIndex)

Deletes a wall bar placement from the collection by index.

Parameters
lIndex Index in the collection of the wall bar placement to delete.

GetAt ([in] long lIndex, [out, retval] IWallBarPlacement ** ppIWallBarPlacement)

Gets an interface for a specific wall bar placement by index.

Parameters
lIndex The index into the collection of the requested wall bar placement.
ppIWallBarPlacement Pointer to an IWallBarPlacement interface that represents the requested wall bar placement, or NULL if lIndex is
invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall bar placements in the receiver.

Parameters
plCount The number of IWallBarPlacement objects in the collection.

IWallBarSet
Concrete wall bar set information.
GetWallBarPlacements ([out,retval] IWallBarPlacements** ppIWallBarPlacements)

Gets the collection of wall bar placements in the receiver.

Parameters
ppIWallBarPlacements Pointer to an IWallBarPlacements interface that contains the wall bar sets in the receiver.

GetMyWallBarLayout ([out,retval] IWallBarLayout** ppIWallBarLayout)

Gets a pointer to the interface of the wall bar layout the receiver belongs to.

Parameters
ppIWallBarLayout Pointer to an IWallBarLayout interface for the wall bar layout that the receiver belongs to.

Properties
Type Property Get Set Description
long lUID X The unique ID of this wall bar set.

IWallBarSets
This interface represents a collection of IWallBarSet objects.

Add ([out,retval] IWallBarSet** ppIWallBarSet)

Adds a new wall bar set to the receiver.

Parameters
ppIWallBarSet Pointer to an IWallBarSet interface that represents the newly added wall bar set.

Clear ()

Deletes all wall bar sets from the collection.

Delete ([in] long lUID)

Deletes a wall bar set from the collection.


Parameters
lUID Unique ID of the wall bar set to delete.

Get ([in] long lUID, [out, retval] IWallBarSet ** ppIWallBarSet)

Gets an interface for a specific wall bar set by unique ID.

Parameters
lUID The unique ID of the requested wall bar set.
ppIWallBarSet Pointer to an IWallBarSet interface that represents the requested wall bar set, or NULL if no wall bar set is found
in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallBarSet ** ppIWallBarSet)

Gets an interface for a specific wall bar set by index.

Parameters
lIndex The index into the collection of the requested wall bar set.
ppIWallBarSet Pointer to an IWallBarSet interface that represents the requested wall bar set, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall bar sets in the receiver.

Parameters
plCount The number of IWallBarSet objects in the collection.

IWallCodeMessage
Represents a design code message related to a particular limit check. The message is what is returned to the user as a verbose
description of the success or failure of a particular limit check.

Properties
Type Property Get Set Description
long iTypeIndex X A type code that qualifies the severity of this message:
0: None
1: Informative only
2: Warning (non-failing)
3: Failure
BSTR lElementUID X The unique ID of the element (member) related to this message.
long lID X The unique ID of this wall code message.
long lLimitCheckID X The unique ID of the limit check with which this code message is related.
long strMessage X The design message describing the status of the limit check.

IWallCodeMessages
This interface represents a collection of IWallCodeMessage objects.

Add ([in] long iTypeIndex, [in] BSTR strMessage, [in] long lElementUID, [out,retval] IWallCodeMessage** ppIWallCodeMessage)

Adds a new wall code message to the receiver.

Parameters
iTypeIndex A type code that qualifies the severity of the message. Refer to IWallCodeMessage properties for
possible values.
strMessage The design message describing the status of the limit check.
lElementUID The unique ID of the element (member) related to this message.
ppIWallCodeMessage Pointer to an IWallCodeMessage interface that represents the newly added wall code message.

Clear ()

Deletes all wall code messages from the collection.

Delete ([in] long lID)

Deletes a wall code message from the collection.

Parameters
lID Unique ID of the wall code message to delete.

Get ([in] long lID, [out, retval] IWallCodeMessage ** ppIWallCodeMessage)


Gets an interface for a specific wall code message by unique ID.

Parameters
lID The unique ID of the requested wall code message.
ppIWallCodeMessage Pointer to an IWallCodeMessage interface that represents the requested wall code message, or NULL if no wall
code message is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallCodeMessage ** ppIWallCodeMessage)

Gets an interface for a specific wall code message by index.

Parameters
lIndex The index into the collection of the requested wall code message.
ppIWallCodeMessage Pointer to an IWallCodeMessage interface that represents the requested wall code message, or NULL if lIndex is
invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall code messages in the receiver.

Parameters
plCount The number of IWallCodeMessage objects in the collection.

IWallCodeResult
Represents the result of the analysis of a certain section cut with a certain load case or combination.

GetWallLimitChecks ([out, retval] IWallLimitChecks** ppIWallLimitChecks)

Gets a the collection of wall limit checks for this wall code result.

Parameters
ppIWallLimitChecks Pointer to an IWallLimitChecks interface that contains the wall limit checks in the receiver.

Properties
Type Property Get Set Description
BOOL bLoadCombo X Flag: The results are of a load combination (not a load case).
Type Property Get Set Description
long lHintFlags X In the case where one or more limit checks contained in this code result has failed, this property is a flag that the
analysis engine provides as a hint that might enable a subsequent analysis run to pass. Possible values for this
property can be found in Appendix F.
long lID X The unique ID of this wall code result.
long lLoadConditionUID X The load case or combination unique ID.
long lSectionCutUID X The unique ID of the section cut to which the results belong.

IWallCodeResults
This interface represents a collection of IWallCodeResult objects.

Add ([in] BOOL bLoadCombo, [in] long lLoadConditionUID, [in] long lHintFlags, [out,retval] IWallCodeResult** ppIWallCodeResult)

Adds a new wall code result to the receiver.

Parameters
bLoadCombo Flag: The wall code result is the result of a load combination (not a load case)
lLoadConditionUID The load case or load combination UID
lHintFlags In the case where one or more limit checks contained in this code result has failed, this property is a
flag that the analysis engine provides as a hint that might enable a subsequent analysis run to pass.
Possible values for this property can be found in Appendix F.
ppIWallCodeResult Pointer to an IWallCodeResult interface that represents the newly added wall code result.

Clear ()

Deletes all wall code results from the collection.

Delete ([in] long lID)

Deletes a wall code result from the collection.

Parameters
lID Unique ID of the wall code result to delete.

Get ([in] long lID, [out, retval] IWallCodeResult ** ppIWallCodeResult)


Gets an interface for a specific wall code result by unique ID.

Parameters
lID The unique ID of the requested wall code result.
ppIWallCodeResult Pointer to an IWallCodeResult interface that represents the requested wall code result, or NULL if no wall code
result is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallCodeResult ** ppIWallCodeResult)

Gets an interface for a specific wall code result by index.

Parameters
lIndex The index into the collection of the requested wall code result.
ppIWallCodeResult Pointer to an IWallCodeResult interface that represents the requested wall code result, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall code results in the receiver.

Parameters
plCount The number of IWallCodeResult objects in the collection.

IWallDesignGroup
This interface represents a Wall Design Group. The purpose of a Wall Design Group is to divide the wall system in the RAM model
into a number of individual wall groups, cores, or stacks that can be designed separately from one another. The Wall Design Group
can be thought of as any collection of walls for which the reinforcement can be completely designed and all code checks performed
independently of any other wall in the building.

AddColumnID ([in] long lColumnID)

Not implemented; do not call.

AddMemberID ([in] long lMemberID)

Not implemented; do not call.


AddWallID ([in] long lWallID)

Adds a wall to the receiver.

Parameters
lWallID The unique ID of the wall being added.

GetColumns ([out,retval] IColumns** ppIColumns)


Not implemented; do not call.

GetCouplingBeams ([out,retval] ICouplingBeams** ppICouplingBeams)


Gets the collection of all couplings beams in the wall design group.

Parameters
ppICouplingBeams Pointer to an ICouplingBeams collection interface that represents all coupling beams in the wall design group.

GetSectionCuts ([out,retval] IRawWallSectionCuts** ppISectionCuts)


Gets the collection of all section cuts from all walls in the wall design group.

Parameters
ppISectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all section cuts in the wall design group.

GetWallPanels ([out,retval] IWallPanels** ppIWallPanels)


Gets the collection of all wall panels in the wall design group.

Parameters
ppIWallPanels Pointer to an IWallPanels collection interface that represents all wall panels in the wall design group.

GetWalls ([out, retval] IWalls** ppIWalls)


Gets the collection of all walls in the wall design group.

Parameters
ppIWalls Pointer to an IWalls collection interface that represents all walls in the wall design group.

GetWallSectionDsnCuts ([out,retval] IWallSectionDsnCuts** ppIWallSectionDsnCuts)


Gets the collection of all wall section design cuts in the wall design group.

Parameters
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all wall section design cuts in the
wall design group.

RemoveColumnID ([in] long lColumnID, [out,retval] long* plNumRemaining)

Not implemented; do not call.

RemoveMemberID ([in] long lMemberID)

Not implemented; do not call.

RemoveWallID ([in] long lWallID, [out,retval] long* plNumRemaining)

Removes a wall from the receiver.

Parameters
lWallID The unique ID of the wall being removed.
plNumRemaining The number of walls in the wall design group after removing the specified wall.

Properties
Type Property Get Set Description
double dCutOffset X X The offset between auto-generated cuts and the features they are next to (wall edges and opening
edges). This is used as a guide to initialize the values in the dialog; section cuts cannot be auto-
generated using RAM Data Access.
double dMaxHorCutSpcg X X The maximum space between horizontal cuts to use when auto-generating section cuts. 0.0 means cuts
can be any distance apart. This is used as a guide to initialize the values in the dialog; section cuts
cannot be auto-generated using RAM Data Access.
double dMaxVertCutSpcg X X The maximum space between vertical cuts to use when auto-generating section cuts. 0.0 means cuts
can be any distance apart. This is used as a guide to initialize the values in the dialog; section cuts
cannot be auto-generated using RAM Data Access.
long lCutLocationMask X X Mask that determines where auto-generated cuts should be placed. This is used as a guide to initialize
the values in the dialog; section cuts cannot be auto-generated using RAM Data Access.
long lWallBarPatternTemplateID X X The ID of the WallBarPatternTemplate used by the wall design group.
long lWallDesignGroupNumber X The wall design group number for this wall design group. This is the unique key.
IWallDesignGroups
This interface represents a collection of wall design groups.

Add ([in] long lWallDesignGrpNum, [out,retval] IWallDesignGroup** ppIWallDesignGroup)

Adds a new wall design group to the receiver.

Parameters
lWallDesignGrpNum The wall design group number of the new wall design group.
ppIWallDesignGroup Pointer to an IWallDesignGroup interface that represents the newly added wall design group.

Clear ()

Deletes all wall design groups from the collection.

ClearResults ([in] long bDeleteForces)

Clears the results with option to remove forces.

Parameters
bDeleteForces 1 if forces should be deleted as well

Delete ([in] long lWallDesignGrpNum)

Deletes a wall design group from the collection.

Parameters
lWallDesignGrpNum Wall design group number of the wall design group to delete.

Get ([in] long lWallDesignGrpNum, [out, retval] IWallDesignGroup ** ppIWallDesignGroup)

Gets an interface for a specific wall design group by wall design group number.

Parameters
lWallDesignGrpNum The wall design group number of the requested wall design group.
ppIWallDesignGroup Pointer to an IWallDesignGroup interface that represents the requested wall design group, or NULL if no wall
design group is found in the collection with the given wall design group number.
GetAt ([in] long lIndex, [out, retval] IWallDesignGroup ** ppIWallDesignGroup)

Gets an interface for a specific wall design group by index.

Parameters
lIndex The index into the collection of the requested wall design group
ppIWallDesignGroup Pointer to an IWallDesignGroup interface that represents the requested wall design group, or NULL if lIndex is
invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall design groups in the receiver.

Parameters
plCount The number of IWallDesignGroup objects in the collection.

SaveResults ()

Saves results for all wall design groups from the collection.

IWallFailedMember
Represents a member that has failed a limit check.

Properties
Type Property Get Set Description
long lID X The unique ID of this wall failed member. Note: this property will be deprecated in v12.1.
long lLimitCheckID X The unique ID of the limit check related to this failure.
long lMemberUID X The unique ID of the failing member.

IWallFailedMembers
This interface represents a collection of IWallFailedMember objects.

Add ([in] long lMemberUID, [out,retval] IWallFailedMember** ppIWallFailedMember)

Adds a new wall failed member to the receiver.


Parameters
lMemberUID The unique ID of the member that has failed.
ppIWallFailedMember Pointer to an IWallFailedMember interface that represents the newly added wall failed member.

Clear ()

Deletes all wall failed members from the collection.

Delete ([in] long lID)

Deletes a wall failed member from the collection.

Parameters
lID Unique ID of the wall failed member to delete.

DeleteAt ([in] long lIndex)

Deletes a wall failed member from the collection by index.

Parameters
lIndex Index of the wall failed member to delete.

Get ([in] long lID, [out, retval] IWallFailedMember ** ppIWallFailedMember)

Gets an interface for a specific wall failed member by unique ID. Note: this function will be deprecated in v12.1.

Parameters
lID The unique ID of the requested wall failed member.
ppIWallFailedMember Pointer to an IWallFailedMember interface that represents the requested wall failed member, or NULL if no wall
failed member is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallFailedMember ** ppIWallFailedMember)

Gets an interface for a specific wall failed member by index.

Parameters
lIndex The index into the collection of the requested wall failed member.
ppIWallFailedMember Pointer to an IWallFailedMember interface that represents the requested wall failed member, or NULL if lIndex is
invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall failed members in the receiver.

Parameters
plCount The number of IWallFailedMember objects in the collection.

IWallFE
This interface is used represent a finite element entry for a wall.

GetComboStresses ([in] ILoadCombination *pILoadCombo, [in] BOOL bSmooth, [out, retval] IStresses** ppIStresses)

Gets the stresses associated with the given load combination for this Wall FE.

Parameters
pILoadCombo The load combination to retreive the stresses for. Note that the stresses for all of the terms in the load
combination are internally loaded and then summed up based on the load combination factors.
bSmooth Boolean indicating whether or not the stresses should be averaged with surrounding Wall FEs.
ppIStresses Pointer to an IStresses interface that represents the stresses for the given load case for this Wall FE.

GetNodes ([out,retval] INodes** ppINodes)

Gets the collection of nodes for this Wall FE.

Parameters
ppINodes Pointer to an INodes interface that represents the nodes in the Wall FE.

GetStresses ([in] long lLoadCaseID, [in] BOOL bSmooth, [out, retval] IStresses** ppIStresses)

Gets the stresses associated with the given load case ID for this Wall FE.

Parameters
lLoadCaseID The load case ID to retreive the stresses for.
bSmooth Boolean indicating whether or not the stresses should be averaged with surrounding Wall FEs.
ppIStresses Pointer to an IStresses interface that represents the stresses for the given load case for this Wall FE.
IWallFE Properties
Type Property Get Set Description
BOOL bHaveStresses X TRUE if the receiving Wall FE has stresses available. Stresses are only available if RAM Frame is configured to
store them, and RAM Frame has calculated them.
double dThickness X The thickness of the wall.

IWallFEs
This interface is used to hold a collection of IWallFE objects.

GetAt ([in] long lIndex, [out, retval] IWallFE** ppIWallFE)

Gets the IWallFE object at the specified index.

Parameters
lIndex The index of the specified Wall FE.
ppIWallFE The IWallFE object at the specified index.

GetCount ([out,retval] long** plCount)

Gets number of IWallFE objects in the collection.

Parameters
plCount The number of IWallFE objects in the collection.

IWallLimitCheck
Represents the result of a single limit check performed on a particular wall cross-section. Typically, analysis of a particular section
cut under a particular load case will result in several limit checks corresponding to different design requirements (axial, shear,
flexure, detailing etc.)

GetWallCodeMessages ([out, retval] IWallCodeMessages** ppIWallCodeMessages)

Gets the collection of wall code messages for this wall limit check.

Parameters
ppIWallCodeMessages Pointer to an IWallCodeMessages interface that contains the wall code messages in the receiver.

GetWallFailedMembers ([out, retval] IWallFailedMembers** ppIWallFailedMembers)

Gets a the collection of failed members for this wall limit check.

Parameters
ppIWallFailedMembers Pointer to an IWallFailedMembers interface that contains the wall failed members in the receiver.

Properties
Type Property Get Set Description
BOOL bCheckPasses X A boolean flag denoting whether this limit check has passed or not.
double dLimit X The limiting value of this limit check.
double dUF X The unity factor for this limit check.
double dValue X The value (result) of this limit check.
long eGeneralType X An integer specifying the general classification of this limit check. Refer to Appendix F.
long eSpecificType X An integer specifying the specific classification of this limit check. Refer to Appendix F.
long lCodeResultID X The unique ID of the code result to which this limit check belongs.
long lID X The unique ID of this wall limit check.
BSTR strCodeSection X A reference to a design code clause that applies to this limit check.
BSTR strLimitName X A string describing the limit check that is being tested.

IWallLimitChecks
This interface represents a collection of IWallLimitCheck objects.

Add ([in] long eGeneralType, [in] long eSpecificType, [in] BSTR strLimitName, [in] double dValue, [in] double dLimit, [in] double dUF,
[in] BOOL bCheckPasses, [in] BSTR strCodeSection, [out,retval] IWallLimitCheck** ppIWallLimitCheck)

Adds a new wall limit check to the receiver. Note: the interface for this function will be changing in v12.1.

Parameters
eGeneralType An integer specifying the general classification of this limit check. Refer to Appendix F.
eSpecificType An integer specifying the specific classification of this limit check. Refer to Appendix F.
strLimitName A string describing the limit check that is being tested.
dValue The value (result) of this limit check.
dLimit The limiting value of this limit check.
dUF The unity factor for this limit check.
bCheckPasses A boolean flag denoting whether this limit check has passed or not.
strCodeSection A reference to a design code clause that applies to this limit check.
ppIWallLimitCheck Pointer to an IWallLimitCheck interface that represents the newly added wall limit check.

Clear ()

Deletes all wall limit checks from the collection.

Delete ([in] long lID)

Deletes a wall limit check from the collection.

Parameters
lID Unique ID of the wall limit check to delete.

Get ([in] long lID, [out, retval] IWallLimitCheck ** ppIWallLimitCheck)

Gets an interface for a specific wall limit check by unique ID.

Parameters
lID The unique ID of the requested wall limit check.
ppIWallLimitCheck Pointer to an IWallLimitCheck interface that represents the requested wall limit check, or NULL if no wall limit
check is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallLimitCheck ** ppIWallLimitCheck)

Gets an interface for a specific wall limit check by index.

Parameters
lIndex The index into the collection of the requested wall limit check.
ppIWallLimitCheck Pointer to an IWallLimitCheck interface that represents the requested wall limit check, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall limit checks in the receiver.

Parameters
plCount The number of IWallLimitCheck objects in the collection.
IWallPanel
This interface represents a wall panel. A Wall Panel is a planar, contiguous collection of one or more walls of the same thickness at
a single Story, all in the same wall design group.

AddColumnUID ([in] long lColumnUID)

DO NOT USE. Not implemented.

Parameters
lColumnUID Unique ID of the column being added.

AddMemberUID ([in] long lWallUID)

DO NOT USE. Not implemented.

Parameters
lMemberUID Unique ID of the member being added.

AddWallUID ([in] long lWallUID)

Adds a wall to the collection of walls in the receiver.

Parameters
lWallUID Unique ID of the wall being added.

GetColumns ([out,retval] IColumns **ppIColumns)

DO NOT USE. Not implemented.

Parameters
ppIColumns Pointer to an IColumns interface that contains the coluimns in the receiver.

GetMyWallDesignGroup ([out,retval] IWallDesignGroup** ppIWallDesignGroup)

Gets a pointer to the interface of the wall design group that the receiver belongs to.

Parameters
ppIWallDesignGroup Pointer to an IWallDesignGroup interface for the wall design group that the receiver belongs to.

GetWallBarLayouts ([out,retval] IWallBarLayouts** ppIWallBarLayouts)

Gets the collection of wall bar layouts in the receiver.

Parameters
ppIWallBarLayouts Pointer to an IWallBarLayouts interface that contains the wall bar layouts in the receiver.

GetWallPanelReinfZones ([out,retval] IWallPanelReinfZones** ppIWallPanelReinfZones)

Gets the collection of reinforcement zones for the receiver, if the receiver has manual reinforcement assigned. If the collection has any
elements, the first element is the horizontal reinforcement information, and the remaining elements are the vertical reinforcement zones.

Parameters
ppIWallPanelReinfZones Pointer to an IWallPanelReinfZones interface that contains the reinforcement zones in the receiver.

GetWalls ([out,retval] IWalls **ppIWalls)

Gets the collection of walls in the receiver.

Parameters
ppIWalls Pointer to an IWalls interface that contains the walls in the receiver.

RemoveColumnUID ([in] long lColumnUID)

DO NOT USE. Not implemented.

Parameters
lColumnUID Unique ID of the column being removed.

RemoveMemberUID ([in] long lMemberUID)

DO NOT USE. Not Implemented.

Parameters
lMemberUID Unique ID of the member being removed.

RemoveWallUID ([in] long lWallUID)


Removes a wall from the collection of walls in the receiver.

Parameters
lWallUID Unique ID of the wall being removed.

Properties
Type Property Get Set Description
BOOL bFrozen X Indicates whether or not this panel has been frozen by the user.
long lPriority X Priority of the wall panel
long lUID X The unique ID of this wall panel.
SCoordinate sCoordinateEnd X The end coordinate of the panel.
SCoordinate sCoordinateStart X The start coordinate of the panel.
BSTR strBarPatternName X The name of the panel’s bar pattern, if the panel has manual reinforcement. NULL otherwise.

IWallPanelReinfZone
This interface represents a wall panel reinforcing zone associated with manual reinforcment.

Properties
Type Property Get Set Description
double dBarSpacing X X The bar spacing for this zone.
double dStartOffset X X The start offset of this zone.
EBoundaryFlags eBoundary X X Indicates how this zone is to be handled with respect to boundary element design.
long lNumCurtains X X The number of curtains in this zone.
BSTR strBarSize X X The bar size for this zone.

IWallPanelReinfZones
This interface represents a collection of IWallPanelReinfZone objects.

Add ([out, retval] IWallPanelReinfZone ** ppIWallPanelReinfZone)

Adds a new zone to the receiver.

Parameters
ppIWallPanelReinfZone Pointer to an IWallPanelReinfZone interface that represents the newly added zone.
Clear ()

Deletes all zones from the collection.

DeleteAt ([in] long lIndex)

Deletes a zone from the collection by index.

Parameters
lIndex Index of the zone to delete.

GetAt ([in] long lIndex, [out, retval] IWallPanelReinfZone ** ppIWallPanelReinfZone)

Gets an interface for a specific zone by index.

Parameters
lIndex The index into the collection of the requested zone.
ppIWallPanelReinfZone Pointer to an IWallPanelReinfZone interface that represents the requested zone, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of zones in the receiver.

Parameters
plCount The number of IWallPanelReinfZone objects in the collection.

IWallPanels
This interface represents a collection of IWallPanel objects.

Add ([out,retval] IWallPanel** ppIWallPanel)

Adds a new wall panel to the receiver.

Parameters
ppIWallPanel Pointer to an IWallPanel interface that represents the newly added wall panel.

Clear ()
Deletes all wall panels from the collection.

Delete ([in] long lPanelID)

Deletes a wall panel from the collection.

Parameters
lPanelID Unique ID of the wall panel to delete.

Get ([in] long lPanelID, [out, retval] IWallPanel ** ppIWallPanel)

Gets an interface for a specific wall panel by unique ID.

Parameters
lPanelID The unique ID of the requested wall panel.
ppIWallPanel Pointer to an IWallPanel interface that represents the requested wall panel, or NULL if no wall panel is found in the
collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallPanel ** ppIWallPanel)

Gets an interface for a specific wall panel by index.

Parameters
lIndex The index into the collection of the requested wall panel.
ppIWallPanel Pointer to an IWallPanel interface that represents the requested wall panel, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall panels in the receiver.

Parameters
plCount The number of IWallPanel objects in the collection.

IWalls
This interface represents a collection of walls associated with a story. This collection can be used to read data for walls at a story.
To add or delete walls, use the ILayoutWalls interface associated with a floor type.
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)

Filters the collection of walls based on given criteria.

Parameters
eWallFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful
-1 if collection could not be filtered

Get ([in] long lUID, [out, retval] IWall** ppIWall)

Gets an interface for a specific wall by unique ID.

Parameters
lUID The unique ID of the requested wall
ppIWall Pointer to an IWall interface that represents the requested wall, or NULL if no wall is found in the collection with the
given unique ID.

GetAt ([in] long lIndex, [out, retval] IWall** ppIWall)

Gets an interface for a specific wall by index.

Parameters
lIndex The index into the collection of the requested wall
ppIWall Pointer to an IWall interface that represents the requested wall, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount)

Gets the number of walls in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the
total number of walls on the story. When the collection is unfiltered, this function returns the total number of walls on the story.

Parameters
plCount Number of walls in the collection

GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)

Gets a collection of user-defined property definitions for this member type.


Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type

IWallSectionDsnCut
This interface represents the design information for a section cut. Unlike IRawWallSectionCut, the information in a design cut can
represent multiple section cut segments.

DeleteWallSectionDsnCutPolygons ()
Deletes all polygons from the receiver.

GetRawWallSectionCuts ([out, retval] IRawWallSectionCuts **ppIRawWallSectionCuts)

Get the raw wall section cuts for the design cut.

Parameters
ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts interface

GetUBPolygonIndex ([out,retval] long *plUBPolygonIndex)


Gets the index of the last polygon (polygon count – 1) in the receiver.

Parameters
plUBPolygonIndex The index of the last polygon in the wall section design cut.

GetWallCodeResults ([out, retval] IWallCodeResults** ppIWallCodeResults)

Gets the collection of IWallCodeResult objects in the receiver.

Parameters

GetWallSectionDsnCutForceSets ([out, retval] IWallSectionDsnCutForceSets** ppIWallSectionDsnCutForceSets)

Gets the collection of IWallSectionDsnCutForceSet objects in the receiver.


Parameters
ppIWallSectionDsnCutForceSets Pointer to an IWallSectionDsnCutForceSets interface that represents all wall section design cut force
sets in the section design cut.

GetWallSectionDsnCutPolygon ([in] BOOL bLocal, [in] long lPolyIndex, [out, retval] IPoints **pIPoints)

Gets the specified polygon. (Refer to “SaveWallSectionDsnCutPolygon” for further info on section cut polygons).

Parameters
bLocal Whether or not the fetched polygon is in local coordinates.
lPolyIndex The index of the desired polygon.
pIPoints Pointer to an IPoints interface that represents the requested polygon, or NULL if lPolyIndex is invalid.

ppIWallCodeResults Pointer to an IWallCodeResults interface that represents all wall code results in the section design cut.

SaveWallSectionDsnCutPolygon ([in] long iPolyIndex, [in] long iPoints, [in] double *pdGlobalX, [in] double *pdGlobalY, [in]
double *pdGlobalZ, [in] double *pdLocalX, [in] double *pdLocalY)

Add a polygon to the list of polygons defining the geometry of the cross-section exposed by a cut. A polygon added with iPolyIndex=0 is
assumed to be an outer solid polygon. Any other polygons added with iPolyIndex>0 are assumed to be negative polygons (holes) within the
solid. Two sets of polygons are defined in the global and local coordinate systems. The global coordinate system is the model coordinate
system. The local coordinate system is the planar coordinate system assumed for design of the cross section.

Parameters
iPolyIndex Index of polygon to be added.
iPoints Number of points in polygon.
pdGlobalX Array of X coordinates describing polygon in global coordinate system.
pdGlobalY Array of Y coordinates describing polygon in global coordinate system.
pdGlobalZ Array of Z coordinates describing polygon in global coordinate system.
pdLocalX Array of X coordinates describing polygon in local coordinate system.
pdLocalY Array of Y coordinates describing polygon in local coordinate system.

Properties
Type Property Get Set Description
BOOL bDoBoundaryCheck X Flag: boundary check required for this section cut (certain design codes only).
double dArea X The area of this wall section design cut.
double dInertiaX X The inertia in X of this wall section design cut.
double dInertiaY X The inertia in Y of this wall section design cut.
double dMaxFlexureUF X The maximum unity factor in flexure at this cross-section (determined during a design run).
Type Property Get Set Description
double dMaxShearUF X The maximum unity factor in shear at this cross-section (determined during a design run).
double dOffset X The offset of the position of a vertical section cut along the wall length, relative to the wall or opening to
which it is defined (see lRelativeMemberUID) (vertical section cuts only).
double dWallAngle X The orientation of the wall relative to the global model coordinate system (vertical cuts only).
double dZ X The Z coordinate of this wall section design cut.
long eDesignState X Code denoting current design status for this section cut:
0: not ready (no forces available)
1: not designed
2: design error
3: design failed
4: design passed
long eOrientation X Orientation of the section cut.
0 = Vertical cut
1 = Horizontal cut
long eRelativeCorner X The wall or opening corner index relative to which a vertical cut is defined (vertical cuts only).
long iCriticalFlexureCombo X The UID of the load combination that produces the maximum unity factor in flexure.
long iCriticalShearCombo X The UID of the load combination that produces the maximum unity factor in shear.
long lFinalSegmentCount X The number of wall segments that make up this section cut.
long lMaterialUID X The UID of the material of the cross-section (wall).
long lRelativeMemberUID X The wall UID or opening UID relative to which a vertical cut is defined (vertical cuts only).
long lSectionCutWDGID X This section design cut’s unique ID in its wall design group.
long lUID X The unique ID of this wall section design cut.
long lWallDesignGrp X The wall design group to which this section design cut belongs.
SCoordinate sCentroid X The centroid of this wall section design cut.

IWallSectionDsnCutForceSet
Represents a result force set for a particular section cut and load case/combo UID.

Properties
Type Property Get Set Description
BOOL bLoadCombo X Flag: The force set is a result of a load combination (not a load case)
long lID X The unique ID of this wall section design cut force set.
long lLoadConditionIndex X Load case or combo index.
long lLoadConditionUID X Load case or combo UID.
long lSectionCutUID X The unique ID of the section cut to which this force set belongs.
SForce3D sForce3DF X Force components in the X,Y,Z directions.
SForce3D sForce3DM X Moment components about the X,Y,Z directions.
IWallSectionDsnCutForceSets
This interface represents a collection of IWallSectionDsnCutForceSet objects.

Add ([in] BOOL bLoadCombo, [in] long lLoadConditionUID, [in] long lLoadConditionIndex, [in] SForce3D sForce3DF, [in] SForce3D
sForce3DM, [out,retval] IWallSectionDsnCutForceSet** ppIWallSectionDsnCutForceSet)

Adds a new wall section design cut force set to the receiver.

Parameters
bLoadCombo Flag: The force set is a result of a load combination (not a load case)
lLoadConditionUID Load case or combo UID.
lLoadConditionIndex Load case or combo index.
sForce3DF Force components in the X,Y,Z directions.
sForce3DM Moment components about the X,Y,Z directions.
ppIWallSectionDsnCutForceSet Pointer to an IWallSectionDsnCutForceSet interface that represents the newly added wall section
design cut force set.

Clear ()

Deletes all wall section design cut force sets from the collection.

ClearCombos ()

Deletes all load combination-based wall section design cut force sets from the collection.

Delete ([in] long lID)

Deletes a wall section design cut force set from the collection.

Parameters
lID Unique ID of the wall section design cut force set to delete.

Get ([in] long lID, [out, retval] IWallSectionDsnCutForceSet ** ppIWallSectionDsnCutForceSet)

Gets an interface for a specific wall section design cut by unique ID.

Parameters
lID The unique ID of the requested wall section design cut force set.
ppIWallSectionDsnCutForceSet Pointer to an IWallSectionDsnCutForceSet interface that represents the requested wall section design
cut force set, or NULL if no wall section design cut force set is found in the collection with the given
unique ID.

GetAt ([in] long lIndex, [out, retval] IWallSectionDsnCutForceSet ** ppIWallSectionDsnCutForceSet)

Gets an interface for a specific wall section design cut force set by index.

Parameters
lIndex The index into the collection of the requested wall section design cut force set.
ppIWallSectionDsnCutForceSet Pointer to an IWallSectionDsnCutForceSet interface that represents the requested wall section design cut
force set, or NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall section design cut force sets in the receiver.

Parameters
plCount The number of IWallSectionDsnCutForceSet objects in the collection.

IWallSectionDsnCuts
This interface represents a collection of IWallSectionDsnCut objects.

Add ([in] double dArea, [in] double dCentroidX, [in] double dCentroidY, [in] double dZ, [in] double dInertiaX, [in] double dInertiaY, [in]
long eOrientation, [in] double dWallAngle, [in] long lMaterialUID, [in] double dMaxFlexureUF, [in] double dMaxShearUF, [in] long
iCriticalFlexureCombo, [in] long iCriticalShearCombo, [in] long eDesignStatus, [in] long lSectionCutWDGID, [in] long
lFinalSegmentCount, [in] long lRelativeMemberUID, [in] long eRelativeCorner, [in] double dOffset, [out,retval] IWallSectionDsnCut**
ppIWallSectionDsnCut)

Adds a new wall section design cut to the collection.

Parameters
dArea Cross-sectional area of wall generated by cut.
dCentroidX X coordinate of centroid of cross-section.
dCentroidY Y coordinate of centroid of cross-section.
dZ Z coordinate of section cut.
dInertiaX X component of moment of inertia of cross-section.
dInertiaY Y component of moment of intertia of cross-section.
eOrientation Code denoting orientation of section cut (0=horizontal, 1=vertical).
dWallAngle The orientation of the wall relative to the global model coordinate system (vertical cuts only).
lMaterialUID The UID of the material of the cross-section (wall).
dMaxFlexureUF The maximum unity factor in flexure at this cross-section (determined during a design run).
dMaxShearUF The maximum unity factor in shear at this cross-section (determined during a design run).
iCriticalFlexureComboThe UID of the load combination that produces the maximum unity factor in flexure.
iCriticalShearCombo The UID of the load combination that produces the maximum unity factor in shear.
eDesignStatus Code denoting current design status for this section cut:
0: not ready (no forces available)
1: not designed
2: design error
3: design failed
4: design passed
lSectionCutWDGID Index (ID) of this section cut within the wall design group. Unique only within wall design group.
lFinalSegmentCount The number of wall segments that make up this section cut.
lRelativeMemberUID The wall UID or opening UID relative to which a vertical cut is defined (vertical cuts only).
eRelativeCorner The wall or opening corner index relative to which a vertical cut is defined (vertical cuts only).
dOffset The offset of the position of a vertical section cut along the wall length, relative to the wall or opening to which it
is defined (see lRelativeMemberUID) (vertical section cuts only).
ppIWallSectionDsnCut Pointer to an IWallSectionDsnCut interface that represents the newly added wall section design cut.

Clear ()

Deletes all wall section design cuts from the collection.

Delete ([in] long lUID)

Deletes a wall section design cut from the collection.

Parameters
lUID Unique ID of the wall section design cut to delete.

DeleteAt ([in] long lIndex)

Deletes a wall section design cut from the collection at the specified index.

Parameters
lUID Index of the wall section design cut to delete.
Get ([in] long lUID, [out, retval] IWallSectionDsnCut ** ppIWallSectionDsnCut)

Gets an interface for a specific wall section design cut by unique ID.

Parameters
lUID The unique ID of the requested wall section design cut.
ppIWallSectionDsnCut Pointer to an IWallSectionDsnCut interface that represents the requested wall section design cut, or NULL if no
wall section design cut is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] IWallSectionDsnCut ** ppIWallSectionDsnCut)

Gets an interface for a specific wall section design cut by index.

Parameters
lIndex The index into the collection of the requested wall section design cut
ppIWallSectionDsnCut Pointer to an IWallSectionDsnCut interface that represents the requested wall section design cut, or NULL if lIndex
is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall section design cuts in the receiver.

Parameters
plCount The number of IWallSectionDsnCut objects in the collection.

IWebOpening
This interface represents a specific web opening in a beam. This interface can be used to read and modify the geometry and
properties of the web opening.

Properties
Type Property Get Set Description
BOOL bPassed X Whether the design of the web opening passed or failed.
double dBotStiffX X X coordinate (in beam local coordinates) of bottom stiffener.
double dBotStiffY X Y coordinate (in beam local coordinates) of bottom stiffener.
double dDistFromStartOfBeam X X Distance from start of beam to center of web opening
double dDistFromTop X X Offset to web opening. The offset is from the top of the beam to the top, center or bottom of the
opening (as indicated by eWOPositionInWeb)
Type Property Get Set Description
double dHeightOrDiam X X Height (H) of web opening if shape is rectangular, or diameter of opening if circular

double dStiffenerLength X Length of top stiffener, if required.


double dStiffenerLengthBot X Length of bottom stiffener, if required.
double dStiffenerThickness X Thickness of top stiffener, if required.
double dStiffenerThicknessBot X Thickness of bottom stiffener, if required.
double dStiffenerWidth X Width of top stiffener, if required.
double dStiffenerWidthBot X Width of bottom stiffener, if required.
double dTopStiffX X X coordinate (in beam local coordinates) of top stiffener.
double dTopStiffY X Y coordinate (in beam local coordinates) of top stiffener.
double dWeldSize X Size of weld for stiffener, if required.
double dWidth X X Width (B) of web opening if shape is rectangular
EWebOpenPosition ePositionInWeb X X Position of web opening in beam web. If not centered, an offset must be provided.
EWebOpenShape eShape X X Shape of the web opening
long lNumStiffeners X Indicates if top stiffeners are required on 0, 1 or 2 sides of the opening (determined during steel
beam design)
long lNumStiffenersBot X Indicates if bottom stiffeners are required on 0, 1 or 2 sides of the opening (determined during
steel beam design)
long lPenID X The ID of this opening in the collection of openings for a particular beam (not unique within the
model)

IWebOpenings
This interface represents a collection of web openings on a beam. It may be empty to start with if no web openings have been
defined on a beam. Through this interface, web openings can be added and deleted.

Add ([in]double dDistFromStartOfBeam, [in] EWebOpenShape eShape, [in] double dHOrDiam, [in] double dB, [out, retval]
IWebOpening** ppIWebOpening)

Adds a web opening to the collection of web openings for the layout beam.

Parameters
dDistFromStartOfBeam Distance from start of beam to center of web opening
eShape Shape of web opening
dHOrDiam Height of rectangular opening, or diameter of circular opening
dB Width of rectangular opening
ppIWebOpening Pointer to an IWebOpening interface that represents the newly added web opening.

Delete ([in] long lIndex, [out, retval] long* plRetval )


Deletes the web opening at the given index.

Parameters
lIndex Index of web opening to delete
plRetval 0 if web opening is deleted successfully
-1 if lIndex is invalid

GetAt ([in] long lIndex, [out, retval] IWebOpening** ppIWebOpening)

Gets an interface for a specific web opening by index.

Parameters
lIndex The index into the collection of the requested web opening.
ppIWebOpening Pointer to an IWebOpening interface that represents the requested web opening, or NULL if lIndex is invalid.

GetCount ([out, retval] long* plCount )

Gets the number of web openings in the collection.

Parameters
plCount Number of web openings in the collection

WallBarPatternTemplate
This interface represents a wall bar pattern template. A wall bar pattern template is a template used in the generation of wall bar
patterns. It specifies the range of possible values for the generated bar patterns. When RAM Concrete Shear Wall designs a wall
group, it searches for the bar pattern generated from this template with the minimum amount of steel that satisfies the design
constraints. Please note that the more possible combinations can be created based on the template, the longer the design process
can potentially take, as RAM Concrete Shear Wall has to try more wall bar patterns when looking for the optimal one.

GetHorizontalBarPatterns ([out,retval] IWallBarPatterns** ppIWallBarPatterns)

Gets the collection of horizontal wall bar patterns in the receiver.

Parameters
ppIWallBarPatterns Pointer to an IWallBarPatterns interface that contains the horizontal wall bar patterns in the receiver.
GetVerticalBarPatterns ([out,retval] IWallBarPatterns** ppIWallBarPatterns)

Gets the collection of vertical wall bar patterns in the receiver.

Parameters
ppIWallBarPatterns Pointer to an IWallBarPatterns interface that contains the vertical wall bar patterns in the receiver.

Properties
Type Property Get Set Description
double dHorizontalSpacingIncrement X The horizontal spacing increment for this wall bar pattern template.
double dMaxHorizontalBarSpacing X The maximum horizontal bar spacing (in inches) in this wall bar pattern template. When generating
the list of possible spacings, RAM Concrete Shear Wall starts at the maximum allowed spacing, and
works down to the minimum allowed spacing, incrementing by this amount each step.
double dMaxVerticalBarSpacing X The maximum vertical bar spacing (in inches) in this wall bar pattern template.
double dMinHorizontalBarSpacing X The minimum horizontal bar spacing (in inches) in this wall bar pattern template.
double dMinVerticalBarSpacing X The minimum vertical bar spacing (in inches) in this wall bar pattern template.
double dVerticalSpacingIncrement X The vertical spacing increment for this wall bar pattern template. When generating the list of possible
spacings, RAM Concrete Shear Wall starts at the maximum allowed spacing, and works down to the
minimum allowed spacing, incrementing by this amount each step.
long lNumCurtains X The number of curtains in this wall bar pattern template.
long lUID X The unique ID of this wall bar pattern template.
BSTR strLabel X The label of this wall bar pattern template.
BSTR strMaxHorizontalBarSize X The name of the maximum horizontal bar size in this wall bar pattern template.
BSTR strMaxVerticalBarSize X The name of the maximum vertical bar size in this wall bar pattern template.
BSTR strMinHorizontalBarSize X The name of the minimum horizontal bar size in this wall bar pattern template.
BSTR strMinVerticalBarSize X The name of the minimum vertical bar size in this wall bar pattern template.

WallBarPatternTemplates
This interface represents a collection of WallBarPatternTemplate objects.

Add ([in] BSTR strLabel, [in] long lNumCurtains, [in] BSTR strMinVerticalBarSize, [in] BSTR strMaxVerticalBarSize, [in] double
dMinVerticalBarSpacing, [in] double dMaxVerticalBarSpacing, double dVerticalSpacingIncrement, [in] BSTR
strMinHorizontalBarSize, [in] BSTR strMaxHorizontalBarSize, [in] double dMinHorizontalBarSpacing, [in] double
dMaxHorizontalBarSpacing, [in] double dHorizontalSpacingIncrement, [out,retval] WallBarPatternTemplate**
ppWallBarPatternTemplate)

Adds a new wall bar pattern template to the receiver.

Parameters
strLabel The name of the new template.
lNumCurtains The number of bar curtains in the new template. (Must be 1, 2, or 3.)
strMinVerticalBarSize The name of the minimum vertical bar size in the new template.
strMaxVerticalBarSize The name of the maximum vertical bar size in the new template.
dMinVerticalBarSpacing The minimum vertical bar spacing (in inches) in the new template.
dMaxVerticalBarSpacing The maximum vertical bar spacing (in inches) in the new template.
dVerticalSpacingIncrement The vertical spacing increment for the new template.
strMinHorizontalBarSize The name of the minimum horizontal bar size in the new template.
strMaxHorizontalBarSize The name of the maximum horizontal bar size in the new template.
dMinHorizontalBarSpacing The minimum horizontal bar spacing (in inches) in the new template.
dMaxHorizontalBarSpacing The maximum horizontal bar spacing (in inches) in the new template.
dHorizontalSpacingIncrement The horizontal spacing increment for the new template.
ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface that represents the newly added wall bar pattern
template.

Delete ([in] long lUID)

Deletes a wall bar pattern template from the collection by unique ID.

Parameters
lUID The unique ID of the wall bar pattern template to delete.

Clear ()

Deletes all wall bar pattern templates from the collection.

Get ([in] long lUID, [out, retval] WallBarPatternTemplate ** ppWallBarPatternTemplate)

Gets an interface for a specific wall bar pattern template by unique ID.

Parameters
lUID The unique ID of the requested wall bar pattern template.
ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface that represents the requested wall bar pattern template, or
NULL if no wall bar pattern template is found in the collection with the given unique ID.

GetAt ([in] long lIndex, [out, retval] WallBarPatternTemplate ** ppWallBarPatternTemplate)

Gets an interface for a specific wall bar pattern template by index.

Parameters
lIndex The index into the collection of the requested wall bar pattern template.
ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface that represents the requested wall bar pattern template, or
NULL if lIndex is invalid.

GetCount ([out, retval] long *plCount)

Gets the number of wall bar pattern templates in the receiver.

Parameters
plCount The number of WallBarPatternTemplate objects in the collection.
Original DataAccess Interfaces
The following interfaces are based on the original architecture for RAM DataAccess. They can be used interchangeably with the
Object Model interfaces. For any functionality that is available in the new Object Model interfaces, those interfaces/functions are
preferred. The original DA interfaces should only be used for functionality that is not yet in the Object Model interfaces.

IConcAnalysis1

Philosophy: To retrieve the results from the Concrete Analysis.

GetBeamAnalysisInertia ( [in] long lBeamID, [out] double * pdIAnalysis, [in, out] long * lResult);
Purpose Get the moment of inertia used for the analysis.
Parameters lBeamID The unique beam ID
pdIAnalysis The moment of inertia of the beam used in the analysis
lResult Error code. If value is non zero then check GetLastError

GetBeamCantlDeflectionMoments ( [in] long lBeamID, [in] EBeamSpanType eSpan, [out] double* pdMDL, [out] double* pdMLLposdefl, [out]
double* pdMLLnegdefl, [in, out] long* plResult);
Purpose Get the moments that are associated with a particular cantilever for calculation of the IEff
for concrete deflection consideration.
Parameters lBeamID The unique beam ID
eSpan
pdMDL The DL moment at the cantilever support
pdMLLposdefl The cumulative, max LL pos moment at the cantilever support
pdMLLnegdefl The cumulative, max LL neg moment at the cantilever support
plResult Error code. If value is non zero then check GetLastError

GetBeamDeflectionMoments ([in] long lBeamID, [out] double* pdMDLlt, [out] double* pdMDLmid, [out] double* pdMDLrt, [out] double*
pdMLLltneg, [out] double* pdMLLltpos, [out] double* pdMLLmidneg, [out] double* pdMLLmidpos, [out] double* pdMLLrtneg, [out] double*
pdMLLrtpos, [out, retval] long* plResult);
Purpose Get the moments that are associated with a particular beam ends and mid point for
calculation of the IEff for concrete deflection consideration.
Parameters lBeamID The unique beam ID
pdMDLlt The DL moment at the left end of the beam
pdMDLmid The DL moment at the mid of the beam
pdMDLrt The DL moment at the rt end of the beam
pdMLLltneg The cumulative, max LL neg moment at the left end of the
beam
pdMLLltpos The cumulative, max LL pos moment at the left end of the
beam
pdMLLmidneg The cumulative, max LL neg moment at the mid of the beam
pdMLLmidpos The cumulative, max LL pos moment at the mid of the beam
pdMLLrtneg The cumulative, max LL neg moment at the rt end of the
beam
pdMLLrtpos The cumulative, max LL pos moment at the rt end of the
beam
plResult Error code. If value is non zero then check GetLastError

GetDispInterfacePointerByEnum ();
Purpose Internal use only

GetDLDeflectionResults ([in] long lBeamID, [in] EBeamSpanType eBmSpanType , [out] long* plNumPts, [out] SDIAGRAM** ppDLDeflDiag,
[retval, out] long* plResult );
Purpose Get the Dead Load deflection curve for a member.
Parameters lBeamID the member ID
eBmSpanType span type (lt, mid, rt)
plNumPts number of data points
ppDLDeflDiag Pointer to a pointer to an array containing the SDIAGRAM information.
plResult Error code. If value is non zero then check GetLastError

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLLDeflectionResults ([in] long lBeamID, [in] EBeamSpanType eBmSpanType , [out] long* plNumPts, [out] SENVELOPE** ppLLDeflEnv,
[retval, out] long* plResult );
Purpose Get the beam live load deflection envelope data.
Parameters lBeamID the member ID
eBmSpanType the span type (cantl, mid)
plNumPts number of data points
ppLLDeflEnv Pointer to a pointer to an array containing the SENVELOPE information.
plResult Error code. If value is non zero then check GetLastError

Reset ();
Purpose Internal use only.
SetBeamAnalysisInertia ();
Purpose Internal use only.

SetBeamCantlDeflectionMoments ();
Purpose Internal use only.

SetBeamDeflectionMoments ();
Purpose Internal use only.

SetDLDeflectionResults ();
Purpose Internal use only.

SetLLDeflectionResults ();
Purpose Internal use only.

IConcAnalysisState1

Philosophy: This interface is for maintaining the state of the concrete analysis module, it contains the dialog values for user input in the module.

GetAssignBeamLineDefaults ([in, out] double *pdAngleVar, [in, out] double *pdOffset, [in, out] long *plAutoFixity);
Purpose The default settings for the dialog to assign beam line numbers automatically. Refer to
concrete analysis mode command Assign-BeamLine Numbers – Automatic.
Parameters pdAngleVar The max angle between two adjacent beams to consider them still part
of the same beam line.
pdOffset The max offset between two parallel, adjacent beams to consider as a
continuous beam line
plAutoFixity 0 = Don’t automatically assign fixity to beams in beamlines
1 = Automatically fix all beams in beam line
2 = Automatically release all beams in beam line

GetAssignKFactor ([out] long nSelectMajor, [out] long nSelectMinor, [out] long dKx, [out] long dKy, [out] BSTR* pbstrGlobalMajor, [out] BSTR*
pbstrGlobalMinor);
Purpose The default settings for the Assign – Columns – K factor dialog.
Parameters nSelectMajor 0 if global, 1 if nomograph, 2 if user defined
nSelectMinor 0 if global, 1 if nomograph, 2 if user defined
dKx Default Kx value in the user defined box
dKy Default Ky value in the user defined box
pbstrGlobalMajor String defining the global major axis setting
pbstrGlobalMinor String defining the global minor axis setting

GetAssignSidesway ([out] long nSelectMajor, [out] long nSelectMinor, [out] BSTR* pbstrGlobalMajor, [out] BSTR* pbstrGlobalMinor);
Purpose The default settings for the Assign – Columns – Sidesway dialog.
Parameters nSelectMajor 0 if global, 1 if braced, 2 if unbraced
nSelectMinor 0 if global, 1 if braced, 2 if unbraced
pbstrGlobalMajor String defining the global major axis setting
pbstrGlobalMinor String defining the global minor axis setting

GetBalancedLoadExistsFlag ([out] long* plBalLoad);


Purpose Determine if a balanced load case exists in the linked Concept file.
Parameters plBalLoad 1 if the balanced case exists.

GetColForceSource ( [out] long* plUseConceptForces, [out,retval] long* lRetval);


Purpose In the Column Forces Criteria dialog the user can specify if they would like to consider the
Concept forces or only use the RAM SS forces. That setting is provided here.
Parameters plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story

GetConceptSelectionAtStory ([in] long lStoryID, [out] long* plUseConceptForces, [out,retval] long* lRetval);
Purpose In the Column Forces Criteria dialog the user can specify for each story whether to
consider/use the concept forces at that story or the RAM forces at that story. That setting
is provided here.
Parameters lStoryID Unique Story ID
plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story
lRetVal Error code. If value is non zero then check GetLastError

GetCriteriaAnalysis ([out] long* plNumStations, [out] double* pdMaxSpc, [out] long* plREZ_RadioState, [out] double* pdREZPerc, [out] double*
pdTorConstRed, [out] long* pbSkipLoadBL, [out] long* pbSkipLoadNOBl, [out] long* pbLLR, [out] long* pbColSlend, [out] long* pbPin,
[out] long* pbConstrainRigidDiapSloped);
Purpose Obtain the concrete analysis criteria specified by the user in RAM Concrete Gravity
Analysis Module. See Dialog Box from command Criteria – Analysis.
Parameters plNumStations The minimum number of stations to consider per beam. A
station is a location on the beam where member forces
are calculated.
pdMaxSpc The maximum spacing between any two stations along
the beam.
plREZ_RadioState 0 = Ignore rigid end zone effects, 1=consider rigid end
zone effects
pdREZPerc If plREZ_RadioState is 1 then this vontains the
%reduction to be considered
pdTorConstRed Concrete beam torsional constant reduction
True = Skip load live load on beams with beam line
pbSkipLoadBL numbers
pbSkipLoadNOBl True = Skip load live load on beams with no beam line
numbers
pbLLR True = consider live load reduction when calculating
forces
pbColSlend True = Consider column slenderness when calculationg
column forces
pbPin True = release (pin) the base of concrete gravity columns
at the foundation
pbConstrainRigidDiapSloped True = Do not consider rigid diaphragm on floors that are
sloped.

GetCriteriaAnalysis_HangingColConvTol ([out] BOOL* pbHangConvTol);


Purpose Get concrete analysis criteria.
Parameters pbHangConvTol Tolerance for convergence of hanging column forces during iterative analyis

GetCriteriaAnalysis_IncludeOutOfPlaneForHybrid ([out] BOOL* pbIncludeOutOfPlaneForHybrid);


Purpose Get concrete analysis criteria.
Parameters pbIncludeOutOfPlaneForHybrid 1 if including out of plane stiffness for walls, 0 if not

GetCriteriaAnalysis_Part3 ([out] double* pdDistBetweenNodes, [out] double* pdMeshTol, [out] double* pdHardNodeDenFac,
[out] long* plSolverType);
Purpose Get concrete analysis criteria.
Parameters pdDistBetweenNodes Maximum distance between nodes for mesh control.
pdMeshTol Geometric tolerance for mesh control
pdHardNodeDenFac Hard node density factor for mesh control
plSolverType Solver type index

GetCriteriaAnalysis_Part4 ([out] BOOL* pbConsiderLoadPolys, [out] BOOL* pbIgnoreWallStiff);


Purpose Get concrete analysis criteria.
Parameters pbConsiderLoadPolys 1 if considering load polygons for skip loading on two way slabs,
0 if not
pbIgnoreWallStiff 1 if ingoring wall stiffness above the story, 0 if not

GetCriteriaAnalysis_Part5 ([out] double* pdMergeNodeTol);


Purpose Get concrete analysis criteria.
Parameters pdMergeNodeTol Merge node tolerance in the concrete finite element model

GetCriteriaAnalysis_UseAllCPUs([out] BOOL* pbUseAllCPUs);


Purpose To get the flag that indicates if one or all CPUs will be used for Analysis.
Parameters bUseAllCPUs 1 = use all CPUs 0 = use only one CPU

GetCriteriaBracing ([out] long* plSlabBracing, [out] double* pdBracingAngle);


Purpose To get Bracing criteria.
Parameters plSlabBracing 0 = Slab braces column 1 = Slab does not brace column.
pdBracingAngle Maximum angle from column axis for which beam braces column.
GetCriteriaKFactor ([out] long* pnKxSel, [out] long* pnKySel, [in, out] double* pdKx, [out] double* pdKy);
Purpose To get the global K Factor criteria.
Parameters pnKxSel 0 = use nomograph 1 = use this value
pnKySel 0 = use nomograph 1 = use this value
pdKx If “use” is selected, this variable contains the value entered
pdKy If “use” is selected, this variable contains the value entered

GetCriteriaSidesway ([out] long* pnSelection, [out] BOOL* pbGlobalX, [out] BOOL* pbGlobalY, [out] double* pdDegX, [out] double* pdDegY);
Purpose To get the global sidesway criteria.
Parameters pnSelection 0 = Unbraced, 1 = Braced, 2 = Partially Braced
pbGlobalX True if Partially Braced Global X is selected
pbGlobalY True if Partially Braced Global Y is selected
pdDegX Angle in degrees for partially braced global X
pdDegY Angle in degrees for partially braced global Y

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetMoreCriteriaAnalysis ([out] BOOL* pbPinTransferMembers, [out] BOOL* pbPinTop, [out] BOOL* pbOOC, [out] long* pnBeamTorStiff);
Purpose Get concrete analysis criteria,
Parameters pbPinTransferMember True if pin base of concrete gravity columns on transfer member
is selected
pbPinTop True if pin top of concrete gravity columns is selected
pbOOC 1 if Out of Core solver is selected, 1 if In Core
pnBeamTorStiff 0 = Use Assigned Torsional Cracked Section Factor, 1 = User
Defined Torsional Stiffness Reduction Percentage

Reset ();
Purpose Internal use only.

SetAssignKFactor ([in] long* pnSelectMajor, [in] long* pnSelectMinor, [in] long* pdKx, [in] long* pdKy,);
Purpose The default settings for the Assign – Columns – K factor dialog.
Parameters pnSelectMajor 0 if global, 1 if nomograph, 2 if user defined
pnSelectMinor 0 if global, 1 if nomograph, 2 if user defined
pdKx Default Kx value in the user defined box
pdKy Default Ky value in the user defined box

SetAssignSidesway ([in] long* pnSelectMajor, [in] long pnSelectMinor);


Purpose The default settings for the Assign – Columns – Sidesway dialog.
Parameters pnSelectMajor 0 if global, 1 if braced, 2 if unbraced
pnSelectMinor 0 if global, 1 if braced, 2 if unbraced

SetColForceSource ( [in] long* plUseConceptForces, [out,retval] long* lRetval);


Purpose In the Column Forces Criteria dialog the user can specify if they would like to consider the
Concept forces or only use the RAM SS forces. That setting is provided here.
Parameters plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story

SetConceptSelectionAtStory ([in] long lStoryID, [in] long* plUseConceptForces, [out,retval] long* lRetval);
Purpose In the Column Forces Criteria dialog the user can specify for each story whether to
consider/use the concept forces at that story or the RAM forces at that story. That setting
is provided here.
Parameters lStoryID Unique Story ID
plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story
lRetVal Error code. If value is non zero then check GetLastError

SetCriteriaAnalysis ([in] long* plNumStations, [in] double* pdMaxSpc, [in] long* plREZ_RadioState, [in] double* pdREZPerc, [in] double*
pdTorConstRed, [in] long* pbSkipLoadBL, [in] long* pbSkipLoadNOBl, [in] long* pbLLR, [in] long* pbColSlend, [in] long* pbPin, [in] long*
pbConstrainRigidDiapSloped);
Purpose Obtain the concrete analysis criteria specified by the user in RAM Concrete Gravity
Analysis Module. See Dialog Box from command Criteria – Analysis.
Parameters plNumStations The minimum number of stations to consider per beam. A
station is a location on the beam where member forces
are calculated.
pdMaxSpc The maximum spacing between any two stations along
the beam.
plREZ_RadioState 0 = Ignore rigid end zone effects, 1=consider rigid end
zone effects
pdREZPerc If plREZ_RadioState is 1 then this vontains the
%reduction to be considered
pdTorConstRed Concrete beam torsional constant reduction
True = Skip load live load on beams with beam line
pbSkipLoadBL numbers
pbSkipLoadNOBl True = Skip load live load on beams with no beam line
numbers
pbLLR True = consider live load reduction when calculating
forces
pbColSlend True = Consider column slenderness when calculationg
column forces
pbPin True = release (pin) the base of concrete gravity columns
at the foundation
pbConstrainRigidDiapSloped True = Do not consider rigid diaphragm on floors that are
sloped.

SetCriteriaAnalysis_HangingColConvTol ([in] BOOL bHangConvTol);


Purpose Set concrete analysis criteria.
Parameters bHangConvTol Tolerance for convergence of hanging column forces during iterative analyis

SetCriteriaAnalysis_IncludeOutOfPlaneForHybrid ([in] BOOL bIncludeOutOfPlaneForHybrid);


Purpose Set concrete analysis criteria.
Parameters bIncludeOutOfPlaneForHybrid 1 if including out of plane stiffness for walls, 0 if not

SetCriteriaAnalysis_Part3 ([in] double dDistBetweenNodes, [in] double dMeshTol, [in] double dHardNodeDenFac,
[in] long lSolverType);
Purpose Set concrete analysis criteria.
Parameters dDistBetweenNodes Maximum distance between nodes for mesh control.
dMeshTol Geometric tolerance for mesh control
dHardNodeDenFac Hard node density factor for mesh control
lSolverType Solver type index

SetCriteriaAnalysis_Part4 ([in] BOOL bConsiderLoadPolys, [in] BOOL bIgnoreWallStiff);


Purpose Set concrete analysis criteria.
Parameters bConsiderLoadPolys 1 if considering load polygons for skip loading on two way slabs, 0
if not
bIgnoreWallStiff 1 if ingoring wall stiffness above the story, 0 if not

SetCriteriaAnalysis_Part5 ([in] double dMergeNodeTol);


Purpose Set concrete analysis criteria.
Parameters dMergeNodeTol Merge node tolerance in the concrete finite element model

SetCriteriaAnalysis_UseAllCPUs([in] BOOL bUseAllCPUs);


Purpose To set the flag that indicates if one or all CPUs will be used for Analysis.
Parameters bUseAllCPUs 1 = use all CPUs 0 = use only one CPU

SetCriteriaBracing ([in] long* plSlabBracing, [in] double* pdBracingAngle);


Purpose To get Bracing criteria.
Parameters plSlabBracing 0 = Slab braces column 1 = Slab does not brace column.
pdBracingAngle Maximum angle from column axis for which beam braces column.
SetCriteriaKFactor ([in] long* pnKxSel, [in] long* pnKySel, [in] double* pdKx, [in] double* pdKy);
Purpose To get the global K Factor criteria.
Parameters pnKxSel 0 = use nomograph 1 = use this value
pnKySel 0 = use nomograph 1 = use this value
pdKx If “use” is selected, this variable contains the value entered
pdKy If “use” is selected, this variable contains the value entered

SetCriteriaSidesway ([in] long* pnSelection, [in] BOOL* pbGlobalX, [in] BOOL* pbGlobalY, [in] double* pdDegX, [in] double* pdDegY);
Purpose To get the global sidesway criteria.
Parameters pnSelection 0 = Unbraced, 1 = Braced, 2 = Partially Braced
pbGlobalX True if Partially Braced Global X is selected
pbGlobalY True if Partially Braced Global Y is selected
pdDegX Angle in degrees for partially braced global X
pdDegY Angle in degrees for partially braced global Y

SetMoreCriteriaAnalysis ([in] BOOL* pbPinTransferMembers, [in] BOOL* pbPinTop, [in] BOOL* pbOOC, [in] long* pnBeamTorStiff);
Purpose Get concrete analysis criteria. .
Parameters pbPinTransferMember True if pin base of concrete gravity columns on transfer member
is selected
pbPinTop True if pin top of concrete gravity columns is selected
pbOCC 1 if Out of Core solver is selected, 1 if In Core
pnBeamTorStiff 0 = Use Assigned Torsional Cracked Section Factor, 1 = User
Defined Torsional Stiffness Reduction Percentage

SetRAMConcLdCaseFlags ();
Purpose Internal use only.

IConcBeamState1

Philosophy: This interface is for maintaining the state of the concrete beam module.

ClearBeamResults ();
Purpose Internal use only.

GetBeamBarSets ([in] long lStory, [in] long lBeamLineID, [out] SBM_BAR_SET** ppaShearBarSet, [out] SBM_BAR_SET_BSTR**
ppaShearBarSetBstr, [out] long* plSizeShear, [out] SBM_BAR_SET** ppaTopFlxBarSet, [out] SBM_BAR_SET_BSTR**
ppaTopFlxBarSetBstr, [out] long* plSizeTopFlx, [out] SBM_BAR_SET** ppaBotFlxBarSet, [out] SBM_BAR_SET_BSTR**
ppaBotFlxBarSetBstr, [out] long* plSizeBotFlx);
Purpose Get all the reinforcement located in all the spans in the beam line.
Parameters lStory Story where beam line is located
lBeamLineID Beam line ID number
ppaShearBarSet Shear reinforcement bar set data
ppaShearBarSetBstr Shear reinforcement bar set strings
plSizeShear Number of shear bar sets. Defines size of pShearBarSet and
pShearBarSetBstr
ppaTopFlxBarSet Top longitudinal reinforcement bar set data
ppaTopFlxBarSetBstr Top longitudinal reinforcement bar set strings
plSizeTopFlx Number of Top longitudinal bar sets. Defines size of
pTopFlxBarSet and pTopFlxBarSetBstr
ppaBotFlxBarSet Bottom longitudinal reinforcement bar set data
ppaBotFlxBarSetBstr Bottom longitudinal reinforcement bar set strings
plSizeBotFlx Number of Botttom longitudinal bar sets. Defines size of
pBotFlxBarSet and pBotFlxBarSetBstr
Comments Note that all the reinforcement start and end locations are based on the start of the first span in
the beam line. If the first span has a cantilever then the origin is located at the free end of the
cantilever. If the first span does not have a cantilever then the origin of the bar sets is the
center of the first span support.

GetBeamEnvelopes ([in] long lStory, [in] long lBeamLineID, [out] SENVELOPE** ppaReqMomMaj, [out] long* plSizeReqMom, [out]
SDIAGRAM** ppaReqShrMaj, [out] long* plSizeReqShr, [out] SDIAGRAM** ppaReqTorsion, [out] long* plSizeReqTor, [out]
SENVELOPE** ppaPrvMomMaj, [out] long* plSizePrvMom, [out] SDIAGRAM** ppaPrvShrMaj, [out] long* plSizePrvShr, [out]
SDIAGRAM** ppaPrvTorsion, [out] long* plSizePrvTor, [out] SENVELOPE** ppaReqPosFlxReinArea, [out] long* plSizePosRein, [out]
SENVELOPE** ppaReqNegFlxReinArea, [out] long* plSizeNegRein, [out] SENVELOPE** ppaReqShrReinArea, [out] long*
plSizeShrRein);
Purpose Get the analysis and design capacity envelopes.
Parameters lStory Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) level
lBeamLineID Beam line index number
ppaReqMomMaj Array of Required moment envelope points
plSizeReqMom Size of haReqMomMaj
ppaReqShrMaj Array of Required shear envelope points
plSizeReqShr Size of haReqShrMaj
ppaReqTorsion Array of Required torsion envelope points
plSizeReqTor Size of haReqTorsion
ppaPrvMomMaj Array of Provided moment envelope points
plSizePrvMom Size of haPrvMomMaj
ppaPrvShrMaj Array of Provided shear envelope points
plSizePrvShr Size of haPrvShrMaj
ppaPrvTorsion Array of Provided torsion envelope points
plSizePrvTor Size of haPrvTorsion
ppaReqPosFlxReinArea Array of Provided flexural reinforcement area points
plSizePosRein Size of haReqPosFlxReinArea
ppaReqNegFlxReinArea Array of Negative flexural reinforcement area points
plSizeNegRein Size of haReqNegFlxReinArea
ppaReqShrReinArea Array of Shear reinforcement area points
plSizeShrRein Size of haReqShrReinArea
GetBeamEnvelopes2 ([in] long lStory, [in] long lBeamLineID, [out] SENVELOPE** ppaReqMomMaj, [out] long* plSizeReqMom, [out]
SENVELOPE** ppaReqShrMaj, [out] long* plSizeReqShr, [out] SENVELOPE** ppaReqTorsion, [out] long* plSizeReqTor, [out]
SENVELOPE** ppaPrvMomMaj, [out] long* plSizePrvMom, [out] SENVELOPE** ppaPrvShrMaj, [out] long* plSizePrvShr, [out]
SENVELOPE** ppaPrvTorsion, [out] long* plSizePrvTor, [out] SENVELOPE** ppaReqPosFlxReinArea, [out] long* plSizePosRein, [out]
SENVELOPE** ppaReqNegFlxReinArea, [out] long* plSizeNegRein, [out] SENVELOPE** ppaReqShrReinArea, [out] long*
plSizeShrRein);
Purpose Get the analysis and design capacity envelopes.
Parameters lStory Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) level
lBeamLineID Beam line index number
ppaReqMomMaj Array of Required moment envelope points
plSizeReqMom Size of haReqMomMaj
ppaReqShrMaj Array of Required shear envelope points
plSizeReqShr Size of haReqShrMaj
ppaReqTorsion Array of Required torsion envelope points
plSizeReqTor Size of haReqTorsion
ppaPrvMomMaj Array of Provided moment envelope points
plSizePrvMom Size of haPrvMomMaj
ppaPrvShrMaj Array of Provided shear envelope points
plSizePrvShr Size of haPrvShrMaj
ppaPrvTorsion Array of Provided torsion envelope points
plSizePrvTor Size of haPrvTorsion
ppaReqPosFlxReinArea Array of Provided flexural reinforcement area points
plSizePosRein Size of haReqPosFlxReinArea
ppaReqNegFlxReinArea Array of Negative flexural reinforcement area points
plSizeNegRein Size of haReqNegFlxReinArea
ppaReqShrReinArea Array of Shear reinforcement area points
plSizeShrRein Size of haReqShrReinArea

GetBeamResults ([in] long lStory, [in] long lBeamLineID, [out] long *plNumSpans, [out] SBML_RES** haBeamLine, [out] SBM_RES**
haBeamResults, [out] SBM_RES_BSTR** haBeamResultsBstr);
Purpose Get concrete beam design results.
Parameters lStory Story number starting with 0 for the first story
lBeamLineID Beam line ID number
plNumSpans Total number of spans in beam line
haBeamLine Beam line results
haBeamResults Individual beam span results
haBeamResultsBstr Individual beam span result strings

GetCriteriaBarDia ([out] double* pdMaxConcBeamLongDiam, [out] double* pdMinConcBeamLongDiam, [out] double*


pdMaxConcBeamTransDiam, [out] double* pdMinConcBeamTransDiam);
Purpose Get concrete beam bar diagmeter criteria.
Parameters pdMaxConcBeamLongDiam Maximum longitudinal
pdMinConcBeamLongDiam Minimum longitudinal
pdMaxConcBeamTransDiam Maximum transverse
pdMinConcBeamTransDiam Minimum transverse

GetCriteriaBarSelectionData ([out] long* plMinTopBars, [out] long* plMinBotBars, [out] long* plBarLayerSame, [out] long* plSizeChange, [out]
double* pdSegSpaceInc, [out] double* pdShearBarSpaceInc, [out] long* plBarSelMethod, [out] long* plBarSizeBias, [out] long*
plBiasLimit);
Purpose Get Criteria Beam Design Bar Selection Defaults.
Parameters plMinTopBars Min Number of Top Longitudinal bars
plMinBotBars Min Number of Bottom Longitudinal bars
plBarLayerSame Keep all bars in layer the same size: 0 = FALSE, 1 = TRUE
plSizeChange Number of sizes adjacent bars may differ by
pdSegSpaceInc Trans bar spacing segment increment
pdShearBarSpaceInc Trans bar spacing shear bar spacing increment (0 = based on
minimum required steel, 1 = based on maximum spacing controlling
over minimum rebar area, 2 = based on minimum spacing
controlling minimum rebar area)
plBarSelMethod rebar selection method
plBarSizeBias Bar Selection Bias for Bar Size (0 = small, 1 = medium, 2 = large)
plBiasLimit Amount of bias (0 = low, 1 = medium, 2 = high)

GetCriteriaDetailingGravBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*


pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,
[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long*
plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans.
Distance from support to 1st shear reinforcement at
pdTransBarStartEnd beam end
Distance from support to shear reinforcement at interior
pdTransBarStartSpan supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for bottom reinforcement relative to
support face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type
plEndCond Bottom longitudinal reinforcement end condition
plStirrupType Type of Stirrup

GetCriteriaDetailingGravJoistData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*


pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,
[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long*
plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Joist Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
Distance from support to 1st shear reinforcement at
pdTransBarStartEnd beam end
Distance from support to shear reinforcement at interior
pdTransBarStartSpan supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type
plEndCond Bottom longitudinal reinforcement end condition
plStirrupType Type of Stirrup

GetCriteriaDetailingLatBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*


pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,
[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long*
plEndCond, [out] long* plStirrupType);
Purpose Get Lateral Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of
beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior
support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement along
interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face
at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at
interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI Class A, 1 =
ACI Class B)
plEndCond Bottom longitudinal reinforcement end condition (0 = Straight, 1
= Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 =
Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

GetCriteriaReinCBCData ([out] long* plTop, [out] double* pdTop, [out] long* plSide, [out] double* pdSide, [out] long* plBot, [out] double* pdBot);
Purpose Get Criteria Reinforcement Clear Bar Cover Defaults.
Parameters plTop Clear Bar Cover Top option (0 = Code, 1 = user defined)
pdTop Clear Bar Cover Top Value
plSide Clear Bar Cover Side option (0 = Code, 1 = user defined)
pdSide Clear Bar Cover Side Value
plBot Clear Bar Cover Bottom option (0 = Code, 1 = user defined)
pdBot Clear Bar Cover Bottom Value

GetCriteriaReinCBSFlexure ([out] long* plFlexMax, [out] double* pdFlexMax, [out] long* plFlexMin, [out] double* pdFlexMin);
Purpose Get Criteria Reinforcement Clear Bar Spacing Flexure Defaults.
Parameters plFlexMax Clear Bar Spacing Flexure Max option (0 = Code, 1 = user defined)
pdFlexMax Clear Bar Spacing Flexure Max Value
plFlexMin Clear Bar Spacing Flexure Min option (0 = Code, 1 = user defined)
pdFlexMin Clear Bar Spacing Flexure Min Value

GetCriteriaReinCBSShear ( [out] long* plShearMax, [out] double* pdShearMax, [out] long* plShearMin, [out] double* pdShearMin);
Purpose Get Criteria Reinforcement Clear Bar Spacing Shear Defaults.
Parameters plShearMax Clear Bar Spacing Shear Max option (0 = Code, 1 = user defined)
pdShearMax Clear Bar Spacing Shear Max Value
plShearMin Clear Bar Spacing Shear Min option (0 = Code, 1 = user defined)
pdShearMin Clear Bar Spacing Shear Min Value

GetCriteriaReinCCBData ( [out] long* plAllow2Layers, [out] double* pdGravTopLayer1, [out] double* pdGravTopLayer2, [out] double*
pdGravBotLayer1, [out] double* pdGravBotLayer2, [out] double* pdLatTopLayer1, [out] double* pdLatTopLayer2, [out] double*
pdLatBotLayer1, [out] double* pdLatBotLayer2);
Purpose Criteria definitions for location from concrete tension surface to effective center of longitudinal
tension reinforcement for 1 and 2 layers of bars..
Parameters plAllow2Layers 1 = Allow 2 layers, 0 = don’t allow 2 layers
pdGravTopLayer1 Cover to Center of Bars Grav Beams Top 1 Layer
pdGravTopLayer2 Cover to Center of Bars Grav Beams Top 2 Layer
pdGravBotLayer1 Cover to Center of Bars Grav Beams Bottom 1 Layer
pdGravBotLayer2 Cover to Center of Bars Grav Beams Bottom 2 Layer
pdLatTopLayer1 Cover to Center of Bars Lat Beams Top 1 Layer
pdLatTopLayer2 Cover to Center of Bars Lat Beams Top 2 Layer
pdLatBotLayer1 Cover to Center of Bars Lat Beams Bottom 1 Layer
pdLatBotLayer2 Cover to Center of Bars Lat Beams Bottom 2 Layer

GetCriteriaReinLRRData ([out] long* plLRRMax, [out] double* pdLRRMax, [out] long* plLRRMin, [out] double* pdLRRMin);
Purpose Get Criteria Reinforcement Longitudinal Reinf. Ratio Defaults.
Parameters plLRRMax Long. Rein Ratio Max option (0 = Code, 1 = user defined)
pdLRRMax Long. Rein Ratio Max Value
plLRRMin Long. Rein Ratio Min option (0 = Code, 1 = user defined)
pdLRRMin Long. Rein Ratio Min Value

SetBeamBarSets ([in] long lStory, [in] long lBeamLineID, [in] SBM_BAR_SET** ppaShearBarSet, [in] SBM_BAR_SET_BSTR**
ppaShearBarSetBstr, [in] long* plSizeShear, [in] SBM_BAR_SET** ppaTopFlxBarSet, [in] SBM_BAR_SET_BSTR**
ppaTopFlxBarSetBstr, [in] long* plSizeTopFlx, [in] SBM_BAR_SET** ppaBotFlxBarSet, [in] SBM_BAR_SET_BSTR**
ppaBotFlxBarSetBstr, [in] long* plSizeBotFlx);
Purpose Set all the reinforcement located in all the spans in the beam line.
Parameters lStory Story where beam line is located
lBeamLineID Beam line ID number
ppaShearBarSet Shear reinforcement bar set data
ppaShearBarSetBstr Shear reinforcement bar set strings
plSizeShear Number of shear bar sets. Defines size of pShearBarSet and
pShearBarSetBstr
ppaTopFlxBarSet Top longitudinal reinforcement bar set data
ppaTopFlxBarSetBstr Top longitudinal reinforcement bar set strings
plSizeTopFlx Number of Top longitudinal bar sets. Defines size of
pTopFlxBarSet and pTopFlxBarSetBstr
ppaBotFlxBarSet Bottom longitudinal reinforcement bar set data
ppaBotFlxBarSetBstr Bottom longitudinal reinforcement bar set strings
plSizeBotFlx Number of Botttom longitudinal bar sets. Defines size of
pBotFlxBarSet and pBotFlxBarSetBstr
Comments Note that all the reinforcement start and end locations are based on the start of the first span in
the beam line. If the first span has a cantilever then the origin is located at the free end of the
cantilever. If the first span does not have a cantilever then the origin of the bar sets is the
center of the first span support.

SetBeamEnvelopes ();
Purpose Internal use only.

SetBeamResults ([in] long lStory, [in] long lBeamLineID, [in] long *plNumSpans, [in] SBML_RES** haBeamLine, [in] SBM_RES**
haBeamResults, [in] SBM_RES_BSTR** haBeamResultsBstr);
Purpose Set concrete beam design results.
Parameters lStory Story number starting with 0 for the first story
lBeamLineID Beam line ID number
plNumSpans Total number of spans in beam line
haBeamLine Beam line results
haBeamResults Individual beam span results
haBeamResultsBstr Individual beam span result strings

SetCriteriaBarSelectionData ([in] long* plMinTopBars, [in] long* plMinBotBars, [in] long* plBarLayerSame, [in] long* plSizeChange, [in] double*
pdSegSpaceInc, [in] double* pdShearBarSpaceInc, [in] long* plBarSelMethod, [in] long* plBarSizeBias, [in] long* plBiasLimit);
Purpose Set Criteria Beam Design Bar Selection Defaults.
Parameters plMinTopBars Min Number of Top Longitudinal bars
plMinBotBars Min Number of Bottom Longitudinal bars
plBarLayerSame Keep all bars in layer the same size: 0 = FALSE, 1 = TRUE
plSizeChange Number of sizes adjacent bars may differ by
pdSegSpaceInc Trans bar spacing segment increment
pdShearBarSpaceInc Trans bar spacing shear bar spacing increment (0 = based on
minimum required steel, 1 = based on maximum spacing controlling
over minimum rebar area, 2 = based on minimum spacing
controlling minimum rebar area)
plBarSelMethod rebar selection method
plBarSizeBias Bar Selection Bias for Bar Size (0 = small, 1 = medium, 2 = large)
plBiasLimit Amount of bias (0 = low, 1 = medium, 2 = high)

SetCriteriaDetailingGravBeamData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*


pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,
[in] long* plStirrupType);
Purpose Set Gravity Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans.
Distance from support to 1st shear reinforcement at
pdTransBarStartEnd beam end
Distance from support to shear reinforcement at interior
pdTransBarStartSpan supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for bottom reinforcement relative to
support face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type
plEndCond Bottom longitudinal reinforcement end condition
plStirrupType Type of Stirrup
SetCriteriaDetailingGravJoistData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*
pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,
[in] long* plStirrupType);
Purpose Set Gravity Joist Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
Distance from support to 1st shear reinforcement at
pdTransBarStartEnd beam end
Distance from support to shear reinforcement at interior
pdTransBarStartSpan supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type
plEndCond Bottom longitudinal reinforcement end condition
plStirrupType Type of Stirrup

SetCriteriaDetailingLatBeamData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*


pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,
[in] long* plStirrupType);
Purpose Set Lateral Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of
beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior
support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement along
interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face
at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at
interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI Class A, 1 =
ACI Class B)
plEndCond Bottom longitudinal reinforcement end condition (0 = Straight, 1
= Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 =
Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

SetCriteriaReinCBCData ([in] long* plTop, [in] double* pdTop, [in] long* plSide, [in] double* pdSide, [in] long* plBot, [in] double* pdBot);
Purpose Set Criteria Reinforcement Clear Bar Cover Defaults.
Parameters plTop Clear Bar Cover Top option (0 = Code, 1 = user defined)
pdTop Clear Bar Cover Top Value
plSide Clear Bar Cover Side option (0 = Code, 1 = user defined)
pdSide Clear Bar Cover Side Value
plBot Clear Bar Cover Bottom option (0 = Code, 1 = user defined)
pdBot Clear Bar Cover Bottom Value

SetCriteriaReinCBSFlexure ([in] long* plFlexMax, [in] double* pdFlexMax, [in] long* plFlexMin, [in] double* pdFlexMin);
Purpose Set Criteria Reinforcement Clear Bar Spacing Flexure Defaults.
Parameters plFlexMax Clear Bar Spacing Flexure Max option (0 = Code, 1 = user defined)
pdFlexMax Clear Bar Spacing Flexure Max Value
plFlexMin Clear Bar Spacing Flexure Min option (0 = Code, 1 = user defined)
pdFlexMin Clear Bar Spacing Flexure Min Value

SetCriteriaReinCBSShear ( [in] long* plShearMax, [in] double* pdShearMax, [in] long* plShearMin, [in] double* pdShearMin);
Purpose Set Criteria Reinforcement Clear Bar Spacing Shear Defaults.
Parameters plShearMax Clear Bar Spacing Shear Max option (0 = Code, 1 = user defined)
pdShearMax Clear Bar Spacing Shear Max Value
plShearMin Clear Bar Spacing Shear Min option (0 = Code, 1 = user defined)
pdShearMin Clear Bar Spacing Shear Min Value

SetCriteriaReinCCBData ( [in] long* plAllow2Layers, [in] double* pdGravTopLayer1, [in] double* pdGravTopLayer2, [in] double*
pdGravBotLayer1, [in] double* pdGravBotLayer2, [in] double* pdLatTopLayer1, [in] double* pdLatTopLayer2, [in] double*
pdLatBotLayer1, [in] double* pdLatBotLayer2);
Purpose Criteria definitions for location from concrete tension surface to effective center of longitudinal
tension reinforcement for 1 and 2 layers of bars..
Parameters plAllow2Layers 1 = Allow 2 layers, 0 = don’t allow 2 layers
pdGravTopLayer1 Cover to Center of Bars Grav Beams Top 1 Layer
pdGravTopLayer2 Cover to Center of Bars Grav Beams Top 2 Layer
pdGravBotLayer1 Cover to Center of Bars Grav Beams Bottom 1 Layer
pdGravBotLayer2 Cover to Center of Bars Grav Beams Bottom 2 Layer
pdLatTopLayer1 Cover to Center of Bars Lat Beams Top 1 Layer
pdLatTopLayer2 Cover to Center of Bars Lat Beams Top 2 Layer
pdLatBotLayer1 Cover to Center of Bars Lat Beams Bottom 1 Layer
pdLatBotLayer2 Cover to Center of Bars Lat Beams Bottom 2 Layer
SetCriteriaReinLRRData ([in] long* plLRRMax, [in] double* pdLRRMax, [in] long* plLRRMin, [in] double* pdLRRMin);
Purpose Set Criteria Reinforcement Longitudinal Reinf. Ratio Defaults.
Parameters plLRRMax Long. Rein Ratio Max option (0 = Code, 1 = user defined)
pdLRRMax Long. Rein Ratio Max Value
plLRRMin Long. Rein Ratio Min option (0 = Code, 1 = user defined)
pdLRRMin Long. Rein Ratio Min Value

IConcBeamState2

Philosophy: This interface is for maintaining the state of the concrete beam module.

GetBSBarSelData ( [out] long* plSideBar, [out] long* plMinLongSize, [out] long* plMaxLongSize, [out] long* plTransSize);
Purpose BS 8110 Beam Design Defaults.
Parameters plSideBar Index to the side bar minimum size
plMinLongSize Minimum longitudinal bar size
plMaxLongSize Index to the maximum longitudinal bar size
plTransSize Index to the shear bar size

GetBSDesignCheckData ( [out] long* plDesignShear, [out] BOOL* pbUseEnhanced);


Purpose BS 8110 Beam Design Defaults.
Parameters plDesignShear 0 = center line of support, 1 = column face
pbUseEnhanced True if Use Enhanced Shear Effects option is selected

GetBSShearDesignCriteria ( [out] double* pdShearSpacing, [out] long* plNumLegs, [out] long* plLinkType);
Purpose BS 8110 Beam Design Defaults.
Parameters pdShearSpacing Minimum spacing
plNumLegs Index to the number of shear legs
plLinkType 0 = Open, 1 = Closed

GetCamberCriteria ( [out] long *plDontCamber, [out] double *pdMinSpanLength, [out] double *pdDLforCamber, [out] double *pdCamberInc, [out]
double *pdMinCamber, [out] double * pdMaxCamber);
Purpose Get Concrete camber criteria.
Parameters plDontCamber 0 = camber (don't not camber), 1 = don't camber
pdMinSpanLength Minimum span length to camber
pdDLforCamber % of Dead Load for camber
pdCamberInc Camber increment
pdMinCamber Minimum camber value
pdMaxCamber Maximum camber value

GetCheckDeepBeam ( [out] BOOL* pbCheckDeepBeam);


Purpose To get the mdf variable for whether the user wants to check deep beams.
Parameters pbCheckDeepBeam TRUE = Check Deep Beams

GetCheckTorsion ( [out] BOOL* pbCheckTorsion);


Purpose To get the mdf variable for whether the user wants to check torsional capacity for beams.
Parameters pbCheckTorsion TRUE = Check Torsional Capacity

GetChinaShearDesignCriteria ([out] double* pdShearSpacing, [out] double* pdShearSpacingCompact, [out] long* plNumLegs, [out] long*
plLinkType, [out, retval] long* plRetVal);
Purpose Get the shear design criteria for the Chinese code.
Parameters pdShearSpacing Shear bar spacing in the non-compact zone
pdShearSpacingCompact Shear bar spacing in the compact zone
plNumLegs Number of links
plLinkType Link type. 0 for closed, 1 for open.
plRetVal Error code. If value is non zero then check GetLastError

GetConcBeamReinMinBarLayerGap ( [out] double* pdUpper, [out] double* pdLower);


Purpose BS 8110 Beam Design Defaults.
Parameters pdUpper Gap between upper main bar layers
pdLower Gap between lower main bar layers

GetCriteriaDetailingGravBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*


pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,
[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out]
long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

GetCriteriaDetailingGravJoistData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*


pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,
[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out]
long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Joist Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

GetCriteriaDetailingLatBeamData ([out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*


pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,
[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out]
long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Get Lateral Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

GetDeflectionAlternateCriteria ( [out] double *pdDLRatio, [out] double *pdDLAbs, [out] double *pdLLRatio, [out] double *pdLLAbs, [out] double
*pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double *pdNetAbs);
Purpose Get the alternate span-to-deflection ratios/ abs values.
Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load delta
pdLLRatio Live Load l/d
pdLLAbs Live Load delta
pdLTRatio Long Term + LL l/d
pdLTAbs Long Term + LL delta
pdNetRatio Net Total l/d
pdNetAbs Net Total delta

GetDeflectionCriteria ([in] LONG lIndex, [out] LONG *plUniqueID, [out] BSTR *pbstrName, [out] double *pdDLRatio, [out] double pdDLAbs, [out]
double *pdLLRatio, [out] double *pdLLAbs, [out] double *pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double
*pdNetAbs);
Purpose Get the number of deflection criteria defined.
Parameters lIndex Index of the criteria
plUnique ID Unique ID of the criteria
pbstrName Label of the criteria
pdDLRatio Dead Load deflection as ratio (ie 360 for L/360)
pdLAbs Dead Load deflection as absolute value (ie 1 for 1 inch)
pdLLRatio LIve Load deflection as ratio (ie 360 for L/360)
pdLLabs Live Load deflection as absolute value (ie 1 for 1 inch)
pdLTRatio Long Term deflection as ratio (ie 360 for L/360)
pdLTAbs Long Term deflection as absolute value (ie 1 for 1 inch)
pdNetRatio Net deflection as ratio (ie 360 for L/360)
pdNetAbs Net deflection as absolute value (ie 1 for 1 inch)
GetDeflectionCriteriaIeff ([out] long *plIeff);
Purpose User option as to whether the Ieff used for deflection is to be calculated per ACI, or
whether the user specified I (Ig x cracked factor) is to be used.
Parameters plIeff Ieff value to use - 0=per ACI, 1=from Analysis

GetDeflectionCriteriaLongTerm ( [out] double *pdInitialTimeFac, [out] double *pdFinalTimeFac, [out] double *pdLLSustained);
Purpose Get Long Term Deflection criteria.
Parameters pdInitialTimeFac Initial time dependent factor
pdFinalTimeFac Final time dependent factor
pdLLSustained % of LL sustained

GetDeflectionCriteriaMinCheckRatio ( [out] long *plDontCheck, [out] double *pdSpanDepthRatio);


Purpose Get whether or not to skip deflection check for minimum span/depth ratio.
Parameters plDontCheck Don't check defl for the following ratio
pdSpanDepthRatio minimum deflection check span/depth ratio

GetDeflectionDefaultCriteria ( [out] double *pdDLRatio, [out] double *pdDLAbs, [out] double *pdLLRatio, [out] double *pdLLAbs, [out] double
*pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double *pdNetAbs);
Purpose Get the default span-to-deflection ratios/ abs values.
Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load delta
pdLLRatio Live Load l/d
pdLLAbs Live Load delta
pdLTRatio Long Term + LL l/d
pdLTAbs Long Term + LL delta
pdNetRatio Net Total l/d
pdNetAbs Net Total delta

GetDesignJoistsAsBeams ([out] BOOL *pbDesignJstAsBeam, [out,retval] long *plRetVal);


Purpose Indicates if members assigned as joist are actually designed as beams.
Parameters pbDesignJstAsBeam TRUE = design joists as beams
plRetVal Error code. If value is non zero then check GetLastError

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLatBmGravForceSource ( long* plLatMemGravForceSource, [out,retval] long* plRetVal );


Purpose Get the source of gravity forces on lateral conc beams.
Parameters plLatMemGravForceSource 0=lat beam grav forces from ram conc, 1= from RFrame
plRetVal Error code. If value is non zero then check GetLastError

GetMemberScheduleMark ([in] long lBeamID, [out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal);
Purpose Get the member concrete reinforcement schedule marks.
Parameters lBeamID Beam Unique ID
pBeamScheduleMark Concrete beam schedule mark
plRetVal Error code. If value is non zero then check GetLastError

GetNumDeflectionCriteria ([out, retVal] long* plCount);


Purpose Get the number of deflection criteria defined.
Parameters plCount Number of criteria

Reset ();
Purpose Internal use only.

SetBSBarSelData ( [in] long* plSideBar, [in] long* plMinLongSize, [in] long* plMaxLongSize, [in] long* plTransSize);
Purpose BS 8110 Beam Design Defaults.
Parameters plSideBar Index to the side bar minimum size
plMinLongSize Minimum longitudinal bar size
plMaxLongSize Index to the maximum longitudinal bar size
plTransSize Index to the shear bar size

SetBSDesignCheckData ( [in] long* plDesignShear, [in] BOOL* pbUseEnhanced);


Purpose BS 8110 Beam Design Defaults.
Parameters plDesignShear 0 = center line of support, 1 = column face
pbUseEnhanced True if Use Enhanced Shear Effects option is selected

SetBSShearDesignCriteria ( [in] double* pdShearSpacing, [in] long* plNumLegs, [in] long* plLinkType);
Purpose BS 8110 Beam Design Defaults.
Parameters pdShearSpacing Minimum spacing
plNumLegs Index to the number of shear legs
plLinkType 0 = Open, 1 = Closed

SetCamberCriteria ( [in] long *plDontCamber, [in] double *pdMinSpanLength, [in] double *pdDLforCamber, [in] double *pdCamberInc, [in] double
*pdMinCamber, [in] double * pdMaxCamber);
Purpose Get Concrete camber criteria.
Parameters plDontCamber 0 = camber (don't not camber), 1 = don't camber
pdMinSpanLength Minimum span length to camber
pdDLforCamber % of Dead Load for camber
pdCamberInc Camber increment
pdMinCamber Minimum camber value
pdMaxCamber Maximum camber value

SetCheckDeepBeam ( [in] BOOL* pbCheckDeepBeam);


Purpose To get the mdf variable for whether the user wants to check deep beams.
Parameters pbCheckDeepBeam TRUE = Check Deep Beams

SetCheckTorsion ( [in] BOOL* pbCheckTorsion);


Purpose To get the mdf variable for whether the user wants to check torsional capacity for beams.
Parameters pbCheckTorsion TRUE = Check Torsional Capacity

SetChinaShearDesignCriteria ([in] double dShearSpacing, [in] double dShearSpacingCompact, [in] long lNumLinks, [in] long lLinkType, [in,
retval] long* plRetVal);
Purpose Set the shear design criteria for the Chinese code.
Parameters dShearSpacing Shear bar spacing in the non-compact zone
dShearSpacingCompact Shear bar spacing in the compact zone
lNumLinks Number of links
lLinkType Link type. 0 for closed, 1 for open.
plRetVal Error code. If value is non zero then check GetLastError

SetConcBeamReinMinBarLayerGap ( [in] double* pdUpper, [in] double* pdLower);


Purpose BS 8110 Beam Design Defaults.
Parameters pdUpper Gap between upper main bar layers
pdLower Gap between lower main bar layers

SetCriteriaDetailingGravBeamData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*


pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plTopMinContinuous, [in] long* plNumStirrupLegs, [in] long*
plSpliceType, [in] long* plEndCond, [in] long* plStirrupType);
Purpose Set Gravity Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

SetCriteriaDetailingGravJoistData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*


pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plTopMinContinuous, [in] long* plNumStirrupLegs, [in] long*
plSpliceType, [in] long* plEndCond, [in] long* plStirrupType);
Purpose Set Gravity Joist Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

SetCriteriaDetailingLatBeamData ([in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*


pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plTopMinContinuous, [in] long* plNumStirrupLegs, [in] long*
plSpliceType, [in] long* plEndCond, [in] long* plStirrupType);
Purpose Set Lateral Beam Detailing Defaults.
Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interior
supports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over support
plTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joists
plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)

SetDeflectionAlternateCriteria ( [in] double *pdDLRatio, [in] double *pdDLAbs, [in] double *pdLLRatio, [in] double *pdLLAbs, [in] double
*pdLTRatio, [in] double *pdLTAbs, [in] double *pdNetRatio, [in] double *pdNetAbs);
Purpose Set the alternate span-to-deflection ratios/ abs values.
Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load delta
pdLLRatio Live Load l/d
pdLLAbs Live Load delta
pdLTRatio Long Term + LL l/d
pdLTAbs Long Term + LL delta
pdNetRatio Net Total l/d
pdNetAbs Net Total delta

SetDeflectionCriteria ([in] LONG lIndex, [in] LONG lUniqueID, [in] BSTR bstrName, [in] double dDLRatio, [in] double dDLAbs, [in] double
dLLRatio, [in] double dLLAbs, [in] double dLTRatio, [in] double dLTAbs, [in] double dNetRatio, [in] double dNetAbs);
Purpose Set the number of deflection criteria defined.
Parameters lIndex Index of the criteria
lUnique ID Unique ID of the criteria
pbstrName Label of the criteria
dDLRatio Dead Load deflection as ratio (ie 360 for L/360)
dLAbs Dead Load deflection as absolute value (ie 1 for 1 inch)
dLLRatio LIve Load deflection as ratio (ie 360 for L/360)
dLLabs Live Load deflection as absolute value (ie 1 for 1 inch)
dLTRatio Long Term deflection as ratio (ie 360 for L/360)
dLTAbs Long Term deflection as absolute value (ie 1 for 1 inch)
dNetRatio Net deflection as ratio (ie 360 for L/360)
dNetAbs Net deflection as absolute value (ie 1 for 1 inch)

SetDeflectionCriteriaIeff ([in] long *plIeff);


Purpose User option as to whether the Ieff used for deflection is to be calculated per ACI, or
whether the user specified I (Ig x cracked factor) is to be used.
Parameters plIeff Ieff value to use - 0=per ACI, 1=from Analysis

SetDeflectionCriteriaLongTerm ( [in] double *pdInitialTimeFac, [in] double *pdFinalTimeFac, [in] double *pdLLSustained);
Purpose Get Long Term Deflection criteria.
Parameters pdInitialTimeFac Initial time dependent factor
pdFinalTimeFac Final time dependent factor
pdLLSustained % of LL sustained

SetDeflectionCriteriaMinCheckRatio ( [in] long *plDontCheck, [in] double *pdSpanDepthRatio);


Purpose Get whether or not to skip deflection check for minimum span/depth ratio.
Parameters plDontCheck Don't check defl for the following ratio
pdSpanDepthRatio minimum deflection check span/depth ratio

SetDeflectionDefaultCriteria ( [in] double *pdDLRatio, [in] double *pdDLAbs, [in] double *pdLLRatio, [in] double *pdLLAbs, [in] double *pdLTRatio,
[in] double *pdLTAbs, [in] double *pdNetRatio, [in] double *pdNetAbs);
Purpose Get the default span-to-deflection ratios/ abs values.
Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load delta
pdLLRatio Live Load l/d
pdLLAbs Live Load delta
pdLTRatio Long Term + LL l/d
pdLTAbs Long Term + LL delta
pdNetRatio Net Total l/d
pdNetAbs Net Total delta

SetDesignJoistsAsBeams ( [out] BOOL *pbDesignJstAsBeam, [out,retval] long *plRetVal );


Purpose Indicates if members assigned as joist are actually designed as beams.
Parameters pbDesignJstAsBeam TRUE = design joists as beams
plRetVal Error code. If value is non zero then check GetLastError

SetLatBmGravForceSource ( [out] long* plLatMemGravForceSource, [out,retval] long* plRetVal );


Purpose Get the source of gravity forces on lateral conc beams.
Parameters plLatMemGravForceSource 0=lat beam grav forces from ram conc, 1= from RFrame
plRetVal Error code. If value is non zero then check GetLastError

SetMemberScheduleMark ([out] long lBeamID, [in, out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal );
Purpose Get the member concrete reinforcement schedule marks.
Parameters lBeamID Beam Unique ID
pBeamScheduleMark Concrete beam schedule mark
plRetVal Error code. If value is non zero then check GetLastError

SetNumDeflectionCriteria ( [out] long lCount);


Purpose Set the number of deflection criteria defined.
Parameters lCount Number of criteria

IConcCntlrCommon1

Philosophy: This interface is used to access data that is common to several controllers.

ClearSPDataForBeam ();
Purpose Internal use only.

GetCriteriaCode ( [out, RetVal] EDA_CONC_CODE );


Purpose Get the concrete code.

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetFrameTypeCriteria ([out] long* plFrameRadioSel, [out] long* pnNum, [out] BOOL** ppabIncludeCheck);
Purpose Get the type of concrete frame type the user has selected for this model.
Parameters plFrameRadioSel 0 = Ordinary Moment Frame, 1 = Intermediate, 2 = Special
pnNum 0 (Not used now)
ppabIncludeCheck NULL (Not used now)

GetFrameTypeUsedInDesign ([out] long *plFrameType);


Purpose Get the frame type used for design. This might not be the currently selected frame type.
Parameters plFrameType 0 = ordinary, 1 = intermediate, 2 = special

GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetSDCForConcrete ( [out] long* plSDC );


Purpose Get the seismic design category.
Parameters plSDC Index to seismic design category

GetSMFLoadComboFactors ([out] long* plSMFRadioSel, [out] double* pdDead, [out] double* pdLive, [out] double* pdSnow);
Purpose To get the load combo factors used for the selected frame type (IMF or SMF).
Parameters plSMFRadioSel radio button selection in the dialog
0 = ACI, 1 = UBC, 2 = user defined values
pdDead Dead load factor entered by the user
pdLive Live load factor entered by the user
pdSnow Snow load factor entered by the user

GetSpecialProvDsnEndShear ([in] long lBeamID, [out] double* pdVuORVeIEnd, [out] double* pdVuORVeJEnd, [out] double* pdVuAnalysisIEnd,
[out] double* pdVuAnalysisJEnd, [out] long *plResult);
Purpose Get the required special provision end shears capacities of the mid span of a given beam.
Parameters lBeamID Beam unique ID
pdVuORVeIEnd Required minimum shear capacity at I end. Vu for IMF and Ve
for SMF
Required minimum shear capacity at J end. Vu for IMF and Ve
pdVuORVeJEnd for SMF
pdVuAnalysisIEnd Analysis required shear capacity at I end
pdVuAnalysisJEnd Analysis required shear capacity at J end
plResult Returned error code

GetSpecialProvEndMomentCap ([in] long lBeamID, [out] double* pdMnIEndPos, [out] double* pdMnIEndNeg, [out] double* pdMnJEndPos, [out]
double* pdMnJEndNeg, [out] double* pdMprIEndPos, [out] double* pdMprIEndNeg, [out] double* pdMprJEndPos, [out] double*
pdMprJEndNeg, [out] long *plResult);
Purpose Get the end moment capacities of the mid span of a given beam.
Parameters lBeamID Beam unique ID
pdMnIEndPos Positive nominal moment at I end of beam
pdMnIEndNeg Negative nominal moment at I end of beam
pdMnJEndPos Positive nominal moment at J end of beam
pdMnJEndNeg Negative nominal moment at J end of beam
pdMprIEndPos Positive probable moment at I end of beam
pdMprIEndNeg Negative probable moment at I end of beam
pdMprJEndPos Positive probable moment at J end of beam
pdMprJEndNeg Negative probable moment at J end of beam
plResult Returned error code

GetSpecialProvEndShears ([in] long lBeamID, [out] double* pdIEndSPShear, [out] double* pdJEndSPShear, [out] long *plResult);
Purpose Get the calculated special provision minimum required end shears for beam. If not
found, set -1.0 for all values and return error code.
Parameters lBeamID Beam Unique ID
pdIEndSPShear I or Start Special Provisions Shear min. required shear
pdJEndSPShear J or End Special Provisions Shear min. required shear
plResult Error code 0 = no error

GetSpecialProvReinAreaAtSupportFace ([in] long lBeamID, [out] double *pdStartTopReinArea, [out] double *pdStartBotReinArea, [out] double
*pdEndTopReinArea, [out] double *pdEndBotReinArea, [out] long *plResult);
Purpose Get provided reinforcement area at ends of span. Used for Special provisions design.
Parameters lBeamID Beam unique ID
pdStartTopReinArea Top reinforcement area at start of beam
pdStartBotReinArea Bottom reinforcement area at start of beam
pdEndTopReinArea Top reinforcement area at end of beam
pdEndBotReinArea Bottom reinforcement area at end of beam
plResult Returned error code

Reset ();
Purpose Internal use only.

SaveSPData ();
Purpose Internal use only.

SetCriteriaCode ( [out, RetVal] EDA_CONC_CODE );


Purpose Set the concrete code.

SetFrameTypeCriteria ([in] long* plFrameRadioSel, [in] long* pnNum, [in] BOOL** ppabIncludeCheck);
Purpose Set the type of concrete frame type the user has selected for this model.
Parameters plFrameRadioSel 0 = Ordinary Moment Frame, 1 = Intermediate, 2 = Special
pnNum 0 (Not used now)
ppabIncludeCheck NULL (Not used now)

SetFrameTypeUsedInDesign ([in] long *plFrameType);


Purpose Set the frame type used for design. This might not be the currently selected frame type.
Parameters plFrameType 0 = ordinary, 1 = intermediate, 2 = special

SetSDCForConcrete ( [in] long* plSDC );


Purpose Set the seismic design category.
Parameters plSDC Index to seismic design category

SetSMFLoadComboFactors ([in] long* plSMFRadioSel, [in] double* pdDead, [in] double* pdLive, [in] double* pdSnow);
Purpose Set the load combo factors used for the selected frame type (IMF or SMF).
Parameters plSMFRadioSel radio button selection in the dialog
0 = ACI, 1 = UBC, 2 = user defined values
pdDead Dead load factor entered by the user
pdLive Live load factor entered by the user
pdSnow Snow load factor entered by the user

SetSpecialProvDsnEndShear ([in] long lBeamID, [in] double* pdVuORVeIEnd, [in] double* pdVuORVeJEnd, [in] double* pdVuAnalysisIEnd, [in]
double* pdVuAnalysisJEnd );
Purpose Set the required special provision end shears capacities of the mid span of a given beam.
Parameters lBeamID Beam unique ID
pdVuORVeIEnd Required minimum shear capacity at I end. Vu for IMF and Ve
for SMF
Required minimum shear capacity at J end. Vu for IMF and Ve
pdVuORVeJEnd for SMF
pdVuAnalysisIEnd Analysis required shear capacity at I end
pdVuAnalysisJEnd Analysis required shear capacity at J end
plResult Returned error code

SetSpecialProvEndMomentCap ([in] long lBeamID, [in] double* pdMnIEndPos, [in] double* pdMnIEndNeg, [in] double* pdMnJEndPos, [in]
double* pdMnJEndNeg, [in] double* pdMprIEndPos, [in] double* pdMprIEndNeg, [in] double* pdMprJEndPos, [in] double* pdMprJEndNeg
);
Purpose Set the end moment capacities of the mid span of a given beam.
Parameters lBeamID Beam unique ID
pdMnIEndPos Positive nominal moment at I end of beam
pdMnIEndNeg Negative nominal moment at I end of beam
pdMnJEndPos Positive nominal moment at J end of beam
pdMnJEndNeg Negative nominal moment at J end of beam
pdMprIEndPos Positive probable moment at I end of beam
pdMprIEndNeg Negative probable moment at I end of beam
pdMprJEndPos Positive probable moment at J end of beam
pdMprJEndNeg Negative probable moment at J end of beam
plResult Returned error code

SetSpecialProvEndShears ([in] long lBeamID, [in] double* pdIEndSPShear, [in] double* pdJEndSPShear );
Purpose Set the calculated special provision minimum required end shears for beam. If not
found, set -1.0 for all values and return error code.
Parameters lBeamID Beam Unique ID
pdIEndSPShear I or Start Special Provisions Shear min. required shear
pdJEndSPShear J or End Special Provisions Shear min. required shear
plResult Error code 0 = no error
SetSpecialProvReinAreaAtSupportFace ([in] long lBeamID, [in] double *pdStartTopReinArea, [in] double *pdStartBotReinArea, [in] double
*pdEndTopReinArea, [in] double *pdEndBotReinArea, [out] long *plResult);
Purpose Set provided reinforcement area at ends of span. Used for Special provisions design.
Parameters lBeamID Beam unique ID
pdStartTopReinArea Top reinforcement area at start of beam
pdStartBotReinArea Bottom reinforcement area at start of beam
pdEndTopReinArea Top reinforcement area at end of beam
pdEndBotReinArea Bottom reinforcement area at end of beam
plResult Returned error code

IConcColModState1

Philosophy: This interface is for maintaining the state of the concrete column module.

ClearColumnResults ();
Purpose Internal use only.

GetAssignGeometry ([out] BOOL* pbAssignSize, [out] BOOL* pbAssignLegs, [out] long* pnMajor, [out] long* pnMinor, [out] pnUserMajor, [out]
pnUserMinor, [out] pnSizeIndex, [out] BSTR bstrGblMajor, [out] BSTR bstrGblMinor );
Purpose Assign menu dialog settings.
Parameters pbAssignSize 1 if Assign – Size exists
pbAssignLegs 1 if Assign – Legs exists
pnMajor 0 = Use Global, 1 = User Defined
pnMinor 0 = Use Global, 1 = User Defined
pnUserMajor Number of legs in the major axis
pnUserMinor Number of Legs in the minor axis
pnSizeIndex Index to the selected column size in Assign - Size
bstrGblMajor String for the global setting in the minor axis
bstrGblMinor String for the global setting in the minor axis

GetBarGroup ([in] long nIndex, [out] BSTR* pbstrLabel, [out] BSTR* pbstrListBoxLabel, [out] BSTR* pbstrMaxBar, [out] BSTR* pbstrMinBar,
[out] BSTR* pbstrTieBar, [out] long* pnGroupID, [out] long* pnNumLong, [out] long* pnNumAdd, [out] long* pnNumPatternsInGroup, [out]
long* pnType, [out] long* pbUse, [out] long* pbValid);
Purpose Get the bar pattern group.
Parameters nIndex Pattern group index number
pbstrLabel Label automatically generated for the group
pbstrListBoxLabel Group label that is used in list boxes (includes tab character)
pbstrMaxBar Max longitudinal bar size label
pbstrMinBar Min longitudinal bar size label
pbstrTieBar Transverse bar size label
pnGroupID Unique Group ID.
pnNumLong Number of longitudinal bars used at top and bottom of
rectangular patterns or total number of bars used in round
pattern layouts
pnNumAdd Additional bars on left and right side of rectangular patterns
pnNumPatternsInGroup Number of bar patterns generated by group
pnType Pattern type - ePATTERN_TYPE
pbUse Pattern group is being used
pbValid True = pattern group is valid and can be used in design

GetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [out] SBAR_PATTERN* pBarPattern);
Purpose To get a specific bar pattern group.
Parameters nGroupIndex The group index
nNumPatterns The number of patterns within the group. This is used for data
checking.
pBarPattern Pointer to an array of SBAR_PATTERNs. Memory must be
allocated before the pointer is sent into DataAccess.

GetBarPatternData ([in] long* pnNextPatternID, [out] long* pnNextGroupID, [out] long* pnLastGroupSelected );
Purpose Get additional bar pattern group data. .
Parameters pnNextPatternID Unique ID of the next pattern
pnNextGroupID Unique ID of the next group
pnLastGroupSelected Index of the last selected group

GetColDesignEffLengthFactors ([in] long lColID, [out] double * pdKx, [out] double * pdKy);
Purpose Return the effective length factors for a specific column (based on sway/non sway.
Column setting and the members framing into the column). Assumes fixity specified for
lateral beams else assumes beams with beam line numbers are continuous else they are
considered pinned. Similarly, gravity concrete columns are assumed continuous.
Parameters lColID The unique column ID to get effective length factors for
pdKx The effective length factor for major axis
pdKy The effective length factor for minor axis

GetColumnResults ([in] long lColID, [out] SCOL_RES** ppaColRes, [out] SCOL_PATRES** ppaPatRes, [out] SCOL_PATRES_BSTR**
ppaPatResStr, [out] SCOL_TRANSRES** ppaTransBarRes, [out] SCOL_TRANSRES_BSTR** ppaTransBarResStr, [out] long*
plNumPat, [out] long* plNumTrans);
Purpose Get all concrete column design data.
Parameters lColID Column’s unique ID
ppaColRes Concrete Column Results data
ppaPatRes Bar Pattern Results data
ppaPatResStr Strings for Bar Pattern Results data
ppaTransBarRes Column Transverse Reinforcement Set data
ppaTransBarResStr Strings for Column Transverse Reinforcement Set data
plNumPat Number of bar patterns – Array size of paPatRes and
paPatResStr
plNumTrans Number of Transverse bar sets Array size of paTransBarRes
and paTransBarResStr
Comments Method nulls pColResults, paPatternResults, paTransBarResults and redimensions
them. The memory for the arrays need to be released using CoTaskMemFree

Additional Notes:
All of the transverse bar groups for all of the bar patterns are saved consecutively starting with all of the bar sets for the first bar pattern. The variable
indicates the number of transverse bar groups associated with that bar pattern. So the first set of transverse bar sets are associated with the first bar
pattern and the next set identified by the number of trans. bar sets belongs to the second bar set.

GetCriteriaBarSelection ([out] double*, pdSegIncr, [out] double* pdTransIncr );


Purpose Get the bar selection criteria in Criteria – Column Design
Parameters pdSegIncr Transverse segment spacing increment
pdTransIncr Transverse bar spacing increment

GetCriteriaBarSpacing ([out] BAR_SPACING* pBarSpacing);


Purpose Get the spacing and clear cover values from the Criteria - Design – Reinforcement page.
Parameters pBarSpacing Structure of bar spacing values.

GetCriteriaLapSplice ([out] double* pdLap1, [out] double* pdLap2, [out] long* pnNumRebar, [out] BSTR* pbstrSelSize);
Purpose Lap splice information used to calculate material takeoff for longitudinal column
reinforcement.
Parameters pdLap1 Bars less than or equal to pbstrSelSize use pdLap1 x bar
diameter
pdLap2 Bars larger than pbstrSelSize use pdLap2 x bar diameter
pnNumRebar Total number of reinforcement properties in reinforcement table
pbstrSelSize Bar size string for limiting bar size

GetCriteriaShearLegs ([out] long* plNumSLMajor, [out] long* plNumSLMinor);


Purpose Get the shear leg criteria.
Parameters plNumSLMajor Number of shear legs parallel to the columns major axis
plNumSLMinor Number of shear legs parallel to the columns minor axis

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetFinalBarData ([in] long lColID, [out] SBAR_PATTERN* pBarPattern, [out] long* plNumSegments, [out] EDA_SEG_SET_INFO** ppaSegInfo,
[out] EDA_REIN_PLACE_SET** ppaReinPlace);
Purpose Final design reinforcement information for column.
Parameters lColID Column’s unique ID
pBarPattern Bar Pattern info
plNumSegments Number of transverse segments
ppaSegInfo Bar set segment info – Array size is plNumSegments
ppaReinPlace Bar set placement info – Array size is plNumSegments
Comments This method will give all the required information for detailing the reinforcement in a
concrete column. The start and end locations in pSegInfo are relative to the bottom of the
given column.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetNumBarGroups ([out] long* pnNumGroups);


Purpose Get the number of bar pattern groups.
Parameters pnNumGroups Number of bar pattern groups.

GetSlendernessResults ([in] long lColID, [out] long* pbUserSelSlnd, [out] double* pdLux, [out] double* pdLuy, [out] double* pdKx, [out] double*
pdKy, [out] long* pbBracedSideSwayX, [out] long* pbBracedSideSwayY);
Purpose Return the parameters associated with the calculation of slenderness for a specific
column.
Parameters lColID The unique column ID
True (1) if user specified to consider slenderness in the RAM
pbUserSelSlnd Concrete Analysis module
pdLux The unbraced length of the column in major axis
pdLuy The unbraced length of the column in minor axis
pdKx The effective length factor for major axis
pdKy The effective length factor for minor axis
True if user designated column is braced against sidesway in
pbBracedSideSwayX major axis.
True if user designated beam is braced against sidesway in
pbBracedSideSwayY minor axis.

Reset ();
Purpose Internal use only.

SetAssignGeometry ([in] BOOL* pbAssignSize, [in] BOOL* pbAssignLegs, [in] long* pnMajor, [in] long* pnMinor, [in] pnUserMajor, [in]
pnUserMinor, [in] pnSizeIndex );
Purpose Assign menu dialog settings.
Parameters pbAssignSize 1 if Assign – Size exists
pbAssignLegs 1 if Assign – Legs exists
pnMajor 0 = Use Global, 1 = User Defined
pnMinor 0 = Use Global, 1 = User Defined
pnUserMajor Number of legs in the major axis
pnUserMinor Number of Legs in the minor axis
pnSizeIndex Index to the selected column size in Assign - Size

SetBarGroup ([in] long nIndex, [in] BSTR* pbstrLabel, [in] BSTR* pbstrListBoxLabel, [in] BSTR* pbstrMaxBar, [in] BSTR* pbstrMinBar, [in]
BSTR* pbstrTieBar, [in] long* pnGroupID, [in] long* pnNumLong, [in] long* pnNumAdd, [in] long* pnNumPatternsInGroup, [in] long*
pnType, [in] long* pbUse, [in] long* pbValid, [in] SBAR_PATTERN pBarPattern);
Purpose Set the bar pattern group.
Parameters nIndex Pattern group index number
pbstrLabel Label automatically generated for the group
pbstrListBoxLabel Group label that is used in list boxes (includes tab character)
pbstrMaxBar Max longitudinal bar size label
pbstrMinBar Min longitudinal bar size label
pbstrTieBar Transverse bar size label
pnGroupID Unique Group ID.
pnNumLong Number of longitudinal bars used at top and bottom of
rectangular patterns or total number of bars used in round
pattern layouts
pnNumAdd Additional bars on left and right side of rectangular patterns
pnNumPatternsInGroup Number of bar patterns generated by group
pnType Pattern type - ePATTERN_TYPE
pbUse Pattern group is being used
pbValid True = pattern group is valid and can be used in design
pBarPattern Bar pattern

SetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [in] SBAR_PATTERN* pBarPattern);
Purpose Set a specific bar pattern group. .
Parameters nGroupIndex The group index
nNumPatterns The number of patterns within the group. This is used for data
checking.
pBarPattern Pointer to an array of SBAR_PATTERNs. Memory must be
allocated before the pointer is sent into DataAccess.

SetBarPatternData ([in] long* pnNextPatternID, [in] long* pnNextGroupID, [in] long* pnLastGroupSelected );
Purpose Set additional bar pattern group data. .
Parameters pnNextPatternID Unique ID of the next pattern
pnNextGroupID Unique ID of the next group
pnLastGroupSelected Index of the last selected group

SetColumnResults ([in] long lColID, [in] SCOL_RES** ppaColRes, [in] SCOL_PATRES** ppaPatRes, [in] SCOL_PATRES_BSTR**
ppaPatResStr, [in] SCOL_TRANSRES** ppaTransBarRes, [in] SCOL_TRANSRES_BSTR** ppaTransBarResStr, [in] long* plNumPat,
[in] long* plNumTrans);
Purpose Set all concrete column design data. .
Parameters lColID Column’s unique ID
ppaColRes Concrete Column Results data
ppaPatRes Bar Pattern Results data
ppaPatResStr Strings for Bar Pattern Results data
ppaTransBarRes Column Transverse Reinforcement Set data
ppaTransBarResStr Strings for Column Transverse Reinforcement Set data
plNumPat Number of bar patterns – Array size of paPatRes and
paPatResStr
plNumTrans Number of Transverse bar sets Array size of paTransBarRes
and paTransBarResStr
Comments Method nulls pColResults, paPatternResults, paTransBarResults and redimensions
them. The memory for the arrays need to be released using CoTaskMemFree

Additional Notes:
All of the transverse bar groups for all of the bar patterns are saved consecutively starting with all of the bar sets for the first bar pattern. The variable
indicates the number of transverse bar groups associated with that bar pattern. So the first set of transverse bar sets are associated with the first bar
pattern and the next set identified by the number of trans. bar sets belongs to the second bar set.

SetCriteriaBarSelection ([in] double*, pdSegIncr, [in] double* pdTransIncr );


Purpose Set the bar selection criteria in Criteria – Column Design
Parameters pdSegIncr Transverse segment spacing increment
pdTransIncr Transverse bar spacing increment

SetCriteriaBarSpacing ([in] BAR_SPACING* pBarSpacing);


Purpose Set the spacing and clear cover values from the Criteria - Design – Reinforcement page.
Parameters pBarSpacing Structure of bar spacing values.

SetCriteriaLapSplice ([in] double* pdLap1, [in] double* pdLap2, [in] long* pnNumRebar, [in] BSTR* pbstrSelSize);
Purpose Lap splice information used to calculate material takeoff for longitudinal column
reinforcement. .
Parameters pdLap1 Bars less than or equal to pbstrSelSize use pdLap1 x bar
diameter
pdLap2 Bars larger than pbstrSelSize use pdLap2 x bar diameter
pnNumRebar Total number of reinforcement properties in reinforcement table
pbstrSelSize Bar size string for limiting bar size

SetCriteriaShearLegs ([in] long* plNumSLMajor, [in] long* plNumSLMinor);


Purpose Set the shear leg criteria. .
Parameters plNumSLMajor Number of shear legs parallel to the columns major axis
plNumSLMinor Number of shear legs parallel to the columns minor axis

SetSlendernessResults ([in] long lColID, [in] long* pbUserSelSlnd, [in] double* pdLux, [in] double* pdLuy, [in] double* pdKx, [in] double* pdKy,
[in] long* pbBracedSideSwayX, [in] long* pbBracedSideSwayY);
Purpose Set the parameters associated with the calculation of slenderness for a specific column.
Parameters lColID The unique column ID
True (1) if user specified to consider slenderness in the RAM
pbUserSelSlnd Concrete Analysis module
pdLux The unbraced length of the column in major axis
pdLuy The unbraced length of the column in minor axis
pdKx The effective length factor for major axis
pdKy The effective length factor for minor axis
True if user designated column is braced against sidesway in
pbBracedSideSwayX major axis.
True if user designated beam is braced against sidesway in
pbBracedSideSwayY minor axis.

SetZeroBarGroups ();
Purpose Clear bar groups.

IConcColModState2
Philosophy: (see ConcColModState1 above)

GetCheckAxialLimit ( [out] BOOL* pbCheckAxial );


Purpose To get the flag indicating whether the user wants to check max column axial load limit.
Parameters pbCheckAxial TRUE = Check Max Column Axial Load Limit

GetCheckTorsion ( [out] BOOL* pbCheckTorsion );


Purpose To get the flag indicating whether the user wants to check torsional capacity for columns.
Parameters pbCheckTorsion TRUE = Check Torsional Capacity

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.
GetLatColGravForceSource ( [out] long* plLatMemGravForceSource, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column. .
Parameters plLatMemGravForceSource 0 = RAM Concrete analysis, 1 = RAM Frame analysis
Return Value. Zero if successful. Check last error if
plRetVal nonzero.

GetMemberScheduleMark ( [in] long* lColID, [out] SConcScheduleMark pColumnScheduleMark, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column. .
Parameters lColID Unique ID of the column
pColumnScheduleMark Column schedule mark structure
Return Value. Zero if successful. Check last error if
plRetVal nonzero.

lSlendernessReductionFactor [in, out] long


Purpose The slenderness reduction factor for the BS 8110 code. .

Reset ();
Purpose Internal use only.

SetCheckAxialLimit ( [in] BOOL bCheckAxial );


Purpose Set the flag indicating whether the user wants to check max column axial load limit.
Parameters bCheckAxial TRUE = Check Max Column Axial Load Limit

SetCheckTorsion ( [in] BOOL pCheckTorsion );


Purpose Set the flag indicating whether the user wants to check torsional capacity for columns.
Parameters bCheckTorsion TRUE = Check Torsional Capacity

SetLatColGravForceSource ( [in] long lLatMemGravForceSource, [out,retval] long* plRetVal );


Purpose Set the forces from RAM Concept for a column. .
Parameters lLatMemGravForceSource 0 = RAM Concrete analysis, 1 = RAM Frame analysis
Return Value. Zero if successful. Check last error if
plRetVal nonzero.

SetMemberScheduleMark ( [in] long lColID, [out] SConcScheduleMark ColumnScheduleMark, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column. .
Parameters lColID Unique ID of the column
ColumnScheduleMark Column schedule mark structure
Return Value. Zero if successful. Check last error if
plRetVal nonzero.
IConcept
Philosophy: This interfaces is for RAM Concept intregration with RAM Structural System
ClearConceptStoryForces ( [in] long* lStoryID);
Purpose Clear the forces from RAM Concept for the given story unique ID.
Parameters lStoryID Unique ID of the story

GetConceptColumnForcesAtEnd ( [in] long* lColumnID, [in] EDA_MEMBER_LOC eColEnd, [in] long lAnalysisCaseID, [in]
EConceptConcSkipCase eConcSkipCase, [in] BOOL bTransferLoadCase, [out] SForce* pSForce, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column.
Parameters lColumnID Unique ID of the column
eColEnd eTop or eBottom
lAnalysisCaseID Unique ID of the analysis case
eConcSkipCase Concept skip load case
bTransferLoadCase True if transfer load case
pSForce Forces structure
plRetVal Return Value. Zero if successful. Check last error if nonzero.

GetConceptExportFileInfo ( [in] long* lStoryID, [out] BSTR* pstrConceptFileNamePath, [out] long* plTimestamp, [out] long* plSourceStoryID, [out]
EStateStatus* peStatus, BSTR* pstrConceptStatusReason, [out,retval] long* plRetVal );
Purpose Get the file information for a story exported to Concept.
Parameters lStoryID Unique ID of the story
pstrConceptFileNamePath Path of the Concept File
plTimestamp Time stamp
plSourceStoryID Soure story unique ID
peStatus Current or not
pstrConceptStatusReason Reason for status
plRetVal Return Value. Zero if successful. Check last error if
nonzero.

GetConceptForcesChanged ( [out] BOOL* pbForcesChanged, [out,retval] long* plRetVal );


Purpose Get the file information for a story exported to Concept.
Parameters pbForcesChanged True if Concept forces have changd
plRetVal Return Value. Zero if successful. Check last error if
nonzero.

GetConceptStoryTimeStamp ( [in] long* lStoryID, [in] ECptStyTimeStampType eStyTimeStamp, [out] long* plTimestamp, [out,retval] long*
plRetVal );
Purpose Get the file information for a story exported to Concept.
Parameters lStoryID Unique ID of the story
eCptStyTimeStampType Type of time stamp
plTimestamp Time stamp
plRetVal Return Value. Zero if successful. Check last error if
nonzero.

GetConceptWallForce ( [in] long* lWallID, [in] long lAnalysisCaseID, [in] EConceptConcSkipCase eConcSkipCase, [in] BOOL
bTransferLoadCase, [out] SForce* pSForce, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column.
Parameters lWallD Unique ID of the wall
lAnalysisCaseID Unique ID of the analysis case
eConcSkipCase Concept skip load case
bTransferLoadCase True if transfer load case
pSForce Forces structure
plRetVal Return Value. Zero if successful. Check last error if nonzero.

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetStoryStatus ( [in] long* lStoryID, [out] EStatusState* peStatus, [out,retval] long* plRetVal );
Purpose Get the status of a story story exported to Concept.
Parameters lStoryID Unique ID of the story
peStatus Current or not
plRetVal Return Value. Zero if successful. Check last error if
nonzero.

Reset ();
Purpose Internal use only.

SetConceptColumnForcesAtEnd ();
Purpose Internal use only.

SetConceptExportFileInfo ();
Purpose Internal use only.

SetConceptForcesChanged ();
Purpose Internal use only.

SetConceptStoryTimeStamp ();
Purpose Internal use only.

SetConceptWallForce ();
Purpose Internal use only.

IDBIO1

Philosophy: This interface is for performing functions on the database as a whole. This includes Loading and Saving. It also includes changing
the database name. It does not include inquiries or specific data manipulation.

AllowConcurrentAccess ([in] BOOL bAllow)


Purpose Permits the model to be opened by multiple users simultaneously.
Parameters bAllow 1 if permitted, 0 if not

CloseDatabase();
Purpose To close the database files.
Comments This method should be the last call to Data Access.

CreateNewDatabase([in] const BSTR bstrName, EUnits eUnits, long *plRetVal);


Purpose To create a new database. This method should not be used by new applications.
Parameters bstrName Model name (do not include file extension)
eUnits Which units will be used for display purposes
plRetVal Return value, 0 if successful
Comments This function will fail if the model already exists.

CreateNewDatabase2([in] const BSTR bstrName, EUnits eUnits, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);
Purpose To create a new database. This is preferred over CreateNewDatabase which will be
phased out.
Parameters bstrName Model name (do not include file extension)
eUnits Which units will be used for display purposes
bstrUserID String that identifies the calling application
plRetVal Return value, 0 if successful
Comments This function will fail if the model already exists.

GetDatabaseVersion([in] const BSTR bstrDBName, [out] double* pdVersion);


Purpose To obtain the version number of the indicated database.
Parameters bstrDBName Model name including path
pdVersion Return variable for database version number
Comments Can be used to ensure that the database is a compatible version with
DataAccess before calling LoadDataBase.

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetModelDir( [out] BSTR* pbstrDir );


Purpose To get the path of the model. .
Parameters pbstrDir Model patth

GetWorkingDirectory ([out] BSTR* pbstrWorkingDir)


Purpose Returns the Working directory where the model files are unzipped. 3.
Parameters pbstrWorkingDir The Working Directory

IsDatabaseReadOnly ([out] BOOL* pbReadOnly)


Purpose Indicates if the database is read only or not.
Parameters pbReadOnly 1 if read only, 0 if not

LoadDataBase([in] const BSTR bstrName);


Purpose To Load the Database into memory. This method should not be used by new
applications.
Parameters bstrName Model name including path and extension
Comments This function will fail if the model is currently in use or if the database version is
incompatible with the current version of DataAccess.

LoadDatabase2 ([in] const BSTR bstrName, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);

Purpose To Load the Database into memory. This method is preferred over LoadDataBase
which will be phased out.
Parameters bstrName Model name including path and extension
bstrUserID String that identifies the calling application
plRetVal Return value, 0 if successful
Database in Use: 25673
Both .rss and .ram file exist for same model: 25674
Model version is invalid: 25657
Failed to read the .ram file: 301
Comments
This function will fail if the model is currently in use or if the database version is
incompatible with the current version of DataAccess.

ReloadDataBase ( );
Purpose Internal use only

ReloadDataBasePartial ( );
Purpose Internal use only

RenameDataBaseTo ( );
Purpose Internal use only

SaveDatabase();
Purpose To save the database files.

SaveDatabaseAs ( [in] BSTR bstr NewName );


Purpose Save the database files with a new name.

SaveWorkingFiles ( );
Purpose Internal use only

IForces1
Philosophy: This interface typically provides RAM Frame member forces. These methods are only available following performing an analysis in
RAM Frame.

Comments 1: A number of the functions below are dependent on the model being framed and the gravity analysis being performed before valid
data can be returned. If the framing and gravity analysis has not been performed the function will return an Unspecified Error. Calling the
GetLastError will return an error code of 310.

Comments 2: Several of the following functions are used to obtain element member forces defined in their local system. Figure 1, 2 and 3 shows
the sign convention used for beams, columns and brace members, and walls, respectively. Returned values from these functions follow these
sign conventions. It should be noted that compressive axial force is defined as positive. Moments that create compression in the top flange of
beams, columns and braces are assumed to be positive.

Figure 1. Sign convention for Beams


Figure2. Sign convention for Column and Brace members
Figure 3. Positive Sign Convention for Walls.

GetColForcesForLCase ([in] long lColumnID, [in] long lLoadCase, [out] double *pdAxial, [out] double *pdMajMomI, [out] double *pdMinMomI,
[out] double *pdMajShearI, [out] double *pdMinShearI, [out] double *pdTorsionI, [out] double *pdMajMomJ, [out] double *pdMinMomJ,
[out] double *pdMajShearJ, [out] double *pdMinShearJ, [out] double *pdTorsionJ);
Purpose Get lateral column forces for a given load case.
Parameters lColumnID Column unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
pdAxial Axial load
pdMajMomI Major moment at top
pdMinMomI Minor moment at top
pdMajShearI Major shear at top
pdMinShearI Minor shear at top
pdTorsionI Torsion at top
pdMajMomJ Major moment at bottom
pdMinMomJ Minor moment at bottom
pdMajShearJ Major shear at bottom
pdMinShearJ Minor shear at bottom
pdTorsionJ Torsion at bottom

GetCriteriaEffectiveLength ([out] EKFAC_ASSIGN* peColumnMajor, [out] double* pdColumnMajorValue, [out] EKFAC_ASSIGN*


peColumnMinor, [out] double* pdColumnMinorValue, [out] EKFAC_ASSIGN* peBeamMajor, [out] double* pdBeamMajorValue, [out]
EKFAC_ASSIGN* peBeamMinor, [out] double* pdBeamMinorValue, [out] EKFAC_ASSIGN* peBraceMajor, [out] double*
pdBraceMajorValue, [out] EKFAC_ASSIGN* peBraceMinor, [out] double* pdBraceMinorValue);
Purpose Get effective length info that is defined in RAM Frame criteria.
The assigned K factor property for column major axis (Use
Parameters peColumnMajor global, Use Nomograph, or Use specified value)
The eff. Length factor (K) valid only if peColumnMajor is
pdColumnMajorValue UseSpecifiedValue.
The assigned K factor property for column minor axis (Use
peColumnMinor global, Use Nomograph, or Use specified value)
The eff. Length factor (K) valid only if peColumnMinor is
pdColumnMinorValue UseSpecifiedValue.
The assigned K factor property for beam major axis (Use
peBeamMajor global, Use Nomograph, or Use specified value)
The eff. Length factor (K) valid only if peBeamMajor is
pdBeamMajorValue UseSpecifiedValue.
The assigned K factor property for beam minor axis (Use
peBeamMinor global, Use Nomograph, or Use specified value)
The eff. Length factor (K) valid only if peBeamMinor is
pdBeamMinorValue UseSpecifiedValue.
The assigned K factor property for brace major axis (Use
peBraceMajor global, Use Nomograph, or Use specified value)
The eff. Length factor (K) valid only if peBraceMajor is
pdBraceMajorValue UseSpecifiedValue.
The assigned K factor property for brace minor axis (Use
peBraceMinor global, Use Nomograph, or Use specified value)
The eff. Length factor (K) valid only if peBraceMinor is
pdBraceMinorValue UseSpecifiedValue.

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetGravBeamForcesLeftAt ([in] long lBeamID, [in] double dLocation, [out] double *pdDeadMoment, [out] double *pdDeadShear, [out] double
*pdCDMoment, [out] double *pdCDShear, [out] double *pdCLMoment, [out] double *pdCLShear, [out] double *pdPosLiveMoment, [out]
double *pdPosLiveShear, [out] double *pdNegLiveMoment, [out] double *pdNegLiveShear);
Purpose Get forces at left side of a point on a gravity beam.
Parameters lBeamID Beam Unique ID
dLocation Location ratio along beam. Value range is from 0.0 at I end of
beam to 1.0 at j end of beam
pdDeadMoment Dead load moment – includes self weight
pdDeadShear Dead load shear – includes self weight
pdCDMoment Construction dead load moment
pdCDShear Construction dead load shear
pdCLMoment Construction live load moment
pdCLShear Construction live load shear
pdPosLiveMoment Positive live load moment
pdPosLiveShear Positive live load shear
pdNegLiveMoment Negative live load moment
pdNegLiveShear Negative live load shear

GetGrvColForcesForLCase ([in] long lColumnID, [out] double* pdDead, [out] double* pdPosLLRed, [out] double* pdPosLLNonRed, [out] double*
pdPosLLStorage, [out] double* pdPosLLRoof, [out] double* pdNegLLRed, [out] double* pdNegLLNonRed, [out] double* pdNegLLStorage,
[out] double* pdNegLLRoof);
Purpose Get gravity column forces.
Parameters lColumnID Column Unique ID
pdDead Dead load including self weight
pdPosLLRed Positive live load Reducible
pdPosLLNonRed Positive live load Non-Reducible
pdPosLLStorage Positive live load Storage
pdPosLLRoof Positive live load Roof
pdNegLLRed Negative live load Reducible
pdNegLLNonRed Negative live load Non-Reducible
pdNegLLStorage Negative live load Storage
pdNegLLRoof Negative live load Roof

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLatBeamEndDeflection( [in] long lBeamID, [in] long lLoadCase, [out] double dX_Disp_Left [out] double dY_Disp_Left, [out] double
dZ_Disp_Left, [out] double dX_Rot_Left, [out] double dY_Rot_Left, [out] double dZ_Rot_Left, [out] double dX_Disp_Right, [out] double
dY_Disp_Right, [out] double dZ_Disp_Right, [out] double dX_Rot_Right, [out] double dY_Rot_Right, [out] double dZ_Rot_Right );
Purpose Get beam end deflections.
Parameters lBeamID Beam Unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dX_Disp_Left Left end X translation
dY_Disp_Left Left end Y translation
dZ_Disp_Left Left end Z translation
dX_Rot_Left Left end X rotation
dY_Rot_Left Left end Y rotation
dZ_Rot_Left Left end Z rotation
dX_Disp_Right Right end X translation
dY_Disp_Right Right end Y translation
dZ_Disp_Right Right end Z translation
dX_Rot_Right Right end X rotation
dY_Rot_Right Right end Y rotation
dZ_Rot_Right Right end Z rotation

GetLatBeamForcesLeftAt ([in] long lBeamID, [in] long lLoadCase, [in] double dLocation, [out] double *pdAxial, [out] double *pdMajMom, [out]
double *pdMinMom, [out] double *pdMajShear, [out] double *pdMinShear, [out] double *pdTorsion);
Purpose Get forces at left side of a point on a lateral beam for a given load case.
Parameters lBeamID Beam Unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dLocation Location ratio along beam. Value range is from 0.0 at I end of beam
to 1.0 at j end of beam
pdAxial Axial load
pdMajMom Major direction Moment
pdMinMom Minor direction Moment
pdMajShear Major direction Shear
pdMinShear Minor direction Shear
pdTorsion Torsion

GetLatBraceEndDeflection( [in] long lBraceNum, [in] long lLoadCase, [out] double dX_Disp_Top [out] double dY_Disp_Top, [out] double
dZ_Disp_Top, [out] double dX_Rot_Top, [out] double dY_Rot_Top, [out] double dZ_Rot_Top, [out] double dX_Disp_Bot, [out] double
dY_Disp_Bot, [out] double dZ_Disp_Bot, [out] double dX_Rot_Bot, [out] double dY_Rot_Bot, [out] double dZ_Rot_Bot );
Purpose Get brace end deflections.
Parameters lBraceNum Brace Unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dX_Disp_Top Top end X translation
dY_Disp_Top Top end Y translation
dZ_Disp_Top Top end Z translation
dX_Rot_Top Top end X rotation
dY_Rot_Top Top end Y rotation
dZ_Rot_Top Top end Z rotation
dX_Disp_Bot Bot end X translation
dY_Disp_Bot Bot end Y translation
dZ_Disp_Bot Bot end Z translation
dX_Rot_Bot Bot end X rotation
dY_Rot_Bot Bot end Y rotation
dZ_Rot_Bot Bot end Z rotation

GetLatColumnEndDeflection( [in] long lBeamID, [in] long lLoadCase, [out] double dX_Disp_Top [out] double dY_Disp_Top, [out] double
dZ_Disp_Top, [out] double dX_Rot_Top, [out] double dY_Rot_Top, [out] double dZ_Rot_Top, [out] double dX_Disp_Bot, [out] double
dY_Disp_Bot, [out] double dZ_Disp_Bot, [out] double dX_Rot_Bot, [out] double dY_Rot_Bot, [out] double dZ_Rot_Bot );
Purpose Get column end deflections.
Parameters lColumnID Column Unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dX_Disp_Top Top end X translation
dY_Disp_Top Top end Y translation
dZ_Disp_Top Top end Z translation
dX_Rot_Top Top end X rotation
dY_Rot_Top Top end Y rotation
dZ_Rot_Top Top end Z rotation
dX_Disp_Bot Bot end X translation
dY_Disp_Bot Bot end Y translation
dZ_Disp_Bot Bot end Z translation
dX_Rot_Bot Bot end X rotation
dY_Rot_Bot Bot end Y rotation
dZ_Rot_Bot Bot end Z rotation

GetLatWallForces ([in] long lWallID, [in] long lLoadCase, [out] double *dAxial, [out] double *dMajMom, [out] double *dMajShear);
Purpose Get lateral wall forces for the desired wall and load case.
Parameters lWallID Wall Unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dAxial Axial load
dMajMom Major direction moment
dMajShear Minor direction moment

GetLatWallForcesAsBeam ([in] long lWallID, [in] long lLoadCase, [out[ double dAxial_IK, [out] double dMajMom_IK, [out] double dMajShear_IK,
[out] double dMinMom_IK, [out] double dMinShear_IK, [out] double dTorsion_IK, [out] double dAxial_JL, [out] double dMajMom_JL, [out]
double dMajShear_JL, [out] double dMinMom_JL, [out] double dMinShear_JL, [out] double dTorsion_JL );
Purpose Get wall forces as if it were a beam.
Parameters lWallID Wall Unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dAxial_IK I end axial
dMajMom_IK I end major moment
dMajShear_IK I end major shear
dMinMom_IK I end minor moment
dMinShear_IK I end minor shear
dTorsion_IK I end torsion
dAxial_JL J end axial
dMajMom_JL J end major moment
dMajShear_JL J end major shear
dMinMom_JL J end minor moment
dMinShear_JL J end minor shear
dTorsion_JL J end torsion

GetLatWallGroupForces ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [in] long lLoadCase, [out] double *pdAxial, [out] double
*pdMajMoment, [out] double *pdMinMoment, [out] double *pdMajShear, [out] double *pdMinShear, [out] double *pdTorsion);
Purpose Get lateral wall group forces for the desired wall and load case.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
lWallGroupIndex Wall group index number from 0 to lNumberOfWallGroups - 1
lLoadCase Load Case index number from 0 to value returened by
GetNumAnalyzedFrameLoadCases - 1
pdAxial Axial load
pdMajMoment Major direction moment
pdMinMoment Minor direction moment
pdMajShear Major direction shear
pdMinShear Minor direction shear
pdTorsion Torsion

GetLatWallGroupForcesAsBeam ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [in] long lLoadCase, [out[ double dAxial_IK, [out] double
dMajMom_IK, [out] double dMajShear_IK, [out] double dMinMom_IK, [out] double dMinShear_IK, [out] double dTorsion_IK, [out] double
dAxial_JL, [out] double dMajMom_JL, [out] double dMajShear_JL, [out] double dMinMom_JL, [out] double dMinShear_JL, [out] double
dTorsion_JL );
Purpose Get wall forces as if it were a beam.
Parameters lWallID Story number or unique ID
lWallGroupIndex Wall group index
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
dAxial_IK I end axial
dMajMom_IK I end major moment
dMajShear_IK I end major shear
dMinMom_IK I end minor moment
dMinShear_IK I end minor shear
dTorsion_IK I end torsion
dAxial_JL J end axial
dMajMom_JL J end major moment
dMajShear_JL J end major shear
dMinMom_JL J end minor moment
dMinShear_JL J end minor shear
dTorsion_JL J end torsion

GetMassInfo ([in] long lStoryNoOrID, [out] long lRigid, [out] double dMass, [out] double dMassMomI, [out] double dXCenterOfMass, [out] double
dYCenterOfMass, [out] double dXEcc, [out] double dYEcc, [out] long lLumpFlag);
Purpose Get lateral wall group forces for the desired wall and load case.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
lRigid 1 if rigid diaphragm
dMass Mass
dMassMomI Mass inertia
dXCenterOfMass X coordinate of the center of mass
dYCenterOfMass Y Coordinate of the center of mass
dXEcc X eccentricity
dYEcc Y eccentricity
lLumpFlag Combine to flag (0 = None)

GetWindExposure ([in] long lStoryNoOrID, [out] long lRigid, [out] double dMass, [out] double dMassMomI, [out] double dXCenterOfMass, [out]
double dYCenterOfMass, [out] double dXEcc, [out] double dYEcc, [out] long lLumpFlag);
Purpose Get lateral wall group forces for the desired wall and load case.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
dMinX Minimum X coordinate for extents
dMaxX Maximum X coordinate for extents
dMinY Minimum Y coordinate for extents
dMaxY Maximum Y coordinate for extents
lExposureFlag 0 = Full, 1 = None
dParapetHeight Parapet Height

ReplaceDeadLoadWithConstStageResults ([out, retval] bool pbReplace);


Determine if a construction stage analysis has been performed and the results replace
Purpose the dead load results in the post-processing modules.
Parameters pbReplace True if the construction stage results replace the dead load

Reset ( );
Purpose Internal use only.

SetAnalysisResultsInvalid ( );
Purpose Internal use only.
IForces2

Philosophy: This is a continuation of the IForces1 interface.

GetAnalysisCaseInfo ([in] long lAnalysisCaseID, [in] EAnalysisResultType eAnalysisReultType, [in, out] SAnalysisCaseInfo* psAnalysisCaseInfo,
[out,retval] long* plRetVal);
Purpose Get analysis case info for any RAM SS analysis module. Analysis cases are defined as
the results of analyzing load cases.
Parameters lAnalysisCaseID Analysis Case Unique ID
eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM
Concrete or Default which lets the program select the
appropriate analysis result type
psAnalysisCaseInfo Analysis Case Info
plRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases

GetAnalysisCasesIDArray ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* palLoadCaseIDs, [out,retval] long* plRetVal);
Purpose Get array of unique analysis case ID's for results from a specific module.
Parameters eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM
Concrete or Default which lets the program select the
appropriate analysis result type
palAnalysisCaseIDs Analysis Case unique IDs
plRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases

GetColForcesForLCase ([in] long lColumnID, [in] long lLoadCase, [out] double *pdAxialI, [out] double *pdMajMomI, [out] double *pdMinMomI,
[out] double *pdMajShearI, [out] double *pdMinShearI, [out] double *pdTorsionI, [out] double *pdAxialJ, [out] double *pdMajMomJ, [out]
double *pdMinMomJ, [out] double *pdMajShearJ, [out] double *pdMinShearJ, [out] double *pdTorsionJ);
Get lateral column forces for a given load case. This function is similar to the one of the
same name in the IForces1 interface, however that function only returns one Axial load
per column. Starting with v10 when RAM Frame began to mesh lateral walls, the axial
Purpose load on columns began to vary from top to bottom and this function becomes necessary.
Parameters lColumnID Column unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
pdAxialI Axial load at top
pdMajMomI Major moment at top
pdMinMomI Minor moment at top
pdMajShearI Major shear at top
pdMinShearI Minor shear at top
pdTorsionI Torsion at top
pdAxialJ Axial load at bottom
pdMajMomJ Major moment at bottom
pdMinMomJ Minor moment at bottom
pdMajShearJ Major shear at bottom
pdMinShearJ Minor shear at bottom
pdTorsionJ Torsion at bottom

GetConcBeamLiveEnvLeftAt ([in] long lBeamUID, [in] double dLoc, [out] SForce *pdPosForces, [out] SForce *psNegForces, [out, retval] long
*plRetVal);
Purpose Get the live load skip envelopes for a concrete beam
Parameters lBeamUID Beam Unique ID
dLoc Location ratio along beam. Value range is from 0.0 at I end
of beam to 1.0 at j end of beam
psPosForces Positive force envelopes
psNegForces Negative force envelopes
plRetVal Return error code, 0 is OK

GetConcColumnLiveSkipCase ([in] long lColumnID, [in] EColSkipPat *peSkipPattern, [out] double *pdMxTop, [out] double *pdMyTop, [out]
double *pdMxBot, [out] double *pdMyBot, [out] double *pdAxial, [out] double *pdTorsion, [out] double *pdVx, [out] double *pdVy, [out,
retval] *plResult);
Purpose Get concrete column live load forces for a given skip pattern.
Parameters lColumnID Column unique ID
lLoadCase Load Case index number from 0 to value returned by
GetNumAnalyzedFrameLoadCases - 1
peSkipPattern Live load skip pattern
pdMxTop Major moment at top
pdMyTop Minor moment at top
pdMxBot Major moment at the bottom
pdMyBot Minor moment at the bottom
pdAxial Axial
pdTorsion Torsion
pdVx Major shear
pdVy Minor shear
plResult Return error code, o is OK

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetGravBeamForcesLeftAt ([in] long lBeamID, [in] double dLocation, [out] double *pdDeadMoment, [out] double *pdDeadShear, [out] double
*pdCDMoment, [out] double *pdCDShear, [out] double *pdCLMoment, [out] double *pdCLShear, [out] double *pdPosLiveMoment, [out]
double *pdPosLiveShear, [out] double *pdNegLiveMoment, [out] double *pdNegLiveShear, [out] double *pdPosRoofLiveMoment, [out]
double *pdPosRoofLiveShear, [out] double *pdNegRoofLiveMoment, [out] double *pdNegRoofLiveShear);
Purpose Get forces at left side of a point on a gravity beam.
Parameters lBeamID Beam Unique ID
dLocation Location ratio along beam. Value range is from 0.0 at I end
of beam to 1.0 at j end of beam
pdDeadMoment Dead load moment – includes self weight
pdDeadShear Dead load shear – includes self weight
pdCDMoment Construction dead load moment
pdCDShear Construction dead load shear
pdCLMoment Construction live load moment
pdCLShear Construction live load shear
pdPosLiveMoment Positive live load moment
pdPosLiveShear Positive live load shear
pdNegLiveMoment Negative live load moment
pdNegLiveShear Negative live load shear
pdPosRoofLiveMoment Positive roof live load moment
pdPosRoofLiveShear Positive roof live load shear
pdNegRoofLiveMoment Negative roof live load moment
pdNegRoofLiveShear Negative roof live load shear

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLatBraceForces ([in] long lBraceID, [in] long lLoadCase, [out] double *pdAxial, [out] double *pdMajMomTop, [out] double *pdMinMomTop,
[out] double *pdMajShearTop, [out] double *pdMinShearTop, [out] double *pdTorsionTop, [out] double *pdMajMomBot, [out] double
*pdMinMomBot, [out] double *pdMajShearBot, [out] double *pdMinShearBot, [out] double *pdTorsionBot, [out, retval] long* plResult);
Purpose Get lateral brace forces.
Parameters lBraceID Brace Unique ID
lLoadCase Load Case index number from 0 to value returened by
GetNumAnalyzedFrameLoadCases - 1
pdAxial Axial load
pdMajMomTop Major moment at top
pdMinMomTop Minor moment at top
pdMajShearTop Major shear at top
pdMinShearTop Minor shear at top
pdTorsionTop Torsion at top
pdMajMomBot Major moment at bottom
pdMinMomBot Minor moment at bottom
pdMajShearBot Major shear at bottom
pdMinShearBot Minor shear at bottom
pdTorsionBot Torsion at bottom
plResult Returned error code

GetMemberForces ([in] long lMemberID, [in] EDA_MEMBER_LOC eLocation, [in] long lLoadCaseID, [in] EAnalysisResultType
eAnalysisReultType, [in] BOOL bApplyLLReduction, [in] SForce* psMemForces, [out,retval] long* plRetVal);
Purpose Get Member Forces at the ends of the specified member.
Implemented for gravity analysis cases types only. This function can be used for retriving
analysis results for RAM Frame, RAM Steel and RAM Concrete. However please not that not
all analysis types have all the possible analysis cases.
Parameters lMemberID Member Unique ID
eLocation Location for member forces (not used for walls, always bottom
assumed)
lAnalysisCaseID Analysis Case Unique ID
eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM Concrete
or Default which lets the program select the appropriate analysis
result type (see Comment 1 and Current Error Events)
bApplyLLReduction Include live load reduction (see Comment 2)
psMemForces Member force results for given analysis case and location
plRetVal Error code. See table below.
Comment 1 Analysis cases are defined as the results of analyzing load cases
If eAnalysisResultType is Default then the following decision matrix is used to determine from
where the forces originate.
Member Frame type Material Analysis Results
Type
Wall Gravity any RAM Concrete (if avail) else RAM
Gravity
Wall Lateral any RAM Frame
Beam/HBrace Gravity steel/other RAM Gravity
Beam/HBrace Gravity concrete RAM Concrete
Beam/HBrace Lateral any RAM Frame
Column Gravity steel/other RAM Gravity
Column Gravity concrete RAM Concrete
Column Lateral any RAM Frame
Brace Lateral any RAM Frame
Comment 2 Prior to v9.0, Live Load Reduction was applied to all results from RAM Frame. Thus, for
lateral members, reduced member forces were returned by this method regardless of the
value of bApplyLLReduction. This was corrected in v9.0 for the following
EGravAnalysisCaseIDs:
LiveReduciblePosID LiveReducibleNegID LiveReducibleSumID
LiveUnReduciblePosID LiveUnReducibleNegID LiveUnReducibleSumID
LiveStoragePosID LiveStorageNegID LiveStorageSumID
LiveRoofPosID LiveRoofNegID LiveRoofSumID
Note1: L ivePosID, LiveNegID, LiveSumID can still only be accessed as reduced.
Note2: Walls do not have any reduction values associated with them

Error Codes Below is a list of the most common error codes to be returned in plRetVal. Note that prior to
v9.0 the retval contained the AnalysisType if DefaultResultType was specified as the
EAnalysisResultType.
306 RAM Frame (lateral load cases) not available
310 RAM Gravity results are not available
311 File not found (one of the results files)
312 Error reading gravity beam results file
332 Concrete analysis results not available
6121 Brace forces not supported
6126 Beam forces not supported
6127 Generic member forces not supported error
6128 Load case not supported
6129 Concrete analysis column forces file is missing
6130 Concrete analysis wall forces file is missing
6133 Analysis case not supported
9109 Unexpected memory error
12105 Error loading concrete analysis column results file
12106 Error loading concrete alaysis wall results file

plRetVal for the following EAnalysisResultType input


Member Type RAMGravResultType RAMFrameResultType RAMConcResultType
Gravity Col 0 = valid forces Err = forces are never 0 = valid forces
Err = forces not avail available gravity Err = forces not avail
members.

Gravity Wall 0 or Err (see above) Err 0 or Err (see above)

Lateral Col 0 or Err (see above) 0 = valid forces 0 or Err (see above)
Err = forces not avail

Lateral Wall 0 or Err (see above) 0 or Err (see above) 0 or Err (see above)
Lateral Brace 0 with forces set to 0.0 0 or Err (see above) 0 with forces set to 0.0
because brace forces because brace forces
cannot be retrieved from cannot be retrieved from
RAM Gravity. RAM Concrete analysis.

GetMemberForcesLeftAt ([in] long lMemberID, [in] double dRelativeLocation, [in] long lAnalysisCaseID, [in] EAnalysisResultType
eAnalysisResultType, [in] BOOL bApplyLLReduction, [in] SForce psMemForces );
Purpose Get member forces at a location for an analysis case.
Parameters lMemberID Member Unique ID
dRelativeLocation Location relative to length (0 = I end, 1 = J end)
lAnalysisCaseID Analysis case uinique ID
eAnalysisResultType Analysis result type
bApplyLLReduction True if live load reduction is to be applied
psMemForces Forces structure
Comment Only implemented in v15.05.00 for concrete beams with forces from the concrete
analysis for the dead and roof live cases.

GetNumAnalysisCases ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* plNumLoadCases, [out,retval] long* plRetVal);
Purpose Get the number of load cases in this module.
Parameters eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM
Concrete or Default which lets the program select the
appropriate analysis result type
plNumAnalysisCases Total number of analysis cases for a given analysis type
plRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases

GetValuesInNewCoordinate ([in] long lOriginalMemberID, EDA_MEMBER_LOC eLocOrigMember, [in] long lFinalMemberID,


EDA_MEMBER_LOC eLocFinalMember, [in] SForce sMemberForceLocal, [in, out] SForce* psMemberForceGlobal, [out,retval] long*
plRetVal);
Purpose Obtain element member forces converted to global or to a local system of another
element.
Parameters lOriginalMemberID Unique member ID of the original element. Note that the
member forces stored in sMemberForceLocal belong to this
element.
eLocOrigMember Indicates sMemberForceLocal is defined according to the
sign definition of this end of the original member.
lFinalMemberID Unique member ID of the final element. Note that the forces
of the original element are converted into the local system of
this element. If this variable is passed in as zero, then
calculated forces are converted only to global system.
eLocFinalMember Indicates converted values are defined according to the sign
definition of this end of the final member if lFinalMemberID is
not zero. Otherwise, the variable is not valid, and calculated
results are returned in global system.
sMemberForceLocal Member forces of the original element
psMemberForceGlobal Converted member forces
plRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases

Reset ( );
Purpose Internal use only.
IGravityLoads1

Philosophy: This interface is meant provide access to all of the user defined and tribbed loads on members, along with calculated LL reduction
factors. This information is only available after framing has been performed. This interface does not include information on the loads, load
polygons or load properties that were defined and modeled in RAM Modeler.

GetBeamLineLoad ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*
pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out] double*
pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* dAxCDLR, [out] double* pdAxCLLL, [out]
double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor);
Purpose Get beam line load info.
Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads - 1
pdDistL Distance from left end of beam to left end of load
pdDistR Distance from left end of beam to right end of load
pdDLL Perpendicular Dead Load at left end of load
pdDLR Perpendicular Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load.
pdLLR Perpendicular Unreduced Live Load at right end of load.
pdCLLL Perpendicular Construction Live Load at left end of load.
pdCLLR Perpendicular Construction Live Load at right end of load.
pdAxDLL Axial Dead Load, in kips, at left end of load
pdAxDLR Axial Dead Load, in kips, at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
dAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Unreduced Live Load at left end of load.
pdAxCLLR Axial Unreduced Live Load at right end of load
pdAxLLL Axial Construction Live Load at left end of load.
pdAxLLR Axial Construction Live Load at right end of load.
peLoadType Type of live load: 'RF' = roof, 'FL' = floor, 'UR' = unreducible, 'ST'
= storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
Sign Convention: A downward acting load is positive.

GetBeamLineLoadAndSource ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out]
double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out]
double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* dAxCDLR, [out] double*
pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out]
double* pdRfactor, [out] ELINELOADSOURCE* peLineLoadSource, long* plRetval);
Purpose Get beam line load info.
Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1
pdDistL Distance from left end of beam to left end of load
pdDistR Distance from left end of beam to right end of load
pdDLL Perpendicular Dead Load at left end of load
pdDLR Perpendicular Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load.
pdLLR Perpendicular Unreduced Live Load at right end of load.
pdCLLL Perpendicular Construction Live Load at left end of load.
pdCLLR Perpendicular Construction Live Load at right end of load.
pdAxDLL Axial Dead Load, in kips, at left end of load
pdAxDLR Axial Dead Load, in kips, at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
dAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Unreduced Live Load at left end of load.
pdAxCLLR Axial Unreduced Live Load at right end of load
pdAxLLL Axial Construction Live Load at left end of load.
pdAxLLR Axial Construction Live Load at right end of load.
peLoadType Type of live load: ‘RF’ = roof, ‘FL’ = floor, ‘UR’ = unreducible, ‘ST’
= storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
peLineLoadSource The source of the line load (where it originated from) see enum
plRetval Return value, 0 = no error else call GetLastError
Sign Convention: A downward acting load is positive.

GetBeamLineLoadAndSource2 ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,
[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out]
double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* dAxCDLR, [out] double*
pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out]
double* pdRfactor, [out] ELINELOADSOURCE* peLineLoadSource, [out] EMemberSide *peSide, long* plRetval);
Purpose Get beam line load info.
Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1
pdDistL Distance from left end of beam to left end of load
pdDistR Distance from left end of beam to right end of load
pdDLL Perpendicular Dead Load at left end of load
pdDLR Perpendicular Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load.
pdLLR Perpendicular Unreduced Live Load at right end of load.
pdCLLL Perpendicular Construction Live Load at left end of load.
pdCLLR Perpendicular Construction Live Load at right end of load.
pdAxDLL Axial Dead Load, in kips, at left end of load
pdAxDLR Axial Dead Load, in kips, at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
dAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Unreduced Live Load at left end of load.
pdAxCLLR Axial Unreduced Live Load at right end of load
pdAxLLL Axial Construction Live Load at left end of load.
pdAxLLR Axial Construction Live Load at right end of load.
peLoadType Type of live load: ‘RF’ = roof, ‘FL’ = floor, ‘UR’ = unreducible, ‘ST’ = storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
peLineLoadSource The source of the line load (where it originated from) see enum
peSide The side of the beam that the load is applied to
plRetval Return value, 0 = no error else call GetLastError
Sign Convention: A downward acting load is positive.

GetBeamLineLoadAndSource3 ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,
[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdPLL, [out]
double* pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL,
[out] double* dAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] double*
pdAxPLL, [out] double* pdAxPLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor, [out] ELINELOADSOURCE*
peLineLoadSource, long* plRetval);

Purpose Get beam line load info.


Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1
pdDistL Distance from left end of beam to left end of load
pdDistR Distance from left end of beam to right end of load
pdDLL Perpendicular Dead Load at left end of load
pdDLR Perpendicular Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load.
pdLLR Perpendicular Unreduced Live Load at right end of load.
pdPLL Perpendicular Partion Load at left end of load.
pdPLR Perpendicular Partition Load at right end of load.
pdCLLL Perpendicular Construction Live Load at left end of load.
pdCLLR Perpendicular Construction Live Load at right end of load.
pdAxDLL Axial Dead Load, in kips, at left end of load
pdAxDLR Axial Dead Load, in kips, at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
dAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Unreduced Live Load at left end of load.
pdAxCLLR Axial Unreduced Live Load at right end of load
pdAxLLL Axial Construction Live Load at left end of load.
pdAxLLR Axial Construction Live Load at right end of load.
pdAxPLL Axial Partition Load at left end of load.
pdAxPLR Axial Partition Load at right end of load.
peLoadType Type of live load: ‘RF’ = roof, ‘FL’ = floor, ‘UR’ = unreducible, ‘ST’
= storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
peLineLoadSource The source of the line load (where it originated from) see enum
plRetval Return value, 0 = no error else call GetLastError
Sign Convention: A downward acting load is positive.

GetBeamLinkLineLoadAndSource ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,
[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* dpPLL, [out]
double* pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL,
[out] double* dAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] double*
pdAxPLL, [out] pdAxPLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor, [out] ELINELOADSOURCE*
peLineLoadSource, [in] BOOL bISupportLink);

Purpose Get beam line load info.


Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1
pdDistL Distance from left end of beam to left end of load
pdDistR Distance from left end of beam to right end of load
pdDLL Perpendicular Dead Load at left end of load
pdDLR Perpendicular Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load.
pdLLR Perpendicular Unreduced Live Load at right end of load.
pdPLL Perpendicular Partition Load at left end of load.
pdPLR Perpendicular Partition Load at right end of load.
pdCLLL Perpendicular Construction Live Load at left end of load.
pdCLLR Perpendicular Construction Live Load at right end of load.
pdAxDLL Axial Dead Load, in kips, at left end of load
pdAxDLR Axial Dead Load, in kips, at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
dAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Construction Live Load at left end of load.
pdAxCLLR Axial Construction Live Load at right end of load
pdAxLLL Axial Unreduced Live Load at left end of load.
pdAxLLR Axial Unreduced Live Load at right end of load.
pdAxPLL Axial Partition Load at left end of load.
pdAxPLR Axial Partition Load at right end of load.
peLoadType Type of live load: ‘RF’ = roof, ‘FL’ = floor, ‘UR’ = unreducible, ‘ST’ = storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
peLineLoadSource The source of the line load (where it originated from) see enum
bISupoportLink True if looking for I end (start) rigid link, False if looking for J end (end) rigid link
Sign Convention: A downward acting load is positive.

GetBeamLinkPointLoad ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*
pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]
double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdAxDL,
[out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*
dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*
pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,
[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE*
peLoadSource, [in] BOOL bISupportLink);

Purpose Get perpendicular and axial components of point loads applied to a beam.
Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of beam
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdAxDL Axial Dead Load
pdAxCDL Axial Construction Dead Load
pdAxCLL Axial Construction Live Load
pdAxNegRedLL Axial Negative Reducible Live Load
pdAxPosRedLL Axial Positive Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadSource Point load source
bISupoportLink True if looking for I end (start) rigid link, False if looking for J end (end) rigid link

GetBeamLinkPointLoad2 ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*
pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]
double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double*
pdPosPL, [out] double* pdNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL,
[out] double* pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out]
double* pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double*
pdAxPosPL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF,
[out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE* peLoadSource, [in] BOOL bISupportLink);

Purpose Get perpendicular and axial components of point loads applied to a beam. 2.
Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of beam
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdPosPL Perpendicular Positive Partition Load
pdNegPL Perpendicular Negative Partition Load
pdAxDL Axial Dead Load
pdAxCDL Axial Construction Dead Load
pdAxCLL Axial Construction Live Load
pdAxNegRedLL Axial Negative Reducible Live Load
pdAxPosRedLL Axial Positive Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdAxNegPL Axial Negative Partition Load
pdAxPosPL Axial Positive Partition Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadSource Point load source
bISupoportLink True if looking for I end (start) rigid link, False if looking for J end
(end) rigid link

GetBeamLLRedFactor ([in] long lBeamID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double*
dNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Get beam live load reduction factors.
Parameters lBeamID Beam unique ID
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
dNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
Comment The reduction values are as a percent. To reduce a member force by the reduction value
you will need to multiply the force by the following equation (1.0 - LLRF / 100)

GetBeamPointLoad ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*
pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]
double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdAxDL,
[out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*
dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*
pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,
[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE*
peLoadSource);
Purpose Get perpendicular and axial components of point loads applied to a beam.
Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of beam
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdAxDL Axial Dead Load
pdAxCDL Axial Construction Dead Load
pdAxCLL Axial Construction Live Load
pdAxNegRedLL Axial Negative Reducible Live Load
pdAxPosRedLL Axial Positive Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadSource Point load source

GetBeamPointLoadAndSource ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out]
double* pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed,
[out] double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double*
pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*
dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*
pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,
[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE*
peLoadSource, [out] EMemberSide *peSide, long* plRetval);
Purpose Get perpendicular and axial components of point loads applied to a beam.
Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of beam
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdAxDL Axial Dead Load
pdAxCDL Axial Construction Dead Load
pdAxCLL Axial Construction Live Load
pdAxNegRedLL Axial Negative Reducible Live Load
pdAxPosRedLL Axial Positive Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadSource Point load source
peSide The side of the beam that the load is applied to
plRetval Return value, 0 = no error else call GetLastError

GetBeamPointLoadAndSource2 ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out]
double* pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed,
[out] double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double*
pdPosPL, [out] double* pNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL,
[out] double* pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out]
double* pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double*
pdAxPosPL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF,
[out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE* peLoadSource, [out] EMemberSide *peSide,
long* plRetval);

Purpose Get perpendicular and axial components of point loads applied to a beam. 2.
Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of beam
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdPosPL Perpendicular Positive Partition Load
pdNegPL Perpendicular Negative Partition Load
pdAxDL Axial Dead Load
pdAxCDL Axial Construction Dead Load
pdAxCLL Axial Construction Live Load
pdAxNegRedLL Axial Negative Reducible Live Load
pdAxPosRedLL Axial Positive Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdAxNegPL Axial Negative Partition Load
pdAxPosPL Axial Positive Partition Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadSource Point load source
peSide The side of the beam that the load is applied to
plRetval Return value, 0 = no error else call GetLastError

GetBeamPointLoadType ([in]long lBeamID, [in]long lPtLoadNo, [out] EGRAVPTLOADSOURCE* peLoadSource);


Purpose Get point load source type.
Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to lNumPointLoads - 1
peLoadSource Point load source

GetColumnLLRedFactor ([in] long lColumnID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out]
double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Get column live load reduction factors.
Parameters lColumnID Column unique ID
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor

GetColumnLLRedFactorExtraInfo ( [in] long lColumnID, [in, out] double* pdAveRoofSlope, [in, out] long* plNumStoriesAddingToLLPos, [in, out]
long* plNumStoriesAddingToLLNeg, [out, retval] long* plRetVal );
Purpose Get additional factor information used for calculating Live Load reduction.
Parameters lColumnID unique member ID
pdAveRoofSlope Average slope of roof contributing to column roof load
plNumStoriesAddingToLLPos Number of story contributing to positive live load
plNumStoriesAddingToLLNeg Number of story contributing to negative live load
plRetVal Error code. If value is non zero then check
GetLastError

GetColumnPointLoad ([in] long lColumnID, [in] long lPtLoadNo, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL, [out] double*
pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double* pdLLPosStorage,
[out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosLLRF, [out] double*
pdNegLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] double* pdPosStorageLLRF, [out] double*
pdNegStorageLLRF);
Purpose Get information for a user defined point load applied directly to a column.
Parameters lColumnID Column unique ID
lPtLoadNo Not used
pdDL Dead Load
pdCDL Construction Dead Load
pdCLL Construction Live Load
pdLLPosRed Positive Reducible Live Load
pdLLNegRed Negative Reducible Live Load
pdLLPosNonRed Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLNegNonRed Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLPosStorage Positive Storage Live Load
pdLLNegStorage Negative Storage Live Load
pdLLPosRoof Positive Roof Live Load
pdLLNegRoof Negative Roof Live Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor

GetColumnPointLoad2 ([in] long lColumnID, [in] long lPtLoadNo, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL, [out] double*
pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double* pdLLPosStorage,
[out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosPL, [out] double* pNegPL,
[out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] double*
pdPosStorageLLRF, [out] double* pdNegStorageLLRF);

Purpose Get information for a user defined point load applied directly to a column. 2.
Parameters lColumnID Column unique ID
lPtLoadNo Not Used
pdDL Dead Load
pdCDL Construction Dead Load
pdCLL Construction Live Load
pdLLPosRed Positive Reducible Live Load
pdLLNegRed Negative Reducible Live Load
pdLLPosNonRed Positive Non-Reducible Live Load
pdLLNegNonRed Negative Non-Reducible Live Load
pdLLPosStorage Positive Storage Live Load
pdLLNegStorage Negative Storage Live Load
pdLLPosRoof Positive Roof Live Load
pdLLNegRoof Negative Partition Load
pdPosPL Positive Partition Load
pdNegPL Negative Roof Live Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetGravColSideLoads ( [in] long lColumnID, [in] long lAnalysisID, [in] BOOL bApplyLLReduction, [in, out] double* pdSide1Load, [in, out] double*
pdSide2Load, [in, out] double* pdSide3Load, [in, out] double* pdSide4Load, [out, retval] long* plRetVal );
Purpose Get the column side loads from the gravity analysis.
Parameters lColumnID Column UID
lAnalysisID Analysis case ID
bApplyLLReduction true = consider live load reduction
pdSide1Load Top or Top flange
pdSide2Load (Clockwise) front side / web
pdSide3Load Bottom or Bottom flange
pdSide4Load (Clockwise) back side / web

GetGravColTribAreas( [in] long lColumnID, [in, out] double* pdPosRedTribArea, [in, out] double* pdNegRedTribArea, [in, out] double*
pdPosStorageTribArea, [in, out] double* pdNegStorageTribArea, [in, out] double* pdPosRoofTribArea, [in, out] double*
pdNegRoofTribArea, [in, out] double* pdPosRedTribAreaCant, [in, out] double* pdNegRedTribAreaCant, [in, out] double*
pdPosStorageTribAreaCant, [in, out] double* pdNegStorageTribAreaCant, [out, retval] long* plRetVal );
Purpose Get column tributary area based on gravity analysis assuming beams are simply
supported.
Parameters lColumnID unique member ID
peTensionCompressionType Defines type as tension only/ compression only or both
pdPosRedTribArea Positive reducible live load tributary area
pdNegRedTribArea Negative reducible live load tributary area
pdPosStorageTribArea Positive storage live load tributary area
pdNegStorageTribArea Negative storage live load tributary area
pdPosRoofTribArea Positive Roof live load tributary area
pdNegRoofTribArea Negative Roof live load tributary area
pdPosRedTribAreaCant Positive reducible live load tributary area from cantilever
Negative reducible live load tributary area from
pdNegRedTribAreaCant cantilever
pdPosStorageTribAreaCant Positive storage live load tributary area from cantilever
pdNegStorageTribAreaCant Negative storage live load tributary area from cantilever
plRetVal Error code. If value is non zero then check GetLastError

GetGravityBeamReact ([in] long lBeamID, [out] double* pdSWLeft, [out] double* pdDLLeft, [out] double* pdCDLLeft, [out] double* pdCLLLeft,
[out] double* pdSWRight, [out] double* pdDLRight, [out] double* pdCDLRight, [out] double* pdCLLRight, [out] double*
pdReducedPosLeft, [out] double* pdReducedNegLeft, [out] double* pdReducedPosRight, [out] double* pdReducedNegRight);
Get gravity beam end support reactions assuming all beams are simply supported. This
Purpose assumption may not be valid for lateral members and non-steel members.
Parameters lBeamID Beam unique ID
pdSWLeft Self-weight at start of beam
pdDLLeft Dead Load at start of beam
pdCDLLeft Construction Dead Load at start of beam
pdCLLLeft Construction Live Load at start of beam
pdSWRight Self-weight at end of beam
pdDLRight Dead Load at end of beam
pdCDLRight Construction Dead Load at end of beam
pdCLLRight Construction Live Load at end of beam
pdReducedPosLeft Reduced positive live load reaction at left support
pdReducedNegLeft Reduced negative live load reaction at left support
pdReducedPosRight Reduced positive live load reaction at right support
pdReducedNegRight Reduced negative live load reaction at right support
Comment Note that this function returns the support reactions due to the beam and not the actual
beam end reactions. For simply supported beams with no cantilevers the support reaction
and beam end reaction will be the same. To calculate the permanent dead load on the
member only use the DL loads. The SW load is already included in DL and CDL is only
imposed during construction.

GetGravityLoadFramingFlag ([out] long * plGravFraming);


Purpose Get the status of the gravity framing tables.
Parameters plGravFraming 0 = not framed, 1 = framed

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetMaxFactoredGravityBeamReact ([in] long lBeamID, [out] double* pdMaxReactLeft, [out] double* pdMaxReactRight, [out] double* pdSignLeft,
[out] double* pdSignRight, [out, retval] long* plRetval);
The magnitude of the reaction that should be used (as is displayed in RAM Steel) is calculated by rounding the provided reaction up to the next largest whole
number using this calculation: dLeftReaction = const_cast<int>( MaxReactLeft + SignLeft * 0.95f ))

Purpose Get the factored beam (mid-span) reactions for the current ramsteel beam design code.
Parameters lBeamID Beam unique ID
Max factored reaction at ‘left’ end of midspan of beam. Left is
pdMaxReactLeft lower left end of beam when observed in plan on screen.
Max factored reaction at ‘right’ end of midspan of beam. Right is
pdMaxReactRight upper right end of beam when observed in plan on screen.
Sign of the reaction on the left (negative means largest reaction
pdSignLeft was upwards acting as in backspan support of a cantilever)
Sign of the reaction on the right (negative means largest reaction
pdSignRight was upwards acting as in backspan support of a cantilever)
plRetval Return value, 0 = no error else call GetLastError

GetMemberSelfWeight ( [in] long lMemberID, [out] double* pdSelfWeight, [out, retval] long* plRetVal );
Purpose Get wall live load reduction factors.
Parameters lMemberID Member unique ID
pdSelfWeight Self weight
plRetVal Return value, 0 = no error else call GetLastError

GetNumBeamLoads ([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);
Purpose Get total number of line and point loads on beam.
Parameters lBeamID Beam unique ID
plNumLineLoads Total number of line loads
plNumPointLoads Total number of point loads

GetNumBeamSupportLinkLoads([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads, [in] BOOL bISupportLink);

Purpose Returns the number of line loads and point loads the beam rigid links.
Parameters lBeamID Beam unique ID
plNumLineLoads Number of line loads
plNumPointLoads Number of point loads
bISupportLink True if looking for I end (start) rigid link, False if looking for J end
(end) rigid link
GetNumWallLoads ([in] long lWallID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);
Purpose Get number of line and point loads on a wall.
Parameters lWallID Wall unique ID
plNumLineLoads Total number of line loads on wall
plNumPointLoads Total number of point loads on wall

GetStoryGravityReactOnCol ([in] long lStoryNoOrID, [in] long lColNum, [out] long* plIsLoadOnColumn, [out] double* pdDL, [out] double*
pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double*
pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosLLRF, [out]
double* pdNegLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] double* pdPosStorageLLRF, [out]
double* pdNegStorageLLRF);
Purpose Get the reaction (axial force) from ONLY gravity members on a column at a particular
story. Includes the load from gravity columns above.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
lColNum Column index
plIsLoadOnColumn True (1) if there is a load on this column from gravity members
pdDL The dead load
pdLLPosRed The downward reducible live load
pdLLNegRed The upward reducible live load
pdLLPosNonRed The downward non-reducible live load
pdLLNegNonRed The upward non-reducible live load
pdLLPosStorage The downward storage live load

GetWallLineLoad ([in] long lWallID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*
pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out] double*
pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* pdAxCDLR, [out] double* pdAxCLLL,
[out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out] double *
pdRfactor);
Purpose Information on line loads applied on a wall.
Parameters lWallID Wall unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads - 1
pdDistL Distance from left end of wall to left end of load
pdDistR Distance from left end of wall to right end of load
pdDLL Dead Load at left end of load
pdDLR Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load. (pos if dn)
pdLLR Perpendicular Unreduced Live Load at right end of load. (pos if dn)
pdCLLL Perpendicular Construction Live Load at left end of load. (pos if dn)
pdCLLR Perpendicular Construction Live Load at right end of load. (pos if dn)
pdAxDLL Axial Dead Load at left end of load
pdAxDLR Axial Dead Load at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
pdAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Construction Live Load at left end of load. (pos if dn)
pdAxCLLR Axial Construction Live Load at right end of load. (pos if dn)
pdAxLLL Axial Unreduced Live Load at left end of load. (pos if dn)
pdAxLLR Axial Unreduced Live Load at right end of load. (pos if dn)
peLoadType Type of live load: 'RF' = roof, 'FL' = floor, 'UR' = unreducible, 'ST' = storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible

GetWallLineLoad2 ([in] long lWallID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*
pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdPLL, [out] double*
pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out]
double* pdAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out]
EGRAVLOADTYPE* peLoadType, [out] double * pdRfactor);

Purpose Information on line loads applied on a wall.


Parameters lWallID Wall unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads - 1
pdDistL Distance from left end of wall to left end of load
pdDistR Distance from left end of wall to right end of load
pdDLL Dead Load at left end of load
pdDLR Dead Load at right end of load.
pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR Perpendicular Construction Dead Load at right end of load.
pdLLL Perpendicular Unreduced Live Load at left end of load. (pos if dn)
pdLLR Perpendicular Unreduced Live Load at right end of load. (pos if dn)
pdPLL Perpendicular Partition Load at left end of load. (pos if dn)
pdPLR Perpendicular Partition Load at right end of load. (pos if dn)
pdCLLL Perpendicular Construction Live Load at left end of load. (pos if dn)
pdCLLR Perpendicular Construction Live Load at right end of load. (pos if dn)
pdAxDLL Axial Dead Load at left end of load
pdAxDLR Axial Dead Load at right end of load.
pdAxCDLL Axial Construction Dead Load at left end of load.
pdAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Construction Live Load at left end of load. (pos if dn)
pdAxCLLR Axial Construction Live Load at right end of load. (pos if dn)
pdAxLLL Axial Unreduced Live Load at left end of load. (pos if dn)
pdAxLLR Axial Unreduced Live Load at right end of load. (pos if dn)
pdAxPLL Axial Partiton Load at left end of load. (pos if dn)
pdAxPLR Axial Partition Load at right end of load. (pos if dn)
peLoadType Type of live load: 'RF' = roof, 'FL' = floor, 'UR' = unreducible, 'ST' = storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible

GetWallLLRedFactor ([in] long lWallID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double*
pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Get wall live load reduction factors.
Parameters lWallID Wall unique ID
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor

GetWallPointLoad ([in] long lWallID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*
pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]
double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdAxDL,
[out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*
dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*
pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,
[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] EGRAVPTLOADSOURCE*
peLoadType);
Purpose Information on the point loads applied on a wall.
Parameters lWallID Wall unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads -1
pdDist Location of point load from start of wall
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdAxDL Axial Construction Dead Load
pdAxCDL Axial Construction Live Load
pdAxCLL Axial Positive Reducible Live Load
pdAxPosRedLL Axial Negative Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadType Point load source

pdLLNegStorage The upward storage live load


pdLLPosRoof The downward roof live load
pdLLNegRoof The upward roof live load
pdPosLLRF The downward live load reduction factor
pdNegLLRF The upward live load reduction factor
pdPosRoofLLRF The downward roof live load reduction factor
pdNegRoofLLRF The upward roof live load reduction factor
pdPosStorageLLRF The downward storage live load reduction factor
pdNegStorageLLRF The upward storage live load reduction factor
The reduction values are as a percent. To reduce a member force by the reduction value
Comments you will need to multiply the force by the following equation (1.0 - LLRF / 100)

GetWallPointLoad2 ([in] long lWallID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL,
[out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double*
pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosPL, [out]
double* pdNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double*
pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double*
pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double* pdAxPosPL,
[out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF, [out] double*
pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] EGRAVPTLOADSOURCE* peLoadType);

Purpose Information on the point loads applied on a wall. 2.


Parameters lWallID Wall unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of wall
pdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead Load
pdCLL Perpendicular Construction Live Load
pdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live Load
pdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdPosPL Perpendicular Positive Partition Load
pdNegPL Perpendicular Negative Partition Load
pdAxDL Axial Construction Dead Load
pdAxCDL Axial Construction Live Load
pdAxCLL Axial Positive Reducible Live Load
pdAxPosRedLL Axial Negative Reducible Live Load
dAxNegNonRedLL Axial Negative Non-Reducible Live Load
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live Load
pdAxNegPL Axial Negative Partition Load
pdAxPosPL Axial Positive Partition Load
pdPosLLRF Positive live load reduction factor
pdNegLLRF Negative live load reduction factor
pdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
pdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
peLoadType Point load source

Reset ();
Purpose Internal use only.

IGravitySteelDesign1

Philosophy: This interface returns the results of the design process in RAM Steel Beam module. These results are only available after a design
all has been performed in RAM Steel Beam.

GetBeamCamber([in] long lBeamID, [out] double* pdCamber);


Purpose Get steel beam camber.
Parameters lBeamID Beam Unique ID
pdCamber Camber value

GetBeamCompDisp ([in] long lBeamID, [out] double* pdInitialRight, [out] double* pdInitialCenter, [out] double* pdInitialLeft, [out] double*
pdPostLiveRight, [out] double* pdPostLiveCenter, [out] double* pdPostLiveLeft, [out] double* pdPostTotalRight, [out] double*
pdPostTotalCenter, [out] double* pdPostTotalLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out] double*
pdNetTotalLeft);
Purpose Get the deflection values for the location where the maximum total deflection occurs on a
composite gravity beam. The deflection values recovered are identical to those provided
in the Beam Deflection report in RAM Steel Beam.
Note: that the location of the deflection is not recovered or reported.
Parameters lBeamID Beam Unique ID
pdInitialRight Initial deflection at right cantilever
pdInitialCenter Initial deflection at center span
pdInitialLeft Initial deflection at left cantilever
pdPostLiveRight Positive live load deflection at right cantilever
pdPostLiveCenter Positive live load deflection at center span
pdPostLiveLeft Positive live load deflection at left cantilever
pdPostTotalRight Positive total deflection at right cantilever
pdPostTotalCenter Positive total deflection at center span
pdPostTotalLeft Positive total deflection at left cantilever
pdNetTotalRight Negative total deflection at right cantilever
pdNetTotalCenter Negative total deflection at center span
pdNetTotalLeft Negative total deflection at left cantilever

GetBeamCompositeProperties ([in] long lBeamID, [out] long* plNumStudSegments, [in] long lSizeOfArrayOfStuds, [out] long* palNumStuds, [out]
long* pbShored, [out] double* pdDeckAngleLeft, [out] double* pdDeckAngleRight, [out] long* pbEdgeOnLeft, [out] long* pbEdgeOnRight,
[out] double* pdSlabWidthLeft, [out] double* pdSlabWidthRight, [out] double* pdMinSlabThicknessLeft, [out] double*
pdMinSlabThicknessRight);
Purpose Get the composite beam properties.
Parameters lBeamID Beam Unique ID
plNumStudSegments Number of stud segments (<=5)
lSizeOfArrayOfStuds Size of palNumStuds
palNumStuds Array containing the number of studs in each segment.
pbShored 1 = Shored
pdDeckAngleLeft Deck angle left of beam
pdDeckAngleRight Deck angle right of beam
pbEdgeOnLeft 1 if there is an edge of slab on the left side of beam
pbEdgeOnRight 1 if there is an edge of slab on the right side of beam
pdSlabWidthLeft Width of slab on left side of beam
pdSlabWidthRight Width of slab on right side of beam
pdMinSlabThicknessLeft Min. slab thickness on left side of beam
pdMinSlabThicknessRight Min. slab thickness on right side of beam

GetBeamDesignDecks( [in] long lBeamID, [in, out] EDeckType* peDeckTypeLeft, [in, out] long* plDeckPropIDLeft, [in, out] EDeckType*
peDeckTypeRight, [in, out] long* plDeckPropIDRight );
Purpose Get the deck types and unique IDs on either side of a beam.
Parameters lBeamID Beam Unique ID
peDeckTypeLeft Type of deck on left side of beam
plDeckPropIDLeft Unique ID of deck on left side of beam
peDeckTypeRight Type of deck on right side of beam
plDeckPropIDRight Unique ID of deck on right side of beam

GetBeamDesignMoments ([in] long lBeamID, [out] double* pdSEff_or_Mnp, [out] double* pdLeftPosMom, [out] double* pdLeftNegMom, [out]
double* pdMidSpanPosMom, [out] double* pdMidSpanNegMom, [out] double* pdRightPosMom, [out] double* pdRightNegMom);
Purpose Retrieves effective section modulus Seff for ASD or Mn for LRFD and the design
moments for a given beam.
Parameters lBeamID Beam Unique ID
pdSEff_or_Mnp Seff, in inches cubed or cm cubed, or Mn for composite
construction, or Sx or Mp for noncomposite construction.
pdLeftPosMom Maximum positive moment in left cantilever
pdLeftNegMom Maximum negative moment in left cantilever
pdMidSpanPosMom Maximum positive moment in mid-span
pdMidSpanNegMom Maximum negative moment in mid-span
pdRightPosMom Maximum positive moment in right cantilever
pdRightNegMom Maximum negative moment in right cantilever

GetBeamNonCompDisp ([in] long lBeamID, [out] double* pdDeadRight, [out] double* pdDeadCenter, [out] double* pdDeadLeft, [out] double*
pdLiveRight, [out] double* pdLiveCenter, [out] double* pdLiveLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out]
double* pdNetTotalLeft);
Purpose Get the deflection values for the location where the maximum total deflection occurs on a
non-composite gravity beam. The deflection values recovered are identical to those
provided in the Beam Deflection report in RAM Steel Beam. Note that the location of the
deflection is not recovered or reported.
Parameters lBeamID Beam Unique ID
pdDeadRight Initial deflection at right cantilever
pdDeadCenter Initial deflection at center span
pdDeadLeft Initial deflection at right cantilever
pdLiveRight Positive Live load deflection at right cantilever
pdLiveCenter Positive Live load deflection at center span
pdLiveLeft Positive Live load deflection at right cantilever
pdNetTotalRight Positive total load deflection at right cantilever
pdNetTotalCenter Positive total load deflection at center span
pdNetTotalLeft Positive total load deflection at left cantilever

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetSteelDesignCode ([out] BSTR* pbstrBeamCode, [out] BSTR* pbstrColumnCode);


Purpose To get the design code used by RAM Steel Beam and Column.
Parameters pbstrBeamCode Beam code as a string
pbstrColumnCode Column code as a string

Reset ( );
Purpose Internal use only.

ILoading1

Philosophy: This interface is used to access information about the load cases and load combinations that exist for the current model.

GetAnalysisCaseIDFromAnalyzeNo ([in] long lAnalyzeNo, [out] long* plAnalysisCaseID, [out] long* plRetval)
Purpose Get Analysis Case UniqueID from an index into the array of analyzed load cases.
Parameters lAnalyzeNo Index into the array of analyzed load cases
plAnalysisCaseID The analysis case ID (unique number for the load case)
plRetval The return value for errors. 0 = No Error

GetAnalyzedFrameLoadCaseInfo ([in] long nLoadCaseNum, [out] BSTR * pbstrLabel, [out] BSTR * pbstrType, [out] long * pnLoadType, [out]
long * pnSubLoadType);
Purpose To get information about each of the load cases analyzed by RAM Frame.
Parameters nLoadCaseNum Index into the array of ANALYZED load cases.
pbstrLabel For the lateral load cases generated in RAM Frame, this is the label
entered by the user. For those created outside of RAM Frame, this
label is generated internally.
pbstrType String that indicates the type of load. This string is generated
internally and cannot be modified.
pnLoadType Integer value indicating the load type:
pnSubLoadType In combination with the above load type variable, this integer value
more specifically defines the load case by indicating sub categories
of each load case.

GetAvailFrameCombo ([in] ECOMBOTYPES eComboType, [in] long lComboNo,


[out] long * plNumTerms, [out] long * palCaseIndex, [out] double * padFactor, [out] long * plSelected);
Purpose To get the information for a given load combination.
Parameters eComboType Flag indicating the RAM Frame mode
lComboNo Index into load combination array
plNumTerms Number of terms in the combination
palCaseIndex array of indices into the load case array. Maximum of 5 values in
this array.
padFactor array of load case factors. Maximum of 5 values in this array.
plSelected flag that indicates if the load combination is selected for use.
0 = false, 1 = true
NOTE: This is only implemented for RAM Frame in ILoading1

GetComboCode ([in] COMBO_MATERIAL_TYPEeType, [out] BSTR* pbstrComboCode);


Purpose To get the code used to generate load combinations.
Parameters eType Flag that indicates the program/mode that is requesting the code.
pbstrComboCode String representation of the code used to generate combinations.
NOTE: This is only implemented for Concrete in ILoading1

GetComboParameters ([in] COMBO_MATERIAL_TYPEeType, [out] SComboParams_DA* pComboParams);


Purpose To get the parameters used in Load Combination generation.
Parameters eType Flag that indicates the program/mode that is requesting the
parameters.
pComboParams The combination parameters used in load combination generation.
These are associated with the controls in the combo generator.
NOTE: This is only implemented for Concrete in ILoading1

GetComboReGenFlag ([in] COMBO_MATERIAL_TYPEeType, [out] long* plReGen);


Purpose To get the flag that indicates whether or not the load combinations need to be
regenerated.
Parameters eType Flag that indicates the program/mode that is requesting the
regeneration flag
plReGen The regeneration flag.
NOTE: This is only implemented for Concrete in ILoading1

GetCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* plNumCombos, [out] SLoadCombos_CmbGen_DA** ppaCombos);
Purpose To get the list of load combinations.
Parameters eType Flag that indicates the program/mode that is requesting the list.
plNumCombos Return value for the number of combinations in the list
ppaCombos Array of load combinations.
NOTE: This is only implemented for Concrete in ILoading1

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetGravLoadCaseLabel ([in] long lWhichCase, [out] BSTR* pbstrLabel);


Purpose To get the label for the given load case.
Parameters lWhichCase Index for the selected case
pbstrLabel Label generated by the program

GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLineLoadSetInfo ([in] long lLineLoadSetID, [in, out] SCoordinate* pStartLoc, [in, out] SCoordinate* pEndLoc, [in, out] long* plLoadSetPropID,
[out,retval] long* plRetVal);
Purpose Get information on a line load set.
Parameters lLineLoadSetID Line load set ID
pStartLoc Start location of line
pEndLoc End location of line
plLoadSetPropID LoadSetProp Unique ID
plRetVal Error code. If value is non zero then check GetLastError

GetLoadCaseInfo ([in] long lLoadCaseID, [in, out] SLoadCaseInfo* psLoadCaseInfo, [out,retval] long* plRetVal);
Purpose Get the SLoadCaseInfo for the specified load case.
Parameters lLoadCaseID Load Case Unique ID
psLoadCaseInfo Load case info struct.
plRetVal Error code. If value is non zero then check GetLastError
Comment Implemented for gravity loads only.

GetLoadCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* nNumCases, [out] SLoadCase_CmbGen_DA** ppaAllCases);
Purpose To get the list of load cases to be used with the load combo generator.
Parameters eType Flag that indicates the program/mode that is requesting the list.
nNumCases Return value for the number of cases in the list
ppaAllCases Array of the load cases. Memory is allocated inside DataAccess.
NOTE: This is only implemented for Concrete in ILoading1

GetLoadSetPropInfo ([in] long lLoadSetPropID, [in] BSTR* pbstrLabel, [in, out] long* plNumCaseIDsUsed, [in, out] long* palCaseIDsUsed, [in,
out] long* plNumReferances, [out,retval] long* plRetVal);
Purpose Get the information on the load set properties. A load set is defined in RAM Modeler and
is a group of gravity loads which include Dead, Construction Dead, Construction Live,
Mass and one of the following live loads – Reducable, Unreducable, Storage or Roof.
Parameters lLoadSetPropID Prop Unique ID
pbstrLabel Prop Label
plNumCaseIDsUsed Number of load cases that are part of load set
palCaseIDsUsed List of case ID's used. Must be dimensioned to max number of
gravity load cases
plNumReferances Number of times this prop. is used in model
plRetVal Error code. If value is non zero then check GetLastError
GetLoadSetPropLoadCaseInfoArray ([in] long lLoadSetPropID, [in] long lArraySize, [in, out] SLoad* paLoadMagnitudes, [out, retval] long*
plRetVal);
Purpose Get the magnitudes for all the load cases that are defined in the LoadSetProp.
Parameters lLoadSetPropID Prop Unique ID
lArraySize paLoadMagnitudes array size
paLoadMagnitudes Array of SLoad for all load cases in load set.
paLoadMagnitudes must be sized to the total number of non-
zero values in palCaseIDsUsed
plRetVal Error code. If value is non zero then check GetLastError

GetNodalLoadCaseInfo ([out] long * plNumLoadCases, [out] BSTR** ppbstrLoadCaseLabel, [out] BSTR** ppbstrLoadCaseType);
Purpose Get the number of nodal load cases defined in the modeler.
Parameters plNumLoadCases The number of nodal load cases defined
ppbstrLoadCaseLabel The label (user defined) of the load case
ppbstrLoadCaseType The nodal load case type (wind, seismic, virtual, other)

GetNodalLoadsForLoadCase ([in] BSTR bstrNodalLoadCaseLabel, [out] long* plNumLoads, [out] SNodalLoadData** ppaNodalLoads);
Purpose Get the nodal loads associated with a specific load case label.
Parameters bstrNodalLoadCaseLabel The load case label (see GetNodalLoadCaseInfo)
plNumLoads The number of nodal loads in the load case
ppaNodalLoads Array of nodal load data structures with applied forces

GetNumAnalyzedFrameLoadCases ([out] long * plNumAnalyzedLoadCases);


Purpose To get the number of load cases analyzed by RAM Frame.
Parameters plNumAnalyzedLoadCases The number of analyzed load cases. This number does
include merged load cases but NOT cases that are
combined to create the merged case.

GetNumAvailFrameCombos ([in] ECOMBOTYPES eComboType, [out] long * plNumAvailLoadCombos);


Purpose To get the number of valid load combinations for the given RAM Frame mode. A valid
load combination is one that contains only analyzed load cases.
Parameters eComboType Flag indicating the RAM Frame mode.
plNumAvailLoadCombos return value for the number of valid load combinations
NOTE: This is only implemented for RAM Frame in ILoading1

GetNumCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCases);


Purpose To get the number of cases available to the combo generator.
Parameters eType Flag that indicates the program/mode that is requesting the list.
nNumCases Return value for the number of cases in the count.
NOTE: This is only implemented for Concrete in ILoading1

GetNumCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCombos );


Purpose To get the number of combinations.
Parameters eType Flag that indicates the program/mode that is requesting the count.
pnNumCombos The number of combinations
NOTE: This is only implemented for Concrete in ILoading1

GetNumCombosInUse ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCombosInUse );


Purpose To get the number of combinations.
Parameters eType Flag that indicates the program/mode that is requesting the
count.
pnNumCombosInUse Number of combos selected for use.

GetNumGravLoadCases ([out] long* pNum);


Purpose To get the number of gravity load cases defined in the RAM Modeler. These cases
include: Dead, Reducible Live, Storage Live, Unreducible Live, and Roof Live.
Parameters pNum Return value of the number of gravity load cases.

GetPointLoadSetInfo ([in] long lPointLoadSetID, [in, out] SCoordinate* paLoc, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);
Purpose Get information on a point load set.
Parameters lPointLoadSetID Point load set ID
paLoc Location of point load
plLoadSetPropID LoadSetProp Unique ID
plRetVal Error code. If value is non zero then check GetLastError

GetRoofReducibleFlag ([out] long* lRoofIsReducible);


Purpose To get the flag that indicates whether the roof load is reducible or snow.
Parameters lRoofIsReducible 0 = snow, 1 = reducible.

GetSurfaceLoadSetInfo ([in] long lSurfLoadSetID, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);
Purpose Get information on a surface load set.
Parameters lSurfLoadSetID Surface load set ID
plLoadSetPropID LoadSetProp Unique ID
plRetVal Error code. If value is non zero then check GetLastError
Comment Use the Polygon functions to get the surface loading geometry

GetTotalNumLoadCases ( [in] COMBO_MATERIAL_TYPE eType, [out] long* pNumLoadCases );


Purpose Get the total number of load cases.
Parameters eType Combo type
pNumLoadCases Number of load cases

SetComboCode ();
Purpose Internal use only.

SetComboParameters ();
Purpose Internal use only.
SetComboReGenFlag ();
Purpose Internal use only.

SetCombos ();
Purpose Internal use only.

SetLoadCasesForGen ();
Purpose Internal use only.

SetTotalNumLoadCases ();
Purpose Internal use only.

IMemberData1

Philosophy: This interface is for accessing and setting information for specific members. This could be information about size, framing type,
material, material properties.

CalcLiveLoadReductionFactors ( );
Purpose Compute live load reduction factors.

CalcRigidEndZones ( );
Purpose Compute rigid end zones.

CheckForMemberSizes ( [in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMaterial, [out] BOOL bAllHaveSizes );
Purpose Get beam design assignment as beam or joist.
Parameters eMemType Member type
eMaterial Material type
bAllHaveSizes True if all member type of material type have sizes assigned

GetAssignedMemberKFactor ([in] long lMemberID, [out] EKFAC_ASSIGN* peMajor, [out] EKFAC_ASSIGN* peMinor, [out] double*
pdMajorValue, [out] double* pdMinorValue);
Purpose To get the Assigned K factor setting for a column (in each axis) and the user specified K factor
if indicated to be assigned.
Parameters lMemberID The column ID
peMajor Major axis assigned (Use global, Use nomograph or Use assigned value)
peMinor Minor axis assigned (Use global, Use nomograph or Use assigned value)
pdMajorValue If peMajor is Use Assigned then this has the user assigned value, major axis
pdMinorValue If peMinor is Use Assigned then this has the user assigned value, minor axis
GetAssignedMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);
Purpose Returns the sidesway assignment : use global, braced or unbraced. See
GetMemberSidesway if you are only interested what the final ‘calculated’
braced/unbraced(sway) flag is.
Parameters lMemberID The column ID to get the sidesway setting for
peMajor Major axis sidesway value (Use global/Braced/unbraced)
peMinor Minor axis sidesway value (Use global /Braced/unbraced)
Note: braced = nonsway unbraced = sway

GetBeamLineNo ([in] long lBeamID, [out] long * plBeamLineNo);


Purpose Get beam line number that the concrete beam is assigned to. If member is not a
concrete beam an error is returned.
Parameters lBeamID Beam’s Unique ID
plBeamLineNo Beam line number assigned to member, 0 indicates no assignment

GetColumnDimensions ([in] long lMemberID, [out] double *pdWidth, [out] double *pdDepth);
Purpose Get concrete column section dimensions.
Parameters lMemberID Column’s Unique ID
pdWidth Column width / minor direction length (B)
pdDepth Column depth / major direction length (H)

GetColumnHeight ([in] long lMemberID, [out] double* pdHeight);


Purpose Get the column height.
Parameters lMemberID Column’s Unique ID
pdHeight Column height

GetConcBeamCCBBotBars ([in] long lBeamID, [out] E_COVER_OPTION* peUseDefBotBars, [out] double* pdBotBars1, [out] double*
pdBotBars2);
Purpose Get whether the beam should use the global criteria for cover to center of bars for bottom
bars, or whether to use User defined data for this beam.
Parameters lBeamID The unique member ID
peUseDefBotBars 0 = use global criteria, 1 = use user defined values below
pdBotBars1 Assigned longitudinal bottom reinforcement cover to bar center for 1
layer (if user defined)
pdBotBars2 Assigned longitudinal bottom reinforcement cover to bar center for 2
layer (if user defined)

GetConcBeamCCBTopBars ([in] long lBeamID, [out] E_COVER_OPTION* peUseDefTopBars, [out] double* pdTopBars1, [out] double*
pdTopBars2);
Purpose Get whether the beam should use the global criteria for cover to center of bars for top
bars, or whether to use User defined data for this beam.
Parameters lBeamID The unique member ID
peUseDefTopBars 0 = use global criteria, 1 = use user defined values below
pdTopBars1 Assigned longitudinal top reinforcement cover to bar center for 1
layer (if user defined)
pdTopBars2 Assigned longitudinal top reinforcement cover to bar center for 2
layer (if user defined)

GetConcBeamDesignAsBeam ([in] long lBeamID, [out] long* plDsnAsBeam);


Purpose Get beam design assignment as beam or joist.
Parameters lBeamID Beam’s Unique ID
plDsnAsBeam Convert to BOOL True = design as beam, False = design as joist

GetConcBeamMaxBarLayers ([in] long lBeamID, [out] E_BARLAYERS_OPTION* peBarLayers);


Purpose Get whether the beam should use the global bar layer criteria or whether to use User
defined data for this beam.
Parameters lBeamID The unique member ID
peBarLayers 0 = use default from criteria, 1 = 1 Layer only, 2 = allow 2 layers

GetConcBeamShearLegs ([in] long lBeamID, [out] E_SHEARLEGS_OPTION* peUserDefault, [out] long* plNumShearLegs);
Purpose Get whether to use the global stirrup legs criteria or whether to use a user defined value.
Parameters lBeamID The unique member ID
peUserDefault 0 = use global criteria, 1 = use user defined value below
plNumShearLegs Number of stirrup legs assigned to beam

GetConcBeamStirrupType ([in] long lBeamID, [out] E_STIRRUPS_OPTION* peStirrupType);


Purpose Get whether to use the global stirrup type criteria or whether to use a user defined value.
Parameters lBeamID The unique member ID
0 = use global criteria, 1 = use open stirrups, 2 = use closed
peStirrupType stirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups

GetConcColBarGroups ([in] long lMemberID, [out] long* plGroup1, [out] long* plGroup2, [out] long* plGroup3, [out] long* plGroup4, [out] long*
plGroup5);
For the given member, get the indices into the array of bar pattern groups of the
Purpose assigned bar patterns.
Parameters lMemberID Unique member id
plGroup1 Index #1
plGroup2 Index #2
plGroup3 Index #3
plGroup4 Index #4
plGroup5 Index #5

GetConcColShearLegs ([in] long lMemberID, [out] long* plNumMajor, [out] long* plNumMinor, [out] long* plUseGlobalMajor, [out] long*
plUseGlobalMinor);
Purpose To get the number of shear legs assigned to a given column along each axis.
Parameters lMemberID Unique member id
plNumMajor If the user selected to “use” this is the user designated number of
shear legs along the major axis.
plNumMinor If the user selected to “use” this is the user designated number of
shear legs along the minor axis.
plUseGlobalMajor 0 = use the global setting, 1 = use the user value
plUseGlobalMinor 0 = use the global setting, 1 = use the user value

GetConcreteBeamSectionDimProps ([in] long lBeamID, [out] ECONC_OTHER_SEC* peShape, [out] double* pdWebDepth, [out] double*
pdWebWidthT, [out] double* pdWebWidthB, [out] double* pdFLWidthL, [out] double* pdFLWidthR, [out] double* pdFLthickL, [out] double*
pdFLthickR, [out] long* pbLeftIsEdge, [out] long* pbRightIsEdge, [out] long * pbUserSpecified);
Purpose Concrete beam section dimension properties.
Parameters lBeamID Beam’s Unique ID
peShape Concrete section type ECONC_OTHER_SEC
pdWebDepth Distance from bottom of section to bottom of slab adjacent to beam.
If slab thickness is different each side of beam then the distance
from bottom of section to the bottom of the thickest slab is provided
pdWebWidthT Web width at top of web
pdWebWidthB Web width at bottom of web
pdFLWidthL Left flange width from center of span
pdFLWidthR Right flange width from center of span
pdFLthickL Left flange thickness
pdFLthickR Right flange thickness
True (1) = left side is an edge of slab, False (0) = left side is not an
pbLeftIsEdge edge
True (1) = right side is an edge of slab, False (0) = right side is not
pbRightIsEdge an edge
pbUserSpecified True if the user specified the design properties directly. False if user
wants RAM SS to calculate the design properties
Comments Note: Total section depth is pdWebDepth + maximum thickness between pdFLthickL and
pdFLthickR

GetConcreteColumnSectionDimProps ([in] long lColumnID, [out] ECONC_OTHER_SEC* peShape, [out] double* pdDepthDiam, [out] double*
pdWebWidthT, [out] double* pdWebWidthB, [out] double* pdArea );
Purpose Get concrete column section dimension properties.
Parameters lColumnID Column’s Unique ID
peShape Concrete section type ECONC_OTHER_SEC
pdDepthDiam Full depth of column if rectangle, diameter of column if circular
pdWebWidthT Section Width / minor dimension
pdWebWidthB (Same number for top and bottom)
pdArea Section area

GetConcreteMemberMatlProps ([in] long IMemberID, [out] double * pdfpc, [out] double * pdfct, [out] double * pdE, [out] BSTR * pbstrAggType,
[out] double * pdLongFy, [out] double * pdShearFy, [out] double * pdPoissonsRatio, [out] double * pdMatDensity, [out] double *
pdSelfWeight);
Purpose Get concrete material property for member. An error is returned if the member is not
concrete.
Parameters IMemberID Member’s Unique ID
pdfpc Concrete Compression stress capacity
pdfct Concrete crack section stress capacity f ct. Value is 0 if Normal
weight concrete is used or if user does not choose to enter a value
pdE Concrete modulus of elasticity Ec. If the value is -1 then the user
has selected for Ec to be calculated automatically and it must be
calculated based on the concrete code being used
pbstrAggType Concrete Aggregate type NWC = normal weight concrete, LWC =
light weight concrete
pdLongFy Longitudinal reinforcement stress capacity fy
pdShearFy Transverse reinforcement stress capacity fy
pdPoissonsRatio Poisson’s ratio
pdMatDensity Concrete material density
pdSelfWeight Concrete self weight used for self weight calculations

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetDisplaySize (long lMemberID, BSTR *pbstrDisplaySize);


Purpose Get concrete beam section size when member is generated using pan joists.
Parameters lMemberID Beam’s Unique ID
pbstrDisplaySize Concrete beam section label
Comments This is used when the section name is built out of different size pans on either side of
beam

GetFootingSectionDimProps ( [in] long IFootID, [out] double* pdThickness, [out] double* pdCrackSectFactor );
Purpose Get concrete material property for member. An error is returned if the member is not
concrete.
Parameters IFootID Footing unique ID
pdThickness Thickness
pdCrackSectFactor Concrete cracked section factor

GetGridLabelForMember ([in] long IMemberID, [in] EDA_MEMBER_LOC eAtLoc, [in] double dDBToModelUnitConvert, [in] BSTR bstrUnit, [out]
BSTR* pbstrGridLabel);
Purpose Get the grid location for the member. If there are no grids at the location the global
coordinates are returned.
Parameters IMemberID Member’s Unique ID
eAtLoc Location of member - eStart = 1, eEnd = 2, eTop = 10,
eBottom = 20
dDBToModelUnitConvert Unit conversion from inches (database units) to the required
units. If units need to be in ft the value would be 0.08333
bstrUnit String of unit label for final value. If the final units need to be
in feet use “ft”
pbstrGridLabel Grid location returned as string

GetIEndBeamID ( [in] long lBeamID, [out] long* plIEndBeamID);


Purpose Get the beam line number of the beam adjacent to the start of beam represented by
lBeamID.
Parameters lBeamID Unique Beam ID
plIEndBeamID Beam ID at start of lBeamID

GetInterfacePointer();
Purpose Internal use only.

GetJEndBeamID ( [in] long lBeamID, [out] long* plJEndBeamID);


Purpose Get the beam line number of the beam adjacent to the end of the beam represented by
lBeamID.
Parameters lBeamID Beam’s Unique ID
plJEndBeamID Beam ID at end of lBeamID

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetMemberEndReleases ([in] long lMemberID, [out] long * plMajorMomFixedI, [out] long * plMinorMomFixedI, [out] long * plTorFixedI, [out] long *
plMajorMomFixedJ, [out] long * plMinorMomFixedJ, [out] long * plTorFixedJ);
Purpose For lateral members get the section end release properties.
Note: End I of column = top, End I of beam is left, bottom (when looking at beam in plan),
End I of brace is top.
Parameters lMemberID The unique member ID
plMajorMomFixedI True (1) if fixed for bending about major axis end I
plMinorMomFixedI True (1) if fixed for bending about minor axis end I
plTorFixedI True (1) if fixed for bending about torsion axis end I
plMajorMomFixedJ True (1) if fixed for bending about major axis end J
plMinorMomFixedJ True (1) if fixed for bending about minor axis end J
plTorFixedJ True (1) if fixed for bending about torsion axis end J
Note: Returns error if member is gravity member

GetMemberFrameNumber ([in] long lMemberID, [out] long* plFrameNum);


Purpose Get frame number for given member.
Parameters lMemberID Member unique ID
plFrameNum Frame number that the member belongs to. A number < 0 indicates
a gravity member.

GetMemberFraming ([in] long lMemberID, [out] EFRAMETYPE* eMemberFraming);


Purpose Get the flag that indicates whether a member is gravity or lateral.
Parameters lMemberID Unique member id
eMemberFraming Flag that indicates gravity or lateral

GetMemberLabel ([in] long lUniqueID, [out] long* plLabel);


Purpose To get a specific member’s screen label (also known as the “member number”).
Parameters lUniqueID Unique id of a member
plLabel The members “member number”

GetMemberMatlLatType ([in] long IMemberID, [out] EMATERIALTYPES * peMat, [out] EFRAMETYPE * peFrameType);
Purpose Get member material type and frame type.
Parameters lMemberID Member unique ID
peMat Material type
peFrameType Frame number that the member belongs to. A number < 0 indicates
a gravity member.

GetMemberRigidEndZones ([in] long lMemberID, [out] double * pdREZMajorI, [out] double * pdREZMinorI, [out] double * pdREZMajorJ, [out]
double * pdREZMinorJ);
Purpose Get a member’s rigid end zone length (full length) due to members that frame in at its
ends. Applies to beams and columns only. All calls to this function should be preceded
with one call to CalcRigidEndZones(). It is only necessary to call CalcRigidEndZones()
once. Gravity concrete beams (with beam lines) are assumed continuous. Gravity
concrete columns are assumed continuous.
Parameters lMemberID The unique member ID
pdREZMajorI The rigid end zone length at end I in major axis (0 if pinned)
pdREZMinorI The rigid end zone length at end I in minor axis (0 if pinned)
pdREZMajorJ The rigid end zone length at end J in major axis (0 if pinned)
pdREZMinorJ The rigid end zone length at end J in minor axis (0 if pinned)

GetMemberSectionPropInfo ([in] long IMemberID, [out] double* pdIMajGross, [out] double* pdIMinGross, [out] double* pdArea, [out] double*
pdAvMaj, [out] double* pdAvMin, [out] double* pdJ, [out] double* pdCrackSectFactor );
Purpose Member analytical section properties.
Parameters IMemberID Member’s Unique ID
pdIMajGross Major axis bending moment of inertia
pdIMinGross Minor axis bending moment of inertia
pdArea Section area
pdAvMaj Effective shear area for shear in major axis
pdAvMin Effective shear area for shear in major axis
pdJ Torsional constant of the section
pdCrackSectFactor Cracked section factor used to reduce moment of inertia values
Comments This method can be called for all steel sections and for Rectangular and Circular
sections. It can be called for concrete T sections where the flange thickness and
overhangs on either side of the web are explicitly defined. For all other T sections the use
should call GetConcreteBeamSectionDimProps and then adjust the flange widths based
on the applicable concrete code effective width calculation then use the section
dimensions to calculate the analytical section properties.

GetMemberSectionPropInfo2 ( [in] long IMemberID, [out] double* pdIMajGross, [out] double* pdIMinGross, [out] double* pdArea, [out] double*
pdAvMaj, [out] double* pdAvMin, [out] double* pdJ, [out] double* pdCrackSectFlexureFactor, [out] double* pdCrackSectAxialFactor, [out]
double* pdCrackSectTorsionFactor );
Member analytical section
Purpose properties.
Parameters IMemberID Member’s Unique ID
pdIMajGross Major axis bending moment of inertia
pdIMinGross Minor axis bending moment of inertia
pdArea Section area
pdAvMaj Effective shear area for shear in major axis
pdAvMin Effective shear area for shear in major axis
pdJ Torsional constant of the section
pdCrackSectFlexureFactor Cracked section factor used to reduce flexural values
pdCrackSectAxialFactor Cracked section factor used to reduce axial values
pdCrackSectTorsionFactor Cracked section factor used to reduce torsional values
Comments This method can be called for all steel sections and for Rectangular and Circular sections. It can be
called for concrete T sections where the flange thickness and overhangs on either side of the web are
explicitly defined. For all other T sections the use should call GetConcreteBeamSectionDimProps and
then adjust the flange widths based on the applicable concrete code effective width calculation then
use the section dimensions to calculate the analytical section properties.

GetMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);
Purpose Returns either ItIsBraced or ItIsUnbraced. If “Use Global” was assigned to the member,
DataAccess determines if the global state is braced or unbraced.
Parameters lMemberID The member ID to get the sidesway setting for
peMajor Major axis sidesway value (Braced/unbraced)
peMinor Minor axis sidesway value (Braced/unbraced)
Note: braced = nonsway unbraced = sway

GetMemberSize ([in] long lMemberID, [out] BSTR* pbstrSize);


Purpose Get section label assigned to member.
Parameters lMemberID Member Unique ID
pbstrSize Section label

GetMemberType ([in] long lMemberID, [out] EUniqueMemberTypeID* peMemType);


Purpose Get member type as beam, column, wall etc.
Parameters lMemberID Member unique ID
peMemType Member type as column, beam, wall etc.

GetOtherMemberMatlProps ([in] long IMemberID, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double* pdMatDensity, [out] double*
pdSelfWeight);
Purpose Get other member material properties.
Parameters IMemberID Member’s Unique ID
pdE Steel modulus of elasticity
pdPoissonsRatio Poisson’s ratio
pdMatDensity Material density
pdSelfWeight Weight used for self weight calculations

GetSmartbeamType ([in] long lMemberID, [out] ESMARTBEAMTYPE* peSmartType, [out] BSTR* pbstrSize);
Purpose To get the size and type of a specific smart beam.
Parameters lMemberID Unique member id
peSmartType 0 = castilated, 1 = cellular
pbstrSize Size as a string

GetSteelMemberMatlProps ([in] long IMemberID, [out] double* pdFy, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double * pdDensity,
[out] long* plComposite);
Purpose Get steel member material properties.
Parameters IMemberID Member’s Unique ID
pdFy Steel stress capacity
pdE Steel modulus of elasticity
pdPoissonsRatio Poisson’s ratio
pdDensity Steel material density
plComposite True (1) = member is a steel composite beam.

GetSteelMemberSectionDimProps ([in] long IMemberID, [out] ESTEEL_SEC* peShape, [out] BSTR * pbstrSize, [out] double* pdBfTop, [out]
double* pdBFBot, [out] double* pdTfTop, [out] double* pdTFBot, [out] double* pdkTop, [out] double* pdkBot, [out] double* pdDepth, [out]
double* pdWebT, [out] double* pdCw, [out] double* pdJ, [out] ESTEEL_ROLLED_FLAG * peRolledFlag, [out] double* pdZx, [out] double*
pdZy, [out] double* pdSxtop, [out] double* pdSxbot, [out] double* pdSy, [out] double* pdImaj, [out] double* pdImin, [out] double* pdArea);
Purpose Steel section dimension properties from steel table.
Parameters IMemberID Member’s Unique ID
peShape Section shape
pstrSize Section label
pdBfTop Top Flange Width (breadth)
pdBFBot Bottom Flange Width (breadth)
pdTfTop Thickness of top flange
pdTFBot Thickness of bottom flange
pdkTop K dimension top of section (refer to AISC for defn)
pdkBot K dimension bottom of section (refer to AISC for defn)
pdDepth Total depth of the section
pdWebT Thickness of the web of the section
pdCw Warping torsion constant of section
pdJ Torsional modulus of section
peRolledFlag True if this is a rolled section
pdZx Plastic modulus major axis
pdZy Plastic modulus minor axis
pdSxtop Section Modulus Top
pdSxbot Section Modulus Bottom
pdSy Section Modulus Minor Axis
pdImaj Major axis moment of inertia
pdImin Minor axis moment of inertia
padArea Area of cross section

GetWallGroupNum ([in] long lStoryNum, [out] long *lNumberOfWallGroups);


Purpose Get total number of wall groups on story.
Parameters lStoryNum Story index number
lNumberOfWallGroups Total number of wall groups in story

IsColumnAHanger ([in] long lMemberID, [out] BOOL* pbHanger);


Purpose Get whether a column is a hanger or not.
Parameters lMemberID The unique member ID
pbHanger 1 if Hanger, 0 if standard column

IsItAnOffsetColumn ( [in] long lColID, [out] BOOL* pbOffsetCol );


Purpose Get whether a column is a hanger or not.
Parameters lColID The unique column ID
pbOffsetCol True if offset column

Reset ( );
Purpose Internal use only.

SetBeamLineNo ([in] long lBeamID, [in] long lBeamLineNo);


Purpose Set beam line number that the concrete beam is assigned to. If member is not a concrete
beam an error is returned.
Parameters lBeamID Beam’s Unique ID
lBeamLineNo Beam line number assigned to member, 0 indicates no assignment

SetConcBeamCCBBotBars ([in] long lBeamID, [in] E_COVER_OPTION p=eUseDefBotBars, [in] double dBotBars1, [in] double dBotBars2);
Purpose Set whether the beam should use the global criteria for cover to center of bars for bottom
bars, or whether to use User defined data for this beam.
Parameters lBeamID The unique member ID
eUseDefBotBars 0 = use global criteria, 1 = use user defined values below
dBotBars1 Assigned longitudinal bottom reinforcement cover to bar center for 1
layer (if user defined)
dBotBars2 Assigned longitudinal bottom reinforcement cover to bar center for 2
layer (if user defined)
SetConcBeamCCBTopBars ([in] long lBeamID, [in] E_COVER_OPTION eUseDefTopBars, [in] double dTopBars1, [in] double dTopBars2);
Purpose Set whether the beam should use the global criteria for cover to center of bars for top
bars, or whether to use User defined data for this beam.
Parameters lBeamID The unique member ID
eUseDefTopBars 0 = use global criteria, 1 = use user defined values below
dTopBars1 Assigned longitudinal top reinforcement cover to bar center for 1
layer (if user defined)
dTopBars2 Assigned longitudinal top reinforcement cover to bar center for 2
layer (if user defined)

SetConcBeamDesignAsBeam ([in] long lBeamID, [in] long lDsnAsBeam);


Purpose Set beam design assignment as beam or joist.
Parameters lBeamID Beam’s Unique ID
lDsnAsBeam Convert to BOOL True = design as beam, False = design as joist

SetConcBeamMaxBarLayers ([in] long lBeamID, [in] E_BARLAYERS_OPTION eBarLayers);


Purpose Set whether the beam should use the global bar layer criteria or whether to use User
defined data for this beam.
Parameters lBeamID The unique member ID
eBarLayers 0 = use default from criteria, 1 = 1 Layer only, 2 = allow 2 layers

SetConcBeamShearLegs ([in] long lBeamID, [in] E_SHEARLEGS_OPTION eUserDefault, [in] long lNumShearLegs);
Purpose Set whether to use the global stirrup legs criteria or whether to use a user defined value.
Parameters lBeamID The unique member ID
eUserDefault 0 = use global criteria, 1 = use user defined value below
lNumShearLegs Number of stirrup legs assigned to beam

GetConcBeamStirrupType ([in] long lBeamID, [out] E_STIRRUPS_OPTION* peStirrupType);


Purpose Get whether to use the global stirrup type criteria or whether to use a user defined value.
Parameters lBeamID The unique member ID
0 = use global criteria, 1 = use open stirrups, 2 = use closed
peStirrupType stirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups

SetConcColBarGroups ([in] long lMemberID, [in] long lGroup1, [in] long lGroup2, [in] long lGroup3, [in] long lGroup4, [in] long lGroup5);
For the given member, set the indices into the array of bar pattern groups of the
Purpose assigned bar patterns.
Parameters lMemberID Unique member id
lGroup1 Index #1
lGroup2 Index #2
lGroup3 Index #3
lGroup4 Index #4
lGroup5 Index #5
SetConcColShearLegs ([in] long lMemberID, [in] long lNumMajor, [in] long lNumMinor, [in] long lUseGlobalMajor, [in] long lUseGlobalMinor);
Purpose To set the number of shear legs assigned to a given column along each axis.
Parameters lMemberID Unique member id
lNumMajor If the user selected to “use” this is the user designated number of
shear legs along the major axis.
lNumMinor If the user selected to “use” this is the user designated number of
shear legs along the minor axis.
lUseGlobalMajor 0 = use the global setting, 1 = use the user value
lUseGlobalMinor 0 = use the global setting, 1 = use the user value

SetConcreteMemberMatlProps ([in] long IMemberID, [in] double dfpc, [in] double dfct, [in] double dE, [in] BSTR bstrAggType, [in] double
dLongFy, [in] double dShearFy, [in] double dPoissonsRatio, [in] double dMatDensity, [in] double dSelfWeight);
Purpose Set concrete material property for member. An error is returned if the member is not
concrete.
Parameters IMemberID Member’s Unique ID
dfpc Concrete Compression stress capacity
dfct Concrete crack section stress capacity f ct. Value is 0 if Normal
weight concrete is used or if user does not choose to enter a value
dE Concrete modulus of elasticity Ec. If the value is -1 then the user
has selected for Ec to be calculated automatically and it must be
calculated based on the concrete code being used
bstrAggType Concrete Aggregate type NWC = normal weight concrete, LWC =
light weight concrete
dLongFy Longitudinal reinforcement stress capacity fy
dShearFy Transverse reinforcement stress capacity fy
dPoissonsRatio Poisson’s ratio
dMatDensity Concrete material density
dSelfWeight Concrete self weight used for self weight calculations

SetIEndBeamID ( [in] long lBeamID, [out] long* plIEndBeamID);


Purpose Internal use only.

SetJEndBeamID ( [in] long lBeamID, [out] long* plJEndBeamID);


Purpose Internal use only.

SetMemberKFactor ([in] long lMemberID, [in] EKFAC_ASSIGN eMajor, [in] EKFAC_ASSIGN eMinor, [in] double dMajorValue, [in] double
dMinorValue );
Purpose Set the member K factor.
Parameters lMemberID The member ID to get the sidesway setting for
eMajor Major axis K factor type
eMinor Minor axis K factor typ
dMajorValue Major axis K factor
dMinorValue Minor axis K factor
SetMemberSidesway ([in] long lMemberID, [in] ESIDESWAY_ASSIGN eMajor, [in] ESIDESWAY_ASSIGN eMinor);
Purpose Sets either ItIsBraced or ItIsUnbraced. If “Use Global” was assigned to the member,
DataAccess determines if the global state is braced or unbraced.
Parameters lMemberID The member ID to get the sidesway setting for
eMajor Major axis sidesway value (Braced/unbraced)
eMinor Minor axis sidesway value (Braced/unbraced)
Note: braced = nonsway unbraced = sway

SetMemberSize ([in] long lMemberID, [in] BSTR bstrSize);


Purpose Set section label assigned to member.
Parameters lMemberID Member Unique ID
bstrSize Section label

IMemberData2

Philosophy: (see MemberData1 above)

GetBraceDoubleAngleInfo([in] long lBraceID, [in,out] BOOL* pbIsDoubleAngle ,


[in,out] BOOL* pbLongLegsBack2Back, [in,out] double* pdBackSpacing,
[out, retval] long* plRetVal)
Purpose Get double angle info for brace sections.
Parameters lBraceID Brace ID
pblsDoubleAngle TRUE = section is a double angle. If FALSE then ignore
remaining values
pbLongLegsBack2Back TRUE = long legs are back to back
bdBackSpacing Spacing between double angle backs
plRetVal Error code.
-1 = unspecified error, -2 = Section not a double angle
If value is non zero then check GetLastError

GetConcBeamCBC ( [in] long lBeamID, [out] E_COVER_OPTION* peCBCOption, [out] double* pdCBCTop, [out] double* pdCBCBot, [out]
double* pdCBCSide, [out, retval] long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
peCBCOption Cover option
pdCBCTop Top cover
pdCBCBot Bottom cover
pdCBCSide Side cover
plRetVal Error code. If value is non zero then check GetLastError.
GetConcGapData ( [in] long lBeamID, [out] E_GAP_OPTION* peGapOption, [out] double* pdGapUpper, [out] double* pdGapLower, [out, retval]
long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
peGapOption Gap option
pdGapUpper Upper gap
pdGapLower Lower gap
plRetVal Error code. If value is non zero then check GetLastError.

GetConcBeamLinkSpacing ( [in] long lBeamID, [out] E_LINKSPC_OPTION* peLinkSpacingOption, [out] double* pdLinkSpacing, [out, retval]
long* plRetVal );
Purpose Get the concrete beam link spacing for the Chinese design code.
Parameters lBeamID The unique beam ID
peLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION.
pdLinkSpacing Link spacing
plRetVal Error code. If value is non zero then check GetLastError.

GetConcBeamLinkSpacingChinese ([in] long lBeamID, [out] E_LINKSPC_OPTION* peLinkSpacingOption, [out] double* pdLinkSpacing, [out]
double* pdLinkSpacingMin, [out, retval] long* plRetVal);
Purpose Get the concrete beam link spacing for the Chinese design code.
Parameters lBeamID The unique beam ID
peLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION.
pdLinkSpacing Link spacing
pdLinkSpacingMin Minimum link spacing
plRetVal Error code. If value is non zero then check GetLastError.

GetConcBeamMainBarSize ( [in] long lBeamID, [out] E_BARSIZE_OPTION* eMainBarSizeOption, [out] long* plMinMainBarSizeInd, [out] long*
plMaxMainBarSizeInd, [out, retval] long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code. .
Parameters lBeamID The unique beam ID
eMainBarSizeOption Bar size option. See E_BARSIZE_OPTION.
plMinMainBarSizeInd Index to the minimum bar size
plMaxMainBarSizeInd Index to the maximum bar size
plRetVal Error code. If value is non zero then check GetLastError.

GetConcBeamMainBarSizeChinese ([in] long lBeamID, [out] E_BARSIZE_OPTION* eShearBarSizeOption, [out] long* pldwSelectedBarSizes,
[out, retval] long* plRetVal);
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION.
pldwSelectedBarSizes Selected bar sizes.
plRetVal Error code. If value is non zero then check GetLastError.
GetConcBeamShearBarSize ( [in] long lBeamID, [out] E_BARSIZE_OPTION* eShearBarSizeOption, [out] long* plMinMainBarSizeInd, [out,
retval] long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION.
plMinMainBarSizeInd Index to the bar size
plRetVal Error code. If value is non zero then check GetLastError.

GetDeflectionCriteria ([in] long lBeamID, [out] long *plDeflCritIID);


Purpose Determine the deflection criteria assigned to a beam.
Parameters lBeamID The unique beam ID
plDeflCritID Prior to version 14 this returned 0 for the default deflection criteria
or 1 for the alternate deflection criteria. After v14, it returns the
unique ID of the deflection criteria since multiple alternate deflection
criteria can exist.

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetNumPenetratedBeams([in, out] long* plNumBeamIDs, [out, retval] long* plRetVal)


Purpose Returns the number of penetrated beams.
Parameters plNumBeamIDs The number of beams with pentrations
plRetVal Error code. If value is non zero then check GetLastError

GetNumPensForBeamID([in] long lBeamID, [in, out] long* plNumPenetrations, [out, retval] long* plRetVal)
Purpose Get the number of penetrations in a given beam.
Parameters lBeamID unique beam ID
plNumPenetrations Number of penetrations in that beam.
plRetVal Error code. If value is non zero then check GetLastError

GetPenetratedBeamsIDArray([in] long lArraySize, [in, out] long* palBeamIDs, [out,retval] long* plRetVal)
Purpose Get an array ids for the beams that have penetrations.
Parameters lArraySize Size of array to be retrieved. (This value is retrieved from the
GetNumPenetratedBeams method above).
palBeamIDs Pointer to an array longs that will contain the beam ID’s of beams
containing penetrations. Memory must be allocated before the
pointer is sent into DataAccess
plRetVal Error code. If value is non zero then check GetLastError

GetPenetrationInfo ([in] long lBeamID, [in] long lPenID, [out] double* pdDistFromIEnd, [out] double* pdDistFromTop, [out] long* plType, [out]
double* pdHDiam, [out] double* pdB, [out] long* plNumStiffeners, [out] double *pdLength, [out] double *pdWidth, [out] double *pdThick);
Purpose Get data associated with a specific web penetration on a specific beam.
Parameters lBeamID The unique member ID
lPenID ID of web penetration on beam
pdDistFromIEnd Distance of web pen from i-end of beam
pdDistFromTop Distance of web pen from top of beam, or 0.0 if centered
plType Shape of opening: Rectangular (0) or Circular (1)
pdHDiam Height of rectangular or diameter of circular opening
pdB Width of rectangular opening (or diameter or circular opening)
plNumStiffeners 0, 1, or 2 stiffeners
pdLength Length of stiffeners
pdWidth Width of stiffeners
pdThick Thickness of stiffeners

GetPenetrationsIDArray([in] long lBeamID, [in] long lArraySize, [in, out] long* palPenIDs, [out,retval] long* plRetVal);
Purpose Get an array of penetration ids in a given beam.
Parameters lBeamID unique beam ID
lArraySize Size of array to be retrieved. (This value is retrieved from the
GetNumPensForBeamID method above).
palPenIDs Pointer to an array of longs that will contain penetration ids.
Memory must be allocated before the pointer is sent into
DataAccess
plRetVal Error code. If value is non zero then check GetLastError

GetTensionCompressionType ([in] long lMemberID, [in, out] ETensionCompressionMemType* peTensionCompressionType, [out, retval] long*
plRetVal)
Purpose Find if this member has been designated as Tension-Only.
Parameters lMemberID unique member ID
peTensionCompressionType Defines type as tension only/ compression only or both
plRetVal Error code. If value is non zero then check GetLastError
Comments Although any member ID may be passed in, only braces and beams can be designated
Tension-Only at this time. All other member types will automatically have FALSE returned

Reset ( );
Purpose Internal use only.
SetBeamCamber ( );
Purpose Internal use only

SetConcGapData ( [in] long lBeamID, [in] E_GAP_OPTION eGapOption, [in] double dGapUpper, [in] double dGapLower, [out, retval] long*
plRetVal );
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
eGapOption Gap option
dGapUpper Upper gap
dGapLower Lower gap
plRetVal Error code. If value is non zero then check GetLastError.

SetConcBeamLinkSpacing ( [in] long lBeamID, [in] E_LINKSPC_OPTION eLinkSpacingOption, [in] double dLinkSpacing, [out, retval] long*
plRetVal );
Purpose Set the concrete beam link spacing for the Chinese design code.
Parameters lBeamID The unique beam ID
eLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION.
dLinkSpacing Link spacing
plRetVal Error code. If value is non zero then check GetLastError.

SetConcBeamLinkSpacingChinese ([in] long lBeamID, [in] E_LINKSPC_OPTION eLinkSpacingOption, [in] double dLinkSpacing, [in] double
dLinkSpacingMin, [out, retval] long* plRetVal);
Purpose Set the concrete beam link spacing for the Chinese design code.
Parameters lBeamID The unique beam ID
eLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION.
dLinkSpacing Link spacing
dLinkSpacingMin Minimum link spacing
plRetVal Error code. If value is non zero then check GetLastError.

SetConcBeamMainBarSize ( [in] long lBeamID, [in] E_BARSIZE_OPTION eMainBarSizeOption, [in] long lMinMainBarSizeInd, [in] long
lMaxMainBarSizeInd, [out, retval] long* plRetVal );
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
eMainBarSizeOption Bar size option. See E_BARSIZE_OPTION.
lMinMainBarSizeInd Index to the minimum bar size
lMaxMainBarSizeInd Index to the maximum bar size
plRetVal Error code. If value is non zero then check GetLastError.

SetConcBeamMainBarSizeChinese ([in] long lBeamID, [in] E_BARSIZE_OPTION eShearBarSizeOption, [in] long pldwSelectedBarSizes, [out,
retval] long* plRetVal);
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code.
Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION.
pldwSelectedBarSizes Selected bar sizes.
plRetVal Error code. If value is non zero then check GetLastError.

SetConcBeamShearBarSize ( [in] long lBeamID, [in] E_BARSIZE_OPTION eShearBarSizeOption, [in] long lMinMainBarSizeInd, [out, retval]
long* plRetVal );
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code. .
Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION.
lMinMainBarSizeInd Index to the bar size
plRetVal Error code. If value is non zero then check GetLastError.

SetDeflectionCriteria ([in] long lBeamID, [in] long lDeflCritID);


Purpose Set the deflection criteria for the concrete beam.
Parameters lBeamID The unique beam ID
lDeflCritID The unique ID of the deflection criteria assigned to the beam

SetMemberEndReleases ( [in] long lMemberID, [in] long lMajorMomFixedI, [in] long lMinormOmeFixedI, [in] long lTorFixedI, [in] long
lMajorMomFixedJ, [in] long lMinormOmeFixedJ, [in] long lTorFixedJ, [out, retval] long* plRetVal );
Purpose Set the deflection criteria for the concrete beam.
Parameters lMemberID The unique member ID
lMajorMomFixedI I end major moment (1 = fixed, 0 = released)
lMinorMomFixedI I end minor moment (1 = fixed, 0 = released)
lTorFixedI I end torsion (1 = fixed, 0 = released)
lMajorMomFixedJ J end major moment (1 = fixed, 0 = released)
lMinorMomFixedJ J end minor moment (1 = fixed, 0 = released)
lTorFixedJ J end torsion (1 = fixed, 0 = released)
plRetVal Error code. If value is non zero then check GetLastError.

IModelData1

Philosophy: This interface is for accessing and setting model specific information. This includes model name and paths, tables or information
about tables, units, live load reduction and other general model data.

GetBuildingCodeAsString (BSTR *pbstrCode);


Purpose Gets the LL Reduction code selected in the RAM Manager.
Parameters pbstrCode String representation of the selected code

GetCompanyName([out] BSTR* pbstrCompanyName);


Purpose Returns the company name entered in the Defaults Utility and associated with this model.
Parameters pbstrCompanyName The Company Name
GetConcAnalysisState ( [out] long* plAnalysisState );
Purpose Returns the concrete analysis state of the model.
Parameters plAnalysisState Concrete analysis state

GetConcBeamSectionTable ([out] long* pnNum, [out] SSECTIONS** ppaSections);


Purpose Get the definitions of all the concrete beam sections defined in model.
Parameters pnNum Total number of concrete beam sections defined in model
ppaSections List of concrete beam section definitions.
Comments In general, one should use IMemberData1::GetConcreteBeamSectionDimProps and
IMemberData1::GetMemberSectionPropInfo to get section information because these
methods provide all the required information.

GetConcColSectionTable ([out] long* pnNum, [out] SSECTIONS** ppaSections);


Purpose Get the definitions of all the concrete column sections defined in model.
Parameters pnNum Total number of concrete column sections defined in model
ppaSections List of concrete column section definitions.
Comments In general, one should use IMemberData1::GetConcreteColumnSectionDimProps and
IMemberData1::GetMemberSectionPropInfo to get section information because these
methods provide all the required information.

GetConcreteBeamState ( [out] long* plBeamState );


Purpose Returns the concrete beam state of the model.
Parameters plBeamState Concrete beam state

GetConcreteCodeAsString ([out] BSTR* pbstrConcCode);


Purpose To find out what concrete code is being used.
Parameters pbstrConcCode String representation of the selected concrete code

GetConcreteColumnState ( [out] long* plColumnState );


Purpose Returns the concrete column state of the model.
Parameters plColumnState Concrete column state

GetDirectoryPathsFromINI ([out] BSTR* pbstrTables, [out] BSTR* pbstrData, [out] BSTR* pbstrDXF, [out] BSTR* pbstrReports, [out] BSTR*
pbstrError, [out] BSTR* pbstrProg);
Purpose Get all of the paths from the ini file.
Parameters pbstrTables Path to the tables directory
pbstrData Path to the data directory
pbstrDXF Path to the dxf directory
pbstrReports Path to the reports directory
pbstrError Path to the error directory
pbstrProg Path to the prog directory

GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetFrameType ();
Purpose Internal use only.

GetINIFileName ([out] BSTR* pbstrIniFileName);


Purpose Gets the name of the ini file.
Parameters pbstrIniFileName Ini file name

GetInterfacePointer();
Purpose Internal use only.

GetJobName([out] BSTR* pbstrJobName);


Purpose Returns the job name entered when the model was created.
Parameters pbstrJobName The Job Name

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLiveLoadReductionInfo ([out] BSTR* pbstrLLCode, [out] long* plOptions, [out] long* plRoofReducible);
Purpose Get the information set in the LL Reduction dialog in the RAM Manager.
Parameters pbstrLLCode Single character representation of the LL Reduction code
plOptions For IBC and UBC, radio button setting for the code options.
plRoofReducible 1 indicates that the roof load is reducible
0 indicates that the roof load is snow.

GetMDFDrawingColor ([in] EDRAWINGCOLOR eColor, [out] DWORD* pdwColor);


Purpose Gets the drawing color for the specified member type (specified by EDRAWINGCOLOR).
Parameters eColor Enum of member type.
pdwColor RGB(red,green,blue) value for color

GetModelNameWithOutPath ([out] BSTR* pbstrModelName);


Purpose Internal use only.

GetModelNameWithPath ([out] BSTR* pbstrModelName);


Purpose Internal use only.
GetNumConcColSections ([out] long* pnNum);
Purpose Gets the number of concrete column sections defined in the model.
Parameters pnNum Number of sections

GetNumInRebarTable ([out] long* pnNum);


Purpose To retrieve the number of bars in the reinforcement table.
Parameters pnNum Number of bars in the table

GetPathToCurrentModel ([out] BSTR* pbstrPath);


Purpose Internal use only.

GetPathToDataDirectory ([out] BSTR* pbstrDir);


Purpose Gets the path to the data directory from the ini file.
Parameters pbstrDir Path to the data directory

GetPathToDXFDirectory ([out] BSTR* pbstrDir);


Purpose Gets the path to the dxf directory from the ini file.
Parameters pbstrDir Path to the dxf directory

GetPathToErrorDirectory ([out] BSTR* pbstrDir);


Purpose Gets the path to the error directory from the ini file.
Parameters pbstrDir Path to the error directory

GetPathToProgDirectory ([out] BSTR* pbstrDir);


Purpose Gets the path to the prog directory from the ini file.
Parameters pbstrDir Path to the prog directory

GetPathToReportsDirectory ([out] BSTR* pbstrDir);


Purpose Gets the path to the reports directory from the ini file.
Parameters pbstrDir Path to the reports directory

GetPathToTableDirectory ([out] BSTR* pbstrDir);


Purpose To obtain the path to the directory where tables are stored.
Parameters pbstrDir Directory path (as a string)

GetRebarTable_ConcBeam([out] long* pnNum, [out] SREIN_PROP** ppaReinProp);


Purpose To get the concrete beam reinforcement information and identify which bars are used in
the concrete beam program.
Parameters pnNum Number of items in the ReinProp array.
ppaReinProp The ReinProp array.
Comments In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by
the beam program. TRUE means the program is considering that size.
GetRebarTable_ConcCol([out] long* pnNum, [out] SREIN_PROP** ppaReinProp);
Purpose To get the concrete column reinforcement information and identify which bars are used by
the concrete column program.
Parameters pnNum Number of items in the ReinProp array.
ppaReinProp The ReinProp array.
Comments In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by
the column program. TRUE means the program is considering that size.

GetReinforcementTableName([out] BSTR* pbstrReinTable);


Purpose To retrieve the reinforcement table name.
Parameters pbstrReinTable Reinforcement table name

GetReportDefaultColor ( [out] EWhichFontAndColor eWhich, [out] long plTitleColor );


Purpose To retrieve the reinforcement table name.
Parameters eWhich EWhichFontAndColor
plTitleColor Title color index

GetReportDefaultDestination ( [out] long plDestination );


Purpose To retrieve the report desitnation
Parameters plDestination 0 = Printer, 1 = Screen, 2 = Text File, 3 = Viewer
FIle

GetReportDefaultFont ( [out] EWhichFontAndColor eWhich, [out] long plfHeight, [out] long plfWidth, [out] long plfEscapement, [out] long
plfOrientation, [out] long plfWeight, [out] Byte pbyteItalic, [out] Byte pbyteUnderline, [out] Byte pbyteSrikeOut, [out] Byte pbyteCharSet,
[out] Byte pbyteOutPrecision, [out] Byte pbyteClipPrecision, [out] Byte pbyteQuality, [out] Byte pbyte PitchAndFamily, [out] BSRT
pbstrFontName );
Purpose To retrieve the report default font.
Parameters eWhich EWhichFontAndColor
plfHeight Height
plfWidth Width
plfEscapement Escapement
plfOrientation Orientation
plfWeight Weight
pbyteItallic Itallic
pbyteUnderline Underlin
pbyteSrikeOut Strike out
pbyteCharSet Char Set
pbyteOutPrecison Out Precision
pbyteClipPrecision Clip Precision
pbyteQuality Quality
pbytePitchAndFamily Pitch and Family
pbstrFontName Font Name

GetReportDefaultMargins ( [out] double pdTopMar, [out] double pdBottomMar, [out] double pdLeftMar, [out] double pdRightMar );
Purpose To retrieve the report default margins.
Parameters pdTopMar Top margin
pdBottomMar Bottom margin
pdLeftMar Left margin
pdRightMar Right margin

GetReportDefaultPaperSize ( [out] double pdPageWidth, [out] double pdPageHeight, [out] long plPaperSize );
Purpose To retrieve the report default page size.
Parameters pdPageWidth Page Width
pdPageHeight Page Height
plPaperSize Paper Size Index

GetReportDefaultUseLogo ( [out] long plLogo );


Purpose To retrieve the report default page size.
Parameters plLogo 1 = Use logo, 0 = No logo

GetSelectedTables ([out] BSTR* pbstrMasterTable, [out] BSTR* pbstrDeckTable, [out] BSTR* pbstrColumnTable, [out] BSTR*
pbstrDefBeamTable, [out] BSTR* pbstrAltBeamTable, [out] BSTR* pbstrDefSmartTable, [out] BSTR* pbstrAltSmartTable, [out] BSTR*
pbstrPanFormTable, [out] BSTR* pbstrReinforcement Table);
Purpose Get the names of the selected tables.
Parameters pbstrMasterTable Master table name
pbstrDeckTable Deck table name
pbstrColumnTable Column table name
pbstrDefBeamTable Default Beam table name
pbstrAltBeamTable Alternate Beam table name
pbstrDefSmartTable Default Smartbeam table name
pbstrAltSmartTable Alternate Smartbeam table name
pbstrPanFormTable Pan Form table name
pbstrReinforcement Reinforcement table name

GetTimeDateStamp ([out] BSTR* pbstrTimeDateStamp);


Purpose Returns, as a string, the last time the model was modified.
Parameters pbstrTimeDateStamp String representation of the time date stamp
Comments This method can be used to check when the model data was changed.

GetUnits ([out] long* pnUnits);


Purpose Get the units currently used for entering and displaying values. Note that this is not the
same as the database units that are always the same. See Database Units above.
Parameters pnUnits Display and data entry units. 0 = English, 1 = SI, 2 = Metric
Comments Keep in mind that the units returned by this function relate to the units that the user will
be entering values and the units that data will be displayed in RAM SS.

Reset ();
Purpose Internal use only.
SetConcAnalysisState ();
Purpose Internal use only.

SetConcreteBeamState ();
Purpose Internal use only.

SetConcreteColumnState ();
Purpose Internal use only.

SetINIFileName ();
Purpose Internal use only.

SetMDFDrawingColor ();
Purpose Internal use only.

SetRebarTable_ConcBeam ();
Purpose Internal use only.

SetRebarTable_ConcCol ();
Purpose Internal use only.

SetTimeDateStamp ();
Purpose Internal use only.

IModelData2

Philosophy: (see ModelData1 above)

GetCanadaMatInfo ( [out] long* plRolledWCol,[out] long* plRolledWBeam,[out] long* plRolledWBrace, [out] long* plWWFCol,[out] long*
lWWFBeam,[out] long* plWWFBrace, [out] long* plHSSRectCol,[out] long* plHSSRectBeam,[out] long* plHSSRectBrace, [out] long*
plHSSRoundCol,[out] long* plHSSRoundBrace, [out] long* plChannelBeam,[out] long* plDoubleAngleBrace,[out] long* plClassHSS);
Purpose Get Canada steel material grade to be used for each member type (e.g. use W grade for
beams, WT for built up beams etc).
Parameters plRolledWCol Rolled W grade
plRolledWBeam Rolled W grade
plRolledWBrace Rolled W grade
plWWFCol Built up column grade
plWWFBeam Built up beam grade
plWWFBrace Built up brace grade
plHSSRectCol HSS Rect grade
plHSSRectBeam HSS Rect grade
plHSSRectBrace HSS Rect grade
plHSSRoundCol HSS Round grade
plHSSRoundBrace HSS Round grade
plChannelBeam Channel beam grade
plDoubleAngleBrace Double Angle grade
plClassHSS 0 = Class C, 1 = Class H : Refer to CISC for definition of
difference between Class C and H, Hollow Sections

GetCanadaMatInfo2 ( [out] long* plRolledWCol,[out] long* plRolledWBeam,[out] long* plRolledWBrace, [out] long* plWWFCol,[out] long*
lWWFBeam,[out] long* plWWFBrace, [out] long* plHSSRectCol,[out] long* plHSSRectBeam,[out] long* plHSSRectBrace, [out] long*
plHSSRoundCol,[out] long* plHSSRoundBrace, [out] long* plChannelCol, [out] long* plChannelBeam, [out] long* plChannelBrace, [out]
long* plDoubleAngleCol, [out] long* plDoubleAngleBrace, [out] long* plTeeCol, [out] long* plTeeBrace, [out] long* plRodBarCol, [out] long*
plRodBarBrace, [out] long* plClassHSS);
Purpose Get Canada steel material grade to be used for each member type (e.g. use W grade for
beams, WT for built up beams etc).
Parameters plRolledWCol Rolled W grade
plRolledWBeam Rolled W grade
plRolledWBrace Rolled W grade
plWWFCol Built up column grade
plWWFBeam Built up beam grade
plWWFBrace Built up brace grade
plHSSRectCol HSS Rect column grade
plHSSRectBeam HSS Rect beam grade
plHSSRectBrace HSS Rect brace grade
plHSSRoundCol HSS Round column grade
plHSSRoundBrace HSS Round brace grade
plChannelCol Channel column grade
plChannelBeam Channel beam grade
plChannelBrace Channel brace grade
plDoubleAngleCol Double Angle column grade
plDoubleAngleBrace Double Angle brace grade
plTeeCol Tee column grade
plTeeBrace Tee brace grade
plRodBarCol Round or Rectangular bar column grade
plRodBarBrace Round or Rectangular bar brace grade
plClassHSS 0 = Class C, 1 = Class H : Refer to CISC for definition of
difference between Class C and H, Hollow Sections

GetCodeSelection ([out] BSTR* pbstr);


Purpose Get Current Code Selection.
Parameters pbstr Code label

GetColBeamDsgnStatus ([out] long* plColDesStatus,[out] long* plBeamDesStatus);


Purpose Get the design status of the steel column and beam.
Parameters plColDesStatus Status of the steel column design
0 = Not designed, 1 = Valid design, 2 = invalid design
plBeamDesStatus Status of the steel beam design
0 = Not designed, 1 = Valid design, 2 = invalid design

GetConcSlabPropInfo ([in] long lConcSlabOrPropID, [in, out] SSlabProp* pSlabProp, [out,retval] long* plRetVal);
Purpose Get concrete slab properties.
Parameters lConcSlabOrPropID conc slab Prop ID or concrete slab polygon ID
pSlabProp conc slab Prop pointer
plRetVal Error code. If value is non zero then check GetLastError

GetDBandLatStatus ([in] long lConcSlabOrPropID, [in, out] SSlabProp* pSlabProp, [out,retval] long* plRetVal);
Purpose Get the database and lateral status.
Parameters plDB_Status Database status
plLatStatus Lateral status

GetDeckPropInfo ([in] long lDeckOrPropID, [in, out] SDeckProp* pDeckProp, [out,retval] long* plRetVal);
Purpose Get Composite Deck properties.
Parameters lDeckOrPropID Deck Prop ID
pDeckProp Deck Prop pointer

GetDefaultColBeamFy ([out] double* pdDefaultColFy,[out] double* pdDefaultBeamFy);


Purpose Get the Fy default value used by the steel column and steel beam programs.
Parameters pdDefaultColFy Default Fy for Steel Column
pdDefaultBeamFy Default Fy for Steel Beam

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetEHotColdFormed ([out] long* plVal);


Purpose Get BS 5950 Hollow Sections setting.
Parameters plVal 0 = Cold Formed, 1 = Hot Finished

GetEuroCodeFactor ([out, size_is(,*plMax)] double** ppdEuroCodeFactor, [out] long *plMax);


Purpose Get Eurocode factors.
Parameters ppdEuroCodeFactor Partial Safety Factors Group.
*ppdEuroCodeFactor[0] – Permanent Actions, Gamma Gsup
*ppdEuroCodeFactor[1] – Permanent Actions, Gamma Ginf
*ppdEuroCodeFactor[2] – Single Variable Load, Gamma Q
*ppdEuroCodeFactor[3] – Multiple Variable Loads, Gamma Q
*ppdEuroCodeFactor[4] – Resistance of Class 1,2 or 3, Gamma M0
*ppdEuroCodeFactor[5] – Resistance to Buckling, Gamm M1, Psi
Group:
*ppdEuroCodeFactor[6] – Psi0 for Reducible Live Load
*ppdEuroCodeFactor[7] – Psi0 for Storage Live Load
*ppdEuroCodeFactor[8] - Reduction Factor for Vectorial Effect, Psi
Vector
Composite Beam Design Group:
*ppdEuroCodeFactor[9] - Shear Studs, Gamma v
*ppdEuroCodeFactor[10] - Structural Steel, Fundamental, Gamma a
*ppdEuroCodeFactor[11] – Concrete, Fundamental, Gamma c
plMax Number values returned

GetEuroRedFy ([out, size_is(,*plMax)] BOOL** ppbEuroRedFys, [out] long *plMax);


Purpose Get “Design fy – Reduce Fy based on thickness” values.
Parameters ppbEuroRedFys *ppbEuroRedFys[0] – Column
*ppbEuroRedFys[1] – Beam
*ppbEuroRedFys[2] – Brace value:
0 = do not reduce 1 = reduce
plMax Number values returned

GetFndForcesFromFlag ( [out] long* plForcesFrom );


Purpose Flag for foundation forces source.
Parameters plForcesFrom 0 = RAM Steel, 1 = RAM Concrete, 2 = steel from Steel,
concrete from Concrete
GetFoundationDesignValid ([out] BOOL* pbValid);
Purpose To get the flag that indicates if the foundation design is current and valid.
Parameters pbValid The design flag.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLLRMethodChoices ([out] long* plLLRMethod,[out] long* plIBCLLRMethod);


Purpose Get IBC or UBC Reduction Method.
Parameters plLLRMethod For UBC code:
1 = Method 1, 2 = Method 2
plIBCLLRMethod For IBC code:
0 = General Method, 1 = Alternate Method
GetMatPerimeterInfo ([in] long lMatID, [in, out] SFoundationMatInfo *pdMatInfo, [out, retval] long *plRetVal);
Purpose Get information about a mat foundation. Specifically its offset from the base story.
Parameters lMatID Mat Unique ID
pdMatInfo Mat info struct returned
plRetVal Error code. If value is non zero then check GetLastError

GetMemberIDArray ([in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in] long
lArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Get the Unique ID's for the member type in a pre-dimensioned array.
Parameters eMemberType Member type (Must be specified)
eMatType Material type - use ENoneMaterial when not applicable
eGravOrLat Gravity or lateral - use MemberIsNone when not applicable
lArraySize palMemberIDs array size used for verification check
palMemberIDs Pre-dimensioned array used to return the member ID’s
plRetVal Error code. If value is non zero then check GetLastError

GetMemberOnStoryIDArray ([in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in]
EFRAMETYPE eGravOrLat, [in] long lArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Get the Unique ID's for the member type on a story in a pre-dimensioned array.
Parameters lStoryID Story UniqueID or index number
eMemberType Member type (Must be specified)
eMatType Material type - use ENoneMaterial when not applicable
eGravOrLat Gravity or lateral - use MemberIsNone when not applicable
lArraySize palMemberIDs array size used for verification check
palMemberIDs Pre-dimensioned array used to return the member ID’s
plRetVal Error code. If value is non zero then check GetLastError

GetMembersInPolygonIDArray ([in] long lPolygonID, [in] EUniqueMemberTypeID eMemberType, [in] EMemberInPolyCategory


eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in] long lArraySize, [in, out] long*
palMemberIDs, [out,retval] long* plRetVal);
Purpose Get list of members inside a polygon.
Parameters lPolygonID Polygon Unique ID
eMemberType Member type (Must be specified)
eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etc
bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygon
bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration
lArraySize palMemberIDs array size used for verification check
palMemberIDs Array that will be filled with ID's of all Members meeting
the criteria above
plRetVal Error code. If value is non zero then check GetLastError
Comments If either the beam or wall start or end is in the polygon, it will be added to the list
NOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat and
eAboveMemPolyCat

GetMembersInPolygonIDArrayAtStory ([in] long lPolygonID, [in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in]
EMemberInPolyCategory eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in] long
lArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Get list of members inside a polygon.
Parameters lPolygonID Polygon Unique ID
lStoryID Story unique ID
eMemberType Member type (Must be specified)
eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etc
bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygon
bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration
lArraySize palMemberIDs array size used for verification check
palMemberIDs Array that will be filled with ID's of all Members meeting
the criteria above
plRetVal Error code. If value is non zero then check GetLastError
Comments If either the beam or wall start or end is in the polygon, it will be added to the list
NOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat and
eAboveMemPolyCat

GetModelHas ([out] long* plModelHasSteelColumns,[out] long* plModelHasBeams, [out] long* plModelHasJoists,[out] long*
plModelHasSmartbeams);
Purpose To find out what type of members are used in the model.
Parameters plModelHasSteelColumns 1 = the model has steel columns, 0 = it does not
plModelHasBeams This only refers to steel beams
1 = the model has steel beams, 0 = it does not
plModelHasJoists 1 = the model has steel joists, 0 = it does not
plModelHasSmartbeams 1 = the model has smartbeams, 0 = it does not

GetnCut ([out] long* plVal);


Purpose Get Canada parameters ‘Built Up’ setting.
See “Criteria – Canada Parameters” in RAM Manager
Parameters plVal 0 = Flame Cut edges, 1 = MIL Cut edges

GetNumAnalyzedLoadCases ( [out] long* plNum );


Purpose Get the number of analyzed load cases.
Parameters plNum Number of cases

GetNumMembers ([in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in, out]
long* plNumMembers, [out,retval] long* plRetVal);
Purpose Returns the total number of the member type for full structure.
Parameters eMemberType Member type (Must be specified)
eMatType Material type - use ENoneMaterial when not applicable
eGravOrLat Gravity or lateral - use MemberIsNone when not applicable
plNumMembers Return total number of member type
plRetVal Error code. If value is non zero then check GetLastError

GetNumMembersInPolygon ([in] long lPolygonID, [in] EUniqueMemberTypeID eMemberType, [in] EMemberInPolyCategory eMemberCategory,
[in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in, out] long* plNumMembers, [out,retval] long*
plRetVal);
Purpose Get total number of members that fall inside of a given polygon.
Parameters lPolygonID Polygon ID
eMemberType Member type (Must be specified)
eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etc
bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygon
bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or
penetration
plNumMembers Number of members in polygon
plRetVal Error code. If value is non zero then check GetLastError
Comments If either the beam or wall start or end is in the polygon, it will be added to the list
NOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat and
eAboveMemPolyCat

GetNumMembersInPolygonAtStory ([in] long lPolygonID , long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in]
EMemberInPolyCategory eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in, out]
long* plNumMembers, [out,retval] long* plRetVal);
Purpose Get total number of members that fall inside of a given polygon. 2.
Parameters lPolygonID Polygon Unique ID
lStoryID Unique ID of story to get members on
eMemberType Member type (Must be specified)
eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etc
bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygon
bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or
penetration
plNumMembers Number of members in polygon
plRetVal Error code. If value is non zero then check GetLastError
Comments If either the beam or wall start or end is in the polygon, it will be added to the list
NOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat and
eAboveMemPolyCat
GetNumMembersOnStory ([in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in]
EFRAMETYPE eGravOrLat, [in, out] long* plNumMembers, [out,retval] long* plRetVal);
Purpose Get the total number of the member type on a given story.
Parameters lStoryID Story UniqueID or index number
eMemberType Member type (Must be specified)
eMatType Material type - use ENoneMaterial when not applicable
eGravOrLat Gravity or lateral - use MemberIsNone when not applicable
plNumMembers Return total number of member type
plRetVal Error code. If value is non zero then check GetLastError
Comments Works on the following eMemberTypes which are material dependent:
eTypeColumn, eTypeBeam, eTypeWall, eTypeBrace, eTypeFoundation, eTypeStory,
eTypeFloorType, eTypeDeckProp, eTypeSlabProp, eTypeDeckOrSlab
If an eMemberTypes is not supported the fundtion will return an error code and the
GetLastError will indicate that the Member Type is invalid.

GetNumSections ([out] long* plConcCol,[out] long* plOtherCol, [out] long* plConcBm,[out] long* plOtherBm, [out] long* plConcBrc,[out] long*
plOtherBrc);
Purpose Get the number sections defined for each member type listed below.
Parameters plConcCol Number of concrete column sections defined.
plOtherCol Number of “other” columns sections defined.
plConcBm Number of concrete beams sections defined.
plOtherBm Number of “other” beams sections defined.
plConcBrc Number of concrete braces sections defined.
plOtherBrc Number of “other” braces sections defined.

GetNumSlabsInSlabPerimeter ([in] long lMatID, [in, out] long* plNumSlabs);


Purpose Get number of Slab prop IDs that overlap a given mat perimeter.
Parameters lMatID unique id of mat perimeter
plNumSlabs number of eTypeFoundationMatSlab that overlap given mat
perimeter

GetPDelta ([out] BOOL* pbPDelta );


Purpose Determine if P Delta is selected in Frame.
Parameters pbPDelta True if PDelta is selected

GetSelectedSteelJoistTables ([in, out] BSTR* pbstrDefStandardTableName, [in, out] BSTR* pbstrAltStandardTableName, [in, out] BSTR*
pbstrDefConstShearTableName, [in, out] BSTR* pbstrAltConstShearTableName, [out, retval] long* plRetVal);
Purpose Get the steel joist table names.
Parameters pbstrDefStandardTableName Default standard table name
pbstrAltStandardTableName Alternate standard table name
pbstrDefConstShearTableName Default Constant Shear table name
pbstrAltConstShearTableName Alternate Constant Shear table name
plRetVal Error code. If value is non zero then check
GetLastError
GetSelfWeightIncludes ([out] long* plIncColSelfWeight,[out] long*plIncBeamSelfWeight,[out] long* plIncWallSelfWeight);
Purpose To get the self-weight flags for column, beams and walls.
Parameters plIncColSelfWeight 1 = include self-weight for columns, 0 = do not include self-weight
plIncBeamSelfWeight 1 = include self-weight for beams, 0 = do not include self-weight
plIncWallSelfWeight 1 = include self-weight for walls, 0 = do not include self-weight

GetSlabsInSlabPerimeterIDArray ([in] long lMatID, [in, out] long* palSlabIDs);


Purpose Get a list of Slab prop IDs that overlap a given mat perimeter.
Parameters lMatID Mat perimeter unique ID
palSlabIDs List of IDs of type eTypeFoundationMatSlab

ModelIsTensionOnly ([in, out] BOOL* pbTensionOnly, [out, retval] long* plRetVal)


Purpose Find out if any tension only members exist. If they do, this is considered a tension only
model.
Parameters pbTensionOnly TRUE = there exists at least one member that is tension only thus
the model is a tension only model.
plRetVal Error code. If value is non zero then check GetLastError

Reset ();
Purpose Internal use only.

SetColBeamDsgnStatus ();
Purpose Internal use only.

SetDBandLatStatus ();
Purpose Internal use only.

SetEHotColdFormed ([in] long lVal);


Purpose Set BS 5950 Hollow Sections setting.
Parameters lVal 0 = Cold Formed, 1 = Hot Finished

SetEuroCodeFactor ();
Purpose Internal use only

SetFoundationDesignValid ();
Purpose Internal use only

SetGravityLoadFramingFlag ();
Purpose Internal use only

SetnCut ();
Purpose Internal use only
SetNumAnalyzedLoadCases ();
Purpose Internal use only

IModelGeometry1

Philosophy: This interface is for accessing and setting information about the geometry of the model. This includes dimensions of members,
framing, story and floor type data. While information can be obtained on a member-by-member basis, all of the information relates to the
physicality of the model (rather than specific information about a member, such as material properties). The Member Data Interface is where
specific information about members can be found.

Comment 1: In the sections the Start of a member refers the end of the member that is closest to the bottom left corner of the model when
looking at the model in plan view. The End of a member refers to the end that is closest to the top right corner of the model.

Comment 2: Several of the original methods in IModelGeometry1 are no longer supported. The code will continue to work as it does currently
but these methods will not be modified or updated in any future releases. In the documentation below, these methods have been “grayed out”
and a note has been added intructing the user as to which method should be used in its place. It is not necessary to replace these methods in
exisiting code but new code should be written with the more current methods.

GetAllMemberIDsFor ([in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMaterial, [out] long* lNumIDs, [out] long** ppalIDs);
Purpose Get all member ID’s for a given member type and material type.
Parameters eMemType Member type used to find members
eMaterial Material type used to find members
lNumIDs Number of members found.
ppalIDs Array of IDs. Size of array is lNumIDs

GetBeamDepthFramingIntoColumn ([in] long lColID, [out] double* pdMaxMajorDepth, [out] double* pdMinMajorDepth, [out] double*
pdMaxMinorDepth, [out] double* pdMinMinorDepth);
Purpose Get the max and minimum beam depths that are framing into a column. Note: The max
and min depths will be on opposite sides. So if a column has two beams of different
depths framing into one face and no beams framing into the opposite face, the min value
will be zero.
Parameters lColID Column Unique ID
pdMaxMajorDepth Max beam depth framing into the major face of the column
pdMinMajorDepth Min beam depth framing into the major face of the column
pdMaxMinorDepth Max beam depth framing into the minor face of the column
pdMinMinorDepth Min beam depth framing into the minor face of the column
GetBeamGeomInfo ([in] long lBeamID, [out] long* plBeamLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]
double* pdXStart, [out] double* pdYStart, [out] double* pdZStart, [out] double* pdXEnd, [out] double* pdYEnd, [out] double* pdZEnd, [out]
double* pdStartSupportX, [out] double* pdStartSupportY, [out] double* pdStartSupportZ, [out] double* pdEndSupportX, [out] double*
pdEndSupportY, [out] double* pdEndSupportZ, [out] double* pdStartCantLength, [out] double* pdMidSpanLength, [out] double*
pdEndCantLength);
Purpose Get beam Geometry information including its location in the 3D model.
Parameters lBeamID Unique Beam ID
plBeamLabel Beam Label as seen in model
peGravOrLat Gravity or Lateral member
peMaterial Material Type
pdXStart Global X coordinate location at start of Beam– These values are at
the end of the cantilever if the beam has one at the left end
pdYStart Global Y coordinate location at start of Beam
pdZStart Global Z coordinate location at start of Beam
pdXEnd Global X coordinate location at end of Beam - These values are at
the end of the cantilever if the beam has one at the end
pdYEnd Global Y coordinate location at end of Beam
pdZEnd Global Z coordinate location at end of Beam
pdStartSupportX Global X coordinate location of Support at start of Beam – These
values are the same as pdXStart if beam does not have a cantilever
at its start
pdStartSupportY Global Y coordinate location of Support at start of Beam
pdStartSupportZ Global Z coordinate location of Support at start of Beam
pdEndSupportX Global X coordinate location of Support at end of Beam - These
values are the same as pdX2 if beam does not have a cantilever at
its end
pdEndSupportY Global Y coordinate location of Support at end of Beam
pdEndSupportZ Global Z coordinate location of Support at end of beam
pdStartCantLength Cantilever length at start of Beam
pdMidSpanLength Middle span length
pdEndCantLength Cantilever length at end of Beam

GetBeamRigidLinkInfo ([in] long lBeamID, [out] double* dIX, [out] double* dIY, [out] double* dIZ, [out] double* dJX, [out] double* dJY, [out]
double* dJZ, [out] long* lIMemberID, [out] long* lJMemberID);
Purpose Determine rigid link end coordinates and supporting member IDs.
Parameters lBeamID Unique ID of the beam
dIX X coordinate at the supported end of the rigid link at the I
end of the beam
dIY Y coordinate at the supported end of the rigid link at the I
end of the beam
dIZ Z coordinate at the supported end of the rigid link at the I
end of the beam
dJX X coordinate at the supported end of the rigid link at the J
end of the beam
dJY Y coordinate at the supported end of the rigid link at the J
end of the beam
dJZ Z coordinate at the supported end of the rigid link at the J
end of the beam
lIMemberID Unique ID of the member supporting the rigid link at the I
end of the beam
lJMemberID Unique ID of the member supporting the rigid link at the J
end of the beam

GetBeamSupportDims ([in] long lBeamID, [out] double *pdSuppLengthStart, [out] double *pdSuppWidthStart, [out] double *pdSuppLengthEnd,
[out] double *pdSuppWidthEnd);
Purpose Get dimensions of the member supporting the given beam.
Parameters lBeamID Beam’s unique ID
pdSuppLengthStart Support Length parallel to beam span at start of beam
pdSuppWidthStart Support width perpendicular to beam span at start of beam
pdSuppLengthEnd Support Length parallel to beam span at end of beam
pdSuppWidthEnd Support width perpendicular to beam span at end of beam

GetBeamSupportInfo ([in] long IBeamID, [out] EUniqueMemberTypeID* peSupportTypeStart, [out] long* plSupportIDStart, [out]
EUniqueMemberTypeID* peSupportTypeEnd, [out] long* plSupportIDEnd);
Purpose Get information on the end supports of a beam.
Parameters IBeamID Beam ID
peSupportTypeStart Support Type at start of Beam (i.e. Column, Beam, Wall)
plSupportIDStart Member ID of support at start of beam
peSupportTypeEnd Support Type at end of Beam (i.e. Column, Beam, Wall)
plSupportIDEnd Member ID of support at end of beam

GetBraceGeomInfo ([in] long lBraceID, [out] long* plBraceLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]
double* pdXTop, [out] double* pdYTop, [out] double* pdZTop, [out] double* pdXBottom, [out] double* pdYBottom, [out] double*
pdZBottom);
Purpose Get Brace Geometry information including its location in the 3D model.
Parameters lBraceID Unique Brace ID
plBraceLabel Brace Label as seen in model
peGravOrLat Gravity or Lateral member
peMaterial Material Type
pdXTop Global X coordinate location at top of Brace
pdYTop Global Y coordinate location at top of Brace
pdZTop Global Z coordinate location at top of Brace
pdXBottom Global X coordinate location at bottom of Brace
pdYBottom Global Y coordinate location at bottom of Brace
pdZBottom Global Z coordinate location at bottom of Brace

GetColIDAtBracedLevel ([in] long nStartColID, [in] EAXIS eAxis, [out] long* plTopStoryColID, [out] long* plBotStoryColID, [out] long*
plTopStoryNo, [out] long* plBotStoryNo);
Purpose Determine at which level up a column stack a beam (or slab) frames into the column axis
in question. Column is braced in axis by beam, wall, and/or slab. The angle at which a
beam is considered bracing a column (and if the deck/slab braces the column) is set by
the engineer in either the steel column program or the RAM Concrete Analysis module.
Change of angle or material up a column stack automatically results in the column being
considered braced.
Parameters nStartColID Col ID for a column in the stack to look at
eAxis Column local Axis to retrieve braced info about
plTopStoryColID ID of the column at the top of the col stack braced in the nAxis.
Note that this is the col that is braced at its top.
plBotStoryColID ID of the column at the bottom of the col stack braced in the nAxis.
Note that this is the col that is braced at its bottom.
plTopStoryNo Story number of the top column
plBotStoryNo Story number of the bottom column

GetColumnGeomInfo ([in] long lColumnID, [out] long* plColumnLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial,
[out] double* pdXBottom, [out] double* pdYBottom, [out] double* pdZBottom, [out] double* pdXTop, [out] double* pdYTop, [out] double*
pdZTop, [out] double* pdOrientation, [out] long * plAtFnd );
Purpose Get column geometry information.
Parameters lColumnID Column’s Unique ID
plColumnLabel Column Label as seen in model
peGravOrLat Gravity or Lateral member
peMaterial Material Type
pdXBottom Bottom of column global X coordinate location
pdYBottom Bottom of column global Y coordinate location
pdZBottom Bottom of column global Z coordinate location
pdXTop Top of column global X coordinate location
pdYTop Top of column global Y coordinate location
pdZTop Top of column global Z coordinate location
pdOrientation Major axis orientation in degrees. 0 degrees indicates that major
axis is parallel to global X-axis. Positive angle rotates column
counter-clockwise.
plAtFnd 0 – Indicates column is not at a foundation level, 1 = Indicates
column is at foundation level

GetColumnLoadSharing ([in] long lColumnID, [out] long* plLoadSharing);


Purpose Indicates the type of deck the member is under. 2
Parameters lColumnID Unique ID of the column
plLoadSharing -1 = no deck
0 = the column is entirely under a two-way deck
1 = the columns ie entirely under a one-way deck
2 = the column is under both a two-way and a one-way deck.

GetColumnRigidLinkInfo ([in] long lColumnID, [out] double* dJX, [out] double* dJY, [out] double* dJZ, [out] long* lIMemberID, [out] long*
lJMemberID);
Purpose Determine rigid link end coordinates and supporting member IDs.
Parameters lColumnID Unique ID of the column
dJX X coordinate at the supported end of the rigid link at the J
end of the column
dJY Y coordinate at the supported end of the rigid link at the J
end of the column
dJZ Z coordinate at the supported end of the rigid link at the J
end of the column
lIMemberID Unique ID of the member supporting the rigid link at the I
end of the column

GetColumnStack ([in] long IColID, [out] long* plNumInStack, [out] long** ppalStackIDs);
Purpose Get ID’s for all the columns that are in the same stack as IMemberID.
Parameters IColID Column’s Unique ID
plNumInStack Number of columns in column stack
ppalStackIDs Array of unique ID’s. Size of array is plNumInStack

GetColumnStackBetween ([in] long lColBotID, [in] long lColTopID, [out] long* plNumInStack, [out] long** ppalColIDs);
Purpose Get list of columns ID’s between to given columns. This can be used to find the columns
that are between brace levels when there are dummy levels.
Parameters lColBotID Top column unique ID
lColTopID Bottom column unique ID
plNumInStack Number of columns in list
ppalColIDs Array of column unique ID’s

GetColumnStackMatchMaterial ( [in] long lColID, [in, out] long* plNumInStack, [in, out] long** plStackIDs );
Purpose Get contiguous Column Stack with same material type as lColID.
Parameters IColID Column’s Unique ID
plNumInStack Number of columns in column stack
ppalStackIDs Array of unique ID’s. Size of array is plNumInStack
Comments This function is similar to GetColumnStack which does not check for material properties.

GetDeckInfo ([in] long lStory, [in] long lDeck, [out] BSTR* pbstrSize, [out] double* pdThickness, [out] long* plNumDeckPoints, [out] double**
ppadXpts, [out] double** ppadYpts, [out] double** ppadZpts, [out] long* plNumOpenings);
Purpose to get information about each deck.
Parameters lStory Story number
lDeck Deck number (on that specific story)
pbstrSize Deck name
pdThickness Thickness of the deck
plNumDeckPoints Number of points in the deck polygon
ppadXpts Array of doubles containing the X coordinates of the deck polygon
ppadYpts Array of doubles containing the Y coordinates of the deck polygon
ppadZpts Array of doubles containing the Z coordinates of the deck polygon
plNumOpenings Number of openings in the deck
GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetFloorTypeInfo ([in] long lFlrTypeNo, [out] BSTR * pbstrFlrTypeID, [out] long* plNumBeams, [out] long* plNumColumns, [out] long*
plNumWalls, [out] long * plNumFootings);
Purpose Get information for a given floor type.
Parameters lFlrTypeNo Floor type index starting with 0
pbstrFlrTypeID Floor type label
plNumBeams Total number of beams in story
plNumColumns Total number of columns in story
plNumWalls Total number of walls in story
plNumFootings Total number of Footings in story. Footings will only be used if there
are no columns, beams or walls below the footing

GetFootingGeomInfo ([in] long lFootID, [out] long* plFootLabel, [out] EMATERIALTYPES* peMaterial, [out] double* pdXStart, [out] double*
pdYStart, [out] double* pdXEnd, [out] double* pdYEnd, [out] double* pdLeft, [out] double* pdRight, [out] double* pd, [out] double*
pdBottom, [out] double* pdZ, [out] double* pdThick, [out] double* pdAngle);
Purpose Get spread and continuous footing geometry information.
Parameters lFootID The unique Footing ID
plFootLabel The label number in the RAM SS
peMaterial Material Type
pdXStart Start global X coordinate location
pdYStart Start global Y coordinate location
pdZStart Start global Z coordinate location
pdXEnd End global X coordinate location
pdYEnd End global Y coordinate location
pdZEnd End global Z coordinate location
Assuming footing is parallel to the global X axis - Distance to footing
pdLeft left edge from start point left to slab edge
pdRight Distance to footing right edge from end point right to slab edge
pdTop Distance to footing top edge from centerline
pdBottom Distance to footing bottom edge from centerline
pdZ Footing top of slab (TOS) elevation
pdThick Footing thickness
Footing angle of rotation wrt global axis - Mostly required for spread
pdAngle footings
Comments Note1: For spread footings pdXStart, pdYStart, pdZStart and pdXEnd, pdYEnd, pdZEnd
will be identical.
Note2: As of 6/10/03 the footing dimensions are the default values and do not reflect the
footing final design dimensions

GetGridInfoForGridSys ([in] long lGridSysID, [out] SGridLineInfo* pXRadial, [out] SGridLineInfo* pYCircular);
Purpose Get the location of the grids in the grid system.
Parameters lGridSysID Grid index number
pXRadial X or Radial grid information
pYCircular Y or Circular grid information

GetGridSysInfo ([in] long lGridSysID, [out] BSTR* pbstrLabel, [out] SGridSysType* peType, [out] double* pdXOffset, [out] double* pdYOffset,
[out] double* pdRotation, [out] long* plNumXRadialGrids, [out] long* plNumYCircularGrids);
Purpose Grid system information.
Parameters lGridSysID Grid System index number
pbstrLabel Grid system label
peType Grid System type as eGridOrthogonal, eGridSkewed or
eGridRadial
pdXOffset Global x offset of grid system
pdYOffset Global Y offset of grid system
pdRotation Global rotation of grid system
plNumXRadialGrids Number of X or Radial Grids
plNumYCircularGrids Number of Y or Circular Grids

GetGridSysLabelsAtStory ([in] long lStoryNoOrID, [in] double dXLoc, [in] double dYLoc, [out] long* plGrydSysID, [out] BSTR* pbstrXGridLabel,
[out] BSTR* pbstrYGridLabel);
Purpose Get the labels of the grid system intersection at a given story. If no grids are at the given
location the global location of the point is returned.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
dXLoc Global X location of point
dYLoc Global Y location of point
plGrydSysID Grid system index number
pbstrXGridLabel X or Radial Grid label at location
pbstrYGridLabel Y or Circular grid label at location

GetIDForMemMatTypeAtStory ([in] long lStoryNo, [in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMatType, [out] long**
ppalUniqueIDs, [out] long* plListSize);
Purpose Get a list of unique ID’s for a given member type and material type at a story
Parameters lStoryNo Story number starting with 0 for the lowest story
eMemType Member Type
eMatType Material Type
ppalUniqueIDs array of Unique ID’s
plListSize Number of unique ID’s in halUniqueIDs
Comments Starting with v9.0 use GetNumMembersOnStory( ) to get the member id’s on a
story. For more information, see Getting Member Information.

GetIDForMemTypeAtStory ([in] long lStoryNoOrID, [in] EUniqueMemberTypeID eMemType, [out] long** ppalUniqueIDs, [out] long* plListSize);
Purpose Get all member ID’s for a given member type at a story.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
eMemType Member type used to find members
ppalUniqueIDs Array of IDs. Size of array is plListSize
plListSize Number of members found.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLatWallGroupGeom ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [out] double *pdXCentroid, [out] double *pdYCentroid, [out] double
*pdZCentroid, [out] double *pdAngle, [out] long *plNumWallsColsInGroup, [out] long *palWallsColsListInGroup);
Purpose Get lateral wall group geometry info.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)
lWallGroupIndex Wall group index number
pdXCentroid Global X-coordinate location of wall group centroid
pdYCentroid Global Y-coordinate location of wall group centroid
pdZCentroid Global Z-coordinate location of wall group centroid
pdAngle Angle defining major direction of wall
plNumWallsColsInGroup Total number of walls and columns assigned to wall group
palWallsColsListInGroup List of member Unique ID’s for all walls and columns that
are part of the wall group at the given story. NOTE – This
array must be dimensioned to a size of 99 before the
function is called. The function will then set the unique ID’s
in the array and fill the unused spaces with a value of -1

GetListGridSysOn_InStory ([in] long lStoryNoOrID, [out] long** ppalGridSysID);


Purpose Get list of grid indexes for all grids that are on for a given story.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
ppalGridSysID Array of grid indexes – Array size is plNumGridSysStory

GetListGridSysOn_InFloorTyp ([in] long lFlrTypeNo, [out] long** ppalGridSysID);


Purpose Get list of grid indexes for all grids that are on for a given floor type.
Floor type number starting with 0 for the first one and going up
Parameters lFlrTypeNo to (plNumFloorTypes – 1) for the last floor type
ppalGridSysID Array of grid indexes – Array size is plNumGridSysFloorTyp
GetMemberID ([in] long lStoryNo, [in] long lMemNo, [in] EUniqueMemberTypeID eMemType, [out] long* plUniqueID);
Purpose Get the unique member ID given the member story info and member type.
Parameters lStoryNo Story number starting with 0 for the lowest story and going up to the
(total number of stories – 1)
lMemNo Member index number starting with 0 and going up to (total number
of member at a given type in story – 1)
eMemType Member type
plUniqueID Member’s Unique ID
Comments VB/VBA users will need to use this method to get a member ID before they can get any
other information for that member because all the other Get ID methods dimension an
array inside DA and so are not supported by VB/VBA. C++ users can use any one of the
Get ID methods including the ones that dimension arrays inside the DA method.
Comments Starting with v9.0 use GetNumMembers( ) to get the member id’s. For more
information, see Getting Member Information.

GetMemberLocFromID ([in] long lUniqueID, [out] long * plStoryNo, [out] long* plMemNo, [out] EUniqueMemberTypeID* peMemType);
Purpose Get member index number, story, and type from a unique ID.
Parameters lUniqueID Member’s Unique ID
plStoryNo Story number starting with 0 for the first level
Member index number. This would be the value lMemNo that would
plMemNo be sent into the method GetMemberID.
peMemType Member type used to find members

GetMemberStoryLabelFromID (long lMemberID, BSTR* pbstrStoryName, long * plMemberLabel);


Purpose To get the story label given a member id.
Parameters lMemberID A member’s unique id.
pbstrStoryName Label for the story the member is on.
plMemberLabel Label (number) for the given member. This is the same number
displayed to the screen by any view – member number
command

GetNumBeamsOnStory ([in] long lStoryNo, [out] long * plNumBeams);


Purpose Get total number of beams on a story
Parameters lStoryNo Story number starting with 0 for the first level
plNumBeams Total number of beams in story
Comments Starting with v9.0 use GetNumMembersOnStory( ). For more information see Get
Member Information.

GetNumDecksOnStory ([in] long lStory, [out] long* plNumDecks);


Purpose to get the number of decks on a given story.
Parameters lStory Story number
plNumDecks Number of decks on the given story.
GetNumFloorTypes ([out] long* plNumFloorTypes);
Purpose Total number of floor types defined in RAM Modeler
Parameters plNumFloorTypes Total number of floor type
Comments Starting with v9.0 use GetNumMembers( )

GetNumGridSysInModel ([out] long* plNumGridSys);


Purpose Total number of grid systems defined in model.
Parameters plNumGridSys Total number of grid systems defined in model

GetNumGridSysOn_InFloorTyp ([in] long lFlrTypeNo, [out] long* plNumGridSysFloorTyp);


Purpose Total number of grid systems that are visible (on) for a given floor type.
lFlrTypeNo Floor type number starting with 0 for the first one and going
Parameters up to (plNumFloorTypes – 1) for the last floor type
plNumGridSysFloorTyp Total number of grid systems that are on given floor type

GetNumGridSysOn_InStory ([in] long lStoryNoOrID, [out] long* plNumGridSysStory);


Purpose Total number of grid systems that are visible (on) for a given story.
lStoryNoOrID Story index starting with 0 for the first level or Story unique
Parameters ID (unique ID is preferred)
plNumGridSysStory Total number of grid systems that are on a given story

GetNumStories ([out] long* plNumStories);


Purpose Get number of story levels in model
Parameters plNumStories Number of stories
Comments Starting with v9.0 use GetNumMembers( ) to get the number of stories in the
model.

GetNumStoryPerimeters ( [in] long lStoryNoOrID, [out] long* plNumPerimeters );


Purpose Total number of grid systems that are visible (on) for a given story.
lStoryNoOrID Story index starting with 0 for the first level or Story unique
Parameters ID (unique ID is preferred)
plNumPerimeters Total number of slab edge perimeters on a given story

GetStoryConcSlabThicknessArea ([in] long lStoryNoOrID, [out] long* plNumSlabAreas, [out] double** ppadThickness, [out] double**
ppadArea,[in] BSTR** ppbstrLabels);
Purpose Return total area and thickness for all concrete slabs on a story.
Parameters lStoryNo Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
plNumSlabAreas Total number of unique slabs
ppadThickness List of slab thickness
ppadArea List of slab areas
ppbstrLabels List of slab labels

GetStoryElevation ([in] long lStoryNoOrID, [out] double * pdStoryElev);


Purpose Get story elevation off the ground level. Sum of all the floor heights below and including
the given story.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
pdStoryElev Story elevation from the ground level

GetStoryInfo ([in] long lStoryNo, [out] BSTR * pbstrStoryID, [out] BSTR * pbstrFloorID, [out] double* pdFlrHeight, [out] long* plNumBeams, [out]
long* plNumColumns, [out] long * plNumWalls, [out] long * plNumBraces, [out] long * plNumFootings);
Purpose Get information for a given story level.
Parameters lStoryNo Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) level
pbstrStoryID Story Label
pbstrFloorID Floor type label
pdFlrHeight Story height
plNumBeams Total number of beams in story
plNumColumns Total number of columns in story
plNumWalls Total number of walls in story
plNumBraces Total number of braces in story
plNumFootings Total number of Footings in story. Footings will only be used if there
are no columns, beams or walls below the footing
Comments Starting with v9.0 use GetNumMembers( ) to get the member counts at a story.
FloorID and FloorHeight are still valid when accessed through this method.

GetStoryLabel ([in] long lStoryNum, [out] BSTR* pbstrStoryLabel);


Purpose Get story label
Parameters lStoryNum Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) level
pbstrStoryLabel Story Label

GetStoryPerimeter ( [in] long lStoryNoOrID, [in] long lPerimeter, [out] long* pplXpts, [out] long* pplYpts, [out] long* pplZpts );
Purpose Total number of grid systems that are visible (on) for a given story.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)
lPerimeters Perimter index
pplXpts Array of X coordinates for the perimeter indicies
pplYpts Array of Y coordinates for the perimeter indicies
pplZpts Array of Z coordinates for the perimeter indicies

GetStorySpliceInfo ([out] long* lNumStories, [out] long** ppalSplices);


Purpose Gets the splice flag for each story level.
Parameters lNumStories The number of stories
ppalSplices An array of values that indicate if the story is spliced.
1 = TRUE, there is a splice
0 = FALSE, there is not a splice
GetWallGeomInfo ([in] long lWallID, [out] long* plWallLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]
double* pdXTopStart, [out] double* pdYTopStart, [out] double* pdZTopStart, [out] double* pdXTopEnd, [out] double* pdYTopEnd, [out]
double* pdZTopEnd, [out] double* pdZBottomStart, [out] double* pdZBottomEnd, [out] long* plStartAtFnd, [out] long* plEndAtFnd);
Purpose Get wall geometry information.
Parameters lWallID The unique Wall ID
plWallLabel The label number in the RAM SS
peGravOrLat Gravity or Lateral member
peMaterial Material Type
pdXTopStart Top start corner global X coordinate location
pdYTopStart Top start corner global Y coordinate location
pdZTopStart Top start corner global Z coordinate location
pdXTopEnd Top end corner global X coordinate location
pdYTopEnd Top end corner global Y coordinate location
pdZTopEnd Top end corner global Z coordinate location
pdZBottomStart Wall lower coordinate elevation corresponding to start corner
pdZBottomEnd Wall lower coordinate elevation corresponding to end corner
plStartAtFnd 1= start of wall specified is at a foundation level
plEndAtFnd 1= end of wall specified is at a foundation level

GetWallLoadSharing ([in] long lWallID, [out] long* plLoadSharing);


Purpose Indicates the type of deck the member is under.
Parameters lWallID Unique ID of the column
plLoadSharing -1 = no deck
0 = the column is entirely under a two-way deck
1 = the columns ie entirely under a one-way deck
2 = the column is under both a two-way and a one-way deck.

GetWallSectionDimProps ([in] long lWallID, [out] double* pdThickness, [out] double* pdCrackSectFactor);
Purpose Get wall section dimension properties.
Parameters lWallID The unique Wall ID
pdThickness Wall thickness
pdCrackSectFactor Cracked section factor used to reduce moment of inertia values

IsColumnAHanger ([in] long lColID, [out] BOOL* bHanger);


Purpose Determine if a column is a standard or hanging column.
Parameters lColID Unique ID of the column
bHanger 1 if hanger, 0 if standard column

IsItAnOffsetColumn ([in] long lColID, [out] BOOL* pbOffsetCol);


Purpose Determine if a column is offset.
Parameters lColID Unique ID of the column
pbOffsetCol 1 if it is offset, 0 if it is not offset
PointIsExposed ([in] long lStoryNoOrID, [in] double dX, [in] double dY, [retval, out] long * plPtExposed);
Purpose This function determines if a given point is attached to the diaphragm or not.
There are three possible scenarios:
1. the point is completely outside the diaphragm and therefore exposed.
2. the point is inside the diaphragm and also inside an opening and therefore exposed
3. the point is inside the diaphragm but not inside any opening and therefore NOT
exposed.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
dX X-coord
dY Y-coord
plPtExposed 0: If the point is exposed. (scenarios 1 and 2)
1: If the point is NOT exposed. (scenario 3)
NOTE: Another way to think of this: If a point is “exposed” it is detached from the diaphragm. If a
point is “not exposed” it is attached to the diaphragm.

Reset ();;
Purpose Internal use only.

IModelGeometry2

Philosophy: (see ModelGeometry1 above)

GetBeamSpanInformation ([in] long lBeamID, [out] double * pdLeftCantlLen, [out] double * pdMidSpanLength, [out] double *
pdRightCantlLength, [out, retval] long* plResult);
Purpose Get span lengths for beam.
Parameters lBeamID The unique beam ID
pdLeftCantlLen Length of left cantilever
pdMidSpanLength Length of mid span
pdRightCantlLength Length of right cantilever
plResult 0 = success, greater than 0 = an error occurred.

GetColumnSupportInfo ([in] long lColumnID, [in, out] long *plMemberID, [in, out] EUniqueMemberTypeID *peSupportType, [in, out] BOOL
*pbAtFoundation, [out,retval] long* plRetVal);
Purpose Get the column's controlling support member. If there is more than one member
supporting the column, the order of priority is Column, Wall and then beam.
Parameters lColumnID Column unique ID
plMemberID ID of member supporting the column.
If multiple walls are located only one of them is returned
peSupportType Support member type
pbAtFoundation Indicates that the bottom of lColumnID is at the foundation
level
If a foundation is assigned to the bottom of the column then
the foundation ID and type will be returned
plRetVal Error code. If value is non zero then check GetLastError

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetFinalPolygonPointsArray ( [in] long lPolygonID,[out] long lPolygonIndex,[out] long lArraySize, [out] SCoordinate paLoc, [out] double, pdArea,
[out] double pdPerimeter, [out,retval] long* plRetVal );
Purpose Get the column's controlling support member. If there is more than one member
supporting the column, the order of priority is Column, Wall and then beam.
Parameters lPolygonID Polygon unique ID
lPolygonIndex Polygon index
lArraySize Size of the array of indices
paLoc Array of indices
pdArea Polygon area
pdPerimeter Perimeter length
plRetVal Error code. If value is non zero then check GetLastError

GetFndDimensionInfo ([in] long lFndID, [out, retval] SFND_DATA* pfndData);


Purpose Get the foundation dimension and location info.
Parameters lFndID Foundation Unique ID
pfndData Foundation info struct

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetLatWallGroupGeom ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [out] long* plWallGroupLabel, [out] double *pdXCentroid, [out] double
*pdYCentroid, [out] double *pdZCentroid, [out] double *pdAngle, [out] long *plNumWallsInGroup, [out] long *plWallListInGroup, [out,
retval] long* plResult);
Purpose Get the information on a wall group.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
lWallGroupIndex Wall group index from 0 to total number of wall groups on story
plWallGroupLabel Wall group label
pdXCentroid Wall group Centroid location in the global X-axis
pdYCentroid Wall group Centroid location in the global Y-axis
pdZCentroid Wall group Centroid location in the global Z-axis
pdAngle Wall group rotation angle with 0.0 degrees parallel to X-axis
plNumWallsInGroup Total number of walls and columns in group
plWallListInGroup List of unique ID’s for all walls and columns in group. Array must
be dimensioned to be of size 100
plResult Return error code.

GetMemberInfoAtColumn ([in] long lColumnID, [in] EDA_MEMBER_LOC eColumnEnd, [in] double dBeamToMajorFaceAngle, [out] long*
plColumnAboveID, [in] long lNumBeams, [out] BEAM_INFO_AT_COLUMN* paBeamAtColumn, [in] long lNumBraces, [out]
BRACE_INFO_AT_COLUMN* paBraceAtColumn);
Purpose Get information on members that are framing into column.
Parameters lColumnID Column unique ID
eColumnEnd Location of member -eTop = 10, eBottom = 20,
dBeamToMajorFaceAngle If angle between column major axis and beam is less than
or equal to the angle, the beam is assumed to be framing
into column major axis
plColumnAboveID Unique ID of column framing into top of lColumnID
lNumBeams Size of paBeamAtColumn
paBeamAtColumn Array of information for beams framing into column
lNumBraces Size of paBraceAtColumn
paBraceAtColumn Array of information for braces framing into column

GetMemberInfoAtPointOnStory ( [in] double dx, [in] double dy, [in] long lStoryID, [in, out] EUniqueMemberTypeID* peSupportType, [in, out] long*
plSupportID, [out, retval] long* plRetval );
Purpose To determine the member that is located at a point in space on a story. 3.
Parameters dx, dy Point in plan to locate member under
lStoryID The story Unique ID
The type of member that is at this point in space on the story
peSupportType provided (will return foundationType if nothing at the point).
plSupportID The uniqueID of the member at the point (-1 if nothing there)
plRetval
Comments This method searches for a support member in the following sequence: Column, beam,
wall.

GetNumFinalPolygonPoints ( [in] long lPolygonID, [out] long lPolygonIndex, [out] long plNumPoints, [out, retval] long* plRetval );
Purpose To determine the member that is located at a point in space on a story. 3.
Parameters lPolygonID Polygon unique ID
lPolygonIndex Polygon index
plNumPoints Number of polygon indices
plRetval
GetNumFinalPolygons ( [in] long lPolygonID, [in] long lMaxNumEdges, [in] BOOL bAllowDuplicatePoints, [out] long plNumPolygons, [out, retval]
long* plRetval );
Purpose To determine the member that is located at a point in space on a story. 3.
Parameters lPolygonID Polygon unique ID
lMaxNumEdges Maximum number of edges
bAllowDuplicatePoints True if duplicate points are allowed
plNumPolygons Number of polygons
plRetval

GettNumMembersAtColumn ( [in] long lColumnID, [in] EDA_MEMBER_LOC eColumnEnd, [in] double dBeamToMajorFaceAngle, [out] long*
plNumBeams, [out] long* plNumBraces);
Purpose Get the total number of members framing into the end of the column.
Parameters lColumnID Column unique ID
eColumnEnd Location of member -eTop = 10, eBottom = 20
dBeamToMajorFaceAngle If angle between column major axis and beam is less than or
equal to this angle, the beam is assumed to be framing into
column major axis
plNumBeams Total number of beams framing into column
plNumBraces Total number of braces framing into column

GetNumPolygonRawPoints ([in] long lPolygonID, [in] BOOL bClipToPerimeter, [in, out] long* plNumPoints, [out,retval] long* plRetVal);
Purpose Get the number of points that made of a polygon.
Parameters lPolygonID Polygon ID
bClipToPerimeter True = clip the raw polygon to the slab edge perimiter
plNumPoints Number of Points that make up the polygon
plRetVal Error code. If value is non zero then check GetLastError

GetPolygonPropID ([in] long lPolygonID, [in, out] long* plPropID, [in, out] EUniqueMemberTypeID* pePropertyType, [out,retval] long* plRetVal);
Purpose Returns the property ID that has been assigned to the polygon. This can only be used for
polygons that can have properties assigned to them.
Parameters lPolygonID Polygon Unique ID
plPropID Return Property ID. Set to -1 if the polygon does not have a property
pePropertyType Return Property Type
plRetVal Error code. If value is non zero then check GetLastError
Comment Used for eTypeDeckOrSlab, eTypeSurfaceLoading, eTypeFoundationMatSlab.
Must check plPropID to make sure it is not -1 before using plPropID for any other
function calls

GetPolygonRawPointsArray ([in] long lPolygonID, [in] BOOL bClipToPerimeter, [in] long lArraySize, [in, out] SCoordinate* paLoc, [in, out]
double* pdArea, [in, out] double* pdPerimeter, [out,retval] long* plRetVal);
Purpose Get array of points defining the polygon.
Parameters lPolygonID Polyon Unique ID
bClipToPerimeter True = clip the raw polygon to the slab edge perimiter
lArraySize Expected Size of paLoc
paLoc Polygon corner coordinates
pdArea Area of polygon
pdPerimeter Perimiter length of polygon
plRetVal Error code. If value is non zero then check GetLastError

GetWallSupportInfo ( [in] long lWallID, [out] EUniqueMemberTypeID peSupportTypeStart, [out] long plSupportIDStart, [out]
EUniqueMemberTypeID peSupportTypeEnd, [out] long plSupportIDEnd, [out,retval] long* plRetVal);
Purpose Get array of points defining the polygon.
Parameters lWallID Wall unique ID
peSupportTypeStart EUniqueMemberTypeID
plSupportIDStart Start support unique ID
peSupportTypeEnd EUniqueMemberTypeID
plSupportIDEnd End support unique ID
plRetVal Error code. If value is non zero then check GetLastError

IModelStatus1

Philosophy: ModelStatus keeps track of the interaction between the RAM Structural System modules. This interface is used to tell ModelStatus
when an action has occurred so it can track the impact on other modules. Modules also use this interface to find out if their status was changed
by another module.

ActionOccurred ();
Purpose Internal use only.

ActionWithCountOccurred ();
Purpose Internal use only.

DesignIsValid ( [in] WhichModule eWhich, [out] BOOL bDesignIsValid );


Purpose To find out the status of a module.
Parameters eWhich Which module to get the status of.
bDesignIsValid True if design is valid

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetNumOpeningChanges ();
Purpose Internal use only.

GetNumWallChanges ();
Purpose Internal use only.

GetOpeningChanges ();
Purpose Internal use only.

GetWallChanges ();
Purpose Internal use only.

InitializeModelStatus ();
Purpose Internal use only.

IsModelDirty ();
Purpose Internal use only.

KillModelStatus ();
Purpose Internal use only.

RedesignMe ();
Purpose Internal use only.

ReinTableChanged ();
Purpose Internal use only.

Reset ();
Purpose Internal use only.

ResetOpeningChanges ();
Purpose Internal use only.

ResetWallChanges ();
Purpose Internal use only.

ShowModStatDialogFor ();
Purpose Internal use only.

WhatsMyStatus ( [in] WhichModule eWhich, [out] model_status* peStatus );


Purpose To find out the status of a module.
Parameters eWhich Which module to get the status of.
peStatus Status of the requested module.

IRamDataAccess2

Philosophy: To provide access to the version info for DataAccess.

IsModelInUse ([out, retval] long);


Purpose Determine if the model is in use by another application. 1.
reval 1 if model is in use, 0 if not.

GetVersion ([out, retval] double *pdVersion);


Purpose Gets the versions of DataAccess being accessed. 1.
Parameters pdVersion Version number, i.e. 9.01

ISteelColumnState

Philosophy: To provide information on the state of Steel Column

GetColAISCSelection ( [out] string *pbstrSection, [out] long *plStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose Get the steel column code selection.
Parameters pbstrSection Code selection label
plStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990
plRetVal Error code. If value is non zero then check GetLastError

GetColPlateInfo ( [out] double *pdPlateFPC, [out] double *pdPlateFy, [out] double *pdPlateMinFaceDim, [out] double *pdPlateMinSideDim, [out]
double *pdPlateIncDim, [out] double *pdPlateIncThick, [out] double *pdPlateMinFootPar, [out] double *pdPlateMinFootPerp, [out] double
*pdMinPlateFootDepth, [out, retval] long *plRetVal );
Purpose Get the baseplate criteria.
Parameters pdPlateFPC Concrete compressive strength
pdPlateFy Plate yield strength
pdPlateMinFaceDim Minimum dimension from face of column
pdPlateMinSideDim Minimum dimension from side of column
pdPlateIncDim Plate dimension increment
pdPlateIncThick Plate thickness increment
pdPlateMinFootPar Minimum footing width parallel to the column
pdPlateMinFootPerp Minimum footing width perpendicular to the column
pdMinPlateFootDepth Minimum footing depth
plRetVal Error code. If value is non zero then check GetLastError

GetColumnSkipLoaded ( [out] BOOL *pbSkipLoaded, [out, retval] long *plRetVal );


Purpose Get the skip loading criteria.
Parameters pbSkipLoaded True if skip loading is selected
plRetVal Error code. If value is non zero then check GetLastError

GetDeckBracesColumn ( [out] long *plDeckBracesColumn, [out, retval] long *plRetVal );


Purpose Get the skip loading criteria.
Parameters plDeckBracesColumn 1 if deck braces column is selected, 0 if not
plRetVal Error code. If value is non zero then check GetLastError

GetDispInterfacePointerByEnum ();
Purpose Internal use only.

GetInterfacePointer();
Purpose Internal use only.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

GetMaxBraceAngle ( [out] double *pdVal, [out, retval] long *plRetVal );


Purpose Maximum angle from column axis for which beam braces the column.
Parameters pdVal Maximum angle
plRetVal Error code. If value is non zero then check GetLastError

GetMaxSplitReactionAngle ( [out] double *pdVal, [out, retval] long *plRetVal );


Purpose Maximum angle from column axis at which beam reaction is not split between column
sides.
Parameters pdVal Maximum angle
plRetVal Error code. If value is non zero then check GetLastError

GetNumColLines ( [out] long *plNumColLines, [out, retval] long *plRetVal );


Purpose The number of steel column lines.
Parameters plNumColLines Number of steel column lines
plRetVal Error code. If value is non zero then check GetLastError

GetPlateAISCSelection ( [out] string *pbstrSection, [out] long *plStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose Get the base plate code selection.
Parameters pbstrSection Code selection label
plStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990
plRetVal Error code. If value is non zero then check GetLastError

GetStlColBS5950200 ( [out] long *plVal, [out, retval] long *plRetVal );


Purpose Get the base plate code selection.
plVal 1 if BS 5950 2000, 0 if BS 5950 1990
plRetVal Error code. If value is non zero then check GetLastError

GetTrialSizeData ( [out] long *plNumTrialSizes, [out] BSTR *pbstrWTrialSize1, [out] BSTR *pbstrWTrialSize2, [out] BSTR *pbstrWTrialSize3,
[out] BSTR *pbstrTTrialSize1, [out] BSTR *pbstrTTrialSize2 , [out] BSTR *pbstrTTrialSize3, [out] BSTR *pbstrPTrialSize1, [out] BSTR
*pbstrPTrialSize2, [out] BSTR *pbstrPTrialSize3, [out] BOOL *pbUseTG1, [out] BOOL *pbUseTG2 , [out] BOOL *pbUseTG3, [out, retval] long
*plRetVal );
Purpose Trial group criteria.
Parameters plNumTrialSizes Number of trial sizes
pbstrWTrialSize1 I Section trial group 1 label
pbstrWTrialSize2 I Section trial group 2 label
pbstrWTrialSize3 I Section trial group 3 label
pbstrTTrialSize1 Rectangular HSS trial group 1 label
pbstrTTrialSize2 Rectangular HSS trial group 2 label
pbstrTTrialSize3 Rectangular HSS trial group 3 label
pbstrPTrialSize1 Round HSS trial group 1 label
pbstrPTrialSize2 Round HSS trial group 2 label
pbstrPTrialSize3 Round HSS trial group 3 label
pbUseTG1 True if trial group 1 is selected
pbUseTG2 True if trial group 2 is selected
pbUseTG3 True if trial group 3 is selected
plRetVal Error code. If value is non zero then check GetLastError

Reset ( );
Purpose Internal use only.

SetColAISCSelection ( [in] string bstrSection, [in] long lStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose Set the steel column code selection.
Parameters bstrSection Code selection label
lStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990
plRetVal Error code. If value is non zero then check GetLastError

SetColPlateInfo ( [in] double dPlateFPC, [in] double dPlateFy, [in] double dPlateMinFaceDim, [in] double dPlateMinSideDim, [in] double
dPlateIncDim, [in] double dPlateIncThick, [in] double dPlateMinFootPar, [in] double dPlateMinFootPerp, [in] double dMinPlateFootDepth, [out,
retval] long *plRetVal );
Purpose Set the baseplate criteria.
Parameters dPlateFPC Concrete compressive strength
dPlateFy Plate yield strength
dPlateMinFaceDim Minimum dimension from face of column
dPlateMinSideDim Minimum dimension from side of column
dPlateIncDim Plate dimension increment
dPlateIncThick Plate thickness increment
dPlateMinFootPar Minimum footing width parallel to the column
dPlateMinFootPerp Minimum footing width perpendicular to the column
dMinPlateFootDepth Minimum footing depth
plRetVal Error code. If value is non zero then check GetLastError

SetColumnSkipLoaded ( [in] BOOL bSkipLoaded, [out, retval] long *plRetVal );


Purpose Set the skip loading criteria.
Parameters bSkipLoaded True if skip loading is selected
plRetVal Error code. If value is non zero then check GetLastError

SetDeckBracesColumn ( [in] long lDeckBracesColumn, [out, retval] long *plRetVal );


Purpose Set the skip loading criteria.
Parameters lDeckBracesColumn 1 if deck braces column is selected, 0 if not
plRetVal Error code. If value is non zero then check GetLastError

SetMaxBraceAngle ( [in] double dVal, [out, retval] long *plRetVal );


Purpose Maximum angle from column axis for which beam braces the column.
Parameters dVal Maximum angle
plRetVal Error code. If value is non zero then check GetLastError

SetMaxSplitReactionAngle ( [in] double dVal, [out, retval] long *plRetVal );


Purpose Maximum angle from column axis at which beam reaction is not split between column
sides.
Parameters dVal Maximum angle
plRetVal Error code. If value is non zero then check GetLastError

SetPlateAISCSelection ( [in] string bstrSection, [in] long lStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose Set the base plate code selection.
Parameters bstrSection Code selection label
lStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990
plRetVal Error code. If value is non zero then check GetLastError
SetStlColBS5950200 ( [in] long lVal, [out, retval] long *plRetVal );
Purpose Set the base plate code selection.
lVal 1 if BS 5950 2000, 0 if BS 5950 1990
plRetVal Error code. If value is non zero then check GetLastError

SetTrialSizeData ( [in] long lNumTrialSizes, [in] BSTR bstrWTrialSize1, [in] BSTR bstrWTrialSize2, [in] BSTR bstrWTrialSize3, [in] BSTR
bstrTTrialSize1, [in] BSTR bstrTTrialSize2 , [in] BSTR bstrTTrialSize3, [in] BSTR bstrPTrialSize1, [in] BSTR bstrPTrialSize2, [in] BSTR
bstrPTrialSize3, [in] BOOL bUseTG1, [in] BOOL bUseTG2 , [in] BOOL bUseTG3, [out, retval] long *plRetVal );
Purpose Trial group criteria.
Parameters lNumTrialSizes Number of trial sizes
bstrWTrialSize1 I Section trial group 1 label
bstrWTrialSize2 I Section trial group 2 label
bstrWTrialSize3 I Section trial group 3 label
bstrTTrialSize1 Rectangular HSS trial group 1 label
bstrTTrialSize2 Rectangular HSS trial group 2 label
bstrTTrialSize3 Rectangular HSS trial group 3 label
bstrPTrialSize1 Round HSS trial group 1 label
bstrPTrialSize2 Round HSS trial group 2 label
bstrPTrialSize3 Round HSS trial group 3 label
bUseTG1 True if trial group 1 is selected
bUseTG2 True if trial group 2 is selected
bUseTG3 True if trial group 3 is selected
plRetVal Error code. If value is non zero then check GetLastError

ISteelColumnState2

Philosophy: To provide information on the state of Steel Column

BOOL bMakeBasePlateSquare
Purpose Get/set square baseplate criterion
Parameters bMakeBasePlateSquare Boolean input/output

RamDataAccess1

Philosophy: This interface is used exclusively for obtaining pointers to other interfaces.
GetInterfacePointer([in] REFIID riid, [out, retval] LPUNKNOWN* pVal);
Purpose Returns the pointer to a specific interface.
Parameters riid Interface ID
pVal Interface pointer is returned via this pointer
Comments This method is used by C++ programs accessing the interfaces.

GetInterfacePointerByEnum ([in] EINTERFACES nInterface, [out, retval] LPUNKNOWN* pVal);


Purpose Get a DA interface pointer using the EINTERFACES enumerator.
Parameters nInterface Interface enum
pVal Returned interface
Comments This should not be used for VB/VBA or macro languages

GetDispInterfacePointer ([in] REFIID riid, [out, retval] LPDISPATCH* pVal);


Purpose Get a DA interface pointer that can be used in automation compatible languages
using the EINTERFACES enumerator.
Parameters riid Interface ID
pVal Automation Compatible Interface pointer is returned via this pointer
Comments This cannot be used by VB/VBA or macro languages

GetDispInterfacePointerByEnum ([in] EINTERFACES nInterface, [out, retval] LPDISPATCH* pVal);


Purpose Get a DA interface pointer using the EINTERFACES enumerator. This function
should be used for VB/VBA and macro languages.
Parameters nInterface Interface enum
pVal Automation Compatible Interface pointer is returned via this pointer
Comments This is the method that VB/VBA or macro language users should use.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


Purpose To get information about why a method failed.
Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failure
plErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.

Common Structure Definitions


BAR_SPACING
Reinforcement spacing information for concrete column
Type Variable Name Comments
double dClearCover Reinforcement clear cover. User entered value. If set to zero, code value will be used.
double dFlexMax Flexural reinforcement maximum spacing. User entered value. If set to zero, code value will be used.
double dFlexMin Flexural reinforcement minimum spacing. User entered value. If set to zero, code value will be used.
double dReinMax Flexural reinforcement ratio maximum limit. User entered value. If set to zero, code value will be used.
double dReinMin Flexural reinforcement ratio minimum limit. User entered value. If set to zero, code value will be used.
double dSpiralMax Spiral maximum spacing. User entered value. If set to zero, code value will be used.
double dSpiralMin Spiral minimum spacing. User entered value. If set to zero, code value will be used.
double dTiesMax Tie maximum spacing. User entered value. If set to zero, code value will be used.
double dTiesMin Tie minimum spacing. User entered value. If set to zero, code value will be used.
int nClearCover Reinforcement clear cover. 0 = use code, 1 = use user value
int nFlexMax Flexural reinforcement maximum spacing. 0 = use code, 1 = use user value
int nFlexMin Flexural reinforcement minimum spacing. 0 = use code, 1 = use user value
int nReinMax Flexural reinforcement ratio maximum limit. 0 = use code, 1 = use user value
int nReinMin Flexural reinforcement ratio minimum limit. 0 = use code, 1 = use user value
int nSpiralMax Spiral maximum spacing. 0 = use code, 1 = use user value
int nSpiralMin Spiral minimum spacing. 0 = use code, 1 = use user value
int nTiesMax Tie maximum spacing. 0 = use code, 1 = use user value
int nTiesMin Tie minimum spacing. 0 = use code, 1 = use user value

BEAM_INFO_AT_COLUMN
Information on beam framing into column
Type Variable Name Comments
double dBeamColumnAngle Angle in plan between beam and column relative to column major axis
double dVerticalSlopeAngle Angle in vertical plane - positive indicates that the far end of brace is above the column joint
EBeamSpanType eSpan Left, middle, right of span. When there is a cantilever there will be two entries in joint data
EDA_MEMBER_LOC eSupportEnd Left or right end
long lBeamID Beam’s Unique ID number
long lColumnFace 1-Major top, 2-minor right, 3-major bottom, 4-minor left
long lMajorMomFixed 0 = released, 1 = fixed
long lMinorMomFixed 0 = released, 1 = fixed
long lTorFixed 0 = released, 1 = fixed

BRACE_INFO_AT_COLUMN
Information on brace framing into column
Type Variable Name Comments
double dBraceColumnAngle Angle in plan between brace and column relative to column major axis
double dVerticalSlopeAngle Angle in vertical plane positive indicates that the far end of brace is above the column joint
EDA_MEMBER_LOC eBraceEnd Bottom, Top
long lBraceID Brace Unique ID number
long lColumnFace 1-Major top, 2-minor right, 3-major bottom, 4-minor left
long lMajorMomFixed 0 = released, 1 = fixed
long lMinorMomFixed 0 = released, 1 = fixed
long lTorFixed 0 = released, 1 = fixed

EDA_REIN_PLACE_SET
Bar set information
Type Variable Name Comments
double dAs_prv Provided area of reinforcement
double dAs_Req Required area of reinforcement
double dBarSpacing Reinforcement spacing provided
double dCapacity Capacity of provided rebar

EDA_SEG_SET_INFO
Bar set placement location information
Type Variable Name Comments
BOOL bEndSup TRUE = There is a support at end of segment
BOOL bStartSup TRUE = There is a support at start of segment
double dEndSeg End segment location
double dMaxVal Maximum value in segment
double dMinVal Minimum value in segment
double dStartSeg Start segment location

SAnalysisCaseInfo
Analysis case information. Each load case will generate one or more analysis cases.
Type Variable Name Comments
BOOL bAnalyzed True = The Analysis Case results are current. In some situations, an analysis case can be analyzed by
one module but not another.
BOOL bGenerated True = generated Analysis case. For positive, negative and Sum live load cases this would not be true.
BSTR bstrLabel Analysis load case label
ELoadCaseType eLoadType Load case type for this analysis load case
EAnalysisSubType eSubType Indicates the analysis sub type as positive, negative or sum
long lForcesAvail Load case produced member forces (0 for no, 1 for yes)
long lLoadCaseID Load Case UID that the analysis load case originated from
long lUniqueID Analysis Load Case UID.
SBAR_PATTERN
Bar Pattern definition
Type Variable Name Comments
BOOL bValid TRUE if both bars appear in the Rein_prop table and they are both selected
char cPatternLabel Bar pattern label
long lGroupNumber Reference back to the pattern group to which this pattern belongs
long lUniqueID Unique to each pattern – this id number is never reused.
SREIN_PROP rpLongBarReinProp Longitudinal reinforcement properties
SREIN_PROP rpTieBarReinProp Transverse reinforcement properties

SBM_BAR_SET
Bar Set information. A bar set is a set of reinforcement bars that all have the same properties and are located in the same place.
Note there may be more than one bar set in a given location for longitudinal bars.
Type Variable Name Comments
BOOL bSetPassed TRUE = bar set has passed design checks from start to end of bar set.
long eBarLayerLoc Cast to EBAR_PLACEMENT
long eBarPlacement Indicates if bar set is for top or bottom reinforcement . Cast to EBAR_PLACEMENT
long eEndCondition Cast to EBAR_END_CONDITION
long eStartCondition Cast to EBAR_END_CONDITION
float fAs_prv Provided area of steel
float fAs_Req Required area of steel
float fBarDepth Reinforcement bar effective depth
float fBarSpacing Reinforcement spacing provided
float fCapacity Capacity of provided reinforcement
float fDevelLength Bar development length
float fDevelLengthEnd Development length for end of bar set
float fDevelLengthStart Development length for start of bar set
float fEndLoc Same as fStartLoc
float fStartLoc
float fTrueBarDepth If value is different from dBarDepth then it is part of two layer set
long lMaxBarsInLayer Maximum number of bars in any layer if lNumLayersOrLegs = 2 and bar set is not transverse
long lNumBars Number of bars in bar set
long lNumLayersOrLegs Number of layers for multi layer reinforcement in beams Or number of shear legs if bar set is for transverse
reinforcement
long lReinIndexNum Reinforcement bar index number used to find bar properties. lReinIndexNum can be used to directly index
into the array that is returned by GetRebarTable_ConcBeam
long lSetID Bar set ID
SBM_BAR_SET_BSTR
Bar Set information string. A bar set is a set of reinforcement bars that all have the same properties and are located in the same
place. Note there may be more than one bar set in a given location for longitudinal bars.
Type Variable Name Comments
BSTR bstrBarLabel Bar set label
long lSetID Bar set ID

SBM_RES
Individual concrete beam span design results
Type Variable Name Comments
long eDeflectionResultsState State of deflection results
float fBarSpacingBotLong Bottom longitudinal bar spacing
float fBarSpacingSide Side reinforcement spacing (not used in v8.0.2 or 8.1)
float fBarSpacingTopLong Top longitudinal bar spacing
float fBarSpacingTrans Transverse bar spacing
float fBotReinRatio Bottom reinforcement ratio
float fBotReinRatioLoc Location where fBotReinRatio was calculated
float fClearCoverBottom Clear cover to bottom bars
float fClearCoverSide Clear cover to side bars
float fClearCoverTop Clear cover to top bars
float fDeflectionValueError Deflection value error
float fdShearCheckLocFromFace Location of shear check from face of support
float fTopReinRatio Top reinforcement ratio
float fTopReinRatioLoc Location where fTopReinRatio was calculated
float fTorsionCapPrv Provided torsional capacity
float fTorsionCapReq Required torsional capacity
float fTrueBarCoverBot Same as fTrueBarCoverTop for bottom bars
float fTrueBarCoverTop True bar cover to top reinforcement calculated from actual clear cover, transverse reinforcement ,
longitudinal top bar diameters and number of layers
long lBeamLineID Beam line ID
long lBeamUniqueID Unique Beam ID
float lBotLongBarSpacingError Design warning code associated with bottom bars spacing
long lBotReinRatioComboID Combo ID for max rein ratio
long lBotReinRatioError Similar to lTopReinRatioError for bottom bars
long lDeflectionErrror Deflection error code
long lFlexBarBotError Design warning code for bottom flexural reinforcement
long lFlexBarTopError Design warning code for top flexural reinforcement
long lSideLongBarSpacingError Design warning code for Side reinforcement spacing (not used in v8.0.2 or 8.1)
long lSpanIndex Order of this beam in beam line starting with 0 for first beam
long lStory Story where beam line is located
long lTopLongBarSpacingError Design warning code associated with top bars spacing
long lTopReinRatioComboID Combo ID for maximum reininforcement ratio
long lTopReinRatioError Design warning code associated with reinforcement ratio check
long lTorsionError Design warning code for torsional capacity check
long lTransBarError Design warning code associated with transverse bars
long lTransBarSpacingError Design warning code associated with transverse bars spacing
long lTrueBarCoverBotError Same as lTrueBarCoverTopError for bottom bars
long lTrueBarCoverTopError Design warning code for fTrueBarCoverTop verses actual user defined bar cover

SBM_RES_BSTR
Beam design message strings.
Type Variable Name Comments
BSTR bstrBotCoveMsg Bottom cover message
BSTR bstrBotLongBarSpacingMsg Bottom longitudinal bar spacing message
BSTR bstrBotReinRatioMsg Bottom reinforcement ratio message
BSTR bstrDeflectionMsg Deflection message
BSTR bstrDesignMark Design Mark
BSTR bstrFlexBarBotMsg Bottom flexural bar message
BSTR bstrFlexBarTopMsg Top flexural bar message
BSTR bstrSectionErrors Section error message
BSTR bstrSideLongBarSpacingMsg Side longitudinal bar spacing message
BSTR bstrTopCoverMsg Top Cover spacing message
BSTR bstrTopLongBarSpacingMsg Top longitudinal bar spacing message
BSTR bstrTopReinRatioMsg Top reinforcement ratio message
BSTR bstrTorsionMsg Torsion message
BSTR bstrTransBarMsg Transverse bar message
BSTR bstrTransBarSpacingMsg Transvers bar spacing message
long lBeamUniqueID Beam unique ID

SBML_RES
Concrete beam line design result which relate to all the beams in the beam line
Type Variable Name Comments
BOOL bLongBarCheckBot Similar to bTransBarCheck for longitudinal bottom reinforcement
BOOL bLongBarCheckTop Similar to bTransBarCheck for longitudinal top reinforcement
BOOL bReqFlxReinOnly TRUE = Only flexure required reinforcement data is available. There is no reinforcement avalable
BOOL bTransBarCheck TRUE = Transverse Reinforcement was checked but not optimized.
FALSE = Transverse Reinforcement was both optimized and checked
double dVersion Data version number only to be used by RAM
long eResultState Map to ERESULTS_STATE
long eUserSpecState EUSER_SPECIFIED_STATE - 0 = Not user defined, 1 = User defined/frozen design
long lBeamLineID Beam line number
long lNumCantilevers Number of cantilevers in span
long lNumSpans Total number of spans in beam line. Cantilever and back span are considered as one span
long lStory Story number starting with 0 for the first story

SCOL_PATRES
Concrete column bar pattern results
Type Variable Name Comments
BOOL bAmplifyMoments_Major TRUE if moments were amplified per ACI 10.12.3
BOOL bAmplifyMoments_Minor TRUE if moments were amplified per ACI 10.12.3
double dBarSpacingMaj Longitudinal Bar spacing parallel to major direction
double dBarSpacingMin Longitudinal Bar spacing parallel to minor direction
double dBetad_Major Beta d per ACI-318 99 10.12.3 in major direction
double dBetad_Minor Beta d per ACI-318 99 10.12.3 in minor direction
double dCapRatioMax Controlling Axial Load / Biaxial Moment Capacity ratio. When > 1.0 column is over stressed
double dCapRatioMnMaj Nominal moment capacity in major direction
double dCapRatioMnMin Nominal moment capacity in minor direction
double dCapRatioPhiDsn Capacity reduction factor used for max capacity
double dCapRatioPhiPn Nominal reduced axial load capacity
double dCapRatioReqAxial Required axial capacity for controlling combo
double dCapRatioReqMMajorBot Required Major moment at bottom capacity for controlling combo
double dCapRatioReqMMajorTop Required Major moment at top capacity for Controlling combo
double dCapRatioReqMMinorBot Required Minor moment at bottom capacity for controlling combo
double dCapRatioReqMMinorTop Required Minor moment at top axial capacity for controlling combo
double dClearCover Bar clear cover to transverse reinforcement
double dCm_Major Cm per ACI-318 99 10.12.3 in major direction
double dCm_Minor Cm per ACI-318 99 10.12.3 3 in minor direction
double dIg_Major Ig (gross mom inert) per ACI-318 99 10.12.3 in major direction
double dIg_Minor Ig (gross mom inert) per ACI-318 99 10.12.3 in minor direction
double dKlr_Major KL/r ratio for major axis bending
double dKlr_Minor KL/r ratio for minor axis bending
double dLamdaNS_Major LamdaNS per ACI-318 99 10.12.3 3 in major direction
double dLamdaNS_Minor LamdaNS per ACI-318 99 10.12.3 3 in minor direction
double dMaxTensionStressRatio Max bar tension stress ratio used for splice selection
double dPc_Major Pc per 10.12.3 ACI-318 99 10.12.3 in major direction
double dPc_Minor Pc per 10.12.3 ACI-318 99 10.12.3 in minor direction
double dPu_Major Factored Axial load for controlling slenderness case in major direction
double dPu_Minor Factored Axial load for controlling slenderness case in minor direction
double dReinRatio Pattern reinforcement ratio
double dReinRatioMax Max reinforcement ratio limit
double dReinRatioMin Min reinforcement ratio limit
double dSPBeamCapMinMajor Controlling minimum total nominal capacity of concrete beams framing into the major axis faces of
the column
double dSPBeamCapMinMinor Same as above for minor face
double dSPBMnBotMajorCCWDir Counter Clockwise Orientation
double dSPBMnBotMajorCWDir Clockwise Orientation
double dSPBMnBotMinorCCWDir Counter Clockwise Orientation
double dSPBMnBotMinorCWDir Clockwise Orientation
double dSPBMnTopMajorCCWDir Counter Clockwise Orientation
double dSPBMnTopMajorCWDir Clockwise Orientation
double dSPBMnTopMinorCCWDir Counter Clockwise Orientation
double dSPBMnTopMinorCWDir Clockwise Orientation
double dSPBMprBotMajorCCWDir Counter Clockwise Orientation
double dSPBMprBotMajorCWDir Clockwise Orientation
double dSPBMprBotMinorCCWDir Counter Clockwise Orientation
double dSPBMprBotMinorCWDir Clockwise Orientation
double dSPBMprTopMajorCCWDir Counter Clockwise Orientation
double dSPBMprTopMajorCWDir Clockwise Orientation
double dSPBMprTopMinorCCWDir Counter Clockwise Orientation
double dSPBMprTopMinorCWDir Clockwise Orientation
double dSPMnBottomMaj Nominal unfactored flexural capacity of column at bottom in major direction
double dSPMnBottomMin Nominal unfactored flexural capacity of column at bottom in minor direction
double dSPMnColAboveMaj Nominal Major bending capacity at bottom of column above
double dSPMnColAboveMin Nominal Minor bending capacity at bottom of column above
double dSPMnTopMaj Nominal unfactored flexural capacity of column at top in major direction
double dSPMnTopMin Nominal unfactored flexural capacity of column at top in minor direction
double dSPMprBottomMaj Probable unfactored flexural capacity of column bottom in major direction
double dSPMprBottomMin Probable unfactored flexural capacity of column bottom in minor direction
double dSPMprColAboveMaj Probable Major bending capacity at bottom of column above
double dSPMprColAboveMin Probable Minor bending capacity at bottom of column above
double dSPMprTopMaj Probable unfactored flexural capacity of column at top in major direction
double dSPMprTopMin Probable unfactored flexural capacity of column top in minor direction
double dSPVSeismicMaj Calculated minimum shear capacity of column for special provisions
double dSPVSeismicMin Calculated minimum shear capacity of column for special provisions
double dTorsionPhi Torsion capacity reduction factor
double dTorsionPrvCap Torsional provided section capacity
double dTorsionReqCap Torsional required capacity
EDA_COL_COMBO_LOC eCapRatioComboLoc Location along column where dCapRatioMax was calculated
EDA_CONC_CODE eDsnCode Concrete design code used – ACI318_99
ECONC_FRAME_TYPE eFrameType Design frame type
long eSlenderClass_Major Slender class if it must be considered (eSlenderType) slender in major axis
long eSlenderClass_Minor Slender class if it must be considered (eSlenderType) slender in minor axis
long lBarPatternID Bar Pattern Unique ID
long lBarSpacingError Bar spacing error code
long lCapRatioComboID Load combination ID producing dCapRatioMax
long lCapRatioError Design warnings code encountered in capacity ratio calculation
long lCapRatioPatternID Column pattern loading producing dCapRatioMax
long lColumnID Column’s Unique ID
long lComboID_Major Load combo index for controlling slenderness case in major direction
long lComboID_Minor Load combo index for controlling slenderness case in major direction
long lErrorColumnVBeamMajor Design warning codes for Column v. Beam capacity check
long lErrorColumnVBeamMinor Design warning codes for Column v. Beam capacity check
long lNumShearSegments Number of transverse reinforcement bar sets SCOL_TRANSRES
long lPatternDsnID Bar pattern design ID
long lReinRatioMaxComboID ID of load combination producing dReinRatioMax
long lReinRatioMaxError Design warnings encountered in max reinforcement ratio limit check
long lReinRatioMaxPatternID Column pattern loading producing dReinRatioMax
long lReinRatioMinComboID ID of load combination producing dReinRatioMin
long lReinRatioMinError Design warnings encountered in min reinforcement ratio limit check
long lReinRatioMinPatternID Column pattern loading producing dReinRatioMin
long lShearLegsParalellMaj Number of shear legs parallel to major axis
long lShearLegsParalellMin Number of shear legs parallel to minor axis
long lSlenderness_klrError Design warning code associated with the KL/r check
long lSlenderness_PuPcError Design warning code associated with the Pu/Pc ratio check
long lSPSurfaceID Interaction surface used for special provisions
long lSurfaceID Interaction surface Unique ID
long lTorsionComboID Load combination producing dTorsionReqCap
long lTorsionError Design warnings related to Torsional capacity check
long lTorsionPatternID Column pattern loading producing dTorsionReqCap

SCOL_PATRES_BSTR
Type Variable Name Comments
bstr bstrBarSpacingMsg Bar spacing design warning
bstr bstrCapRatioMsg Capacity ratio design warning
bstr bstrErrorColumnVBeamMajor Error strings for Column v. Beam capacity check in column major direction
bstr bstrErrorColumnVBeamMinor Error strings for Column v. Beam capacity check in column minor direction
bstr bstrReinRatioMaxMsg Reinforcement ratio max limit design warning
bstr bstrReinRatioMinMsg Reinforcement ratio min limit design warning
bstr bstrSlenderness_ klrErrorMsg Slenderness kl/r check design warning
bstr bstrSlenderness_PuPcErrorMsg Slenderness Pu/Pc check design warning
bstr bstrSurfaceFile Name of file containing interaction surface diagrams
bstr bstrTorsionMsg Torsion capacity check design warning
long lColumnID Column’s Unique ID
long lPatternDsnID Bar pattern design ID
SCOL_RES
Concrete column result basic information
Type Variable Name Comments
double dConcElasticMod Concrete modulus of elasticity
long eCode Maps to CODE. if eCode == NoCodeDefined, there is no final design
long eResultState Maps to ERESULTS_STATE
long eUserSpecState EUSER_SPECIFIED_STATE - 0 = Not user defined, 1 = User defined/frozen design
long lColumnID Column’s Unique ID
long lNumPatterns Indicates number of bar pattern results (SCOL_PATRES) available for column

SCOL_TRANSRES
Type Variable Name Comments
BOOL bShearBarControlDirMaj TRUE = design controlled by major direction shear, FALSE = controlled by minor direction
shear
double dShearConcCapMaj Major direction concrete capacity
double dShearConcCapMin Minor direction concrete capacity
double dShearPhiReducFactor Shear capacity reduction factor
double dShearReqCapMaj Major direction shear forces
double dShearReqCapMin Minor direction shear forces
double dShearStlCapMaj Major direction shear reinforcement capacity
double dShearStlCapMin Minor direction shear reinforcement capacity
long eTransBarType Type of transverse reinforcing
long lColumnID Column’s Unique ID
long lCombo Load combo used to design this segment
long lPattern Column pattern loading used to design this segment
long lPatternDsnID Bar pattern design ID
long lSegNumber This bar pattern’s segment number in column
long lShearError Shear check design warning
EDA_REIN_PLACE_SET ReinPlaceSet Reinforcement placement info.
EDA_SEG_SET_INFO SegSetInfo Segment set information

SCOL_TRANSRES_BSTR
Type Variable Name Comments
BSTR bstrShearMsg Shear check design warnings.
long lColumnID Column’s Unique ID
long lPatternDsnID Bar pattern design ID
long lSegNumber This bar pattern’s segment number in column
SComboParams_DA
Code specific input parameters used in load combination generator.
Type Variable Name Comments
BOOL bCheckBoxArray These are the settings for control 3 – the table of check box values. There can be up to 9 check boxes.
BOOL bLCaseSpcSetting This is used with control 4. A value of TRUE indicates that load case specific values are available.
BOOL bUseOnly This is used with control 4. A value of TRUE disables the “Use Code” option.
float fLCaseSpc1 For Control 4. This is the first load case specific value.
float fLCaseSpc2 For Control 4. This is the second load case specific value.
float fValues These are the values associated with control 1 in the load combo generator. There can be up to 10 control 1 values.
int nComboBox5Index This is the setting for control 5 – the drop down combo box for code for combinations
int nComboBoxIndex This is the setting for control 2 – the drop down combo box for template
int nNumVarsFor2 Number of entries for control 2
int nNumVarsFor5 Number of entries for control 5

SConcScheduleMark
Concrete beam or column schedule mark for a member. Only available after the DXF schedule for the member type has be
generated
Type Variable Name Comments
BSTR bstrScheduleMark Concrete Schedule mark
BSTR bstrScheduleMarkPrevious Concrete Schedule previous mark
EDXFMarkAssignedBy eMarkChangedBy Mark assigned by
long lMemberID Member unique ID
long lTime Time stamp of when mark was assigned.
The time is the number of seconds after January 1, 1970 UTC.
In C++ projects use CTime
long lTimePrevious Time stamp of when previous mark was assigned.
The time is the number of seconds after January 1, 1970 UTC.
In C++ projects use CTime

SCoordinate
Concrete beam or column schedule mark for a member. Only available after the DXF schedule for the member type has be
generated
Type Variable Name Comments
double dXLoc X coordinate
double dYLoc Y coordinate
double dZLoc Z coordinate
SDeckProp
Composite one way steel deck properties
Type Variable Name Comments
BOOL bShoredConstruction Shored Construction TRUE = shored
BSTR bstrDeckLabel Label user provided for this individual Deck Property
double dAngle This is the deck orientation angle. It is only filled if SSlabProp is filled using the DeckSlab polygon
UID. Otherwise it will be set to -1 to indicate that the value is unknown.
double dAreaOfConcInRibPerUnitLength Area Of Conc In Rib Per Unit Length for ASD design only
double dAvgConcRibWidth Average Concrete Rib Width
double dConcStressCap Concrete Stress Capacity
double dConcThickAboveFlute Conc Thickness Above Flute/rib
double dDistBotDeckToConcCentroid Dist Bot Deck To Conc Centroid for ASD design only
double dNominalRibHeight Nominal Rib Height
double dRibSpacing Rib Spacing
double dSelfWeight Steel deck self weight (units pcf)
double dStudDiameter Stud Diameter
double dStudLength Stud Length
double dStudStressCapacity Stud Stress Capacity
double dUnitWeight Deck system self weight (units psf)
long lCounter Number of times where property is assigned
long lDeckType Deck Table Index
long lFibreType Fibre Type
long lUniqueID Property Unique ID
int nFibreType Fibre Type

SDIAGRAM
Analysis or design information used to generate a diagram. This data is similar to an envelope but only holds one value at a
location and not a max and min range of values. For example it can be used to define a moment, shear or deflection diagram.
Type Variable Name Comments
float fLocation Distance or location along member for values below
float fValue Value at fLocation
long lValueLC Load combination number (or other) that produced fValue. -1 indicates that load combo index number is not available.
SENVELOPE
Analysis and design data that is represented as a maximum and minimum envelope. This data is usually in an array of SEnvelope
structures which would represent the data along the member’s length.
Type Variable Name Comments
float fLocation Distance or location along member for values below
float fMax Max. value at fLocation
float fMin Min. value at fLocation
long lMaxLC Load combination number that produced fMax. -1 indicates that load combo index number is not available.
long lMinLC Load combination number that produced fMin. -1 indicates that load combo index number is not available.

SFND_CONT_REINF
Continuous foundation reinforcement information.
Type Variable Name Comments
double m_dSecReinDepthBotX Depth to the bottom bars in the X direction
double m_dSecReinDepthBotY Depth to the bottom bars in the Y direction
double m_dSecReinDepthTopX Depth to the top bars in the X direction
double m_dSecReinDepthTopY Depth to the top bars in the Y direction
SFND_DATA
Foundation information for spread and continuous foundations
Type Variable Name Comments
BOOL bDesignDimensions TRUE = dimensions returned are from the design results
BOOL bUserDefined TRUE = the footing is user defined
double dAngle angle of the footing w.r.t the global axis
double dBottom distance from bottom edge of fnd to last supported member
double dLeft distance from left edge of fnd to center line
double dLength length of footing. For spreads, this is top + bottom
double dRight distance from right edge of fnd to center line
double dThick thickness of the footing
double dTop distance from top edge of fnd to first supported member
double dX1 Foundation location in plan
double dX2 Foundation location in plan
double dY1 Foundation location in plan
double dY2 Foundation location in plan
double dZ z location of fnd in the global axis
EMATERIALTYPES eMaterial Material type
long lLabel Footing Number as displayed in RAM Foundation

SFND_ISO_REINF
Isolated foundation reinforcement information.
Type Variable Name Comments
BOOL bSetResistsTension Flag for resists tension
double dAs_prv Provided area of steel
double dAs_Req Required are of steel
double dBarSpacing Bar spacing
double dCapacity Capacity
double dLength Length
long lMaxBarsInLayer Maximum number of bars in a layer
long lNumBars Number of bars
long lNumLayersOrLegs Number of layers or shear legs
long lReinIndexNum Reinforcing index number
SFND_REINF_OTHER_DATA
Isolated foundation reinforcement information.
Type Variable Name Comments
BOOL bHooked 1 if bars are hooked, 0 if not
double dCoverBottom Bar cover to bottom concrete face
double dCoverSide Bar cover to side concrete face
double dCoverTop bar cover to top concrete face

SForce
Internal member forces and moments. See IForces1 for sign convention
Type Variable Name Comments
double dLocation Location
double dMx_maj Moment induced by a shearing force dVx_maj
double dMy_min Moment induced by a shearing force dVy_min
double dMz_Torsion Torsion
double dVx_maj Shear parallel to member major direction
double dVy_min Shear parallel to member minor direction
double dVz_Axial Axial force where Compression is positive
long lAnalysisCaseID Analysis load case UID for this member forc results

SForce3D
3D force location
Type Variable Name Comments
double dX X coordinate
double dY Y coordinate
double dZ Z coordinate

SFoundationMatInfo
Mat foundation information
Type Variable Name Comments
double dTopOfSlabOffset Mat foundation datum from base of story
SGridLineInfo
Grid line information
Type Variable Name Comments
BOOL bExtMax TRUE = Limit grid line to maximum extent
BOOL bExtMin TRUE = Limit grid line to minimum extent
BOOL bLabelI TRUE = Add label at start of grid line
BOOL bLabelJ TRUE = Add label at end of grid line
BOOL bSnapTo TRUE = A snap point is provided for this grid if it intersects another grid with bSnapTo also set to true
BSTR bstrLabel Grid Label
double dCoordinate Grid location from the grid system origin
double dExtMax Grid line maximum value
double dExtMin Grid line minimum value
long lID Grid index number

SLoad
A single load associated with a load case. The units are based on the type of load. Point loads are in kips, line loads in kip/in
and surface loads in kip/in2
Type Variable Name Comments
double dMx Rotational force about the global X axis (Right hand rule for positive direction on all moments)
double dMy Rotational force about the global Y axis
double dMz Rotational force about the global Z axis
double dP Downward acting force (positive loads are downward)
double dVx Force parallel to global X axis (positive in global X direction)
double dVy Force parallel to global Y axis (positive in global Y direction)
long lLoadCaseID Load case UID for this load

SLoadCase_CmbGen_DA
Load case information for generated load combinations
Type Variable Name Comments
BOOL bUseFlag Flag indicating if this case has been selected for use in combination generation
unsigned char cLabel String label that identifies the load case. This label CANNOT be used to uniquely identify a load case.
unsigned char cSymbol Symbol used to represent this load case in the load combinations (D, Lp, W1, W2, E1, E2…). This symbol
uniquely identifies the load case.
unsigned char cTmpleCaseCode Symbol used to represent this category of load case in the template file (D, Lp, W, E…)
unsigned char cType String that indicates the type of load.
float fLCaseSpecific Used for “Use Calculated” for Rho for appropriate codes
float fLCaseSpecificX Parameter applied to load in the X direction as indicated by the combo generator
float fLCaseSpecificY Parameter applied to load in the Y direction as indicated by the combo generator
float fLoadCaseAngle Angle that resultant force acts on the structure w.r.t the global axes.
int nAnalyzeNo Index into the member forces array. If this is -1 it means that the load case is not analyzed and therefore does
not have member forces associated with it.
int nDirOfLoadInX Direction indicator 0 = no load in X, 1 = pos X, -1 = Neg X
int nDirOfLoadInY Direction indicator 0 = no load in Y, 1 = pos Y, -1 = Neg Y
int nLCaseIndex Load Case index

SLoadCaseInfo
Load case properties
Type Variable Name Comments
BOOL bGenerated True = generated load case
BSTR bstrLabel Load case string label
EFRAMETYPE eFrameType EFRAMETYPE Load case to be used on lateral, gravity or either frame type
ELoadCaseType eLoadType Load Case type
long lUniqueID Load Case UID.

SLoadCombos_CmbGen_DA
Generated load combination data
Type Variable Name Comments
BOOL bTensionOnly Currently not used
BOOL bUseFlag Flag that indicates if this load combo is to be used.
unsigned char cComboIncludes String of symbols separated by commas. This can be used to quickly see which cases are included in a
combination.
unsigned char cComboString String representation of the load combination
float Factors Array of up to 5 factors
int LoadCase array of up to 5 load case indices. The load case from this array combines with the factor in the Factors array
to create a load combo term.
int nComboNum Load combo number
int nStatus 0 = Unavailable, 1 = Available
int NumTerms Number of terms in the load combination

SNodalLoadData
Nodal load information
Type Variable Name Comments
BSTR bstrLabel Label user provided for this individual nodal load
double dFx Nodal Force in the global X directions
double dFy Nodal Force in the global Y directions
double dFz Nodal Force in the global Z directions
double dX The x coordinate of the nodal load
double dY The y coordinate of the nodal load
double dZ The z coordinate of the nodal load

SREIN_PROP
Concrete Reinforcement bar properties
Type Variable Name Comments
BOOL bFlex TRUE = Bar used for flexure
BOOL bShear TRUE = Bar used for shear/torsion
char cLabel Reinforcement bar label
double dArea Bar nominal area
double dDiameter Bar nominal diameter

SSECTIONS
Concrete Section properties
Type Variable Name Comments
char achPanLabelLeft Pan joist label used to create left side of section
char achPanLabelRight Pan joist label used to create right side of section
float Area Section area. (Value is not defined for T’s with missing flange dimensions and all pan joists)
BOOL bUseFlangeThick TRUE = user defined Flange Thickness, FALSE = use calculated Flange Thickness based on member location and
connectivity in model
BOOL bUseWidth TRUE = user defined Width(s), FALSE = use calculated flange width based on member location and connectivity in
model. This is true for all Rectangular and circular section. It is false for all pan joists and T sections where the user has
not explicitly defined the flange overhangs.
int Counter Counter indicates how many members are using this section.
float Depth Depth of rectangular section, Total depth of T section, do not use this value if the section is a Pan section
double dPanDepth Web depth from bottom of flange to bottom of web.
float fCrackedAxialFactor Cracked section factor used to reduce area
float fCrackedFlexureFactor Cracked section factor used to reduce flexural moment of inertia values
float fCrackedTorsionFactor Cracked section factor used to reduce torsional moment of inertia values
float FlangeThickness Flange thickness for T sections where flange is defined
float fRightOH Right Overhang, used only for Beam T-Sections where the user has defined the flange overhangs.
float Ix Major axis bending moment of inertia (Value is not defined for T’s with missing flange dimensions and all pan joists)
float Iy Minor axis bending moment of inertia (Value is not always defined)
float J Torsional constant of section. (Value is not defined for T’s with missing flange dimensions and all pan joists)
long lUniqueID Section property unique ID
float SAx Major axis effective shear area (Value is not defined for T’s with missing flange dimensions and all pan joists)
float SAy Minor axis effective shear area (Value is not defined for T’s with missing flange dimensions and all pan joists)
char SectionName Section label. Can be a total of 15 characters
int Shape Variable maps to ECONC_OTHER_SEC
float WebThickness Web thickness for T sections
float Width Width of rectangular section, Diameter of circular section, Left overhang if T Section

SSlabProp
Concrete slab properties assigned to elevated floors and mat foundations
Type Variable Name Comments
BSTR bstrLabel Label user provided for this individual Slab Property
double dAngle Deck angle for one way deck span
double dOffsetFromTOS Slab offset from story or mat foundation top of slab
double dSelfWeight Slab self wight in lb/sf
double dThickness Slab thickness
long lUniqueID Slab Property unique ID
int nCounter Number of times where property is assigned
Common Enumerator Definitions

COMBO_MATERIAL_TYPE

Type of load combination.

Value Description
ANALYSIS_CUSTOM RAM Frame custom combos
CONC_SHEAR_WALL_CUSTOM RAM Concrete Shear Wall custom combos
CONC_SHEAR_WALL_GEN RAM Concrete Shear Wall generated combos
FND_CONCRETE RAM Foundation generated concrete combos
FND_CUSTOM_CONC RAM Foundation custom concrete combos
FND_CUSTOM_SOIL RAM Foundation custom soil combos
FND_SOIL RAM Foundation generated soil combos
NONE_DEFINED No combinations defined
RAM_CONCRETE RAM Concrete generated combos
RAM_CONCRETE_CUSTOM RAM Concrete custom combos
STEEL_CUSTOM RAM Frame Steel custom combos
STEEL_GRAV RAM Steel gravity load combinations.
STEEL_SPEC RAM Frame Steel Special provisions generated combos
STEEL_SPEC_CUSTOM RAM Frame Steel Special provisions custom combos
STEEL_STAND RAM Frame Steel Standard provisions generated combos

E_BARLAYERS_OPTION
Bar layers option for concrete members.

Value Description
BarLayers1Only Use only one layer of bars
BarLayers2Allowed Allow up to 2 layers of bars
BarLayersUseDefault Use global default for number of layers of bars

E_BARSIZE_OPTION
Bar size option for concrete members.

Value Description
BarSizeUseDefault Use global default for bar size
BarSizeUseDefined Use assigned bar size

E_COVER_OPTION
Clear cover option for concrete members.

Value Description
CoverUseDefault Use global default for clear cover
CoverUserDefined Use user defined clear cover

E_GAP_OPTION
Gap option for space between longitudinal bar layers

Value Description
GapUseDefault Definition
GapUserDefined Definition

E_LINKSPC_OPTION
Link spacing option for Chinese concrete members.

Value Description
LinkSpacingUseDefault Use global default for link spacing
LinkSpacingUserDefined Use user defined link spacing

E_SHEARLEGS_OPTION
Shear legs option for concrete members.

Value Description
ShearLegsUseDefault Use global default for number of shear legs
ShearLegsUserDefined Use user defined number of shear legs

E_STIRRUPS_OPTION
Stirrup option for concrete members.
Value Description
Stirrups135Hook Design with 135 Hook stirrups
StirrupsClose Design with Closed stirrups
StirrupsHoop Design with Hoop stirrups
StirrupsOpen Design with Open stirrups
StirrupsUseDefault Use global default

EAggregateType
Concrete aggregate type.

Value Description
eConcAggLWC Light weight concrete
eConcAggNWC Normal weight concrete
eConcAggOther Normal weight concrete

EAnalysisResultType
Module analysis results to be used for member internal forces.

Value Description
DefaultResultType Results taken from most appropriate source based on member’s framing and material type.
OtherResultType (not yet implemented)
RAMConceptResultType Results from RAM Concept Analysis (not yet implemented)
RAMConcreteResultType Results from RAM Concrete Analysis
RAMFoundationResultType Results from RAM Foundation Analysis (not yet implemented)
RAMFrameResultType Results from RAM Frame Analysis
RAMGravityResultType Results from RAM Steel Analysis

EAnalysisSubType
The load case sub type.

Value Description
AnalysisSum Sum case
Negative Negative case
NoSubType No sub type
Positive Positive case
EAnalyzeFlag
Indicates if the corresponding member is to be optimized by RAM Structural System, or simply analyzed

Value Description
eAnalyze Design will be analyzed
eOptimize Design will be optimized
eOptimizeStuds Size will be analyzed, studs will be optimized (used only for beams)

EAxis
Used to indicate axis.

Value Description
EMajorAxis Specifies the major axis
EMinorAxis Specifies the minor axis

EBarEndCondition
Reinforcement bar end condition or shape. Note this enum is not defined in DA it will need to be defined manually by user.

Value Description
eBarEndClosed Closed stirrup
eBarEndContinuous Continuous
eBarEndHook135 135 Deg. hook
eBarEndHook90 90 Deg. hook
eBarEndHoop Seismic Hoop Stirrup
eBarEndLapSpliced Lap spliced bar
eBarEndMechanical Mechanical connector
eBarEndStraight Straight
eBarEndU U Stirrup

EBeamConnectionType
Type of connection at the end of the beam in RAM Frame.

Value Description
eBCTCustom Custom connection stiffness settings
eBCTNone No connection assigned
eBCTRBS Reduced beam section
eBCTSidePlate SidePlate connection
eBCTSpring Spring connection

EBeamCoordLoc
Coordinate locations for the beam.

Value Description
eBeamEnds End location of the beam. Tip of cantilever if one exists. Otherwise
the end is the support location.
eBeamSupports Support location of the beam.

EBeamFilter
Filter the for the collection of beams

Value Description
eBeamFilter_BeamLineNo Concrete beam line number
eBeamFilter_FrameType EFRAMETYPE
eBeamFilter_Material EMATERIALTYPES
eBeamFilter_NoFilter Remove previous filters

EBeamSpan
Beam condition at a face of a column

Value Description
eBackspanBeam Backspan of beam at column face
eCantileverBeam Cantilevered beam at column face
eNoBeam No beam at column face
eStubCantileverBeam Stub cantilever at column face

EBeamSpanType
Defines Part of beam span type.

Value Description
eLeftCantl Left cantilever of beam
eMidSpan Beam mid span
eNoSpanDefined No span part defined – An error could have been encountered
eRightCantl Right cantilever of beam

EBoundaryFlags
How the zone is to be handled in respect to concrete shear wall boundary element design.

Value Description
EBFMaybe No boundary but check
EBFNo No boundary and do not check
EBFYes Check boundary

EBuildingCode
List of building codes that can be used during design.

Value Description
eCodeAustralia
eCodeBOCA BOCA
eCodeBritish BS 6399
eCodeCanada NBC of Canada
eCodeChina GB 50009
eCodeEurocode Eurocode
eCodeHongKong HongKong
eCodeIBC_Alternate IBC Roof Live Load Reduction Alternate
eCodeIBC_General IBC Roof Live Load Reduction General
eCodeSBC SBC
eCodeUBC_Method1 UBC Roof Live Load Reduction Method 1
eCodeUBC_Method2 UBC Roof Live Load Reduction Method 2

ECANImportanceCategory
Importance Category for Live Load Reduction when NBC of Canada is selected as the Live Load Reduction code in the list of building
codes that can be used during design.

Value Description
eCANHigh High
eCANLow Low
eCANNormal Normal
eCANPostDisaster Post-Disaster
EColSkipPat
Column skip patterns in the concrete analysis.

Value Description
eMaxMxNeg Maximum strong axis negative moment
eMaxMxPos Maximum strong axis positive moment
eMaxMyNeg Maximum weak axis negative moment
eMaxMyPos Maximum weak axis positive moment

EColumnFilter
Filter for the collection of columns.

Value Description
eColFilter_ColStack Column stack
eColFilter_FrameType EFRAMETYPE
eColFilter_Material EMATERIALTYPES
eColFilter_NoFilter Remove previous filters

ECombinationSourceType
Indicates whether the combination is custom or generated.

Value Description
eCustomCombo Custom or user-defined load combination
eCustomInternal Interanally defined custom load combination
eGeneratedCombo Generated load combination
eGeneratedInternal Internally defined generated combination

ECOMBOTYPES
Enumerates the RAM Frame combination types.

Value Description
EFrameAnalysisCustomCombos Custom combos in Analysis Load Combinations mode
EFrameSteelSeismicCustomCombos Custom combos in Steel Seismic mode
EFrameSteelSeismicGenCombos Generated combos in Steel Seismic mode
EFrameSteelStdCustomCombos Custom combos in Steel Standard mode
EFrameSteelStdGenCombos Generated combos in Steel Standard mode

ECompDeckPropsFilter
Filter by composite deck properties.

Value Description
eCDPFilter_DeckType Composite deck
eCDPFilter_NoFilter Removes previous filters

ECompoundLoadCaseState
Indicates what the compound state of the load case.

Value Description
eCompoundLoadCase Compound load case
eMergedLoadCase Merged load case
ePrimaryLoadCase Load cannot be broken down into sub loads

ECONC_FRAME_TYPE
Concrete lateral frame type.

Value Description
ConcFrameType_Intermediate Intermediate moment frame design
ConcFrameType_Ordinary Ordinary moment frame design
ConcFrameType_Special Special moment frame design

ECONC_OTHER_SEC
Concrete and ‘Other’ section shapes.

Value Description
ECircle Circular section
ENone No section
EOther Other type not defined
EPanJoist Pan joist section (calculated by RAM Structural System)
ERect Rectangular section
ET Tee section

EConceptConcSkipCase
Skip load cases from RAM Concept.

Value Description
eCCSkipFull Full loading
eCCSkipMaxMomMajor Maximum major moment
eCCSkipMaxMomMinor Maximum minor moment
eCCSkipMinMomMajor Minimum major moment
eCCSkipMinMomMinor Minimum minor moment

EConcSectPropsFilter
Concrete section property filter.

Value Description
eCSPFilter_MemType EUniqueMemberTypeID (beam, column, vertical brace)
eCSPFilter_NoFilter Remove previous filters
eCSPFilter_Shape ECONC_OTHER_SEC

ECoreBraceType
CoreBrace connection type.

Value Description
eCoreBraceTypeBoltedLug Bolted Lug
eCoreBraceTypeCustom Custom
eCoreBraceTypePinned Pinned
eCoreBraceTypeSplicePlate Splice Plate
eCoreBraceTypeUnkown Unkown
eCoreBraceTypeWelded Welded

ECptCksumStatusBits
Concept integration options for the story.

Value Description
eCCSDirectGravLoads Direct gravity loads options
eCCSStructAboveStory Structure above story options
eCCSStructOnStory Structure on story options
eCCSTransferGravLoads Transfer gravity loads options
eCCSTransferlatLoads Transfer lateral loads options

ECptStyTimeStampType
Concept integration time stamp options.

Value Description
eTSConceptMajorRead Major read from Concept
eTSConceptMinorRead Minor read from Concept
eTSConceptWrite Write to Concept
eTSMajorChange1 Major change
eTSMinorChange1 Minor change

EDA_COL_COMBO_LOC
Column evaluated combination results location along column length.

Value Description
COMBO_AT_BOTTOM Combo value at bottom of column
COMBO_AT_END Combo value at end of beam
COMBO_AT_SPAN Combo value along column span
COMBO_AT_START Combo value at start of beam
COMBO_AT_TOP Combo value at top of column

EDA_CONC_CODE
Concrete design code.

Value Description
eACI318_02 ACI 318-02
eACI318_05 ACI 318-05
eACI318_08 ACI 318-08
eACI318_11 ACI 318-11
eACI318_95 ACI 318-95
eACI318_99 ACI 318-99
eAS3600 AS3600-01
eAS3600_09 AS3600-09
eBS8110_97 BS 8110-97
eCanadian Canadian
eCP_65 CP 65
eEuroCode Eurocode
eGB50010 GB 500010
eNoCodeDefined No code selected

EDA_MEMBER_LOC
Location relative to a member. Some locations are not relevant to all members.

Value Description
eBottom Bottom of column or brace
eBottomEnd Bottom end of wall
eBottomStart Bottom start of wall
eEnd End of member
eEndSupportCantilever Cantiliver end reaction at end support
eEndSupportMidSpan Mid span reaction at end support
eStart Start of member
eStartSupportCantilever Cantiliver end reaction at start support
eStartSupportMidSpan Mid span reaction at start support
eTop Top of column or brace
eTopEnd Top end of wall
eTopStart Top start of wall

EDBFieldType
Data types.

Value Description
E_DB_FIELD_BOOL Boolean
E_DB_FIELD_DATE Date
E_DB_FIELD_DOUBLE Double
E_DB_FIELD_LONG Long
E_DB_FIELD_STRING String

EDBRelationRule
Relation rule.
Value Description
E_DB_RELATION_CASCADE Cascade
E_DB_RELATION_DEFUALT Default
E_DB_RELATION_NONE None
E_DB_RELATION_NULL Null

EDeckFilter
Filter by deck property.

Value Description
eDeckFilter_NoFilter Remove previous filters
eDeckFilter_Type EDeckType

EDeckType
Type of deck.

Value Description
eDeckType_Composite Composite Deck
eDeckType_Concrete Concrete Slab
eDeckType_NonComposite Non-composite Deck

EDefaultOrAlternate
Whether the default table directory is used (Tables) or the alternate directory is used (Working)

Value Description
eAlternate1 Use alternate 1 directory
eDefault Use default directory

EDiaphragm
Type of diaphragm.

Value Description
eNoDiaphragm No diaphragm
eRigidDiaphragm Rigid diaphragm
EDiaphragmDeckDirTypes
Type of decks contained in diaphragm.

Value Description
eDDDirTypeOneAndTwoWay Diaphragm contains one way and two way decks
eDDDirTypeOnlyOneWay Diaphragm only has one way decks
eDDDirTypeOnlyTwoWay Diaphragm only has two way decks
eDDDirTypeUndefined Diaphragm has undefined deck type

EDiaphragmSource
Source of diaphragm information

Value Description
eDSFrameAnalysis Diaphragm information comes from RAM Frame
eDSModelData Diaphragm information comes from model geometry

EDRAWINGCOLOR
Color that a member type is displayed in.

Value Description
eConcBraceColor Concrete brace
eConcGravBeamColor Concrete gravity beam
eConcGravColColor Concrete gravity column
eConcGravWallColor Concrete gravity wall
eConcJoistBeamColor Concrete joist beam
eConcLatBeamColor Concrete lateral beam
eConcLatColColor Concrete lateral column
eConcLatWallColor Concrete lateral wall
eDeckColor Deck
eDiagramsColor Diagram
eFoundationColorColor Foundation
eGridLabelColor Grid label
eGridLineColor Grid line
eJoistColor Steel Joist
eLoadsColor Loads
eOtherBraceColor Other brace
eOtherGravBeamColor Other gravity beam
eOtherGravColColor Other gravity column
eOtherGravWallColor Other gravity wall
eOtherLatBeamColor Other lateral beam
eOtherLatColColor Other lateral column
eOtherLatWallColor Other lateral wall
eSlabEdgeColor Slab edge
eSlabOpenColor Slab opening
eSmartbeamColor Smartbeam
eSteelBraceColor Steel brace
eSteelGravBeamColor Steel gravity beam
eSteelGravColColor Steel gravity column
eSteelLatBeamColor Steel lateral beam
eSteelLatColColor Steel lateral column
eTextColor Text
eWebOpeningColor Web opening
eWestokCELLBEAMColor Westok cellular beam

EDXFMarkAssignedBy
Member DXF schedule mark assigned by category.

Value Description
DXFMarkGenRAMSS Mark generated by RAM SS
DXFMarkother Mark assigend by other
DXFMarkUser Mark assigned by user

EEdge
Edges of a wall.

Value Description
eTopEdge Top edge of wall
eBottomEdge Bottom edge of wall

EFieldType
Data type for field.

Value Description
eFTBool Define
eFTDouble Define
eFTLong Define
eFTString Define

EFloorTypeElements
Various elements modeled on a floor type.

Value Description
eFTEAll Combination of all of the above (except eFTENone).
eFTEBeamsJoists Beams and joists
eFTEColumns Columns
eFTEDecks Decks
eFTEGrids Grids.
eFTELoads Loads
eFTENone None: do not use
eFTEWalls Walls

EFloorTypeFilter
Filter for floor type.

Value Description
eFTFilter_NoFilter Remove previous filters
eFTFilter_UsedInStory Filter for floor type used in story

EFndReinfLoc
Foundation reinforcement locations.

Value Description
eFRLLengthBottom Bottom Length
eFRLLengthTop Top Length
eFRLSide Side
eFRLWidthBottom Bottom Width
eFRLWidthTop Top Width

EFrameMemberForceSource
Concrete frame members gravity force source.
Value Description
eFMFSFrameAnalysis Gravity forces come from Frame analysis
eFMFSGravityAnalysis Gravity forces come from Concrete analysis

EFRAMETYPE
Frame type.

Value Description
MemberIsEither Either type (cannot be used for assigning to a member)
MemberIsGravity Gravity member
MemberIsLateral Lateral member
MemberIsNone Neither assigned (do not use)

EGRAVLOADTYPE
Gravity live load type.

Value Description
EFloorLoad Reducible live load
ENonRedLoad Non-reducible live load
ERoofLoad Roof live load
EStorageLoad Storage live load

EGRAVPTLOADSOURCE
Source of point load on member.

Value Description
EPtLoadFrameColTransferThruOneWaySlab Frame column transfer through one way deck
EPtLoadFromFrameBeamReact Point load from frame beam reaction
EPtLoadFromFrameColReact Point load from frame column reaction
EPtLoadFromGravBmReact Point load from gravity beam reaction
EPtLoadFromGravColReact Point load from gravity column reaction
EPtLoadGravColTransferThruOneWaySlab Gravity column transfer through one way deck
EPtLoadPassedThruFrameWall Pt load passed down through a frame wall
EPtLoadPassedThruGravWall Pt load was passed down through a gravity wall
EPtLoadSourceUndefined Unknown source for point load
EPtLoadSSGhostBeamGeneratedInRG Point load from ghost beam generated in RAM Gravity
EPtLoadUserApplied User applied point load

EGridAxis
Type of grid.

Value Description
eGridXorRadialAxis X grid if in orthogonal grid system; Radial grid if in radial grid system
eGridYorCircularAxis Y grid if in orthogonal grid system; Circular grid if in radial grid system

EGridFilter
Grid filter.

Value Description
eGFilter_GridAxis EGridAxis
eGFilter_NoFilter Removes previous filter

EGridSystemFilter
Grid system filter.

Value Description
eGSFilter_NoFilter Removes previous filter
eGSFilter_OrientationType SGridSysType

EHorizBraceFilter
Horizontal brace filter.

Value Description
eHBFilter_Material EMATERIALTYPES
eHBFilter_NoFilter Removes previous filter

EINTERFACES
Enumerator used to get pointers to specific DA interfaces.
Value Description
IConcAnalysis1_INT IConcAnalysis1
IConcAnalysisState_INT IConcAnalysisState1
IConcBeamState_INT IConcBeamState1
IConcBeamState2_INT IConcBeamState2
IConcCntlrCommon1_INT IConcCntlrCommon1
IConcColModState2_INT IConColModeState2
IConcept_INT IConcept
IConcreteModule_INT IConcColModState1
IDatabase_INT IDatabase
IDBIO1_INT IDBIO1
IForces_INT IForces1
IForces2_INT IForces2
IGravityLoads_INT IGravityLoads1
IGravitySteelDesign_INT IGravitySteelDesign1
ILoading_INT ILoading1
IMemberData_INT IMemberData1
IMemberData2_INT IMemberData2
IModel_INT IModel
IModelData_INT IModelData1
IModelData2_INT IModelData2
IModelGeometry_INT IModelGeometry1
IModelGeometry2_INT IModelGeometry2
IModelStatus_INT IModelStatus1
IRamDataAccess2_INT IRAMDataAccess2
ISteelColumnState_INT ISteelColumnState1
ISteelColumnState2_INT ISteelColumnState2

EIsolatedFndFilter
Isolated foundation filter.

Value Description
eIFFilter_NoFilter Spread footing
eIFFilter_Type EIsolatedFndType
EIsolatedFndType
Type of foundation.

Value Description
elFndContinuous Continuous footing
eIFndSpread Spread footing
eIFndPileCap Pile cap footing

EJoistType
Type of steel joist.

Value Description
eJstCloseUniform “Close enough” to uniform load
eJstCustom Custom label, Uniform Load
eJstGirderClosePtLoads Joist Girder, “Close Enough” to Equal Point Loads
eJstGirderEqualPtLoads Joist Girder, Equal Point Loads
eJstKCS KCS Joist
eJstREquivalent Equivalent Uniform Load, Ed Ryan (Vulcraft) method
eJstSJIEquivalent Equivalent Uniform Load, SJI method
eJstSpecial Special Joist
eJstStandard Standard joist with uniform load
eNotAJst Not a steel joist

EJstNonUniformLoadOption
Joist criteria option for joists with non-uniform loads.

Value Description
eStlJstNonUniSelectFromCSTable Select joist sizes from Constant Shear table
eStlJstNonUniUseEquivalentMethod Use Uniform Equivalent Method to pick joist sizes
eStlJstNonUniUsexxGSP Use xxGSP label

EJstUniformLoadOption
Joist criteria option for joists with uniform loads.

Value Description
eStlJstUniSelectFromCSTable Select joist sizes from Constant Shear table
eStlJstUniSelectFromStandardTable Select joist sizes from standard table
eStlJstUniUseCustomLabel Use custom label for joist sizes

EKFAC_ASSIGN
Identifies what the current setting assigned to the column is for effective length.

Value Description
UseGlobalKFac Use the global criteria for this column (in specified axis)
UseNomoForKFac Use the nomograph for this column (in the specified axis)
UseThis Use the assigned K factor for this column (in the specified axis)

ELINELOADSOURCE
Identifies the source of the gravity line load on the member.

Value Description
ELineLoadFromEdge From slab edge
ELineLoadFromSurfaceLoad From surface load
ELineLoadPassedThruFrameWall From frame wall above
ELineLoadPassedThruGravityWall From gravity wall above
ELineLoadSelfWeight From self weight. Only includes for the member in question. Does not
include deck or supported wall self weight.
ELineLoadSourceUndefined From unidentified source
ELineLoadUserApplied From applied line load

ELoadCaseFilter
Load case type filter.

Value Description
eLoadCaseFilter_FrameType EFrameType
eLoadCaseFilter_GeneratesDesignForces Load case produces member forces (no Eigen, center of rigidity, etc.)
eLoadCaseFilter_NoFilter Removes previous filters

ELoadCaseType
Type of load case
Value Description
BalancedLCa Balanced Load
ConstructionDeadLCa Construction Dead Load
ConstructionLiveLCa Construction Live
DeadLCa Dead Load
DynamicLCa Dynamic Load
LiveLCa Live Load
LiveReducibleLCa Live Reducible
LiveRoofLCa Live Roof Load
LiveStorageLCa Live Storage
LiveUnReducibleLCa Live Unreducible
MassDeadLCa Mass Dead Load
NotionalDeadLCa Notional Dead Load
NotionalLiveLCa Notional Live Load
NotionalRoofLCa Notional Roof Load
OtherLCa Other Load
PartitionLCa Partition Load
SeismicLCa Seismic Load
SnowLCa Snow Load
VirtualLCa Virtual Load
WindLCa Wind Load

ELoadCombinationFilter
Load combination filter.

Value Description
eLoadComboFilter_InclGravityOnly Combos that only contain gravity terms
eLoadComboFilter_InclLateral Combos that contain lateral terms
eLoadComboFilter_NoFilter Removes previous filters

EMATERIALTYPES
Type of material.

Value Description
EAnyMaterial Any (cannot be used for assigning to a member)
EConcreteMat Concrete
ENoneMaterial None or N/A (cannot be used for assigning to a member)
EOtherMat ‘Other’
ESmartbeamBeamMat Smartbeam
ESteelJoistMat Steel Joist
ESteelMat Steel
EWallPropConcreteMat Concrete Wall
EWallPropOtherMat Other Wall
EWestokCELLBEAMMat Westok cellular beam

EMemberInPolyCategory
Category of members to look for in polygon.

Value Description
eAboveMemPolyCat Members that are in the story above polygon
eBelowMemPolyCat Members that have thier start end inside the polygon
eEndMemPolyCat Members that end inside polygon
ePassThroughMemPolyCat Members that pass through the level - Not implemented / future item
eStartMemPolyCat Members that start inside the given polygon (Not Implemented)

EMemberOrientation
Member orientation

Value Description
eOrientHorizontal Horizontal orientation
eOrientUnknown Unknown orientation
eOrientVertical Vertical orientation

EMemberSide
Side of a member something is associated with

Value Description
eMemBothSides Both sides of member
eMemLeftSide Left side of member
eMemNoSide Center of member
eMemRightSide Right side of member
EMergeState
Flag that indicates if the load case is single, merged or included in a merge.

Value Description
eLoadCaseUsedInAMerge Load case that is included in a merged load case.
eMergedLdCase Merged load case.
eSingleLoadCase Single load case

ENodeFilter
Node filter.

Value Description
eRNFilter_NoFilter Remove previous filter
eRNFilterAtFoundation Foundation nodes

ENODESOURCE
Node source.

Value Description
eConcreteFEA Node is from the RAM Concrete Analysis finite element analysis
eFrameFEA Node is from the RAM Frame Analysis finite element analysis

EOtherSectPropsFilter
Filter for other type sections.

Value Description
eOPSFilter_MemType EUniqueMemberTypeID (beams, columns, vertical braces).
eOPSFilter_NoFilter Remove previous filters

EPartialReloadType
Partial reload of the database.

Value Description
eReloadMDF Define
eReloadRAMFrameAnalysis Define
EPileConfiguration
Pile group configuration.

Value Description
ePileConfig2PileGroup Rectangular 2-pile Pile group
ePileConfig5PileGroup Rectangular 5-pile Pile group
ePileConfig5SqrPileGroup Square 5-pile Pile group
ePileConfig7PileGroup Rectangular 7-pile Pile group
ePileConfig8PileGroup Rectangular 8-pile Pile group (piles not arranged in rows/columns)
ePileConfigRectangular Rectangular pile group (user defined number of piles)
ePileConfigTriangular Triangular 3-pile pile group configuration

ERawWallSectionCutFilter
Raw wall section cut filter.

Value Description
eRWSCFilter_Module EWhichModule (Frame Shear Wall Forces or Concrete Shear Wall)
eRWSCFilter_NoFilter Remove previous filter

EReactionNodeFilter
Reaction node filter.

Value Description
eRNFilter_NoFilter Remove previous filter
eRNFilterAtFoundation Foundation nodes
eRNFilterNodeInSlabEdge Nodes within the slab edge
eRNFilterNodeSupportMember Nodes that support members above

ERoofLLType
Type of roof live load.

Value Description
eRoofLoadsAreSnow Roof loads are snow
eRoofLoadsAreReducible Roof loads are reducible
eRoofLoadsUnReducible Roof loads are unreducible
ESeismicProvFrameType
Type of frame type for steel seismic provisions.

Value Description
eSP_CBF Ordinary concentrically braced frame
eSP_CBF_K Ordinary concentrically braced frame K type
eSP_CBF_V Ordinary concentrically braced frame V/Chevron type
eSP_EBF Eccentrically braced frame
eSP_IMF Intermediate moment frame
eSP_NoFrameType No frame type assigned
eSP_OMF Ordinary moment frame
eSP_SCBF Special concentrically braced frame
eSP_SCBF_K Special concentrically braced frame K type
eSP_SCBF_V Special concentrically braced frame V/Chevron type
eSP_SMF Special moment frame

ESIDESWAY_ASSIGN
Identifies what the current setting assigned to the column is for sidesway.

Value Description
ItIsBraced The column is braced for this column (in the specified axis)
ItIsUnbraced The column is unbraced for this column (in the specified axis)
UseGlobalSS Use the global criteria for this column (in specified axis)

ESlabActions
Identifies if the deck is one way or two way.

Value Description
eDSAOneWay One way deck
eDSATwoWay Two way deck

ESMARTBEAMTYPE
Castellated or Celular (Smartbeam) beam type.

Value Description
SMARTBEAM_CAST Castellated beam
SMARTBEAM_CELL Cellular beam

ESnowLoadType
Snow load type.

Value Description
eSLTConstant Constant Snow Load
eSLTDrift Drift Snow Load

EStateStatus
Status of an item’s state.

Value Description
eStateCurrent Item’s state is current
eStateNotAvail State is unavailable
eStateNotCurrent Item’s state is not current

ESTEEL_ROLLED_FLAG
Roll flag for steel member

Value Description
EStlBuilt Built up shape
EStlRolled Rolled shape

ESTEEL_SEC
Steel section shapes

Value Description
EStlChannel Channel
EStlDoubleL Double Angle
EStlFlatBar Flat Bar
EStlLSection Single Angle
EStlNone No section
EStlPipe Round HS
EStlRoundBar Round Bar
EStlStar Star seismic
EStlTSection T Section
EStlTube Rectangular HS
EStlWF I-Section (Wide Flange)

ESteelDesignCode
Design code for steel members.

Value Description
eAISC36005ASD AISC 360-05 ASD
eAISC36010ASD AISC 360-10 ASD
eAISC36005LRFD AISC 360-05 LRFD
eAISC36010LRFD AISC 360-10 LRFD
eAS4100_99 AS4100-99
eASD ASD 9th Edition
eBS5950_1990 BS5950:1990
eBS5950_2000 BS5950:2000
eCANCSA_1994 CAN/CSA-S16.1-94
eEurocode3 Eurocode
eLRFD LRFD 3rd Edition

ESteelShapes
Steel section shapes.

Value Description
ESSChannel Channel
ESSDoubleAngle Double Angle
ESSFlatBar Flat Solid Bar
ESSISection I-Section (wide flange)
ESSRectangularHS Rectuangular Hollow Section
ESSRoundBar Round Solid Bar
ESSRoundHS Round Hollow Section
ESSSingleAngle Single Angle
ESSTee Tee
ESSUnknown Unknown
ESubLoadCaseType
Source or Type of the ELoadCaseType

Value Description
eCenterOfRigidity Center of Rigidity
eEigen Eigen
eGeneratedStoryLoad Generated story load
eGravityLoad Gravity load type
eImportedLoad Imported load
eNodalLoad Nodal load
eNoSubType No sub load type
eResponseSpectra Response Spectra
eUserDefinedStoryLoad User defined story load

ETensionCompressionMemType
Indicates whether members takes tension, compression, or both.

Value Description
ECompressionOnlyMem Member takes compression only
ETensionCompressionMem Member takes both tension and compression
ETensionOnlyMem Member takes tension only

ETimeStampAction
Action for time stamp retrieval.

Value Description
eTSAdd Add
eTSDelete Delete
eTSChange Change

ETimeStampProperty
Property for time stamp retrieval.

Value Description
eTSFloorType Floor type
eTSNoProp No particular property
eTSReframeFlag Floor reframe
eTSSize Member size

EUniqueMemberTypeID
Member type.

Value Description
eTypeAll All members
eTypeAnalysisCase Member is an analysis case
eTypeBeam Member is a beam
eTypeBrace Member is a vertical brace
eTypeColumn Member is a column
eTypeConcDeflCrit Member is a concrete deflection criteria
eTypeConcSectionProp Member is a concrete section
eTypeCouplingBeam Meber is a coupling beam
eTypeDeckOrSlab Member is a deck or slab
eTypeDeckProp Member is a composite deck property set
eTypeFloorOpening Member is an opening in a floor (slab opening)
eTypeFloorPenetrations Member is a floor penetration
eTypeFloorPerimeter Member is a floor perimeter (slab edge)
eTypeFloorType Member is a floor type
eTypeFoundation Member is a foundation
eTypeFoundationLineLoading Member is a foundation line load
eTypeFoundationMatPerimeter Member is a mat foundation perimeter
eTypeFoundationMatSlab Member is a mat foundation slab definition
eTypeFoundationPointLoading Member is a foundation point load
eTypeFoundationSurfaceLoading Member is a foundation surface load
eTypeGrid Member is a grid
eTypeGridSystem Member is a grid system
eTypeHorizontalBrace Member is a horizontal brace
eTypeLastType Member is last type
eTypeLineLoading Member is a line load
eTypeLineLoadSetProp Member is a line load property set
eTypeLoadCase Member is a gravity load case
eTypeMesh Member is a mesh
eTypeNodalLoad Member is a nodal load
eTypeNodalLoadProp Member is a nodal load property set
eTypeNode Member is a node
eTypeNonCompDeckProp Member is a noncomposite deck property set
eTypeNonComposite Member is a noncomposite deck polygon
eTypeNone No type, or not applicable
eTypeOther Member is an Other section
eTypeOtherSectionProp Member is an ‘Other’ section property
eTypePile Member is a pile definition
eTypePileConfiguration Member is a pile configuration
eTypePointLoading Member is a point load
eTypePointLoadSetProp Member is a point load property set
eTypeSectionCut Member is a section cut
eTypeSidePlate Member is a SidePlate
eTypeSlabProp Member is a concrete slab property set
eTypeSnowLoad Member is a snow load polygon
eTypeSnowLoadSetProp Member is a snow load property set
eTypeSteelDeflCrit Member is a steel deflection criteria
eTypeStory Member is a story
eTypeSurfaceLoading Member is a surface load polygon
eTypeSurfaceLoadSetProp Member is a surface load property set
eTypeWall Member is a wall
eTypeWallOpening Member is a wall opening
eTypeWallRebar Member is wall reinforcing
eTypeWallSectionDsnCut Member is a wall design section cut

EUnits
Type of unit system.

Value Description
eUnitsEnglish English units
eUnitsMetric Metric Units
eUnitsSI SI Units

EUserOverride
Indicates if the corresponding value is user overridden

Value Description
eUserNA Not Applicable
eUserNo Value is not overridden by user
eUserYes Value is user defined or overridden
EVerticalBraceFilter
Vertical brace filter.

Value Description
eVBFilter_Material EMATERIAL
eVBFilter_NoFilter Remove previous filters

EWallFilter
Wall filter.

Value Description
eWallFilter_FrameType EFRAMETYPE
eWallFilter_Material EMATERIAL
eWallFilter_NoFilter Remove previous filters

EWebOpenPosition
Position of web opening in beam web.

Value Description
eWebOpenCentered Opening is centered in beam web
eWebOpenOffsetToBot Opening position is offset from top of beam to bottom of opening
eWebOpenOffsetToCenter Opening position is offset from top of beam to center of opening
eWebOpenOffsetToTop Opening position is offset from top of beam to top of opening

EWebOpenShape
Shape of web opening.

Value Description
eRectOpening Rectangular opening
eCircularOpening Circular opening

EWhichFontAndColor
Font and color for reports.
Value Description
BodyFontColor Report body
HeaderFontColor Report header
HeadingFontColor Report heading
TitleFontColor Report title

model_status
Status of a module.

Value Description
ModelFailedToLoad Model failed to load
ModHadNO_CHANGE There has been no change that requires rerunning this module.
ModIsINVALID The module status is invalid
ModIsNOTAVAIL The module status is not available
ModIsNotRead Module is not ready
ModIsVALID The module status is valid
NoRelevantMembers No relevant members for the module

module_status_light
Status color of a module.

Value Description
LIGHT_IS_GREEN Status light is green
LIGHT_IS_GREY Status light is grey
LIGHT_IS_LIGHTBLUE Status light is light blue
LIGHT_IS_RED Status light is red
LIGHT_IS_YELLOW Status light is yellow
NO_LIGHT_COLOR Status light has no color

rein_change_type
Reinforcement change

Value Description
Rein_ContentsChange Reinforcement changed
Rein_NameChange Name changed
Rein_NoChange No changed
WhichModule
RAM Structural System modules.

Value Description
AllModules All RAM Structural System modules
IAmFramingTables Framing Tables
IAmRamConcreteAnalysis RAM Concrete Analysis
IAmRamConcreteBeam RAM Concrete Beam
IAmRamConcreteColumn RAM Concrete Column
IAmRamConcreteShearWall RAM Concrete Shear Wall
IAmRamFoundation RAM Foundation
IAmRamFrameAnalysis RAM Frame Analysis Load Cases
IAmRamFrameDrift RAM Frame Drift Control
IAmRamFrameLCombo RAM Frame Analysis Load Combinations
IAmRamFrameSpecial RAM Frame Seismic Provisions
IAmRamFrameStandard RAM Frame Standard Provisions
IAmRamManager RAM Manager
IAmRamModeler RAM Modeler
IAmRamSteelBeam RAM Steel Beam
IAmRamSteelColumn RAM Steel Column
Appendix A - RAM Object Model Diagram
Collection Objects

Properties Standard Object

GetCount() UID
Get( in long ) > pItemInterface Properties
GetAt(long index) > pItemInterface
Filter(in Criteria)?
Add() > pItemInterface()
Delete( in UID )

Model Can Get Here From Model

FloorTypes FloorType
Decks Deck Points Point

IConcreteCriteria
SlabPerimeters SlabPerimeter

SlabEdges SlabEdge
ISteelCriteria
SlabOpenings SlabOpening

LayoutBeams LayoutBeam WebOpenings WebOpening

LayoutColumns LayoutColumn

LayoutWalls LayoutWall

LayoutHorizBraces LayoutHorizBrace

LayoutIsolatedFnds LayoutIsolatedFnd

LayoutContFnds LayoutIContFnd

LayoutMatPerims LayoutMatPerim Points Point

LayoutMatPropPolys LayoutMatPropPoly Points Point

Stories Story

Beams Beam

Piles Pile Columns Column

Walls Wall
PileConfigurations PileConfiguration

VerticalBraces VerticalBrace
ConcSectProps ConcSecProp

HorizBraces HorizBrace
OtherSectProps OtherSectProp

IsolatedFnds IsolatedFnd
CompDeckProps CompDeckProp

ContFnds ContFnd
ConcSlabProps ConcSlabProp

MatFndPropPolys MatPropPoly
NonCompDeckProps NonCompDeckProp

MatFndPerims LayoutMatPerim

GridSystems GridSystem Grids Grid

ClippedFndProps

SteelMaterials SteelMaterial
ClippedFndProp

ConcreteMaterials ConcreteMaterial Points

Point
OtherMaterials OtherMaterial
Appendix B – Using DataAccess from VB/VBA
The following information applies to VB and VBA programmers. It outlines some things to be aware of when using RAM DataAccess
from VB and includes information to help get you started

Limitations of DataAccess from VB/VBA


VB and VBA do not support the full set of COM features that are used in RAM DataAccess. As a consequence there are some minor
differences in the method variable types, return values and error handling. Also a number of methods cannot be used in these
programming environments. Most, but not all, of the methods that cannot be used have equivalent methods in the new interfaces
that are compatible with VB/VBA. Also in most cases there are equivalent methods that will still let the user retrieve the required data
with a little more effort.

Equivalent VB/VBA variable types

Below is a list of the variable types seen in this documentation and their equivalent VB/VBA types
DA Type VB/VBA Type
long long
double double
float single
bstr string
dw Long
struct User Defined Data Type. These do not need to be defined in VB/VBA they should to
be accessed directly from the definitions that are provided in DA
enum Enum
BOOL Long - True = 1 False = 0

If a variable has the letter “a” as a prefix, it indicates that the variable is an array and it must be dimensioned before it is used in the
DA method.

Return Values
If a variable has the letter “p” as a prefix it indicates that the value of that variable will be set by the DA method and then can be used
by your application.

When the last variable in the parameter list has [out, retval] before it, the DA method behaves like a VB/VBA Function rather than a
VB/VBA Sub. This means that that there will be a return value for the DA method. In VB/VBA you will not need to add that value to
the parameter list for the method, you can simply set that variable equal to that DA method.

Incompatible methods
If you see a method with “ha” prefix or “** pa” in front of any of the variables in the method list you will not be able to call that method
from VB/VBA because the method dimensions the array inside DA which VB/VBA does not support.
RAMDataAccGeom.GetIDForMemMatTypeAtStory is an example of such a method. When you try to compile a program that is using
such a method you will get the following Compile Error:

Getting Started with DataAccess in VB/VBA


DA will already be installed on your computer if you have RAM Structural System v8.0 or later installed. Below you will find
instructions on getting started with DA.

Adding RAM Data Access (DA) to your VBA Project


• Open VBA. In MS Word select from the menu Tools-Macro-Visual Basic Editor
• In the VBA Editor menu select Tools-References
• In the References dialog box select the RAMDataAccess 2.0 Type Library

Adding RAM Data Access (DA) to your VB Project


• Open a new project in VB
• Select References from the Project menu
• In the References dialog box select the RAMDataAccess 2.0 Type Library

Browsing through the DA functions


• From the View menu in VB or VBA Editor select Object Browser or press the F2 key on your keyboard
• In the Object Browser select RAMDATAACCESSLib from the list of available libraries.
• You will see on the left side of the Object Browser a list of:
o DA Structures
o DA Enumerators
o DA Interfaces which in turn contain all the functions in DA
• Selecting one of these items will show their contents on the right side of the browser.
• Selecting an item from the list on the right (for example a function name) will display some information about that item in the
panel below. For each function the information includes the function name, parameter list and return type as well as a short
description of the function.

Basic Steps to using DA


• Dimension and Set as New the main interface to DA
Dim RAMDataAcc As RAMDATAACCESSLib.RamDataAccess1
Set RAMDataAcc = New RAMDATAACCESSLib.RamDataAccess1
• Dimension and Set all the other interfaces that are needed using RAMDataAcc.
Dim RAMDataAccIDBIO As RAMDATAACCESSLib.IDBIO1
Set RAMDataAccIDBIO = RAMDataAcc.GetInterfacePointerByEnum(IDBIO1_INT)
Dim RAMDataAccModelData As RAMDATAACCESSLib.IModelData1
Set RAMDataAccModelData = RAMDataAcc.GetInterfacePointerByEnum(IModelData_INT)
Dim RAMDataAccGeom As RAMDATAACCESSLib.IModelGeometry1
Set RAMDataAccGeom = RAMDataAcc.GetInterfacePointerByEnum(IModelGeometry_INT)
• Load the model by defining a string that includes the model name and complete path
strDBName = "C:\Ram\data\ RAMConcreteTest.rss" 'Include path and file extension in name of model.
RAMDataAccIDBIO.LoadDataBase strDBName
• When you are done with an interface you need to release it by setting it to nothing
Set RAMDataAccIDBIO = Nothing

Error Handling
One of the advantages of using VB/VBA is that the error handling is built into the system. When you call a method you will need to
check if there was an error and then decide what to do based on the error. After every DA method call, it is a good idea to check for
errors and respond to them. It is very important to trap errors and deal with them, otherwise the program will most likely crash. You
can get the same error message from any initialized interface. You do not need to call the GetLastError for the interface that you had
just used.

After each function call include the following error trap:


'Error Checking
If Err.Number <> 0 Then
InterfaceName.GetLastError strErrorShort, strErrorLong, lErrorNum
If lErrorNum <> 0 Then
MsgBox strErrorLong, Title:="Error!"
End If
End If
For most functions created in v8.2 and later you will notice a plRetVal as the last parameter. plRetVal will provide a return error code
that may not be critical but should be verified. This is different than the S_OK, E_FAIL and E_NOTIMPL which in general are critical
(COM related) errors. The plRetVal will provide you with an error code that you can use to decide if you want to ignore the error or if
you need to in some way change the program flow due to the error.

For all VB/VBA programs, the plRetVal will be the return value for the function.

Appendix C – Using RAM DataAccess in a Visual C++ Project


Because RAM DataAccess is a COM DLL, it is language and environment independent. It can be used by VB or VBA programs
(although limitations do exist), Delphi, C++ and others. This appendix addresses its use though C++ programs.

RAM International developers use the Microsoft Visual Studio so the instructions and examples here will reflect that environment. It
is not, however, a requirement. Any C++ development environment will work, although slight modifications might be necessary.

The following examples show RAM DataAccess used with “Smart Pointers” (See Appendix D). This is the easiest way to use the
COM Library as it hides the details of using COM. If you are interested in COM and want to take a more “COM-ish” approach
(experiment with QueryInterface…), you can do that.

The examples show how to open the database and create a report that lists all of the beams on each story. While the example itself
is very simplistic, it does illustrate the use of the RAM DataAccess library as well as how to work with the geometric information in
the library.

General Instructions for using RAM DataAccess

Using Interface Pointers


Regardless of the type of application you are going to create, the following pattern for using RAM DataAccess to access the
Structural System database will be used.

First: Get the interface pointer to IRAMDataAccess1.

Next: Using that pointer, create pointers to other interfaces that RAM DataAccess makes available.

For instance, to load a database into memory, you need the IDBIO1 interface pointer so that you can use the LoadDataBase
method. First you must get the IRAMDataAccess1 interface pointer and then use it to create an IDBIO1 interface pointer. Once you
have that pointer, you can use the LoadDataBase method. Don’t forget to call IDBIO1::CloseDatabase when done with the model.
Strings and COM
COM passes strings in the form of BSTR’s. If the method you will be using has a BSTR in the parameter list, you will need to do the
following conversions.

Getting a String FROM RAM DataAccess:


First declare a BSTR locally and use it to retrieve the string from DataAccess.

BSTR bstrJobName;
m_pIModel-> get_strJobName(&bstrJobName);

The CString constructor will do the conversion from BSTR to CString

CString strJobName(bstrJobName);

Release the BSTR memory

::SysFreeString(bstrJobName);

Passing a String INTO RAM DataAccess:


There are 2 ways to convert to a BSTR.

This method only works for CStrings:

CString strName = “My String”;


BSTR bstrName;
bstrName = strName.AllocSysString();

This method works for all strings, including CStrings:

CString strName = “My String”;


BSTR bstrName;
bstrName = _bstr_t(strName);
OR
char cName[100];
strcpy(cName, “My String”);
BSTR bstrName;
bstrName = _bstr_t(cName);
Memory management and RAM DataAccess
RAM DataAccess uses double pointers (pointers-to-pointers) for passing arrays for data through the COM interface. The advantage
to the client application is that it is not necessary to know the size of the array before the method is called. The disadvantage is that it
is a more complex method of memory management. When you find a method that has a double pointer ‘pp’ in the parameter list,
the following steps must be taken to manage the memory correctly.

The following method is used to get the entire rebar table for the concrete column program. Notice that an array of SREIN_PROP’s
will be passed by a double pointer.

GetRebarTable_ConcCol([out] long* pnNum,[out] SREIN_PROP** pReinProp);

Example:

First declare the variables:

long nNumRebar;
SREIN_PROP* pReinProp; // declaration of an SREIN_PROP pointer

The pointer is passed into the method using the “&” operator which means that it is actually a pointer to the pointer that is passed
into the method.
m_pIModelData->GetRebarTable_ConcCol(&nNumRebar, &pReinProp);

Internally, RAM DataAccess performs the memory allocation necessary and the data is filled into the array.

Once the client is done using the pointer, it must deallocate the memory.

CoTaskMemFree(pReinProp);

NOTE: VB and VBA are not able to use pointers in the manner and are thus not able to gain access to functions that use this method
of memory management.

The Basics
These steps must be followed for any C++ application that will use RAM DataAccess. There is flexibility as to where in your code you
choose to implement these commands.
1. Import RAM DataAccess.dll into your project. This can be done in the header file of the class that will use the dll or in the cpp
file. We recommend putting this code in the header file.

#import "C:\Ram10\prog\RamDataAccess.dll"
using namespace RAMDATAACCESSLib;

Note that #import has a number of optional parameters that you can use. Their use or non-use controls how COM will throw
errors.
2. Declare an instance of the RAMDataAccess1 interface as follows. We recommend doing this in the header file and making
your IRamDataAccess1Ptr a member variable of the class, but they can be local variables as well.

IRamDataAccess1Ptr m_pDA;

3. Assuming you have chosen to use IRamDataAccess1Ptr as a member variable: In the constructor for your class (in the cpp
file), create the IRamDataAccess1Ptr. (If you will be using it as a local variable, this function call must appear at the beginning
of each function with which you will be using RAM DataAccess.)

For a Console App:


CoInitialize(NULL);
m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") );

CoInitialize is a necessary step for a console app.

For MFC Apps that include Automation support:


m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") );

4. Use the m_pDA pointer created above to gain access to other interface pointers.
IModelPtr pIModel = m_pDA->GetInterfacePointerByEnum(IModel_INT);

5. Use the newly created interface pointer to access the library methods.
IStoriesPtr pIStories = pIModel->GetStories();
long lNumStories = pIStories->GetCount();
6. Be sure to close the database and release the pointers. The destructor is a good place to do that.

IDBIO1Ptr pDBIO = m_pDA->GetInterfacePointerByEnum(IDBIO1_INT);

if ((m_strModelName != "") && (pDBIO != NULL) )


{
pDBIO->CloseDatabase();
}

pDBIO.Release();
m_pDA.Release();

pDBIO = NULL;
m_pDA = NULL;

SAMPLE PROGRAM: A Console App


This is the simplest approach to a C++ project. Data will be entered through a Console Window (essentially a DOS window) or it can
be read in from a file. Data is then displayed to the Console Window or written out to a file. There is no Graphical User Interface.

To Begin:
• Start a new project in the Developer Studio.
• Select Win32 Console Application from the list.
• Enter a Project Name and click OK
• On the dialog box that follows, select the last radio button (include MFC support).

A quick note about “MFC” support: MFC is a library specific to the Microsoft Devolvement environment. Using it tends to make
projects larger but it has several nice features that might make that worth it. For instance, strings are very easy to manipulate with
the CString class. Writing to a file is made very easy using the CFile class. These are not available without MFC support.

Programming
When the project was created, a file projectname.cpp was created and in it, a function called _tmain. The “else” section of the
conditional statement is where you will write you code. You could write your entire program there but we recommend using classes
and functions to modularize your code.
Appendix D - Using RAMDataAccess in C++ with Smart Pointers
To include DA in a C++ project using smart pointers requires a few simple steps as follows:

1. Set up the MSVC++ project to include ActiveX Components and Automation.


2. In the file or class that is going to need to call DA functions you will need to import the dll as follows:
#import “relative or exact path \RamDataAccess.dll” raw_interfaces_only
Note that raw_interfaces_only is optional. When raw_interfaces_only is not used COM will throw a _com_error error which
needs to be caught by using a catch (_com_error e ) statement. See example C++ project for more information on how the
code changes based on whether raw_interfaces_only is used or not.
3. Instantiate a pointer to DA in a function as follows:

using namespace RAMDATAACCESSLib;


IRamDataAccess1Ptr pDA;
// Get the DataAccessManager Pointer (and create the object/load dll) pDA.CreateInstance(
_T("RAMDataAccess.RamDataAccess1.1") );

4. Get Smart pointers to all required interfaces:

IModelGeometry1Ptr pIMGeom( pDA );

5. Call functions from the interfaces and check the return error:

HRESULT hr = pDBIO->LoadDataBase(bstrName);
if (SUCCEEDED(hr))
{}
else
{
long lErrorCode;
BSTR bstrErrorShort, bstrErrorLong;
pDBIO->GetLastError(&bstrErrorShort, &bstrErrorLong, &lErrorCode);
CString strErrorShort (bstrErrorShort);
CString strErrorLong (bstrErrorLong);
::SysFreeString(bstrErrorShort); //Free the BSTR
::SysFreeString(bstrErrorLong); //Free the BSTR
}

6. Note that before strings can be passed to a COM function they need to be converted to BSTR variable types as follows:
• To send a pointer to a string so it can be filled in DA
BSTR bstrStory;
m_pIModelGeometry->GetStoryLabel(nStory, &bstrStory);
strStory = bstrStory;
::SysFreeString(bstrStory); //Free the BSTR memory

• To send a string into DA:


BSTR bstrName;
CString strName = _T("C:\\Ram80\\data\\Smallish");
bstrName = strName.AllocSysString();
pDBIO->LoadDataBase(bstrName);

7. When a parameter in a function starts with **pa this indicates that the array will be dimensioned in the DA function. It is
however the calling function’s responsibility to free the memory after the dimensioned array is no longer needed by using the
CoTaskMemFree as follows:
if(paBeamLineResults != NULL)
CoTaskMemFree(pBeamLineResults);

The TestDA project shows an example of how to use DA in a C++ project. DA is used in the CTestDADoc.cpp file. You can see an
example of the #include at the top of the file and the instantiation and use of the DA and its interfaces in CTestDADoc::OnTestDA
method.

Using smart pointers makes COM dlls act more like regular pointers to C++ classes and allows MS Dev Studio to provide the list of
methods that are available for each interface as well as the list of parameters once you have selected the method. Getting interfaces
is also significantly easier (it all acts more like VB). For more information on smart pointers look for the #import help topic in
MSVC++.

To run the example place a break point in CTestDADoc::OnTestDA and select Open from the file menu.
Appendix E – Additional Load Case Information

Load Case Type labels:


Label Meaning
RAMUSER Gravity load modeled in RAM Modeler
RAMUSERNODAL_type Nodal load modeled in RAM Modeler where:
type W for wind, S for seismic, O for other, V for virtual
W_User User defined story force of type Wind
Wind_code_direction Generated Wind force where:
code is the code selected to generate the forces
direction indicates the direction of the force (X or Y)
EQ_User User defined story force of type Earthquake (seismic)
EQ_code_dir_eccentricity Generated Earthquake force where:
code is the code selected to generate the forces
dir indicates the direction of the force (X or Y)
eccentricity +E = positive eccentricity
-E = negative eccentricity
Dyn_code_CQC_direction Dynamic Load Case using Response Sprectra
code is the code selected to generate the forces
if code is not shown this indicates a general CQC
solution.
dir indicates the direction of the force (X or Y)
Eigen Solution Dynamic Load Case using Eigen Solutions.
Center of Rigidity Center of Rigidity
Virtual Load Case_User Virtual Load Case to be used in RAM Drift Control.

Load Case Types (as integers):

Value Load Type


RamSteelLoadType = 0 Gravity Load case modeled in RAM Modeler
NodalLateralLoadType =1 Nodal Lateral load modeled in RAM Modeler
WindLoadType = 2 Wind defined in RAM Frame
SeismicLoadType = 3 Seismic defined in RAM Frame
DynamicLoadType = 4 Dynamic defined in RAM Frame
OtherLoadType = 5 “Other” defined in RAM Frame
Load Case Sub-Load Types (as integers):

Load Type Sub-Load Type


RamSteelLoadType GRAVITY_LOAD 0x0001 Dead Load
POS_RED_LL 0x0002 3 types of positive
POS_STORAGE_LL 0x0008 Live Load
POS_NONRED_LL 0x0080
NEG_RED_LL 0x0004 3 types of
NEG_STORAGE_LL 0x0010 negative Live
NEG_NONRED_LL 0x0100 Load
POS_ROOF_LL 0x0020 Positive Roof Live
Load (can be
reducible or snow)
NEG_ROOF_LL 0x0040 Negative Roof
Live Load (can be
reducible or snow)
NodalLateralLoadType WIND_NODAL2 0
SEISMIC_NODAL2 1 4 types of nodal
OTHER_NODAL2 2 lateral loads
VIRTUAL_NODAL2 3
WindLoadType
SeismicLoadType
DynamicLoadType EIGEN_SOLUTION2 0
RESPONSE_SPECTRA2 1 4 types of
RESPONSE_SPECTRA_UBC972 2 Dynamic loads
RESPONSE_SPECTRA_IBC20002 3
OtherLoadType USER_DEFINED_STORY2 0
3 types of “Other”
CENTER_RIGIDITY2 1
loads.
VIRTUAL_LOADCASE2 2
Appendix F – Shear wall interface constants

IWallCodeResult Hint Flags


0: No Hint
1: Function not found (internal error)
2: Other internal error
3: All checks pass (no hint required)
4: No hint possible
6: Increase concrete area of cross-section
7: Increase depth
8: Increase breadth
9: Increase concrete grade
10: Increase number of curtains
12: Increase area of tension reinforcement
13: Increase area of compression reinforcement
14: Increase bar spacing
15: Increase reinforcement area and increase bar spacing
16: Decrease bar spacing
17: Increase longitudinal reinforcement area
18: Increase reinforcement area and decrease bar spacing
20: Increase transverse reinforcement area

IWallLimitCheck General Classification Code


0: Axial
1: Shear
2: Flexural
3: Axial Flexural
4: Clear Cover
5: Concrete Strength
6: Bar Size
7: Bar Spacing
8: Reinforcement Ratio
9: Bar Placement
10: Reinforcement Detailing
11: Fire Limit State
12: Confinement
13: Member Dimensions
IWallLimitCheck Specific Classification Code

14: Axial strength


15: Flexural strength in design axis 1
16: Flexural strength in design axis 2
17: Shear strength in the design axis 1
18: Shear strength in the design axis 2
19: Positive flexural strength
20: Negative flexural strength
21: Minimum horizonal reinforcement ratio
22: Minimum vertical reinforcement ratio
23: Maximum horizonal reinforcement ratio
24: Maximum vertical reinforcement ratio
25: Minimum horizontal bar spacing
26: Minimum vertical bar spacing
27: Maximum horizontal bar spacing
28: Maximum vertical bar spacing
29: Maximum tie reinforcement bar spacing
30: Minimum horizontal bar size
31: Maximum horizontal bar size
32: Minimum vertical bar size
33: Maximum vertical bar size
34: Minimum tie bar size
35: Minimum wall thickness
36: Minimum longitudinal reinforcement ratio
37: Maximum allowable shear stress in design axis 1
38: Maximum allowable shear stress in design axis 2
39: Tensile strength
40: Compressive strength
41: Minimum tie reinforcement bar spacing
42: Minimum transverse reinforcement
43: Maximum side bar spacing

You might also like