RAM DataAccess Developers Guide
RAM DataAccess Developers Guide
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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).
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.
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.
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 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.
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.
DAArray
Single row array for use with indexed get/set DA methods.
Parameters
pvrtItem Item being added to the DA array
plRetval Return variable. 0 if successful.
Parameters
lIndex Index into the array
pvrtItem Variant item value in the array at lIndex
Parameters
plSize Number of entries in the DA array
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
Parameters
lIndex Index into the DA array
pvrtItem Variant item value at index
Parameters
lSize Number of entries in the DA array
IAnalyticalResult
This interface represents the analytical results for an individual member.
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.
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)
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
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
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.
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.
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.
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.
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)
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
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.
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.
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
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)
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
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.
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
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.
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.
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)
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
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.
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.
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
IColumnStack
This interface represents a single column stack in the model.
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.
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)
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)
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.
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)
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
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.
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.
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.
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
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.
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)
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.
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.
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
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)
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.
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
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.
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.
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)
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
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
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)
Parameters
pVal Structure for continuous foundation reinforcement. See SFND_CONT_REINF.
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.
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.
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.
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.
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.
Parameters
ppIPoints Pointer to an IPoints interface for the points in the receiver.
Parameters
ppIWallBarSets Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.
Parameters
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all design cuts in the coupling beam.
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.
Clear ()
Parameters
lUID Unique ID of the coupling beam to delete.
Parameters
lPanelID Index of the coupling beam to delete.
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.
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.
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.
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.
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.
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.
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.
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)
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
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.
Parameters
lIndex Index in the collection of the deck to delete
Filter ([in] EDeckFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
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
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.
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.
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.
Parameters
lIndex The index of the specified deck table entry.
ppIDeckTableEntry The IDeckTableEntry object at the specified index.
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)
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)
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.
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
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.
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)
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.
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.
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.
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.
Parameters
lLoadCaseID The unique ID of the load case causing the displacement
ppIDisplacement Pointer to an IDisplacement interface that represents the requested displacement.
Parameters
lIndex The index into the collection of displacement cases
ppIRawWallOpening Pointer to an IDisplacements nterface that represents the requested displacement.
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.
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.
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.
Parameters
plCount Number of final wall openings in the collection
IFloorType
This interface represents a single floor type in the model.
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.
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.
Parameters
ppIDecks Pointer to an IDecks collection interface that represents all decks defined on this floor type
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.
Parameters
ppILayoutBeams Pointer to an ILayoutBeams collection interface that represents all beams defined on this floor type
Parameters
ppILayoutColumns Pointer to an ILayoutColumns collection interface that represents all columns defined on this floor type
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
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
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
Parameters
ppILayoutWalls Pointer to an ILayoutWalls collection interface that represents all walls defined on this floor type
Parameters
ppLineLoadSets Pointer to an ILineLoadSets collection interface that represents all line load sets defined on this floor type
Parameters
ppPointLoadSets Pointer to an IPointLoadSets collection interface that represents all point load sets defined on this floor type
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
Parameters
ppISlabPerimeters Pointer to an ISlabPerimeters collection interface that represents all slab perimeters defined on this floor type
Parameters
ppSnowLoadSets Pointer to an ISnowLoadSets collection interface that represents all snow load sets defined on this floor type.
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
Parameters
ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor type.
Parameters
ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor
type.
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.
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)
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)
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.
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 )
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
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.
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 ()
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.
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.
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.
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)
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)
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.
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.
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)
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
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
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)
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
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.
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.
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
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.
Parameters
pCenterPoint SCoordinate corresponding to the center point of the isolated foundation
plRetval 0 if successful
-1 if coordinate cannot be retrieved
Parameters
ppIPoints Pointer to an IPoints interface that represents the location of the piles in the pile cap.
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
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.
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)
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.
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.
Parameters
plCount Number of isolated foundations in the collection
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.
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)
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.
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.
Parameters
bStubCantilever Returns 1 if the layout beam is a stub cantilever, 0 if not.
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
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)
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.
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)
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
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.
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.
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.
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)
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)
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)
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)
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.
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.
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)
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
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.
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.
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)
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
Parameters
pVal Structure for continuous foundation reinforcement information. See SFND_CONT_REINF.
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.
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
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.
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.
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.
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)
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.
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).
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)
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
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.
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.
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.
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)
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
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)
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.
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
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.
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.
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.
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)
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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)
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
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.
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.
Parameters
plCount Number of load cases in the collection
ILoadCombination
This interface represents a single load combination definition.
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.
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.
Parameters
ppIParamsCntrl1 Pointer to an ILoadComboParamsCntrl1 interface that contains the control 1 parameters used to generate a
specific set of load combinations.
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)
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 ()
Delete a load combination param from the collection for the specified unique ID.
Parameters
lUID Unique ID of the laod combination param being deleted
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.
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.
Parameters
plCount The number of ILoadCombinationParam objects in the collection.
ILoadCombinations
This interface represents a collection of load combinations.
Parameters
ppILoadCombination A pointer to an ILoadCombination that represents the newly added load combination
Clear ()
Parameters
lIndex Index at which to delete term
plRetVal 0 if deleted successfully
Filter ([in] ELoadCombinationFilter eLoadCombinationFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
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
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.
Parameters
plCount Number of load combinations in the collection
MSIWorkaround_ILoadComboInternal_DO_NOT_CALL ()
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)
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
Parameters
lIndex Index at which to delete term
plRetVal 0 if deleted successfully
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.
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.
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 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.
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.
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 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.
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.
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.
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)
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.
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.
Parameters
bClearForces Flag that indicates whether Shear Wall forces should be cleared.
bClearResults Flag that indicates whether other Shear Wall results should be clear.
Parameters
bIncludeSettings Flag that indicates whether settings (criteria) should also be cleared.
Parameters
lUID Unique ID of beam to retrieve
ppIBeam Pointer to an IBeam interface that represents the requested beam
Parameters
lUID Unique ID of column to retrieve
ppIColumn Pointer to an IColumn interface that represents the requested column
Parameters
lColumnID Unique ID of column for which to retrieve column stack
ppIColumnStack Pointer to an IColumnStack interface that represents the requested column stack
Parameters
lUID Unique ID of composite deck property to retrieve
ppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property
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
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
Parameters
lUID Unique ID of concrete section property to retrieve
ppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section property
Parameters
ppIConcSectProps Pointer to an IConcSectProps collection interface that represents all concrete section properties defined in the model
Parameters
lUID Unique ID of concrete deck property to retrieve
ppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property
Parameters
ppIConcShearWallCriteria Pointer to an IConcShearWallCriteria interface that represents the RAM Concrete Shear Wall criteria for the
model.
Parameters
lUID Unique ID of continuous foundation to retrieve
ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation
Parameters
ppICouplingBeamCriteria Pointer to an ICouplingBeamCriteria interface that represents the global coupling beam criteria.
Parameters
lUID Unique ID of deck definition to retrieve
ppIDeck Pointer to an IDeck interface that represents the requested deck definition
Parameters
lUID Unique ID of floor type to retrieve
ppIFloorType Pointer to an IFloortype interface that represents requested floor type
Parameters
ppIFloorTypes Pointer to an IFloorTypes collection interface that represents all floor types in the model
Parameters
ppIFrameAnalysisCriteria Pointer to an IFrameAnalysisCriteria interface that represents the frame analysis criteria for the model
Parameters
ppINodes Pointer to an INodes interface that represents the frame analysis nodes for the model
Parameters
bstrTableName The name of the data table.
ppITable Pointer to an ITable interface that represents the generic table.
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
Parameters
lUID Unique ID of horizontal brace to retrieve
ppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace
Parameters
lUID Unique ID of isolated foundation to retrieve
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the requested isolated foundation
Parameters
lUID Unique ID of layout beam to retrieve
ppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam
Parameters
lUID Unique ID of layout column to retrieve
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column
Parameters
lUID Unique ID of layout continuous foundation to retrieve
ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation
Parameters
lUID Unique ID of layout horizontal brace to retrieve
ppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace
Parameters
lUID Unique ID of layout isolated foundation to retrieve
ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation
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
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)
Parameters
lUID Unique ID of layout wall to retrieve
ppILayoutWall Pointer to an ILayoutWall interface that represents the requested layout wall
Parameters
ppLineLoadPropertySets Pointer to an ILineLoadPropertySets collection interface that represents all line load property sets defined in
the model
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
Parameters
eCombinationsType Type of load combinations to get
ppILoadCombinations Pointer to an ILoadCombinations collection interface that represents load combinations for specified combo type
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.
Parameters
lUID Unique ID of the mat foundation perimeter to retrieve
ppIMatFndPerim Pointer to an IMatFndPerim interface that represents the requested mat foundation perimeter
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
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
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
Parameters
lUID Unique ID of ‘Other’ section property to retrieve
ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section property
Parameters
ppIOtherSectProps Pointer to an IOtherSectionProps collection interface that represents all ‘Other’ section properties defined in the model
Parameters
lUID Unique ID of pile definition to retrieve
ppIPile Pointer to an IPile interface that represents the requested pile
Parameters
lUID Unique ID of pile configuration definition to retrieve
ppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration
Parameters
ppIPileConfigurations Pointer to an IPileConfigurations collection interface that represents all pile configurations defined in the model
Parameters
ppIPiles Pointer to an IPiles collection interface that represents all piles defined in the model
Parameters
ppPointLoadPropertySets Pointer to an IPointLoadPropertySets collection interface that represents all point load property sets defined
in the model
Parameters
ppIRAMFrameCritieria Pointer to an IRAMFrameCriteria interface that represents the RAM Frame criteria defined in the model
Parameters
lUID Unique ID of wall opening to retrieve
ppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested wall opening
Parameters
lUID Unique ID of wall section cut to retrieve
ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested wall section cut
Parameters
ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all raw wall section cuts in the model.
Parameters
lUID Unique ID of slab opening to retrieve
ppISlabOpening Pointer to an ISlabOpening interface that represents the requested slab opening
Parameters
lUID Unique ID of slab perimeter to retrieve
ppISlabPerimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter
Parameters
lUID Unique ID for the snow load property
ppISnowLoadPropertySet Pointer to an ISnowLoadPropertySet interface that represents the snow load property
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)
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.
Parameters
ppISteelCriteria Pointer to an ISteelCriteria interface that represents all steel criteria for the model
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
Parameters
ppIStories Pointer to an IStories collection interface that represents all stories in the model
Parameters
lUID Unique ID of story to retrieve
ppIStory Pointer to an IStory interface that represents requested story
Parameters
lUID Unique ID of vertical brace to retrieve
ppIVerticalBrace Pointer to an IVerticalBrace interface that represents the requested vertical brace
Parameters
ppIVerticalBraces Pointer to an IVerticalBraces collection interface that represents all vertical braces in the model
Parameters
lUID Unique ID of wall to retrieve
ppIWall Pointer to an IWall interface that represents the requested wall
Parameters
ppWallBarPatternTemplates Pointer to a WallBarPatternTemplates interface that represents the
collection of wall bar patterns in the model
MSIWorkaround_IStringValue_DO_NO_CALL ()
Internal use only.
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)
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)
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
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.
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.
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.
Parameters
ppIDisplacements The IDisplacements collection for the nodal displacements
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.
Parameters
eNodeFilter Filter type.
ppINodes INode collection.
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)
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.
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.
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.
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.
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.
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.
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
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)
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.
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)
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
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.
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
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.
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)
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.
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.
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.
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
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.
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.
Parameters
plCount Number of piles in the collection
IPoint
This interface represents a single point.
Parameters
pPoint The coordinate of the point
plRetval 0 if coordinate is retrieved successfully
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.
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).
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.
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.
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.
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.
Parameters
plCount Number of point load property sets in the collection
IPointLoads
This interface represents a collection of individual point load objects.
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.
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.
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
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.
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.
IPoints
This interface represents a collection of points.
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.
Parameters
lIndex Index of point to delete.
plRetval 0 if point is deleted successfully
-1 if index is invalid
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)
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.
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.
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.
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.
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.
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.
Parameters
dValue Value of the property
plRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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.
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
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.
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.
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 )
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 )
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.
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
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
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.
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 ()
ClearForceSets ()
GetCoordinates ([out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out, retval] long* plRetval)
Parameters
pStartPoint Start coordinate of section cut
pEndPoint End coordinate of 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.
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.
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.
Parameters
ppIWallSectionDsnCutForceSets Pointer to an IWallSectionDsnCutForceSets collection interface that represents all force sets in the wall
section design cut.
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
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)
Parameters
sStartPoint Start coordinates of the raw section cut
sEndPoint End coordinates of the raw section cuts
Parameters
bClearAutoGenOnly 1: Only delete auto-generated section cuts from collection.
0: Delete all section cuts from collection.
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
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.
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.
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.
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)
Parameters
eFrameMemForceSource EFrameMemberForceSource
lAnalysisCaseID Unique ID of the analysis case
ppIPointLoad Pointer to an IPointLoad interface
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)
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
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.
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)
Parameters
ppINewRecord Pointer to an IRecord interface that represents the newly added record.
Parameters
lIndex The index of the record to be deleted.
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).
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
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.
Parameters
lIndex The index of the specified shell.
ppIShell The IShell object at the specified index.
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)
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)
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.
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.
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.
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)
Parameters
ppISlabEdges Pointer to an ISlabEdges collection interface that represents the edges that define 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.
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.
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.
Parameters
plCount Number of slab openings in the collection
ISlabPerimeter
This interface represents a specific slab perimeter on a floor type.
Parameters
ppISlabEdges Pointer to an ISlabEdges collection interface that represents the edges that define 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.
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.
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.
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.
Parameters
bstrLabel The label for the new surface load set.
ppISurfaceLoadPropSet Pointer to an ISnowLoadPropertySet interface that represents the newly added surface load set.
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
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)
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.
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.
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.
Parameters
ppIPoints Pointer to an IPoints interface for the points in the receiver.
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.
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.
Parameters
bstrLabel The label for the new snow load set.
ppISnowLoadSet Pointer to an ISnowLoadSet interface that represents the newly added snow load set.
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)
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.
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.
Parameters
plCount The number of ISnowLoadSet objects in the collection.
ISteelBeamDesignResult
This interface represents the steel beam design results for an individual steel beam.
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.
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)
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.
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
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.
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.
Parameters
plCount Number of stories in the collection
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.
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
Parameters
ppIBeams Pointer to an IBeams collection interface that represents all beams associated with this story
Parameters
ppIColumns Pointer to an IColumns collection interface that represents all columns associated with this story
Parameters
ppIContinuousFnds Pointer to an IContinuousFnds collection interface that represents all continuous foundations associated with this
story
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
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.
Parameters
ppIFloorType Pointer to an IFloorType interface that represents the floor type associated with this story
Parameters
ppIHorizBraces Pointer to an IHorizBraces collection interface that represents all horizontal braces associated with this story
Parameters
ppIIsolatedFnds Pointer to an IIsolatedFnds collection interface that represents all isolated foundations associated with this story
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
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
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
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
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.
Parameters
lIndex The index of the specified stress.
ppIStress The IStress object at the specified index.
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.
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.
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.
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.
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.
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.
Parameters
ppIPoints Pointer to an IPoints interface for the 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.
Parameters
bstrLabel The label for the new surface load set.
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the newly added surface load set.
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.
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.
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.
Parameters
plCount The number of ISurfaceLoadSet objects in the collection.
ITable
This interface is used represent a generic database table.
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.
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)
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)
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.
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.
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)
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)
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
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)
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)
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
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)
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.
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)
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
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.
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
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.
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)
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
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.
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
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.
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.
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
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)
Parameters
ppIWallBarPattern Pointer to an IWallBarPattern interface that contains the the receiver’s horizontal bar pattern.
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.
Parameters
ppIWallBarPattern Pointer to an IWallBarPattern interface that contains the the receiver’s vertical bar pattern.
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)
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 ()
Parameters
lUID Unique ID of the wall bar layout to delete.
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.
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)
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.
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.
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.
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.
Parameters
plCount The number of IWallBarPattern objects in the collection.
Add ([in] BSTR bstrBarSize, [in] double dSpacing, [in] double dDiameter, [out,retval] IWallBarPattern** ppIWallBarPattern)
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 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.
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)
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 ()
Parameters
lIndex Index in the collection of the wall bar placement to delete.
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.
Parameters
plCount The number of IWallBarPlacement objects in the collection.
IWallBarSet
Concrete wall bar set information.
GetWallBarPlacements ([out,retval] IWallBarPlacements** ppIWallBarPlacements)
Parameters
ppIWallBarPlacements Pointer to an IWallBarPlacements interface that contains the wall bar sets in the receiver.
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.
Parameters
ppIWallBarSet Pointer to an IWallBarSet interface that represents the newly added wall bar set.
Clear ()
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.
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.
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)
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 ()
Parameters
lID Unique ID of the wall code message to delete.
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.
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.
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.
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)
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 ()
Parameters
lID Unique ID of the wall code result to delete.
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.
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.
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.
Parameters
lWallID The unique ID of the wall being added.
Parameters
ppICouplingBeams Pointer to an ICouplingBeams collection interface that represents all coupling beams in the wall design group.
Parameters
ppISectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all section cuts in the wall design group.
Parameters
ppIWallPanels Pointer to an IWallPanels collection interface that represents all wall panels in the wall design group.
Parameters
ppIWalls Pointer to an IWalls collection interface that represents all walls 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.
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.
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 ()
Parameters
bDeleteForces 1 if forces should be deleted as well
Parameters
lWallDesignGrpNum Wall design group number of the wall design group to delete.
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)
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.
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.
Clear ()
Parameters
lID Unique ID of the wall failed member to delete.
Parameters
lIndex Index of the wall failed member to delete.
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.
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.
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.
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.
Parameters
lIndex The index of the specified Wall FE.
ppIWallFE The IWallFE object at the specified index.
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.)
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.
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 ()
Parameters
lID Unique ID of the wall limit check to delete.
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.
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.
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.
Parameters
lColumnUID Unique ID of the column being added.
Parameters
lMemberUID Unique ID of the member being added.
Parameters
lWallUID Unique ID of the wall being added.
Parameters
ppIColumns Pointer to an IColumns interface that contains the coluimns in the receiver.
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.
Parameters
ppIWallBarLayouts Pointer to an IWallBarLayouts interface that contains the wall bar layouts in the receiver.
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.
Parameters
ppIWalls Pointer to an IWalls interface that contains the walls in the receiver.
Parameters
lColumnUID Unique ID of the column being removed.
Parameters
lMemberUID Unique ID of the member being removed.
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.
Parameters
ppIWallPanelReinfZone Pointer to an IWallPanelReinfZone interface that represents the newly added zone.
Clear ()
Parameters
lIndex Index of the zone to delete.
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.
Parameters
plCount The number of IWallPanelReinfZone objects in the collection.
IWallPanels
This interface represents a collection of IWallPanel objects.
Parameters
ppIWallPanel Pointer to an IWallPanel interface that represents the newly added wall panel.
Clear ()
Deletes all wall panels from the collection.
Parameters
lPanelID Unique ID of the wall panel to delete.
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.
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.
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)
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
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.
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.
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
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.
Get the raw wall section cuts for the design cut.
Parameters
ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts interface
Parameters
plUBPolygonIndex The index of the last polygon in the wall section design cut.
Parameters
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.
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.
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.
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.
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)
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 ()
Parameters
lUID Unique ID of the wall section design cut to delete.
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.
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.
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
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.
Parameters
lIndex Index of web opening to delete
plRetval 0 if web opening is deleted successfully
-1 if lIndex is invalid
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.
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.
Parameters
ppIWallBarPatterns Pointer to an IWallBarPatterns interface that contains the horizontal wall bar patterns in the receiver.
GetVerticalBarPatterns ([out,retval] IWallBarPatterns** ppIWallBarPatterns)
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)
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.
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 ()
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.
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.
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
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.
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
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_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
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.
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
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_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
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
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)
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)
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
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
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
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
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
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
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
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
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
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
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)
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
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
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
IConcCntlrCommon1
Philosophy: This interface is used to access data that is common to several controllers.
ClearSPDataForBeam ();
Purpose Internal use only.
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)
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.
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.
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)
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.
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
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.
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.
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
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)
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
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.
Reset ();
Purpose Internal use only.
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.
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.
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.
CloseDatabase();
Purpose To close the database files.
Comments This method should be the last call to Data Access.
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.
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
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.
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.
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
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.
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
Reset ( );
Purpose Internal use only.
SetAnalysisResultsInvalid ( );
Purpose Internal use only.
IForces2
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.
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
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
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);
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);
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
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.
GetInterfacePointer();
Purpose Internal use only.
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);
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
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);
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.
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.
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.
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.
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
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
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
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
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)
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)
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
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.
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
GetInterfacePointer();
Purpose Internal use only.
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
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
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
Reset ( );
Purpose Internal use only.
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)
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
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
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
IMemberData2
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.
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
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.
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.
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.
GetInterfacePointer();
Purpose Internal use only.
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.
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
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
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
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
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
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
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
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
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.
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
Reset ();
Purpose Internal use only.
SetColBeamDsgnStatus ();
Purpose Internal use only.
SetDBandLatStatus ();
Purpose Internal use only.
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
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.
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
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
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
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.
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
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
Reset ();;
Purpose Internal use only.
IModelGeometry2
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
GetInterfacePointer();
Purpose Internal use only.
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.
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.
IRamDataAccess2
ISteelColumnState
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
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
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
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
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
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.
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
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
GetCount() UID
Get( in long ) > pItemInterface Properties
GetAt(long index) > pItemInterface
Filter(in Criteria)?
Add() > pItemInterface()
Delete( in UID )
FloorTypes FloorType
Decks Deck Points Point
IConcreteCriteria
SlabPerimeters SlabPerimeter
SlabEdges SlabEdge
ISteelCriteria
SlabOpenings SlabOpening
LayoutColumns LayoutColumn
LayoutWalls LayoutWall
LayoutHorizBraces LayoutHorizBrace
LayoutIsolatedFnds LayoutIsolatedFnd
LayoutContFnds LayoutIContFnd
Stories Story
Beams Beam
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
ClippedFndProps
SteelMaterials SteelMaterial
ClippedFndProp
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
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:
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.
For all VB/VBA programs, the plRetVal will be the return value for the function.
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.
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.
BSTR bstrJobName;
m_pIModel-> get_strJobName(&bstrJobName);
CString strJobName(bstrJobName);
::SysFreeString(bstrJobName);
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.
Example:
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.)
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.
pDBIO.Release();
m_pDA.Release();
pDBIO = NULL;
m_pDA = NULL;
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:
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
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