RAM DataAccess Developers Guide
RAM DataAccess Developers Guide
Developers Guide
Release 14.07.00
February 2015
Bentley Systems
2744 Loker Avenue West, Suite 103
Carlsbad, CA 92010
Telephone: (760) 431-3610
Toll Free: (800) 726-7789
Fax: (760) 431-5214
TRADEMARK NOTICE
Bentley and the "B" Bentley logo are registered or non-registered trademarks of Bentley Systems, Incorporated.
RAM SBeam, RAM Structural System, RAM Manager, RAM Modeler, RAM Steel, RAM Frame, RAM Foundation and RAM Concrete
are registered or non-registered trademarks of Bentley Systems, Incorporated.
All other marks are the property of their respective owners.
COPYRIGHT NOTICE
Copyright (c) 2015 Bentley Systems, Incorporated. All Rights Reserved.
Including software, file formats, and audiovisual displays; may only be used pursuant to applicable software license agreement;
contains confidential and proprietary information of Bentley Systems, Incorporated and/or third parties which is protected by
copyright and trade secret law and may not be provided or otherwise made available without proper authorization.
ACKNOWLEDGEMENTS
Objective Grid C++ Library Copyright Rogue Wave Software, Inc.
Virtual Print Engine (VPE) Copyright IDEAL Software
CM2 MeshTools Computing Objects SARL
Math Kernel Library (MKL) Intel Corporation
The Boost Graph Library (BGL) Siek, J.G., Lee, L., and Lumsdaine, A.
Ultimate Toolbox Dundas Software Ltd.
TurboDXF Ideal Engineering
Portions Copyright Microsoft Corporation
Includes Adobe(R) PDF Library technology. Portions Copyright (c) Adobe Systems, Inc.
Clipper library Angus Johnson
zlib software Jean-loup Gailly and Mark Adler.
Portions Copyright GrapeCity, Inc. 1987-2011. All Rights Reserved.
RESTRICTED RIGHTS LEGENDS
If this software is acquired for or on behalf of the United States of America, its agencies and/or instrumentalities ("U.S. Government"),
it is provided with restricted rights. This software and accompanying documentation are "commercial computer software" and
"commercial computer software documentation," respectively, pursuant to 48 C.F.R. 12.212 and 227.7202, and "restricted computer
software" pursuant to 48 C.F.R. 52.227-19(a), as applicable. Use, modification, reproduction, release, performance, display or
disclosure of this software and accompanying documentation by the U.S. Government are subject to restrictions as set forth in this
Agreement and pursuant to 48 C.F.R. 12.212, 52.227-19, 227.7202, and 1852.227-86, as applicable. Contractor/Manufacturer is
Bentley Systems, Incorporated, 685 Stockton Drive, Exton, PA 19341-0678.
Unpublished - rights reserved under the Copyright Laws of the United States and International treaties.
DISCLAIMER
The software and related documentation, including this documentation, are protected by both United States copyright law and
international treaty provisions. Any unauthorized copying or reproduction is strictly prohibited and subject to civil and criminal
penalties. Please refer to the License Agreement for authorization to make a backup copy of the software. You may not sell this
software or documentation or give copies of them away to anyone else.
Except as expressly warranted in the License Agreement, Bentley Systems, Incorporated disclaims all warranties, expressed or
implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to the
software, the accompanying written materials, and any accompanying hardware. All results should be verified to the users
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 ..................................................................................................................................................................... 46
ICouplingBeams ............................................................................................................................................................................... 47
IDB ................................................................................................................................................................................................... 49
IDBRecord........................................................................................................................................................................................ 49
IDBRecords ...................................................................................................................................................................................... 49
IDBTable .......................................................................................................................................................................................... 49
IDBTables ........................................................................................................................................................................................ 49
IDeck ................................................................................................................................................................................................ 49
IDecks .............................................................................................................................................................................................. 51
IDeckTableEntries ............................................................................................................................................................................ 53
IDeckTableEntry ............................................................................................................................................................................... 53
IDiaphragm ....................................................................................................................................................................................... 54
IDiaphragms ..................................................................................................................................................................................... 55
IField ................................................................................................................................................................................................ 56
IFields............................................................................................................................................................................................... 56
IFinalWallOpening ............................................................................................................................................................................ 57
IFinalWallOpenings .......................................................................................................................................................................... 57
IFloorType ........................................................................................................................................................................................ 58
IFloorTypes ...................................................................................................................................................................................... 62
IFrameAnalysisCriteria ..................................................................................................................................................................... 64
IGridSystem ..................................................................................................................................................................................... 64
IGridSystems .................................................................................................................................................................................... 65
IHorizBrace ...................................................................................................................................................................................... 66
IHorizBraces ..................................................................................................................................................................................... 69
IIsolatedFnd ..................................................................................................................................................................................... 70
IIsolatedFnds .................................................................................................................................................................................... 72
ILayoutBeam .................................................................................................................................................................................... 73
ILayoutBeams .................................................................................................................................................................................. 78
ILayoutColumn ................................................................................................................................................................................. 80
ILayoutColumns ............................................................................................................................................................................... 83
ILayoutContinuousFnd ..................................................................................................................................................................... 86
ILayoutContinuousFnds ................................................................................................................................................................... 88
ILayoutHorizBrace ............................................................................................................................................................................ 89
ILayoutHorizBraces .......................................................................................................................................................................... 91
ILayoutIsolatedFnd ........................................................................................................................................................................... 93
ILayoutIsolatedFnds ......................................................................................................................................................................... 95
ILayoutMatFndPerim ........................................................................................................................................................................ 97
ILayoutMatFndPropPoly ................................................................................................................................................................... 97
ILayoutWall ...................................................................................................................................................................................... 97
ILayoutWalls ..................................................................................................................................................................................... 99
ILineLoadPropertySet..................................................................................................................................................................... 101
ILineLoadPropertySets ................................................................................................................................................................... 101
ILineLoadSet .................................................................................................................................................................................. 103
ILineLoadSets ................................................................................................................................................................................ 103
ILoadCase ...................................................................................................................................................................................... 104
ILoadCases .................................................................................................................................................................................... 106
ILoadCombination .......................................................................................................................................................................... 107
ILoadCombinationParam................................................................................................................................................................ 107
ILoadCombinationParams .............................................................................................................................................................. 108
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 Programmers 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.
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 dont 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-tostory, 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.
The italicized Member is used to refer to any of Beam, Column, Wall, HorizBrace, IsolatedFnd or ContinuousFnd.
General Information
Consistency with RAM Structural System
The version of RAM DataAccess is consistent with the version of RAM Sructural System installed on the computer. It is possible to
encounter situations where the user writes a program in one version and then shares it with another user who is running an earlier
version that does not support some of the methods used in the program. You may want to call the GetVersion method in the
IRamDataAccess2 interface at the beginning of the program and only allow the program to continue if a certain version of
RAMDataAccessl or later is available.
In general, RAM DataAccess will return information that is consistent with the state of RAM Structural System. In order for a models
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.
Meaning
I
C
E
S
bstr
l or n
d
f
e
dw
p
a
pp
VB/VBA
VB/VBA
For C++ users the array must be set to NULL before the function is called and if the array size is zero then the array is not
changed or redimentioned in any way. The memory must be released on the calling function side using CoTaskMemFree.
This feature is incompatible with VB/VBA and all Automation programming tools.
Prefixes are often combined to provide more information about a variable. For instance, the prefix pd would refer to, not just a pointer, but a
pointer to a double.
In addition to variable prefixes, variables in the parameter list are preceded by one of the following identifiers.
[in]
[out]
[out, retval]
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. See example
code in the toolkit for more information.
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).
Grid systems can be defined once and assigned to one or more floor types. A floor type can have one or more grid systems
assigned to it.
From the IModel interface, get the IGridSystems interface, which is the collection of all grid systems defined for the model. Use the
Add() function to add a new grid system. From the resulting IGridSystem interface, use the GetGrids() function to get the collection
of grid lines associated with the grid system. Use the Add() function to add new grid lines to the grid system.
Once the grid system is defined, using the IFloorType interface of the floor type to which the grid system is to be assigned, call
GetGridSystemIDArray() to get the collection of grid system unique IDs that are assigned to that floor type (it may be empty). From
the resulting IDAArray interface, add the unique ID of the grid system to be assigned to this floor type. The new grid system
assignment is not completed until the IDAArray interface is passed back to the floor type using the SetGridSystemIDArray() function
call.
Creating a story
Using the unique ID for a floor type, you can add one or more stories associated with that floor type. From the IModel interface, get
the IStories interface, which is the collection of stories for the model. Use the Add() function to add a new story.
Adding columns
Columns are added to floor types, not stories. When a column is added to a floor type, one column will be added to the 3D model for
each story associated with that floor type. Using the IFloorType interface for the floor type to which you want to add columns, get the
ILayoutColumns interface, which represents the collection of columns on that floor type. Use the Add() function to add a new
column. You can use the resulting ILayoutColumn interface to set properties for the newly added column(s).
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.
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.
DAArray
Single row array for use with indexed get/set DA methods.
IAnalyticalResult
This interface represents the analytical results for an individual member.
IBasePlate
This interface represents a single base plate.
Properties
Type
double
double
double
double
long
Property
dAngle
dLength
dThickness
dWidth
lColumnID
Get
X
X
X
X
X
Set
Description
The angle of the dLength axis with the X=0 Axis, counterclockwise.
Length of base plate (in direction of column major axis)
Thickness of base plate
Width of base plate
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.
Pointer to an IAnalyticalResult interface that represents the analysis results for this member.
GetCoordinates ([in] EBeamCoordLoc eBeamCoordLoc, [out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out,
retval] long* plRetval)
Gets the indicated coordinates for the beam.
Parameters
eBeamCoordLoc
pStartPoint
pEndPoint
plRetval
Parameters
pPoint
plMemberID
Coordinates of the end the rigid link at the supporting member for end of the beam. Coordinates match end
coordinates if no rigid link exists.
Unique ID of the member that supports the end of the rigid link. Zero if no rigid link exists.
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)
Pointer to an IProperties interface that represents a collection of properties for this member
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.
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-tostory when a floor type is used by multiple stories must be set through the ILayoutBeam interface.
Type
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
Property
bComposite
bMajAxisBendFixedEnd
bMajAxisBendFixStart
bMinAxisBendFixedEnd
bMinAxisBendFixedStart
bTorFixedEnd
bTorFixedStart
bUseRBS
dCamber
dEndCantilever
dFlangeOverhangLeft
dFlangeOverhangRight
dFlangeThickBot
dFlangeThickLeft
dFlangeThickRight
dFlangeThickTop
dFlangeWidthBot
dFlangeWidthTop
dStartCantilever
dStudDiameter
dStudLength
dStudSegment1Length
dStudSegment2Length
dStudSegment3Length
dStudSegment4Length
dStudSegment5Length
dStudTensileStrength
dUnbracedLengthAxialLX
Get
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Description
If TRUE, beam is composite. If FALSE, beam is non-composite.
Major axis bending release at end of beam (j-end).
Major axis bending release at start of beam (i-end).
Minor axis bending release at end of beam (j-end).
Minor axis bending release at start of beam (i-end).
Torsion release at end of beam (j-end).
Torsion release at start of beam (i-end).
True if the user has indicated to use the reduced beam on this beam
Camber of the beam
Length of cantilever at end of beam (j-end)
Left flange length beyond beams web thickness
Right flange length beyond beams web thickness
Thickness of bottom flange of beam
Thickness of left flange beyond beams web thickness
Thickness of right flange beyond beams web thickness
Thickness of top flange of beam
Width of bottom flange
Width of top flange
Length of cantilever at start of beam (i-end)
Stud diameter
Stud length
Length of first stud segment
Length of second stud segment
Length of third stud segment
Length of fourth stud segment
Length of fifth stud segment
Tensile strength of stud
Unbraced axial length in the major axis
Type
double
double
double
double
double
double
EFRAMETYPE
EBeamConnectionType
EMATERIALTYPES
Property
dUnbracedLengthAxialLY
dUnbracedLengthFlexLY
dWebDepth
dWebDepthBot
dWebWidth
dWebWidthBot
eFramingType
eLeftConnectionType
eMaterial
Get
X
X
X
X
X
X
X
X
X
Set
X
X
EJoistType
ESTEEL_SEC
EBeamConnectionType
ESeismicProvFrameType
ECONC_OTHER_SEC
long
eMemberJoistType
eOptimizeShape
eRightConnectionType
eSeismicFrameType
eShape
eSharingLoadType
X
X
X
X
X
X
long
long
lBeamLineNumber
lFlangeBracing
X
X
X
X
long
long
lFrameNumber
lLabel
X
X
Long
long
lLeftConnectionID
lMaterialID
X
X
long
long
lRightConnectionID
lSectionID
X
X
X
X
long
lUID
X
X
Description
Unbraced axial length in the minor axis
Unbraced length for lateral torsional buckling
Top or single web depth
Bottom we depth for beams made from different top and bottom sections
Top or single web width
Bottom web width for beams made from different top and bottom sections
Whether member is lateral or gravity
Connection type at the left support of beam
Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat,
ESmartbeamBeamMat, EConcreteMat, or EOtherMat.
Type of joist (if beam material type is ESteelJoistMat)
Shape for which beam is to be optimized (if section is not user-defined).
Type of connection on the right end
The Seismic Frame Type of the member (Special Moment Frame, etc)
Only valid for Concrete or Other material. Returns shape of cross section
Returns sharing load type:
-1:
None
0:
Entirely two-way
1:
Entirely one-way
2:
One-way and two-way
Beam line that beam is part of (applicable only if this is a concrete beam).
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
Frame number for lateral members. It must be positive number.
Numeric label of beam used for on-screen display in RAM Structural System. It is unique
per floor type.
Left end connection UID
Unique ID of material properties for this beam. Must correspond to type of material. See
section Getting material properties for a member for more information.
Right end connection ID
Unique ID of concrete or Other section assigned to this beam. See Assigning section
properties to concrete members and Assigning section properties to Other members for
more information.
Unique ID of beam.
Type
long
Property
lUnbracedLength
Get
X
Set
X
ESeismicProvFrameType
BSTR
SeismicFrameType
strSectionLabel
X
X
Description
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
The Seismic Frame Type of the member (Special Moment Frame, etc)
Label of the size or section property for this beam. Limited to 15 characters. See
Assigning sizes to steel members, Assigning section properties to concrete members, and
Assigning section properties to Other members for more information.
IBeams
This interface represents a collection of beams associated with a story. This collection can be used to read data for beams at a
story. To add or delete beams, use the ILayoutBeams interface associated with a floor type.
Filter ([in] EBeamFilter eBeamFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of beams based on given criteria.
Parameters
eFilter
varFilterCriteria
plRetval
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)
Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
IColumn
This interface represents a single column. This is a column associated with a story, rather than a floor type. This interface can be
used to read data for a column at a story. To change coordinates, use the ILayoutColumn interface.
GetEndCoordinates ([out] SCoordinate* pPoint1, [out] SCoordinate* pPoint2, [out, retval] long* plRetval)
Gets the end coordinates for the column.
Parameters
pPoint1
pPoint2
SCoordinate of the column end. This is the top of standard columns and
bottom of hanging columns.
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
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.
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)
Pointer to an IProperties interface that represents a collection of properties for this member
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.
Unique ID of the member that supports the rigid link.
X coordinate for the end of the rigid. A support must exist at this location.
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-tostory when a floor type is used by multiple stories must be set through the ILayoutColumn interface.
Type
BOOL
Property
bAbsMajorAxisEccentricity
Get
X
Set
BOOL
bAbsMinorAxisEccentricity
BOOL
BOOL
bAtFoundation
bBracedMajorAxisByMember
X
X
BOOL
bBracedMinorAxisByMember
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
bDoubleAngleLLBackToBack
bDoubleAngleSnugTightBolt
bHanger
bKinked
bMajAxisBendFixedBot
bMajAxisBendFixedTop
bMinAxisBendFixedBot
bMinAxisBendFixedTop
bSglAngleMirrored
bSpliceLevel
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
BOOL
BOOL
double
double
double
double
double
double
double
double
double
bTorFixedBot
bTorFixedTop
dDblAngleBackSpacing
dLength
dLoadSharingFactor
dMajorAxisEccentricity
dMinorAxisEccentricity
dOrientation
dStressRatio
dUnbracedLengthAxialLX
dUnbracedLengthAxialLY
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Description
TRUE if eccentricity in major axis is absolute distance. FALSE if eccentricity is relative
to columns centerline.
TRUE if eccentricity in minor axis is absolute distance. FALSE if eccentricity is relative
to columns centerline.
Indicates if column is at foundation level
TRUE if column is braced in column local X direction by the slab or a beam (within user
specified angle)
TRUE if column is braced in column local Y direction by the slab or a beam (within user
specified angle)
Double angle long leg back to back
Double angle using snug tight bolted intermediate connectors
Flag indicating whether the column is a hanging column or not.
Part of a nonlinear column stack
Major axis bending release at bottom of column (j-end).
Major axis bending release at top of column (i-end).
Minor axis bending release at bottom of column (j-end).
Minor axis bending release at top of column (i-end).
Single angle mirrored orientation
Indicates whether this column is spliced at this story. This is set in the story data in the
modeler.
Torsion release at bottom of column (j-end).
Torsion release at top of column (i-end).
Double angle back to back spacing
Column length
Factor for load sharing
Eccentricity value for major axis
Eccentricity value for minor axis
Orientation of column with respect to the global axis system.
Stress ratio for column (used by RAM Frame)
Axial unbraced length for buckling about the X axis
Axial unbraced length for buckling about the Y axis
Type
double
double
double
double
Property
dUnbracedLengthFlexLX
dUnbracedLengthFlexLY
dUnityForSizeSelected
dZBotOffset
Get
X
X
X
X
Set
X
X
X
X
EAnalyzeFlag
EBeamSpan
EBeamSpan
EBeamSpan
EBeamSpan
EFRAMETYPE
EMATERIALTYPES
eAnalyzeFlag
eBeamSpanAtSide1
eBeamSpanAtSide2
eBeamSpanAtSide3
eBeamSpanAtSide4
eFramingType
eMaterial
X
X
X
X
X
X
X
ESTEEL_SEC
ESeismicProvFrameType
eOptimizeShape
eSeismicFrameType
X
X
long
eSharingLoadType
EUserOverride
eUserSpliceLevel
single
long
long
long
long
fMaxLLRed
lColumnAboveUID
lDesignStatus
lDxfElevationNumber
lFlangeBracing
X
X
X
X
X
long
lFrameNumber
X
X
X
Description
Flexural unbraced length for lateral torsional buckling
Flexural Unbraced length
Column interaction equation value
Bottom z offset from story below elevation (or foundation) for start of column. This is
made available because the offset at the bottom of the column (at the transition
between floortypes or at the foundation) may differ from that at the other stories that
use the floortype. This is true if the member a column sits on is lowered or raised.
Whether column will be optimized or analyzed during design.
Beam type framing into this side of column
Beam type framing into this side of column
Beam type framing into this side of column
Beam type framing into this side of column
Whether member is lateral or gravity
Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or
EOtherMat.
Shape for which steel column will be optimized
The Seismic Frame Type of the member (Special Moment Frame, etc) As defined in
RAM Frame
Returns sharing load type:
-1:
None
0:
Entirely two-way
1:
Entirely one-way
2:
One-way and two-way
Indicates user assigned splice setting for a given story. Default value is eUserNA
which, means the splice from the story data should be used. A value of eUserYes
means that the user has set a splice at this level. A value of eUserNo means that the
user has removed the splice at this level.
The users assignment overrides the story data setting except in cases where the
physical geometry necessitates a splice, such as changing material between levels.
Maximum live load reduction
Unique ID of column above
Design status
DXF Elevation number
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
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.
Type
long
Property
lLabel
Get
X
Set
long
long
lLLRedCalc
lMaterialID
X
X
long
long
lMemberBelowUID
lSectionID
X
X
long
long
long
lStoryID
lUID
lUnbracedLength
X
X
X
long
lUserBracedMajorAxis
long
lUserBracedMinorAxis
long
ESeismicProvFrameType
BSTR
lWallGroupNumber
SeismicFrameType
strSectionLabel
X
X
X
X
X
BSTR
BSTR
BSTR
strTrialSizeUsed1
strTrialSizeUsed2
strTrialSizeUsed3
X
X
X
X
X
X
Description
Numeric label of column used for on-screen display in RAM Structural System. Each
member type is uniquely numbered per floor type.
Calculated Live Load reduction factor
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.
Unique ID of column below
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.
Get the ID of the story this column belongs to. Returns -1 in the event of an error.
Unique ID of column
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
User bracing assignment for column local X direction
-1 = use global criteria, 0 = not braced, 1 = braced
User bracing assignment for column local Y direction
-1 = use global criteria, 0 = not braced, 1 = braced
Wall group number
The Seismic Frame Type of the member (Special Moment Frame, etc)
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.
User assigned trial size 1
User assigned trial size 2
User assigned trial size 3
IColumns
This interface represents a collection of columns associated with a story. This collection can be used to read data for columns at a
story. To add or delete columns, use the ILayoutColumns interface associated with a floor type.
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of columns based on given criteria.
Parameters
eColumnFilter
varFilterCriteria
plRetval
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)
Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
IColumnStack
This interface represents a single column stack in the model.
Properties
Type
long
BSTR
Property
lBasePlateColumnID
strGridLabel
Get
X
X
Set
Description
Unique ID of column at which the base plate occurs
Get the grid intersection label at this column stack
ICompDeckProp
This interface represents a single composite deck property.
Properties
Type
BOOL
double
double
double
double
double
double
Property
bShored
dEffectiveThickness
dElasticModulus
dFpc
dPoissonsRatio
dSelfWtDeck
dStudDiameter
Get
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
Description
TRUE if the deck is shored.
The effective thickness of the deck.
The elastic modulus of the deck.
The concrete compression capacity (psi).
The Poissons Ratio of the deck.
The self-weight of the steel deck (psf).
The stud diameter.
double
double
double
double
long
dStudFu
dStudLength
dThickAboveFlutes
dUnitWeight
lUID
X
X
X
X
X
X
X
X
X
Type
BSTR
Property
strDeckType
Get
X
Set
X
BSTR
strLabel
Description
Type of deck. This name must match the name in the deck table and
is limited to 19 characters.
Label for the composite deck property
ICompDeckProps
This interface represents a collection of composite deck properties defined in the model. Composite deck properties are defined
using this interface and then can be assigned to decks. In v9.0 of DataAccess, decks cannot yet be added. However, the composite
deck properties defined here can be assigned to decks that are laid out in the RAM Modeler.
Add ([in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval] ICompDeckProp **
ppICompDeckProp)
Adds a new composite deck property.
Parameters
bstDeckType
dThickAboveFlutes
dStudLength
ppICompDeckProp
Add2 ([in] BSTR bstLabel, [in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval]
ICompDeckProp ** ppICompDeckProp)
Adds a new composite deck property. 0.
Parameters
bstLabel
bstDeckType
dThickAboveFlutes
dStudLength
ppICompDeckProp
lUID
plRetval
Filter ([in] ECompDeckPropsFilter eCompDeckPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of composite deck properties based on given criteria.
Parameters
eCompDeckPropsFilter Indicates the type of filter to use on the collection
varFilterCriteria
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval
0 if successful
-1 if collection could not be filtered
The index into the collection of the requested composite deck property
Pointer to an ICompDeckProp interface that represents the requested composite deck property, or NULL if lIndex is
invalid.
plCount
IConcreteCriteria
This interface provides access to all concrete design criteria, including the names of any tables used during the design.
Properties
Type
EDA_CONC_CODE
EDA_CONC_CODE
BSTR
Property
eConcreteDesignCode
eFoundationDesignCode
strPanJoistTable
Get
X
X
X
Set
X
X
X
BSTR
strReinforcementTable
Description
Design code for concrete beams and columns
Design code for foundations
Table of pans to use for laying out pan joists. File must have a .pnj extension. Maximum 19
characters allowed.
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 members concrete material properties can be read and set
through this interface.
Properties
Type
double
Property
dAggregateSize
Get
X
Set
X
double
dElasticModulus
double
dFct
double
double
double
double
dFpc
dFyBoundary
dFyDistributed
dFyLongitudinal
X
X
X
X
X
X
X
X
double
dFyTiesLinks
double
dFyTransverse
double
double
dPoissonsRatio
dSelfWeight
X
X
X
X
Description
Aggregate size of concrete (Only applicable for British code and only
for beams and columns)
Elastic modulus. If -1, the program will calculate this value. (Only
applicable for beams and columns)
Concrete cracking stress capacity. Only used for ACI code design.
(Only applicable for beams and columns)
Concrete compressive strength (fc).
Yield strength of boundary steel reinforcing for concrete shear walls.
Yield strength of distributed steel reinforcing for concrete shear walls.
Yield strength of longitudinal steel reinforcing for concrete columns,
beams, horizontal braces and foundations.
Yield strength of steel reinforcing for ties and links for concrete shear
walls.
Yield strength of transverse steel reinforcing for concrete columns,
beams, horizontal braces and foundations.
Poissons Ratio.
Self-weight of member.
Type
double
EAggregateType
Property
dUnitWeight
eConcreteAggType
Get
X
X
Set
X
X
Description
Unit weight of member.
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.
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)
Pointer to an IProperties interface that represents a collection of properties for this member
Properties
Type
double
Property
dCrackedAxialFactor
Get
X
Set
X
double
double
dCrackedFactor
dCrackedTorsionFactor
X
X
X
X
double
double
dDepth
dDiameter
X
X
X
X
Description
Cracked section factor for axial stiffness. It is the multiplier for the
axial stiffness.
Cracked factor of concrete section.
Cracked section factor for torsional stiffness. It is the multiplier for the
torsional stiffness.
Depth of section. Applies to rectangular and tee sections.
Diameter of section. Applies to round sections.
Type
double
Property
dFlangeOverhangLeft
Get
X
Set
X
double
dFlangeOverhangRight
double
dFlangeThickLeft
double
dFlangeThickRight
double
EUniqueMemberTypeID
ECONC_OTHER_SEC
long
BSTR
dWebWidth
eMemType
eShape
lUID
strLabel
X
X
X
X
X
Description
Left flange overhang. Applies to tee sections. If -1, program will
calculate this value.
Right flange overhang. Applies to tee sections. If -1, program will
calculate this value.
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.
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.
Web width of section. Applies to rectangular and tee sections.
Type of member to which this section can be assigned.
Shape of the section.
Unique ID of concrete section.
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
eMemType
dTotalBeamDepth
dWebWidth
ppIConcSectProp
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
eMemType
dDiameter
ppIConcSectProp
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
dFlangeLeftOverhang
dFlangeRtOverhang
dFlangeThick
dTotalBeamDepth
dWebWidth
ppIConcSectProp
Filter ([in] EConcSectPropsFilter eConcSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of concrete sections based on given criteria.
Parameters
eConcSectPropsFilter Indicates the type of filter to use on the collection
varFilterCriteria
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval
0 if successful
-1 if collection could not be filtered
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)
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
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
double
double
Property
bAutoGenSCOpeningCutAtBtm
bAutoGenSCOpeningCutAtSides
bAutoGenSCOpeningCutAtTop
bAutoGenSCOpeningCutsOutside
bAutoGenSCPanelCutAtBtm
bAutoGenSCPanelCutAtEnds
bAutoGenSCPanelCutAtTop
dAutoGenSCEdgeOffset
dAutoGenSCHorizMaxSpacing
Get
X
X
X
X
X
X
X
X
X
double
dAutoGenSCVertMaxSpacing
BSTR
strConcreteCode
Set
Description
Whether or not auto-generated section cuts include horizontal cuts above the bottoms of openings.
Whether or not auto-generated section cuts include vertical cuts inside openings.
Whether or not auto-generated section cuts include horizontal cuts below the tops of openings.
Whether or not auto-generated section cuts include cuts around the outside of openings.
Whether or not auto-generated section cuts include horizontal cuts at the bottoms of walls.
Whether or not auto-generated section cuts include vertical cuts at the edges of walls.
Whether or not auto-generated section cuts include horizontal cuts at the tops of walls.
The distance from the edges of walls and openings to offset auto-generated section cuts.
The maximum spacing between horizontal section cuts for auto-generated section cuts, or 0.0 if
there is no maximum.
The maximum spacing between vertical section cuts for auto-generated section cuts, or 0.0 if there
is no maximum.
The unique ID of this wall bar pattern template.
IConcSlabProp
This interface represents a single concrete slab property.
Properties
Type
BOOL
Property
bUseElasticModulus
Get
X
Set
X
double
double
double
double
double
double
double
double
long
BSTR
dBendingCrackedFactor
dDiaphragmCrackedFactor
dElasticModulus
dFpc
dPoissonsRatio
dSelfWeight
dThickness
dUnitWeight
lUID
strLabel
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Description
If FALSE, uses the calculated elastic modulus for the slab. If TRUE,
uses the elastic modulus from the dElasticModulus property.
Bending cracked factor of the concrete slab.
Diaphragm cracked factor of the concrete slab.
Elastic modulus of the concrete slab if bUseElasticModulus is TRUE.
FPC of the concrete slab.
Poissons Ratio of the concrete slab.
Self-weight of concrete slab.
Thickness of concrete slab.
Unit weight of the concrete slab.
Unique ID of concrete slab property.
Label of concrete slab property. Limited to 19 characters.
IConcSlabProps
This interface represents a collection of concrete slab properties defined in the model. Concrete slab properties are defined using
this interface and then can be assigned to decks or mat foundations. In v9.0 of DataAccess, decks and mat foundations cannot yet
be added. However, the concrete slab properties defined here can be assigned to decks and mat foundations that are laid out in the
RAM Modeler.
Add ([in] BSTR bstSlabName, [in] double dThick, [in] double dSelfWeight, [out, retval] IConcSlabProp** ppIConcSlabProp)
Adds a new concrete slab property.
Parameters
bstSlabName
dThick
dSelfWeight
ppIConcSlabProp
Parameters
lIndex
ppIConcSlabProp
The index into the collection of the requested concrete slab property
Pointer to an IConcSlabProp interface that represents the requested concrete slab property, or NULL if lIndex is
invalid.
IContinuousFnd
This interface represents a single continuous foundation. This is a continuous foundation associated with a story, rather than a floor
type. This interface can be used to read data for a continuous foundation at a story. To change coordinates, use the
ILayoutContinuousFnd interface.
GetCoordinates ([out] SCoordinate* pStartCenterLinePoint, [out] SCoordinate* pEndCenterLinePoint, [out, retval] long* plRetval)
Gets the coordinates of the continuous foundation.
Parameters
pStartCenterLinePoint SCoordinate corresponding to the start center point of the foundation
pEndCenterLinePoint SCoordinate corresponding to the end center point of the foundation
plRetval
0 if successful
-1 if coordinates cannot be retrieved
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)
Pointer to an IProperties interface that represents a collection of properties for this member
Properties
Type
BOOL
Property
bDimensionsFromDesign
Get
X
Set
Description
Indicates whether or not the dimensions returned for the footing are from the design or not
double
dBottom
double
double
double
double
double
long
long
dLeft
dOrientation
dRight
dThickness
dTop
lLabel
lMaterialID
X
X
X
X
X
X
X
Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global Xaxis
Dimension from center of foundation to left edge defined when footing major axis is parallel to global X-axis
Orientation of foundation
Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-axis
Thickness of foundation
Dimension from center of foundation to top edge defined when footing major axis is parallel to global X-axis
Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type.
Unique ID of material properties for this continuous foundation. Foundation is always concrete. See section
Getting material properties for a member for more information.
long
lUID
X
X
X
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.
Leave blank for public properties or enter a valid user ID to get properties.
pplPropertyDefs
ICouplingBeam
This interface represents a coupling beam.
Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all design cuts in the coupling beam.
Properties
Type
BOOL
BOOL
BOOL
BOOL
double
double
double
double
double
double
double
double
double
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
Property
bDesigned
bFrozen
bUseBarPattern
bUseUniformLayout
dBotLongRowSpacing
dDiagElementHeight
dDiagElementWidth
dDiagTieSpacing
dLongBarSpacing
dSideBarSpacing
dStirrupSpacing
dTopLongRowSpacing
dTransBarSpacingUniform
lBotLongBarSize
lDiagReinfSize
lDiagTieSize
lLongBarSize
lNumBotLongBarRows
lNumBotLongBars
lNumDiagBarsSide
lNumDiagBarsTopAndBot
lNumLayers
lNumTopLongBarRows
lNumTopLongBars
lSideBarSize
lStirrupSize
lStirrupSizeUniform
lTopLongBarSize
lUID
Get
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Description
Indicates whether or not this coupling beam has been designed.
Indicates whether or not this coupling beam has been frozen by the user.
Indicates if the bar pattern option is selected in the uniform layout option
Indicates if the uniform layout option is selected
Spacing of the bottom longitudinal bars in the nonuniform layout option
Distance between outer edges of diagonal longitudinal bars
Distance between outer edges of diagonal longitudinal bars
Tie spacing for diagonal reinforcment
Spacing of the horizontal bars in the uniform layout option
Spacing of the side bars in the nonuniform layout option
Spacing of the transverse bars in the nonuniform layout option
Spacing of the top longitudinal bars in the nonuniform layout
Spacing of the transverse bars in the uniform layout option
Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
Index of the bar size in the rebar table for the diagonal longitudinal bars
Index of the bar size in the rebar table for the diagonal tie bars
Index of the bar size in the rebar table for the horizontal bars in the uniform layout option
Number of bottom layers of reinforcing in the nonuniform layout option
Number of bottom bars in each layer of reinforcing in the nonuniform layout option
Number of diagonal longitudinal bars at sides
Number of diagonal longitudinal top and bottom bars
Number of layers of reinforcing in the uniform layout option
Number of top layers of reinforcing in the nonuniform layout option
Number of top bars in each layer of reinforcing in the nonuniform layout option
Index of the bar size in the rebar table for the side bars in the nonuniform layout option
Index of the bar size in the rebar table for the transverse bars in the nonuniform layout option
Index of the bar size in the rebar table for the vertical bars in the uniform layout option
Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
The unique ID of the coupling beam
ICouplingBeamCriteria
This interface represents global coupling beam reinforcing criteria.
Properties
Type
BOOL
BOOL
DOUBLE
DOUBLE
Property
bUseBarPattern
bUseUniformLayout
dBotLayerSpacing
dDiagElementHeight
Get
Set
X
X
X
X
X
X
Description
Indicates if the bar pattern option is selected in the uniform layout option
Indicates if the uniform layout option is selected
Spacing of the bottom longitudinal bars in the nonuniform layout option
Distance between outer edges of diagonal longitudinal bars
Type
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
LONG
Property
dDiagElementWidth
dDiagTieSpacing
dLongBarSpacing
dSideBarSpacing
dStirrupSpacing
dStirrupSpacingUniform
dTopLayerSpacing
lBotBarSize
lDiagLongBarSize
lDiagTieSize
lLongBarSize
lNumBotBars
lNumBotLayers
lNumDiagBarsSide
lNumDiagBarsTopBot
lNumLayers
lNumTopBars
lNumTopLayers
lSideBarSize
lStirrupSize
lStirrupSizeUniform
lTopBarSize
Get
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Description
Distance between outer edges of diagonal longitudinal bars
Tie spacing for diagonal reinforcment
Spacing of the horizontal bars in the uniform layout option
Spacing of the side bars in the nonuniform layout option
Spacing of the transverse bars in the nonuniform layout option
Spacing of the transverse bars in the uniform layout option
Spacing of the top longitudinal bars in the nonuniform layout
Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
Index of the bar size in the rebar table for the diagonal longitudinal bars
Index of the bar size in the rebar table for the diagonal tie bars
Index of the bar size in the rebar table for the horizontal bars in the uniform layout option
Number of bottom bars in each layer of reinforcing in the nonuniform layout option
Number of bottom layers of reinforcing in the nonuniform layout option
Number of diagonal longitudinal bars at sides
Number of diagonal longitudinal top and bottom bars
Number of layers of reinforcing in the uniform layout option
Number of top bars in each layer of reinforcing in the nonuniform layout option
Number of top layers of reinforcing in the nonuniform layout option
Index of the bar size in the rebar table for the side bars in the nonuniform layout option
Index of the bar size in the rebar table for the transverse bars in the nonuniform layout option
Index of the bar size in the rebar table for the vertical bars in the uniform layout option
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.
Pointer to an ICouplingBeam interface that represents the newly added coupling beam.
Clear ()
Deletes all coupling beams from 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
lIndex
plCount
Pointer to IPoints collection that represents the vertices of the specified polygon.
The story ID of the story for which to get the polygon count.
Number of final exterior polygons.
The story ID of the story for which to get the polygon count.
Number of final polygons.
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
plRetval
Pointer to IPoints collection that represents the vertices of the deck polygon.
0 if successful
Properties
Type
BOOL
double
EDeckType
ESlabActions
long
long
long
Property
bDropCap
dAngle
eDeckPropType
eSlabAction
lDropCapColumnID
lPropID
lUID
Get
X
X
X
X
X
X
X
Set
X
X
Description
Flag indicating whether or not this deck was modeled as a drop cap.
Orientation of deck
Type of deck, either composite, non-composite or concrete
The slab action for this deck (one-way or two-way).
The unique ID of the column associated with the drop cap
Unique ID of the deck property
Unique ID of deck polygon
IDecks
This interface represents a collection of all decks on a floor type.
Add ([in] long lDeckPropID, [in] long lNumPoints, [out, retval] IDeck** ppIDeck)
Adds a new deck to the collection of decks for the model.
Parameters
lDeckPropID
lNumPoints
ppIDeck
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
lNumPoints
lColumnID
ppIDeck
Filter ([in] EDeckFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
Filters the collection of decks based on given criteria.
Parameters
eFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
IDeckTableEntries
This interface is used to hold a collection of IDeckTableEntry objects.
IDeckTableEntry
This interface is used represent an entry in the models composite decking table. Refer to the RAM Manager manual for a more
detailed description of the properties.
Properties
Type
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
BSTR
Property
dABD
dRSpac
dTD
dWR
dYBar2
strDeckName
Get
X
X
X
X
X
X
Set
Description
Area of concrete in the rib per unit deck width
Rib spacing
Nominal rib height
Average rib width
Distance from the bottom of the deck to the centroid of the concrete area dABD
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.
GetPointLoads ([in] EAnalysisResultType eAnalysisType, [in] long lLoadCaseID, [out,retval] IPointLoads** ppIPointLoads)
Gets the collection of point loads on this diaphragm.
Parameters
eAnalysisType
lLoadCaseID
ppIPointLoads
Properties
Type
BOOL
Property
bSkipSurfaceLoad
Get
X
Set
X
Description
Skip surface load polygon edges as constraints while meshing
Type
double
Property
dAdvMeshShapeQualValue
Get
X
Set
X
double
dAdvMeshSizeRatio
double
dAdvNormEdgeLengthRatio
double
dHardNodeDensityFactor
double
dMaxMeshLength
double
dMergeNodeTolerance
double
dMeshTolerance
EDiaphragmDeckDirTypes
long
eContainedDeckDirections
lAdvMeshOptimizationLevel
X
X
long
lPerimeterID
long
lUID
Description
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.
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.
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).
Factor for mesh density around a hard node, larger is less dense,
default 1.0.
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.
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)
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...
Snapshot of the different deck directions contained in the diaphragm.
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.
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.
Unique ID of diaphragm.
IDiaphragms
This interface represents a collection of all diaphragms associated with a story.
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.
Properties
Type
long
long
Property
lRawOpeningUID
lWallUID
Get
X
X
Set
Description
Unique ID of raw wall opening from which this this clipped opening originated
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.
The index into the collection of the requested final wall opening
Pointer to an IFinalWallOpening interface that represents the requested final wall opening, or NULL if lIndex is
invalid.
IFloorType
This interface represents a single floor type in the model.
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.
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.
Pointer to an IDecks collection interface that represents all decks defined on this floor type
Pointer to an IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor
type.
Pointer to an ILayoutBeams collection interface that represents all beams defined on this floor type
Pointer to an ILayoutColumns collection interface that represents all columns 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
Pointer to an ILayoutWalls collection interface that represents all walls defined on this floor type
Pointer to an ILineLoadSets collection interface that represents all line load sets defined on this floor type
Pointer to an IPointLoadSets collection interface that represents all point load sets defined on this floor type
Pointer to an ISlabOpenings collection interface that represents all slab openings defined on this floor type
ppISlabPerimeters
Pointer to an ISlabPerimeters collection interface that represents all slab perimeters defined on this floor type
Pointer to an IStories collection interface that represents all stories based on this floor type
ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor type.
SetGridSystemIDArray ([in] IDAArray * pIDAArray, [out, retval] long *plRetVal)
Sets the collection of unique IDs of grid systems that are assigned to this floor type.
Parameters
pIDAArray
plRetVal
Pointer to an IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor
type.
0 if collection is set
Properties
Type
long
Property
lUID
Get
X
Set
Description
Unique ID of floor type
BSTR
strLabel
IFloorTypes
This interface represents a collection of all floor types for the model. It can be used to add and delete floor types.
Copy ([in] long lSrcIndex, [in] BSTR strFloorTypeName, [in] DWORD dwWhatToCopy, [out, retval] IFloorType** ppFloorType)
Creates a duplicate copy of the specified floor type.
Parameters
lScrIndex
bstrFloorTypeName
dwWhatToCopy
ppFloorType
Copy2 ([in] long lSrcIndex, [in] BSTR strFloorTypeName, [in] LONG lWhatToCopy, [out, retval] IFloorType** ppFloorType)
Creates a duplicate copy of the specified floor type.
Parameters
lScrIndex
bstrFloorTypeName
lWhatToCopy
ppFloorType
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
plRetval
Filter ([in] EFloorTypeFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
Filters the collection of floor types based on given criteria.
Parameters
eFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
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
MSIWorkaround_EFloorTypeElements_DO_NOT_CALL ()
Internal use only.
IFrameAnalysisCriteria
This interface provides access to frame analysis criteria used during an analysis in RAM Frame. Replaced by IRAMFrameCriteria.
Properties
Type
Property
Get
Set
Description
BOOL
bConsiderAdvancedMeshCriteria
BOOL
BOOL
bConsiderPDelta
bOutputForcesAtFace
X
X
X
X
double
dMeshMaxDistBetweenNodes
double
double
dMeshShapeQualityRatio
dPDeltaFactor
X
X
X
X
EDiaphragm
eDiaphragmType
long
lMeshOptimizationLevel
Indicates whether to consider advanced wall meshing criteria. If it is False, default mesh
criteria values are used.
TRUE if PDelta effect should be considered during analysis, FALSE if not
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
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).
Advanced wall mesh shape quality ratio (between 0.1 and 1). The Default is 0.6.
Scale factor (between 0 and 10) to magnify the effect of PDelta during the analysis. The
Default is 1.
Type of diaphragms in model. Will be eNoDiaphragm if no stories have diaphragms. Will
be eRigidDiaphragm if some stories have rigid diaphragms
Advanced wall mesh optimization level (between 1 and 10). The Default is 3.
IGridSystem
This interface represents a single grid system.
Pointer to an IModelGrids interface that represents the collection of grids for the grid system.
Properties
Type
double
double
double
SGridSysType
long
BSTR
Property
dRotation
dXoffset
dYoffset
eOrientationType
lUID
strLabel
Get
X
X
X
X
X
X
Set
X
X
X
X
X
Description
Rotation angle of grid system.
Offset of grid system from 0, along x-axis.
Offset of grid system from 0, along y-axis.
Orientation type of grid system.
Unique ID of grid system.
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.
Filter ([in] EGridSystemFilter eGridSystemFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of grid systems based on given criteria.
Parameters
eGridSystemFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
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)
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)
Pointer to an IProperties interface that represents a collection of properties for this member
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
BOOL
Property
bDblAngleLLBacktoBack
Get
X
Set
X
BOOL
bDblAngleSnugTightBolt
BOOL
BOOL
BOOL
BOOL
bMajAxisBendFixEnd
bMajAxisBendFixStart
bMinAxisBendFixedEnd
bMinAxisBendFixedStart
X
X
X
X
X
X
X
X
Description
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.
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.
Major axis bending release at end of horizontal brace (j-end).
Major axis bending release at start of horizontal brace (i-end).
Minor axis bending release at end of horizontal brace (j-end).
Minor axis bending release at start of horizontal brace (i-end).
Type
BOOL
Property
bSglAngleLLHorizontal
Get
X
Set
X
BOOL
BOOL
double
bTorFixedEnd
bTorFixedStart
dDblAngleBackSpacing
X
X
X
X
X
X
double
double
double
ETensionCompressionMemType
EMATERIALTYPES
dUnbracedLengthAxialX
dUnbracedLengthAxialY
dUnbracedLengthFlexuralY
eAnalysisType
eMaterial
X
X
X
X
X
X
X
X
X
long
lFlangeBracing
long
long
lFrameNumber
lLabel
X
X
long
lMaterialID
long
lSectionID
long
long
lUID
lUnbracedLength
X
X
BSTR
strSectionLabel
Description
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.
Torsion release at end of horizontal brace (j-end).
Torsion release at start of horizontal brace (i-end).
Spacing distance between angles of double angle section. Applies to a steel
horizontal brace that has been assigned a double angle section.
Strong axis unbraced length for axial compression
Weak axis unbraced length for axial compression
Unbraced length for lateral torsional buckling
Indicates whether horizontal brace takes tension, compression, or both
Material type of horizontal brace. Valid options for horizontal braces are
ESteelMat, EConcreteMat, or EOtherMat.
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
Frame number assigned
Numeric label of horizontal brace used for on-screen display in RAM Structural
System. It is unique per floor type.
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.
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.
Unique ID of horizontal brace.
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
Label of the size or section property for this horizontal brace. Limited to 15
characters. See Assigning sizes to steel members, Assigning section properties
to concrete members, and Assigning section properties to Other members for
more information.
IHorizBraces
This interface represents a collection of horizontal braces associated with a story. This collection can be used to read data for
horizontal braces at a story. To add or delete horizontal braces, use the ILayoutHorizBraces interface associated with a floor type.
Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout horizontal braces based on given criteria.
Parameters
eFilter
varFilterCriteria
plRetval
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)
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.
Pointer to an IPoints interface that represents the location of the piles in the pile cap.
strCustomProps
ppIProperties
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)
Pointer to an IProperties interface that represents a collection of properties for this member
Properties
Type
BOOL
double
Property
bDimensionsFromDesign
dBottom
Get
X
X
Set
double
dLeft
double
double
dOrientation
dRight
X
X
X
X
double
double
dThickness
dTop
X
X
X
X
EIsolatedFndType
eType
Description
Indicates whether or not the dimensions returned for the footing are from the design or not
Dimension from center of foundation to bottom edge of footing when footing major axis is parallel
to global X-axis
Dimension from center of foundation to left edge of footing when footing major axis is parallel to
global X-axis
Orientation of foundation
Dimension from center of foundation to right edge of footing when footing major axis is parallel to
global X-axis
Thickness of foundation
Dimension from center of foundation to top edge of footing when footing major axis is parallel to
global X-axis
Type of isolated foundation (i.e. spread footing, pile cap)
Type
long
Property
lLabel
Get
X
Set
long
lMaterialID
long
lPileConfigurationID
long
lPileID
long
lUID
Description
Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per
floor type.
Unique ID of material properties for this isolated foundation. Foundation is always concrete. See
section Getting material properties for a member for more information.
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.
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.
Unique ID of isolated foundation.
IIsolatedFnds
This interface represents a collection of isolated foundations (foundations that sit under a single column) associated with a story.
While isolated foundations are added to the ILayoutIsolatedFnds interface (which is associated with a floor type), they only are
considered in the 3D model at the lowest story used by that floor type. For example, if isolated foundations are defined on a floor
type that is associated with 2 stories, calling GetIsolatedFnds() from the IStory associated with the top story for that floor type will
yield an empty IIsolatedFnds collection, but from the IStory associated with the bottom story, the IIsolatedFnds collection will
represent all the isolated foundations at that story.
Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of isolated foundations based on given criteria.
Parameters
eIsolatedFndFilter
varFilterCriteria
plRetval
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)
Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
ILayoutBeam
This interface represents a single layout beam. A layout beam is a beam associated with a floor type. Since a floor type can be
associated with one or more stories, a layout beam may actually represent one or more beams. This interface can be used to modify
the coordinates and properties of a layout beam.
GetAssociatedStoryBeams ([out, retval] IBeams** ppIBeams)
Gets an interface for a collection of story beams associated with this layout beam. Collection may be empty if no stories are associated
with the floor type the layout beam is on.
Parameters
ppIBeams
Pointer to an IBeams interface that represents the collection of story beams associated with this layout beam.
GetEndRigidLink ([out] double *pdX, [out] *double pdY, [out] long *plMemberID)
Gets the support unique ID and coordinates for the rigid link at the end of the beam.
Parameters
pdX
pdY
plMemberID
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.
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.
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
pdStartSupportY
pdStartSupportZOffset
pdEndSupportX
pdEndSupportY
pdEndSupportZOffset
plRetval
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
pdY
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.
Y coordinate of the end of the rigid link on the supporting member at the start of the beam. Matches beam start
plMemberID
GetStubCantileverCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZOffset, [out] double
*pdEndtX, [out] double *pdEndY, [out] double *pdEndZOffset)
Gets the end coordinates of a stub cantilever layout beam. 1.
Parameters
pdStartX
pdStartY
pdStartZOffset
pdEndX
pdEndY
pdEndZOffset
Pointer to an IWebOpenings interface that represents the collection of web openings defined on this layout beam.
X coordinate of the end of the rigid link on the supporting member at the end of the beam.
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
dStartSupportY
dStartSupportZOffset
dEndSupportX
dEndSupportY
dEndSupportZOffset
plRetval
X coordinate of the end of the rigid link on the supporting member at the start of the beam.
Y coordinate of the end of the rigid link on the supporting member at the start of the beam.
SetStubCantileverCoordinates ([in] double dStartX, [in] double dStartY, [in] double dStartZOffset, [in] double dEndtX, [in] double
dEndY, [in] double dEndZOffset)
Sets the end coordinates of a stub cantilever layout beam. 1.
Parameters
dStartX
dStartY
dStartZOffset
dEndX
dEndY
dEndZOffset
Properties
Note that some properties that can be set through the ILayoutBeam interface cannot be retrieved. Any property of a beam that can
vary story-to-story (such as the section label, which corresponds to the beam size) cannot be retrieved through this interface
because the ILayoutBeam interface may represent more than one beam, not all of which will have the same assigned size. For
example, if a floor type is associated with 3 stories, the corresponding beams on those stories may have 3 different assigned sizes.
So the section label is one property that cannot be retrieved through the ILayoutBeam interface. To get the section label for a beam,
use the IBeam interface.
When a property is set through the ILayoutBeam interface, all beams represented by this interface will be updated.
Type
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
double
double
double
Property
bComposite
bMajAxisBendFixedEnd
bMajAxisBendFixedStart
bMinAxisBendFixedEnd
bMinAxisBendFixedStart
bTorFixedEnd
bTorFixedStart
dCastellatedBottomDt
dCastellatedDt
dCastellatedE
Get
X
X
X
X
Set
X
X
X
X
X
X
X
X
X
X
double
double
double
dCastellatedMaxE
dCastellatedMinE
dCastellatedPhiBot
X
X
X
X
X
X
double
dCastellatedPhiTop
double
double
double
double
double
dCastellatedTopDt
dCellularDo
dCellularMaxS
dCellularMinS
dCellularS
X
X
X
X
X
X
X
X
X
X
double
double
dEndCantilever
dManufacturerSelfWeight
X
X
X
X
double
EAnalyzeFlag
EFRAMETYPE
EMATERIALTYPES
dStartCantilever
eAnalyzeFlag
eFramingType
eMaterial
X
X
X
X
X
X
X
EJoistType
eMemberJoistType
Description
If TRUE, beam is composite. If FALSE, beam is non-composite.
Major axis bending release at end of beam (j-end).
Major axis bending release at start of beam (i-end).
Minor axis bending release at end of beam (j-end).
Minor axis bending release at start of beam (i-end).
Torsion release at end of beam (j-end).
Torsion release at start of beam (i-end).
dt is the distance from the top of the beam to the top of a castellated beam opening.
e is the dimension of the top of the castellated opening, and the spacing between openings.
This is the maximum dimension in the case that a range was specified by the design.
Minimum space between holes in castellated beams.
Maximum space between holes in castellated beams.
Angle off the horizontal of the slant of the bottom two slanted portions of the holes in
castellated beams.
Angle off the horizontal of the slant of the top two slanted portions of the holes in castellated
beams.
Vertical distance from flange to hole for castellated beams.
Do is the hole diameter for cellular beams.
Minimum center-to-center spacing of holes in cellular beams.
Maximum center-to-center spacing of holes in cellular beams.
S is the spacing between openings for cellular beams. This is the maximum dimension in the
case that a range was specified by the design.
Length of cantilever at end of beam (j-end)
Self weight supplied by a custom beam manufacturer, used in place of self-weight calculation
for calculating reactions on other members only used in Ram Structural System if
lManufacturerID has been set. This value should be in pounds per linear foot.
Length of cantilever at start of beam (i-end)
Whether beam will be optimized or analyzed during design
Whether member is lateral or gravity
Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat,
ESmartbeamBeamMat, EConcreteMat, or EOtherMat.
Type of joist (if beam material type is ESteelJoistMat)
Type
ESMARTBEAMTYPE
Property
eSmartBeamSubType
Get
X
Set
X
EDefaultOrAlternate
long
long
long
long
eSteelTable
lBeamLineNumber
lDeckUID
lFrameNumber
lLabel
X
X
long
lManufacturerID
long
lMaterialID
long
lSectionID
long
lUID
BSTR
strSectionLabel
X
X
X
X
X
X
Description
Whether the beam is a castellated or cellular smartbeam. Only applicable if eMaterial is
ESmartbeamBeamMat.
Whether beam size will be found in default or alternate steel beam design table
Beam line that beam is part of (applicable only if this is a concrete beam).
Deck unique id on the left or right of the beam.
Frame number for lateral members. It must be positive number.
Numeric label of beam used for on-screen display in RAM Structural System. It is unique per
floor type.
0 if none assigned. Custom beam manufacturers may obtain a manufacturer ID from RAM
International. When set on a beam, the beam will be ignored during the Design All command
in RAM Steel Beam.
Unique ID of material properties for this beam. Must correspond to type of material. See
section Getting material properties for a member for more information.
Unique ID of concrete or Other section assigned to this beam. See Assigning section
properties to concrete members and Assigning section properties to Other members for more
information.
Unique ID of layout beam. This unique ID corresponds to the beam on the top story
associated with this floor type, if any.
Label of the size or section property for this beam. Limited to 15 characters. See Assigning
sizes to steel members, Assigning section properties to concrete members, and Assigning
section properties to Other members for more information.
ILayoutBeams
This interface represents a collection of beams associated with a floor type. This collection is used to add or delete beams on a floor
type. (Beams cannot be added or deleted for a story through the IBeams interface, so this is the only interface through which beams
can be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dStartSupportX, [in] double dStartSupportY, [in]double dZOffset1, [in]double
dEndSupportX, [in]double dEndSupportY, [in]double dZOffset2, [out, retval] ILayoutBeam** ppILayoutBeam)
Adds a new layout beam to the collection of layout beams for the floor type. A beam is defined by its support points, not its end points.
Beams must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM
Structural System, they will be reversed. If a beam is cantilevered, the cantilever length is added as a property of the ILayoutBeam
interface.
Parameters
eMat
dStartSupportX
Material type of beam to add (Valid options are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat,
or EOtherMat)
X coordinate of the support point at the start of the beam (i-end).
dStartSupportY
dZOffset1
dEndSupportX
dEndSupportY
dZOffset2
ppILayoutBeam
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
dStartX
dStartY
dZOffset1
dEndX
dEndY
dZOffset2
ppILayoutBeam
Material type of beam to add (Valid options are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat,
or EOtherMat)
X coordinate of the supported stub cantilever end.
Y coordinate of the supported stub cantilever end.
Z offset value from the story elevation of the supported stub cantilever end.
X coordinate of the free stub cantilever end.
Y coordinate of the free stub cantilever end.
Z offset value from the story elevation of the free stub cantilever end.
Pointer to an ILayoutBeam interface that represents the newly added layout beam.
Filter ([in] EBeamFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout beams based on given criteria.
Parameters
eFilter
varFilterCriteria
Indicates the type of filter to use on the collection (see table below for filter types)
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
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)
Gets the coordinates of the top of the layout column.
Parameters
pdX
pdY
pdZ1Offset
pdZ2Offset
plRetval
GetLayoutCoordinates2 ([out] double *pdX1, [out] double *pdY1, [out] double *pdZ1Offset, [out] double *pdX2, [out] double
*pdY2, [out]double *pdZ2Offset)
Gets the coordinates of the layout column.
Parameters
pdX1
pdY1
pdZ1Offset
pdX2
pdY2
pdZ2Offset
X coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.
Y coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.
Z offset value from the story elevation. This is the top of standard columns
and the bottom of hanging columns.
X coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
Y coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
Z offset value from the story elevation. This is the bottom of standard
columns and the top of hanging columns.
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZ1Offset, [in] double dZ2Offset, [out, retval] long* plRetval)
Sets the coordinates of the layout column.
Parameters
dX
dY
dZTopOffset
dZBotOffset
plRetval
SetLayoutCoordinates2 ([in] double dX1, [in] double dY1, [in] double dZ1Offset, [in] double dX2, [in] double dY2, [in] double
dZ2Offset)
Sets the coordinates of the layout column.
Parameters
dX1
dY1
dZ1Offset
dX2
dY2
dZ2Offset
X coordinate of the column. This is the top of standard columns and bottom of
hanging columns.
Y coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.
Z offset value from the story elevation. This is the top of standard columns
and the bottom of hanging columns.
X coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
Y coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.
Z offset value from the story elevation. This is the bottom of standard
columns and the top of hanging columns.
Properties
Note that some properties that can be set through the ILayoutColumn interface cannot be retrieved. Any property of a column that
can vary story-to-story (such as the section label, which corresponds to the column size) cannot be retrieved through this interface
because the ILayoutColumn interface may represent more than one column, not all of which will have the same assigned size. For
example, if a floor type is associated with 3 stories, the corresponding columns on those stories may have 3 different assigned sizes.
So the section label is one property that cannot be retrieved through the ILayoutColumn interface. To get the section label for a
column, use the IColumn interface.
When a property is set through the ILayoutColumn interface, all columns represented by this interface will be updated.
Type
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
double
double
EFRAMETYPE
EMATERIALTYPES
long
long
Property
bDblAngleLLBackToBack
bDblAngleSnugTightBolt
bHanger
bMajAxisBendFixedBot
bMajAxisBendFixTop
bMinAxisBendFixedBot
bMinAxisBendFixedTop
bSglAngleMirrored
bTorFixedBot
bTorFixedTop
dDblAngleBackSpacing
dOrientation
eFramingType
eMaterial
lFrameNumber
lLabel
Get
X
X
X
long
lMaterialID
long
lSectionID
long
lUID
BSTR
strSectionLabel
Set
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Description
True if double angles have long leg back to back
True if double angles are using the snug tight bolts for intermediate connectors
True if layout column is a hanging column
Major axis bending release at bottom of column (j-end)
Major axis bending release at top of column (i-end)
Minor axis bending release at bottom of column (j-end).
Minor axis bending release at top of column (i-end).
True if single angle layout column is mirrored.
Torsion release at bottom of column (j-end).
Torsion release at top of column (i-end).
The back to back spacing between angles in the double angle section
Orientation of column in degrees. Angle measured between web of column and x-axis.
Whether member is lateral or gravity
Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or EOtherMat.
Frame number for lateral members. Must be positive number.
Numeric label of column used for on-screen display in RAM Structural System. It is unique per
floor type.
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.
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.
Unique ID of layout column. This unique ID corresponds to the column on the top story
associated with this floor type, if any.
Label of the size or section property for this column. Limited to 15 characters. See Assigning
sizes to steel members, Assigning section properties to concrete members, and Assigning
section properties to Other members for more information.
ILayoutColumns
This interface represents a collection of columns associated with a floor type. This collection is used to add or delete columns on a
floor type. (Columns cannot be added or deleted for a story through the IColumns interface, so this is the only interface through
which columns can be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dX, [in] double dY, [in]double dZ1Offset, [in]double dZ2Offset, [out, retval]
ILayoutColumn** ppILayoutColumn)
Adds a new (vertical) layout column to the collection of layout columns for the floor type. Since sloped columns are currently not handled in
the RAM Structural System, only one set of x,y coordinates are used in the definition of a new column.
Parameters
eMat
dX
dY
dZTopOffset
dZBotOffset
ppILayoutColumn
Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
X coordinate of the column
Y coordinate of the column
Z offset value from the story elevation. This is the top of standard columns and the bottom of hanging columns.
Z offset value from the story elevation. This is the bottom of standard columns and the top of hanging columns.
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
dX1
dY1
dX2
dY2
dZ1Offset
dZ2Offset
ppILayoutColumn
Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
X coordinate of the column. This is the top of standard columns.
Y coordinate of the column. This is the top of standard columns.
X coordinate of the column. This is the bottom of standard columns.
Y coordinate of the column. This is the bottom of standard columns.
Z offset value from the story elevation. This is the top of standard columns.
Z offset value from the story elevation. This is the bottom of standard columns.
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
dX1
dY1
dX2
dY2
Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
X coordinate of the column. This is the top of standard columns and the bottom of hanging columns.
Y coordinate of the column. This is the top of standard columns and the bottom of hanging columns.
X coordinate of the column. This is the bottom of standard columns and the top of hanging columns.
Y coordinate of the column. This is the bottom of standard columns and the top of hanging columns.
dZ1Offset
dZ2Offset
bHanger
ppILayoutColumn
Z offset value from the story elevation. This is the top of standard columns and the bottom of hanging columns.
Z offset value from the story elevation. This is the bottom of standard columns and the top of hanging columns.
Enter 1 if the column is a hanger and 0 if it is not.
Pointer to an ILayoutColumn interface that represents the newly added layout column.
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout columns based on given criteria.
Parameters
eColumnFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
ppILayoutColumn
Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if lIndex is invalid.
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.
Pointer to an IContinuousFnd interface that represents the continuous foundation at the lowest story associated
with this layout continuous foundation. If no stories are defined for the floor type associated with the layout
continuous foundation, this pointer will be NULL.
GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out] double
*pdZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout continuous foundation.
Parameters
pdStartX
pdStartY
pdEndX
pdEndY
pdZOffset
plRetval
0 if successful
-1 if coordinates cannot be retrieved
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
dStartY
dEndX
dEndY
dZOffset
plRetval
Properties
Type
BOOL
double
Property
bDimensionsFromDesign
dBottom
Get
X
X
Set
double
double
double
double
dLeft
dOrientation
dRight
dThickness
X
X
X
X
X
X
Description
Indicates whether or not the dimensions returned for the footing are from the design or not
Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global Xaxis
Dimension from center of foundation to left edge defined when footing major axis is parallel to global X-axis
Orientation of foundation
Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-axis
Thickness of foundation
Type
double
long
long
Property
dTop
lLabel
lMaterialID
Get
X
X
X
long
lUID
Set
X
Description
Dimension from center of foundation to top edge defined when footing major axis is parallel to global X-axis
Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type.
Unique ID of material properties for this continuous foundation. Foundations are always concrete. See
section Getting material properties for a member for more information.
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
dStartY
dEndX
dEndY
dZOffset
ppILayoutContinuousFnd
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.
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.
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)
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
dStartSupportY
dStartSupportZOffset
dEndSupportX
dEndSupportY
dEndSupportZOffset
plRetval
X coordinate of the support point at the start of the horizontal brace (i-end).
Y coordinate of the support point at the start of the horizontal brace (i-end).
Z offset value from the story elevation for the support point at the start of the horizontal brace (i-end).
X coordinate of the support point at the end of the horizontal brace(j-end).
Y coordinate of the support point at the end of the horizontal brace (j-end).
Z offset value from the story elevation for the support point at the end of the horizontal brace (j-end).
0 if successful
-1 if coordinates cannot be set
Properties
Note that some properties that can be set through the ILayoutHorizBrace interface cannot be retrieved. Any property of a horizontal
brace that can vary story-to-story (such as the section label, which corresponds to the brace size) cannot be retrieved through this
interface because the ILayoutHorizBrace interface may represent more than one horizontal brace, not all of which will have the same
assigned size. For example, if a floor type is associated with 3 stories, the corresponding horizontal braces on those stories may
have 3 different assigned sizes. So the section label is one property that cannot be retrieved through the ILayoutHorizBrace
interface. To get the section label for a horizontal brace, use the IHorizBrace interface.
When a property is set through the ILayoutHorizBrace interface, all horizontal braces represented by this interface will be updated.
Type
Property
Get
Set
Description
Type
BOOL
Property
bDblAngleLLBacktoBack
Get
Set
X
BOOL
bDblAngleSnugTightBolt
BOOL
BOOL
BOOL
BOOL
bMajAxisBendFixEnd
bMajAxisBendFixStart
bMinAxisBendFixedEnd
bMinAxisBendFixedStart
X
X
X
X
Description
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.
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.
Major axis bending release at end of horizontal brace (j-end).
Major axis bending release at start of horizontal brace (i-end).
Minor axis bending release at end of horizontal brace (j-end).
Minor axis bending release at start of horizontal brace (i-end).
BOOL
bSglAngleLongLegHorizontal
BOOL
bTorFixedEnd
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.
Torsion release at end of horizontal brace (j-end).
BOOL
double
bTorFixedStart
dDblAngleBackSpacing
ETensionCompressionMemType
eAnalysisType
EMATERIALTYPES
eMaterial
long
lLabel
long
lMaterialID
long
lSectionID
long
lUID
BSTR
strSectionLabel
X
X
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
dStartSupportX
dStartSupportY
dStartSupportZOffset
dEndSupportX
dEndSupportY
dEndSupportZOffset
ppILayoutHorizBrace
Material type of horizontal brace to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
X coordinate of the support point at the start of the horizontal brace (i-end).
Y coordinate of the support point at the start of the horizontal brace (i-end).
Z offset value from the story elevation for the support point at the start of the horizontal brace (i-end).
X coordinate of the support point at the end of the horizontal brace (j-end).
Y coordinate of the support point at the end of the horizontal brace (j-end).
Z offset value from the story elevation for the support point at the end of the horizontal brace (j-end).
Pointer to an ILayoutHorizBrace interface that represents the newly added layout horizontal brace.
Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout horizontal braces based on given criteria.
Parameters
eFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
The index into the collection of the requested layout horizontal brace
Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace, or NULL if lIndex is
invalid.
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.
ppIIsolatedFnd
Pointer to an IIsolatedFnd interface that represents the isolated foundation at the lowest story associated with this
layout isolated foundation. If no stories are defined for the floor type associated with the layout isolated
foundation, this pointer will be NULL.
GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *pdZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout isolated foundation.
Parameters
pdX
pdY
pdZTopOffset
plRetval
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout isolated foundation.
Parameters
dX
dY
dZTopOffset
plRetval
Properties
Type
BOOL
double
Property
bDimensionsFromDesign
dBottom
Get
X
X
Set
double
dLeft
double
double
dOrientation
dRight
X
X
X
X
double
double
dThickness
dTop
X
X
X
X
EIsolatedFndType
long
eType
lLabel
X
X
long
lMaterialID
long
lPileConfigurationID
long
lPileID
long
lUID
Description
Indicates whether or not the dimensions returned for the footing are from the design or not
Dimension from center of foundation to bottom edge of footing when footing major axis is parallel
to global X-axis
Dimension from center of foundation to left edge of footing when footing major axis is parallel to
global X-axis
Orientation of foundation
Dimension from center of foundation to right edge of footing when footing major axis is parallel to
global X-axis
Thickness of foundation
Dimension from center of foundation to top edge of footing when footing major axis is parallel to
global X-axis
Type of isolated foundation (i.e. spread footing, pile cap)
Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per
floor type.
Unique ID of material properties for this isolated foundation. Foundations are always concrete.
See section Getting material properties for a member for more information.
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.
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.
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
dX
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.
Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout isolated foundations based on given criteria.
Parameters
eIsolatedFndFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
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.
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)
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
dStartY
dStartZTopOffset
dStartZBotOffset
dEndX
dEndY
dEndZTopOffset
dEndZBotOffset
plRetval
Properties
When a property is set through the ILayoutWall interface, all columns represented by this interface will be updated.
Type
Property
Get
Set
Description
Type
double
double
double
EFRAMETYPE
EMATERIALTYPES
Property
dCrackedFactor
dCrackedFactorForBending
dThickness
eFramingType
eMaterial
Get
long
long
lFrameNumber
lLabel
long
lMaterialID
long
lUID
X
X
Set
X
X
X
X
X
X
Description
Membrane cracked factor. Applies if wall is concrete.
Out-of-plane bending cracked factor. Applies if wall is concrete.
Thickness of wall.
Whether member is lateral or gravity
Material type of wall. Valid options for walls are EWallPropConcreteMat or
EWallPropOtherMat.
Frame number for lateral members. Must be positive number.
Numeric label of wall used for on-screen display in RAM Structural System. It is unique per
floor type.
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.
Unique ID of layout wall. This unique ID corresponds to the wall on the top story associated
with this floor type, if any.
ILayoutWalls
This interface represents a collection of walls associated with a floor type. This collection is used to add or delete walls on a floor
type. (Walls cannot be added or deleted for a story through the IWalls interface, so this is the only interface through which walls can
be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dStartX, [in] double dStartY, [in]double dStartZTopOffset, [in]double
dStartZBotOffset, [in]double dEndX, [in]double dEndY, [in]double dEndZTopOffset, [in]double dEndZBotOffset, [in]double
dThickness, [out, retval] ILayoutWall** ppILayoutWall)
Adds a new layout wall to the collection of layout walls for the floor type. Since sloped walls are currently not handled in the RAM Structural
System, only one set of x,y coordinates are used in the definition of each end of the wall. Walls must be defined from left-to-right, top-tobottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they will be reversed.
Parameters
eMat
dStartX
dStartY
dStartZTopOffset
dStartZBotOffset
dEndX
dEndY
dEndZTopOffset
dEndZBotOffset
dThickness
ppILayoutWall
story below).
Thickness of the wall
Pointer to an ILayoutWall interface that represents the newly added layout wall.
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout walls based on given criteria.
Parameters
eWallFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
ILineLoadPropertySet
This interface represents a single line load property set as defined in the RAM Modeler.
Properties
Type
double
double
double
double
double
double
ELoadCaseType
long
BSTR
Property
dConstDeadLoad
dConstLiveLoad
dDeadLoad
dLiveLoad
dMassDeadLoad
dPartitionLoad
eLiveLoadType
lUID
strLabel
Get
X
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
Description
Construction Dead load (positive is down)
Construction Liveload (positive is down)
Dead load magnitude (positive is down)
Live load magnitude (positive is down)
Mass dead load magnitude (positive is down)
Partion load magnitude (positive is down)
The live load case type (MUST BE A LIVE LOAD TYPE)
Unique ID of property set
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.
Unique label for the line load property set. Limited to 19 characters.
A pointer to an ILineLoadPropertySet that represents the newly added line load property set
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
long
long
SCoordinate
SCoordinate
Property
lPropertySetUID
lUID
sCoordinateEnd
sCoordinateStart
Get
X
X
X
X
Set
X
X
X
Description
The UID of the LineLoadPropertySet associated with the line load set
Unique ID of the Line Load Set
Location of end of the line load (only X and Y are used)
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
dStartX
dStartY
dEndX
dEndY
ppILineLoadSet
Unique ID of point load property set associated with this point load set
X coordinate of the start of the line load set
Y coordinate of the start of the line load set
X coordinate of the end of the line load set
Y coordinate of the end of the line load set
Pointer to an ILineLoadSet interface that represents the newly added line load set.
The index into the collection of the requested line load set
Pointer to an ILineLoadSet interface that represents the requested line load set, or NULL if lIndex is invalid.
ILoadCase
This interface represents a single load case definition.
Properties
Pointer to an ILoadCases collection interface that represents the load cases that comprise this load case.
Type
BOOL
Property
bConcShearWallSelected
Get
X
BOOL
double
bReadOnly
dDirCoeffX
X
X
double
dDirCoeffY
double
dLoadCaseAngle
double
double
dRhomax
dUBCRho
X
X
EStateStatus
ECompoundLoadCaseState
EMergeState
eAnalyzedState
eCompoundState
eLdCaseMergeState
X
X
X
ELoadCaseType
eLoadType
ELoadCaseType
ESubLoadCaseType
long
long
long
long
long
long
BSTR
eNotionalLoadType
eSubLoadType
lAnalyzeNo
lDirCoeffX
lDirCoeffY
lLoadType
lSubLoadType
lUID
strLoadCaseGroupLabel
X
X
X
X
X
X
X
X
X
BSTR
BSTR
strSymbol
strTypeLabel
X
X
Set
X
Description
Whether the load case selected for use in concrete shear wall load
combinations. TRUE = selected.
Whether the properties of this load case can be modified
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.
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.
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.
r max associated with controlling rho
Redundancy factor calculated for the load case. This is only relevant for
seismic load cases.
Whether Load Case is analyzed/current
Whether this is merged/compound load case (made up of other load cases)
Flag describing the merged state of the load case (single, merged or
included in a merged case).
One of main load types: Gravity, Wind, Seismic, Dynamic Hyperstatic,
Virtual, Other
Notional load case type
Depending on load type defines more details of the actual type of load case.
ILoadCases
This interface represents a collection of load cases.
Filter ([in] ELoadCaseFilter eLoadCaseFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria.
Parameters
eLoadCaseFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
ILoadCombination
This interface represents a single load combination definition.
The list of load case force to combine based on the terms of the receiver.
The calculated combined member force.
Properties
Type
BOOL
BOOL
EStateStatus
ECombinationSourceType
long
BSTR
Property
bReadOnly
bSelected
eStatus
eType
lLabelNo
strDisplayString
Get
X
X
X
X
X
X
Set
X
Description
Whether this load combination can be modified or not
User has selected this load combination to be considered
Combination is valid (all load cases/factors exist in analyzed state)
Custom or Generated
The label of the load combination as shown in the load combo dialog
The combination string formatted for display
ILoadCombinationParam
This interface provides access to the parameters used to generate a specific set of load combinations.
Pointer to an ILoadComboParamsCntrl1 interface that contains the control 1 parameters used to generate a specific
Pointer to an ILoadComboParamsCntrl3 interface that contains the control 3 parameters used to generate a specific
set of load combinations.
Properties
Type
BOOL
BOOL
Property
bCntl4LCaseSpcSetting
bCntl4UseOnly
Get
X
X
double
double
COMBO_MATERIAL_TYPE
dCntl4LCaseSpc1
dCntl4LCaseSpc2
eCombinationType
X
X
X
long
long
long
long
BSTR
nComboBox2Index
nComboBox5Index
nNumVarsFor2
nNumVarsFor5
strComboTemplateName
X
X
X
X
X
Set
Description
The radio button selection for control 4. TRUE = Use Calculated
Indicates whether the selected code has calculated values associated with it. If this
bCntrl4UseOnly = FALSE, the Use Calculated radio button selection is grayed out.
First value associated with control 4.
Second value associated with control 4.
The type of combination parameters are requested for. Note that parameters are only
saved for code generated combinations.
Index of the selection for control 2 (drop-down combo box)
Index of the selection for control 5 (drop-down combo box)
Number of possible variables associated with each drop-down selection in control 2.
Number of possible variables associated with each drop-down selection in control 5.
Name of the template for which combinations were generated. This string must match
the NAME: entry in the combo template.
ILoadCombinationParams
This interface represents a collection of ILoadCombinationParam objects.
Add ([in] BSTR bstrTemplateName, [in] long nComboBox2Index, [in] long nNumVarsFor2, [in] long nComboBox5Index, [in] long
nNumVarsFor5, [in] BOOL bCntl4UseOnly, [in] BOOL bCntl4LCaseSpcSetting, [in] double dCntl4LCaseSpc1, [in] double
dCntl4LCaseSpc2, [out,retval] ILoadCombinationParam** ppIComboParams)
Adds a new load combination param to the receiver.
Parameters
bstrTemplateName
Name of the template for which combinations were generated. This string must match the NAME: entry in
the combo template.
nComboBox2Index
nNumVarsFor2
nComboBox5Index
nNumVarsFor5
bCntl4UseOnly
bCntl4LCaseSpcSetting
dCntl4LCaseSpc1
dCntl4LCaseSpc2
ppIComboParams
Clear ()
Deletes all load combination params from the collection.
ILoadCombinations
This interface represents a collection of load combinations.
Clear ()
Deletes all load combinations in the collection.
Filter ([in] ELoadCombinationFilter eLoadCombinationFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria.
Parameters
eLoadCombinationFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval
0 if successful
-1 if collection could not be filtered
MSIWorkaround_ILoadComboInternal_DO_NOT_CALL ()
Internal use only.
ILoadCombinationTerm
This interface represents a single load combination term.
Properties
Type
double
long
long
Property
dFactor
lLoadCaseID
lLoadCaseIndex
Get
X
X
X
Set
Description
Factor to apply to the load case
The Unique ID of the load case
Index of the load case into the load case array.
ILoadCombinationTerms
This interface represents a collection of load combination terms for a single load combination. The load combination string is limited
to 254 characters. Hence, the maximum number of terms in a load combination can vary.
Add ([in] double dFactor, [in] long lLoadCaseUID, [out, retval] ILoadCombinationTerm** ppILoadCombinationTerm)
Adds a new load combination term to the end of the collection.
Parameters
dFactor
Factor to apply to the load case
lLoadCaseUID
The Unique ID of the load case for this load combination term
ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term
AddWithIndex ([in] double dFactor, [in] long lLoadCaseUID, [in] long lLoadCaseIndex, [out, retval] ILoadCombinationTerm**
ppILoadCombinationTerm)
Adds a new load combination term with the given load case index to the end of the collection.
Parameters
dFactor
Factor to apply to the load case
lLoadCaseUID
The Unique ID of the load case for this load combination term
ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term
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
dFactor
lLoadCaseUID
ppILoadCombinationTerm
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
double
long
BSTR
Property
dVarValue
lParamID
strVarName
Get
X
X
X
Set
Description
Value of the parameter.
ID that associates the control 1 parameter back to the ILoadCombinationParam
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
BOOL
long
BSTR
Property
bVarValue
lParamID
strVarName
Get
X
X
X
Set
X
X
Description
State of the check box. TRUE = Checked.
ID that associates the control 1 parameter back to the ILoadCombinationParam
String displayed beside the check box in the load combo generator control 3 grid.
ILoadComboParamsCntrl1
This interface represents a collection of ILoadComboParamCntrl1 objects.
Variable name associated with this parameter value. This is the variable displayed by the load combo
generator in the control 1 grid.
Value of the parameter.
Pointer to an ILoadComboParamCntrl1 interface that represents the newly added control 1 load
combination param.
Clear ()
Deletes all control 1 load combination params from the collection.
The index in the collection for the requested control 1 load combination param.
lIndex
ppIParamCntrl1
The index in the collection the requested control 1 load combination param.
Pointer to an ILoadComboParamCntrl1 interface that represents the requested control 1 load combination
param, or NULL if lIndex is invalid.
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
bVarValue
ppIParamCntrl3
String displayed beside the check box in the load combo generator control 3 grid.
State of the check box. TRUE = Checked.
Pointer to an ILoadComboParamCntrl3 interface that represents the newly added control 3 load
combination param.
Clear ()
Deletes all control 3 load combination params from the collection.
The index in the collection for the requested control 3 load combination param.
The index in the collection the requested control 1 load combination param.
Pointer to an ILoadComboParamCntrl3 interface that represents the requested control 3 load combination
param, or NULL if lIndex is invalid.
IMatFndPerim
Future interface.
IMatFndPropPoly
Future interface.
IMemberForce
This interface represents a single member force.
Properties
Type
double
double
Property
dAxial
dLocation
Get
X
X
double
double
double
double
double
dMomentMajor
dMomentMinor
dShearMajor
dShearMinor
dTorsion
X
X
X
X
X
Set
Description
Axial force (kip) Positive is compression. FZ for reactions.
Normalized location along member (0.0-1.0) where force is applied (N/A for section cuts and
reactions).
Moment about the minor axis (in direction of major axis)*. MXX for global reactions.
Moment about the major axis (in direction of minor axis)*. MYY for global reactions.
Shear in direction of Major axis of member*. FX for reactions.
Shear in direction of Minor axis of member*. FY for reactions.
Torsion about the longitudinal axis of the member*. MZZ for reactions.
Type
long
Property
lLoadCaseID
Get
X
Set
Description
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.
The index into the collection of the requested member force (0 to Count -1 )
Pointer to an IMemberForce interface that represents the requested member force, or NULL if lIndex is
invalid.
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 entitys unique ID.
Gets an interface for a column stack given the unique ID of any column in the stack.
Parameters
lColumnID
ppIColumnStack
Pointer to an IConcreteCriteria interface that represents all concrete criteria for the model
Parameters
lUID
ppIConcSectProp
Pointer to an IConcSectProps collection interface that represents all concrete section properties defined in the model
Pointer to an IConcSlabProps collection interface that represents all concrete slab properties defined in the model
ppIContinuousFnd
Pointer to an IFloorTypes collection interface that represents all floor types in the model
Pointer to an INodes interface that represents the frame analysis nodes for the model
Pointer to an IGridSystems collection interface that represents all grid systems defined in the model
Parameters
lUID
ppIIsolatedFnd
Type of anlaysis for which to get load cases. As of v10.0, only implemented for RAMFrameResultType
Pointer to an ILoadCases collection interface that represents load cases for specified analysis type
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.
ppItMatFndPropPolygon Pointer to an IMatFndPropPolygon interface that represents the requested mat foundation
property polygon
GetOldSWResultsDeletedFlag ()
Internal use only.
Parameters
ppIOtherSectProps Pointer to an IOtherSectionProps collection interface that represents all Other section properties defined in the model
Pointer to an IPiles collection interface that represents all piles defined in the model
Pointer to an ISteelCriteria interface that represents all steel criteria for the model
Pointer to an IStories collection interface that represents all stories in the model
Pointer to an IVerticalBraces collection interface that represents all vertical braces in the model
MSIWorkaround_IStringValue_DO_NO_CALL ()
Internal use only.
X Coordinate
Y Coordinate
Z Coordinate
Properties
Type
BOOL
Property
bCombineLoads
Get
X
Set
Description
If TRUE, loads on beams were combined during gravity analysis.
Type
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
Property
bIncludeBeamSelfWeight
bIncludeColSelfWeight
bIncludeSlabSelfWeight
bIncludeWallSelfWeight
bLLRedStoriesInclRoof
bLLRedStoriesInclStorLevels
bLLRedStoriesInclUnredLevels
bSkipMeshInGE
Get
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
BOOL
bSkipMeshInGEAsked
double
dOriginAngle
double
ECANImportanceCategory
dVersion
eCANImpCategory
X
X
EBuildingCode
EUnits
eCodeSelection
eDisplayUnits
X
X
X
X
ERoofLLType
EStateStatus
EStateStatus
EStateStatus
EStateStatus
long
long
SCoordinate
eRoofLiveLoadType
eStatusConcGravForces
eStatusDataCheck
eStatusGravForces
eStatusLatForces
lDataTimeStamp
lGroundLevel
sOrigin
X
X
X
X
X
X
X
X
BSTR
strJobName
X
X
Description
Beam self weight will automatically be considered if TRUE
Column self weight will automatically be considered if TRUE
Slab and deck self weight will automatically be considered if TRUE
Wall self weight will automatically be considered if TRUE
If TRUE, roof levels will be included when determining number of stories
If TRUE, storage levels will be included when determining number of stories
If TRUE, unreducible levels will be included when determining number of stories
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.
Flag that indicates whether or not the user has been asked if mesh loading should
be skipped.
rd
Property designed to be used purely by 3 -party import/export routines to record
the models origin rotation angle. This value is not used by the RAM Structural
System, but is stored with the model.
Version of the Ram Structural System model
Importance Category for Live Load Reduction when NBC of Canada is selected as
the Live Load Reduction code.
Building code by which Live Load Reduction will be calculated
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.
Indicates whether roof live loads are reducible or whether they are snow
Status of the Concrete analysis
Status of data check
Status of RAM Gravity
Status of the Frame analysis
Time stamp
Unique ID of story that is at ground level,
rd
Property designed to be used purely by 3 -party import/export routines to record
the models origin point. This value is not used by the RAM Structural System, but
is stored with the model.
Text description of model that can be up to 71 characters
IModelGrid
This interface represents a single grid line.
Properties
Type
BOOL
Property
bApplyMaxLimit
Get
X
Set
X
Description
If TRUE, this grid maximum will be drawn limited to user coordinate.
Type
BOOL
BOOL
BOOL
double
double
Property
bApplyMinLimit
bDisplayLabelAtI
bDisplayLabelAtJ
dCoordinate_Angle
dMaxLimitValue
Get
X
X
X
X
X
Set
X
X
X
X
X
double
dMinLimitValue
EGridAxis
long
BSTR
eAxis
lUID
strLabel
X
X
X
Description
If TRUE, this grid minimum will be drawn limited to user coordinate.
If TRUE, the grid label bubble will be displayed at the I-end of the grid line.
If TRUE, the grid label bubble will be displayed at the J-end of the grid line.
The grid coordinate or angle.
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.
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.
The grid axis (X/Radial or Y/Circular).
Unique ID of grid line.
Grid label.
IModelGrids
This interface represents a collection of grid lines from a grid system.
Add ([in]BSTR bstGridLabel, [in] EGridAxis eGridAxis, [in] double dGridCoord_Angle, [out, retval] IModelGrid** ppIGrid)
Adds a grid to the collection of grids for a grid system.
Parameters
bstGridLabel
eGridAxis
dGridCoord_Angle
ppIGrid
Filter ([in] EGridFilter eGridFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of grids based on given criteria.
Parameters
eGridFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
INode
This interface is used represent a finite element node.
Properties
Type
Property
Get
Set
Description
Type
LONG
LONG
SCoordinate
Property
lIndex
lUniqueID
sLocation
Get
X
X
X
Set
Description
The index of the node in the global node list.
The unique ID for the node.
The location of the node in global model coordinates.
INodes
This interface is used to hold a collection of INode objects.
INonCompDeckProp
This interface represents a single non-composite deck property.
Properties
Type
double
double
double
double
long
BSTR
Property
dEffectiveThickness
dElasticModulus
dPoissonsRatio
dSelfWeight
lUid
strLabel
Get
X
X
X
X
X
X
Set
X
X
X
X
X
Description
The effective thickness of the deck
The elastic modulus of the deck
The Poissons Ratio of the deck
The self-weight of the deck
The unique ID of the deck.
The label of the deck
INonCompDeckProps
This interface represents a collection of non-composite deck properties defined in the model.
IOtherMaterial
This interface represents a single Other material property set. A members Other material properties can be read and set through
this interface.
Properties
Type
double
double
double
Property
dE
dPoissonsRatio
dSelfWeight
Get
X
X
X
Set
X
X
X
Description
Youngs modulus, modulus of elasticity (E).
Poissons Ratio.
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.
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)
Pointer to an IProperties interface that represents a collection of properties for this member
Properties
Type
double
double
double
Property
dArea
dDepth
dMomInertiaMajor
Get
X
X
X
Set
X
X
X
Description
Area of section.
Depth of section measured in direction of major axis.
Moment of inertia in major direction (Ix).
Type
double
double
double
double
double
EUniqueMemberTypeID
long
BSTR
Property
dMomInertiaMinor
dShearAreaMajor
dShearAreaMinor
dTorsionConstant
dWidth
eMemType
lUID
strLabel
Get
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
Description
Moment of inertia in minor direction (Iy).
Shear area in major direction.
Shear area in minor direction.
Torsion Constant (J).
Width of section.
Type of member to which this section can be assigned.
Unique ID of Other section.
A label for this Other section. Limited to 15 characters.
IOtherSectProps
This interface represents a collection of Other section properties defined in the model. Other section properties are defined using
this interface and then can be assigned to members of material type Other. Other sections are defined as sections for beams,
columns, or vertical braces. A section defined as an Other beam section can only be assigned to beams and horizontal braces, and
likewise for column and brace Other sections.
Add ([in] BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dWidth, [in] double dDepth, [in] double dArea, [in]
double dMomInertiaMajor, [in] double dMomInertiaMinor, [in] double dTorsionConstant, [in] double dMajorShearArea, [in] double
dMinorShearArea, [out, retval] IOtherSectProp** ppIOtherSectProp)
Adds a new Other section.
Parameters
bstName
eMemType
dWidth
dDepth
dArea
dMomInertiaMajor
dMomInertiaMinor
dTorsionConstant
dMajorShearArea
dMinorShearArea
ppIOtherSectProp
Parameters
lUID
plRetval
Filter ([in] EOtherSectPropsFilter eOtherSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of concrete sections based on given criteria.
Parameters
eOtherSectPropsFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval
0 if successful
-1 if collection could not be filtered
plCount
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)
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
double
double
double
double
long
BSTR
Property
dCompressionCap
dDiameter
dShearCap
dTensionCap
lUID
strLabel
Get
X
X
X
X
X
X
Set
X
X
X
X
X
Description
Compression capacity of pile
Diameter of pile
Shear capacity of pile
Tension capacity of pile
Unique ID of pile.
Label for this pile
IPileConfiguration
This interface represents a single pile configuration.
Properties
Type
EPileConfiguration
long
Property
eConfiguration
lNumHorizRows
Get
X
X
Set
X
X
long
lNumVertRows
long
BSTR
lUID
strLabel
X
X
Description
Configuration of pile group
Number of rows of pile running parallel to the major axis of the footing. Applies to rectangular pile
configurations
Number of rows of pile running perpendicular to the major axis of the footing. Applies to rectangular pile
configurations
Unique ID of pile configuration.
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
lNumVertRows
lNumHorizRows
ppIPileConfiguration
Parameters
lIndex
ppIPileConfiguration
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
dDiameter
dCompressionCap
dTensionCap
dShearCap
ppIPile
IPoint
This interface represents a single point.
SetCoordinate2 ([in] double dX, [in] double dY, [in] double dZ, [out, retval] long *plRetval)
Sets the coordinate of the point.
Parameters
dX
dY
dZ
plRetval
(Note: this was added because SetCoordinate isnt compatible with Visual Basic.)
IPointLoad
This interface represents a single point load.
Properties
Sign of force is positive in direction of global axes and right hand rule for moments (thumb in global axis direction). Coordinate
system is based on context in which the force is obtained (default is global coordinate system).
Type
double
double
double
double
double
Property
dFx
dFy
dFz
dMxx
dMyy
Get
X
X
X
X
X
Set
Description
Horizontal force magnitude (kip) in X axis
Horizontal force magnitude (kip) in Y axis
Vertical force magnitude (kip) in Z axis
Moment about the XX axis
Moment about the YY axis
Type
double
Property
dMzz
Get
X
Set
Description
Moment about the ZZ Axis
IPointLoadPropertySet
This interface represents a single point load property set as defined in the modeler.
Properties
Type
double
double
double
double
double
double
ELoadCaseType
long
BSTR
Property
dConstDeadLoad
dConstLiveLoad
dDeadLoad
dLiveLoad
dMassDeadLoad
dPartitionLoad
eLiveLoadType
lUID
strLabel
Get
X
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
Description
Construction Dead load (positive is down)
Construction Live load (positive is down)
Dead load magnitude (positive is down)
Live load magnitude (positive is down)
Mass dead load magnitude (positive is down)
Partion load magnitude (positive is down)
The live load case type (MUST BE A LIVE LOAD TYPE)
Unique ID of the property set
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.
Unique label for the line load property set. Limited to 19 characters.
A pointer to an IPointLoadPropertySet that represents the newly added point load property set
-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.
IPointLoads
This interface represents a collection of individual point load objects.
The index into the collection of the requested point load (0 to Count-1)
Pointer to an IPointLoad interface that represents the requested point load, or NULL if lIndex is invalid.
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
long
long
SCoordinate
Property
lPropertySetUID
lUID
sCoordinate
Get
X
X
X
Set
X
X
Description
The UID of the PointLoadPropertySet associated with the point load
Unique ID of the Point Load Set
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
dX
dY
ppIPointLoadSet
Unique ID of point load property set associated with this point load set
X coordinate of the point load set
Y coordinate of the point load set
Pointer to an IPointLoadSet interface that represents the newly added point load set.
Deletes the point load set with the given unique ID.
Parameters
lUID
plRetval
The index into the collection of the requested point load set
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.
Add2 ([in] double dX, [in] double dY, [in] double dZ, [out, retval] IPoint** ppIPoint)
Adds a point to the collection.
Parameters
dX
dY
dZ
ppIPoint
(Note: this was added because Add isnt compatible with Visual Basic.)
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
Point
ppIPoint
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 isnt compatible with Visual
Basic.)
Parameters
lIndex
dX
dY
dZ
ppIPoint
IProperties
This interface represents a collection of properties associated with a member. This collection is used to add or delete properties to a
member.
Parameters
lIndex
ppIProperty
IProperty
This interface represents a single property for a member.
Parameters
lValue
plRetval
Properties
Type
BSTR
EDBFieldType
Property
strPropName
eType
Get
X
X
Set
X
Description
Case insensitive name of property
The type of value for this property
IPropertyDefinition
This interface represents a single property definition for a member type.
plRetval
Properties
Type
EDBFieldType
BSTR
BSTR
Property
eType
strPropDescription
strPropName
Get
X
X
X
Set
X
X
Description
The type of value for this property
Description of the property
Case insensitive name of property
IPropertyDefinitions
This interface represents a collection of property definitions associated with a type of member. This collection is used to add or
delete properties associated with a member type.
AddPropBool ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BOOL bDefaultValue, [out, retval]
IPropertyDefinition** ppIPropertyDef)
Adds a new property to the collection of properties for the member.
Parameters
bstrPropName
bstrPropDescription
bDefaultValue
ppIPropertyDef
Default value for this property when not set for a member
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
bstrPropDescription
dDefaultValue
ppIPropertyDef
AddPropLong ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] long lDefaultValue, [out, retval] IPropertyDefinition**
ppIPropertyDef)
Adds a new property to the collection of properties for the member.
Parameters
bstrPropName
bstrPropDescription
lDefaultValue
ppIPropertyDef
AddPropString ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BSTR strDefaultValue, [out, retval]
IPropertyDefinition** ppIPropertyDef)
Adds a new property to the collection of properties for the member.
Parameters
bstrPropName
bstrPropDescription
strDefaultValue
ppIPropertyDef
Parameters
bstrPropName
plRetval
IRAMFrameCriteria
This interface represents the criteria in RAM Frame. 5.03.
GetFrame_SolverSettings ( [out] BOOL* pbDirectSolver, [out] BOOL* pbInCore, [out] BOOL* pbUseSingleCPU )
Gets solver settings in RAM Frame Criteria - General. 5.03.
Parameters
pbDirectSolver
pbInCore
pbUseSingleCPU
SetFrame_SolverSettings ( [in] BOOL bDirectSolver, [in] BOOL bInCore, [in] BOOL bUseSingleCPU )
Sets solver settings in RAM Frame Criteria - General. 5.03.
Parameters
bDirectSolver
bInCore
bUseSingleCPU
Properties
Type
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
double
double
double
double
double
double
double
double
double
double
long
Property
bAISC360_UseReducedStiff
bAISC360_UseTau1
bMemberForceOutputAtFaceOfJoint
bPDelta
bPDelta_UseMassLoad
bResponseSpectra_ConsiderSign
bResponseSpectra_IncludeMassinZDir
bRigidEndZones_IgnoreEffects
bSidePlate_HighSeismicDesign
bWallElement_IncludeOOPStif
bWallElement_ReleaseRotFixity
bWallElement_StoreStress
dAISC360_UserEnteredTau
dAnalyticalModel_GeometryTol
dAnalyticalModel_MaxDistance
dAnalyticalModel_MergeTol
dPDelta_DeadLoadScaleFactor
dPDelta_LiveLoadScaleFactor
dPDelta_MassLoadScaleFactor
dPDelta_RoofLoadScaleFactor
dPDelta_SnowLoadScaleFactor
dRigidEndZones_Reduction
lGroundLevel
Get
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Set
Description
1 if Use Reduced Stiffness is selected
1 if Tau = 1.0 is selected
1 if member force output at joint face is selected
1 if P Delta is set to Yes
1 if P Delta Use Mass is selected
1 if Consider Sign is selected
1 if Include Z Mass is selected
1 if Ignore Effects is selected
1 if High Seismic Design is selected
1 if include out of plane stiffness is selected
1 if release rotational fixity is selected
1 if store wall stresses is selected
Value of the user defined Tau
Geometric tolerance
Maximum distance between nodes
Merge node tolerance
P Delta scale factor
P Delta scale factor
P Delta scale factor
P Delta scale factor
P Delta scale factor
Rigid end zone reduction percentage
Index to the ground level story. -1 if base.
IRawWallOpening
This interface represents a single raw wall opening.
Properties
Type
double
double
double
double
EDA_MEMBER_LOC
long
long
long
Property
dHorizontalLoc
dOpeningHeight
dOpeningWidth
dVerticalLoc
eWallRefCorner
lLabel
lUID
lWallUID
Get
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
Description
Horizontal location along wall, measured from eWallRefCorner
Height of opening
Width of opening
Vertical location along wall, measured from eWallRefCorner
Reference corner from which opening location is measured
Generated label for display of wall opening
Unique ID of wall opening
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
dHorizontalLoc
dVerticalLoc
dOpeningWidth
dOpeningHeight
ppIRawWallOpening
Indicates the reference corner of the wall from which the opening location is measured
Horizontal location along the wall, measured from eRefCorner
Vertical location along the wall, measured from eRefCorner
Width of opening
Height of opening
Pointer to an IRawWallOpening interface that represents the newly added raw wall opening
The index into the collection of the requested raw wall opening
Pointer to an IRawWallOpening interface that represents the requested raw wall opening, or NULL if lIndex is
invalid.
IRawWallSectionCut
This interface represents a single raw wall section cut. Raw indicates it may span over multiple walls.
ClearComboForceSets ()
Deletes all load combination-based force sets in the collection.
ClearForceSets ()
Deletes all force sets in the collection.
GetCoordinates ([out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out, retval] long* plRetval)
Gets the section cut ends, global coordinates.
Parameters
pStartPoint
pEndPoint
ppIWallBarPlacements
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.
The bars cut by this section cut.
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
lAnalysisLoadCaseID
ppIMemberForce
Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)
Analysis load case ID for which to get force
Pointer to an IMemberForce interface that represents the force at this section cut.
Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)
Pointer to an IMemberForces collection interface that represents the forces at this section cut.
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
lNumWallUIDs
palWallUIDs
lNumBeamUIDs
palBeamUIDs
lNumColumnUIDs
palColumnUIDs
dCutStartX
dCutStartY
dCutEndX
dCutEndY
dCutZ
pdFX_g
pdFY_g
pdFZ_g
pdMX_g
pdMY_g
pdMZ_g
pdCenterX
pdCenterY
pdCenterZ
plRetVal
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 midplane of the wall.
Parameters
lLoadCaseUID
lWallUID
dX1
dY1
dZ1
dX2
dY2
dZ2
pdFX
pdFY
pdFZ
pdMX
pdMY
pdMZ
plRetVal
ppIWallBarPlacements
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.
Collection of points that make up the 3D polygon for this section cut.
Properties
Type
BOOL
BOOL
BOOL
Property
bAutoGenerated
bFullModule
bIncBoundaryElements
Get
X
X
X
Set
X
X
X
double
double
EMemberOrientation
EStatusState
long
dEndOffset
dStartOffset
eOrientation
eStatus
lEndEdgeIndex
X
X
X
X
X
X
X
X
long
long
long
lEndMemberUID
lSectionCutWDGID
lStartEdgeIndex
X
X
X
X
X
X
long
lStartMemberOwnerUID
long
long
lStartMemberUID
lUID
X
X
Description
Indicates whether the section cut was autocreated by the module
Indicates whether the section cut was created in the full shear wall module
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
Offset from bottom of wall or opening at which section cut terminates
Offset from bottom of wall or opening from which section cut originates
Orientation of section cut
Section cut design status
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)
Unique ID of wall or wall opening at which section cut terminates
Section Cut Group ID within the Wall Design Group
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)
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.
Unique ID of wall or wall opening from which section cut originates
Unique ID of section cut
Type
long
BSTR
Property
lWallDesignGroup
strLabel
Get
X
X
Set
X
X
Description
Wall Design Group number this section cut is part of or -1
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
eOrientation
lStartMemberUID
lStartEdgeIndex
dStartOffset
lEndMemberUID
lEndEdgeIndex
dEndOffset
AddRaw ([in] SCoordinate sStartPoint, [in] SCoordinate sEndPoint, [out, retval] ] IRawWallSectionCut** ppIRawWallSectionCut)
Adds a raw section cut to the collection of section cuts.
Parameters
sStartPoint
sEndPoint
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
varFilterCriteria
plRetval
IRBSPropertySet
Interface with reduced beam property set values. Obtained from a specific IBeam.
Properties
Type
double
double
double
Property
d_a
d_b
d_c
Get
X
X
X
Set
Description
The distance from the column face to the start of the RBS.
The length of the reduced beam section.
The amount of flange removed on each side of the beam.
IReactionNode
This interface represents a single reaction node.
Pointer to an DAArray interface that represents the members at this reaction node.
GetReaction ([in] EFrameMemberForceSource eFrameMemForceSource, [in] long lAnalysisCaseID, [out, retval] IPointLoad**
ppIPointLoad)
Gets an IPointLoad interface for a reaction at a node.
Parameters
eFrameMemForceSource EFrameMemberForceSource
lAnalysisCaseID
Unique ID of the analysis case
ppIPointLoad
Pointer to an IPointLoad interface
Properties
Type
SCoordinate
Property
SCoordinate
Get
X
Set
Description
The coordinates of the reaction node.
IReactionNodes
This interface represents a collection of reaction nodes.
Filter ([in] EReactionNodeFilter EReactionNodeFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plCount)
Gets the number of wall section cuts in the collection.
Parameters
EReactionNodeFilter
varFilterCriteria
plCount
EReationNodeFilter
Criteria used to filter the collection, based on the filter type. In some cases,
this parameter is not applicable
Number reaction nodes in the filtered collection
The index into the collection of the requested raw wall section cut
Pointer to an IReactionNode interface that represents the requested reaction node, or NULL if lIndex is invalid.
Parameters
plCount
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
BOOL
double
long
BSTR
VARIANT
Property
bValue
dValue
lValue
strValue
varValue
Get
X
X
X
X
X
Set
X
X
X
X
X
Description
The value of the field specified by bstrName.
The value of the field specified by bstrName.
The value of the field specified by bstrName.
The value of the field specified by bstrName.
The value of the field specified by bstrName.
field.
IRecords
This interface is use to represent the records in a generic table.
Properties
Type
long
Property
lCount
Get
X
Set
Description
The number of records in the collection.
IShell
This interface is used represent a finite element shell element (quad).
Properties
Type
EUniqueMemberTypeID
LONG
LONG
Property
eMemberType
lMemberID
lUID
Get
X
X
X
Set
Description
The member type of the member this shell was calculated from.
The member ID of the member this shell was calculated from. This could be a wall ID or a deck ID.
The unique ID for this shell.
IShells
This interface is used to hold a collection of IShell objects.
ISlabEdge
This interface represents a specific slab edge corresponding to a slab perimeter or slab opening.
GetCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out, retval] long*
plRetval)
Gets the coordinates for the slab edge in 2-dimensions.
Parameters
pdStartX
pdStartY
pdEndX
pdEndY
plRetval
SetCoordinates ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [out, retval] long* plRetval)
Properties
Type
double
Property
dOffset
Get
X
Set
X
Description
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
double dStartY
double dEndX
double dEndX
double dOffset
ppISlabEdge
lIndex
plRetval
ISlabOpening
This interface represents a specific slab opening on a floor type.
Pointer to an ISlabEdges collection interface that represents the edges that define this slab opening.
Properties
Type
Property
Get
Set
Description
Type
long
Property
lUID
Get
X
Set
Description
Unique ID of slab opening
ISlabOpenings
This interface represents a collection of all slab openings on a floor type.
ISlabPerimeter
This interface represents a specific slab perimeter on a floor type.
Pointer to an ISlabEdges collection interface that represents the edges that define this slab perimeter.
Properties
Type
long
Property
lUID
Get
X
Set
Description
Unique ID of slab perimeter
ISlabPerimeters
This interface represents the collection of slab perimeters on a floor type.
ISnowLoadPropertySet
This interface defines the surface load properties.
Properties
Type
double
double
double
ESnowLoadType
long
string
Property
dMagnitude1
dMagnitude2
dMagnitude3
eType
lUID
strLabel
Get
X
X
X
X
X
X
Set
X
X
X
X
X
Description
Drift snow load magnitude at first point or constant snow load magnitude
Drift snow load magnitude at second point
Drift snow load magnitude at third point
Enumerator for snow load type
Unique ID of the snow load property
Snow load property label
ISnowLoadPropertySets
This interface represents a collection if ISnowLoadPropertySet objects.
ISnowLoadSet
This interface defines the points of the polygon that define the limits in which a single ISnowLoadPropertySet is applied.
Properties
Type
Property
Get
Set
Description
Type
long
long
Property
lPropertySetUID
lUID
Get
X
X
Set
X
Description
Unique ID of the snow load property set assigned to this surface load set.
Unique ID of this snow load set.
ISnowLoadSets
This interface provides a collection of ISnowLoadSets, obtained from a single Floor Layout type typically.
lIndex
ppISnowLoadSet
The index into the collection of the requested snow load set
Pointer to an ISnowLoadSet interface that represents the requested snow load set, or NULL if lIndex is invalid.
ISteelBeamDesignResult
This interface represents the steel beam design results for an individual steel beam.
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.
Pointer to an IDeckTableEntries interface that represents the entries in the models deck table.
Properties
Type
BOOL
Property
bUseModelAltBeamSteelTable
Get
X
Set
BOOL
bUseModelMasterTable
BOOL
bWOAllowStiffenerOneSide
BOOL
bWOAllowStiffenerTwoSide
double
double
dJstAllowableStressRatio
dJstDefMaxConcentratedLoads
X
X
X
X
double
dJstDefUniformTolerance
double
dJstDefVariationTolerance
double
double
dWOStiffenerFy
dWOStiffenerLengthInc
X
X
X
X
double
dWOStiffenerMinThickness
double
dWOStiffenerMinWidth
double
dWOStiffenerThicknessInc
double
dWOStiffenerWidthInc
ESteelDesignCode
EJstNonUniformLoadOption
eBasePlateDesignCode
eJstDefNonUniformLoadOption
X
X
X
X
Description
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.
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.
Allow stiffeners on one side of web (used during design of steel beams when
stiffeners are required for web openings)
Allow stiffeners on both sides of web (used during design of steel beams when
stiffeners are required for web openings)
Allowable stress ratio for joists
Maximum concentrated loads in kips (default criteria, applies when
eStlJstNonUniUseEquivalentMethod is specified for
eJstDefNonUniformLoadOption)
Tolerance for variation for uniform load (0-100%) (Default criteria for joists with
uniform load, when eStlJstUniSelectFromStdTable is specified for
eJstDefUniformLoadOption)
Tolerance for variation of loads (default criteria, applies when
eStlJstNonUniUseEquivalentMethod is specified for
eJstDefNonUniformLoadOption)
Fy of stiffeners for web openings
Increment for stiffener length (used during design of steel beams when stiffeners
are required for web openings)
Minimum thickness of stiffeners (used during design of steel beams when
stiffeners are required for web openings)
Minimum width of stiffeners (used during design of steel beams when stiffeners
are required for web openings)
Increment for stiffener thickness (used during design of steel beams when
stiffeners are required for web openings)
Increment for stiffener width (used during design of steel beams when stiffeners
are required for web openings)
Design code to use for design of base plates
Default criteria for joists with non-uniform load
Type
EJstUniformLoadOption
ESteelDesignCode
ESteelDesignCode
BSTR
Property
eJstDefUniformLoadOption
eSteelBeamDesignCode
eSteelColumnDesignCode
strAltCastellatedTable
Get
X
X
X
X
Set
X
X
X
X
BSTR
strAltCellularTable
BSTR
strAltSteelBeamTable
BSTR
strDeckTable
BSTR
strDefCastellatedTable
BSTR
strDefCellularTable
BSTR
strDefSteelBeamTable
BSTR
strJstDefCustomLabel
BSTR
strJstDefNonUniCSJstTable
BSTR
strJstDefUniformCSJstTable
BSTR
strJstDefUniformStdJstTable
BSTR
strMasterSteelTable
BSTR
strSteelColumnTable
Description
Default criteria for joists with uniform load
Design code to use for design of steel beams
Design code to use for design of steel columns
Alternate castellated beam section table to use when designing cellular beams.
File must have a .cas extension. Maximum 39 characters allowed.
Alternate cellular beam section table to use when designing cellular beams. File
must have a .cel extension. Maximum 39 characters allowed.
Alternate section table to use when designing steel beams. File must have a .bms
extension. Maximum 32 characters allowed.
Deck table to use for composite deck properties. File must have a .dck extension.
Maximum 32 characters allowed.
Default castellated beam section table to use when designing cellular beams. File
must have a .cas extension. Maximum 39 characters allowed.
Default cellular beam section table to use when designing cellular beams. File
must have a .cel extension. Maximum 39 characters allowed.
Default section table to use when designing steel beams. File must have a .bms
extension. Maximum 32 characters allowed.
Custom label for joists with uniform loads (default criteria, applies if
eStlJstUniUseCustomLabel is specified for eJstDefUniformLoadOption). Max 4
characters allowed.
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.
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.
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.
Master section table that lists all sections to be used during design. File must
have a .tab extension. Maximum 32 characters allowed.
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 members steel material properties can be read and set through this
interface.
Properties
Type
double
Property
dFy
Get
X
Set
X
Description
Yield strength (Fy) of the steel.
IStories
This interface represents a collection of all stories in the model. It can be used to add and delete stories.
Add ([in] long lFlrTypeID, [in] BSTR bstrStoryName, [in] double dFloorHeight, [out, retval] IStory** ppIStory)
Adds a new story to the collection of stories for the model.
Parameters
lFlrTypeID
bstrStoryName
dFloorHeight
ppIStory
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)
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
lFlrTypeID
dFloorHeight
ppIStory
IStory
This interface represents a single story in the model.
Pointer to an IBeams collection interface that represents all beams associated with this story
Pointer to an IColumns collection interface that represents all columns associated with this story
Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story
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.
Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story, populated
from the given source.
Pointer to an IFloorType interface that represents the floor type associated with this story
Pointer to an IHorizBraces collection interface that represents all horizontal braces associated with this story
Pointer to an IIsolatedFnds collection interface that represents all isolated foundations associated with this story
Pointer to an IReactionNodes interface that represents a collection of reaction nodes for this member
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)
Pointer to an IProperties interface that represents a collection of properties for this member
ppIProperties
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
lObjectID
eProperty
plTimestamp
plRetval
The action for which the timestamp was recorded (see enum for action types)
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).
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.
The time in seconds since Jan 1, 1969
0 if time stamp retrieved successfully
Pointer to an IVerticalBraces collection interface that represents all vertical braces at this story
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
dY
pdZ
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
BOOL
double
Property
bStySpliceAtSty
dElevation
Get
X
X
Set
X
Description
If TRUE, all columns will be spliced at this story
The elevation of the story from ground level to the bottom of the story
double
long
long
BSTR
dFlrHeight
lLevel
lUID
strLabel
X
X
X
X
The height of this story (not the elevation, but the distance from floor to ceiling)
The level of the story, with 1 being the lowest story
Unique ID of story.
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
DOUBLE
DOUBLE
Property
dS11
dS12
Get
X
X
Set
Description
In plane normal stress.
In plane shear stress along an edge.
Type
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
DOUBLE
Property
dS13
dS22
dS23
dS33
dSAvgMax
dSMax
dSMin
dSVMax
Get
X
X
X
X
X
X
X
X
Set
Description
Transverse shear stress.
In plane normal stress.
Transverse shear stress.
Transverse direct stress.
Average stress.
Maximum in plane principal stress
Minimum in plane principal stress
Maximum shear stress.
IStresses
This interface is used to hold a collection of IStress objects.
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
double
double
double
double
double
double
ELoadCaseType
Property
dConstDeadLoad
dConstLiveLoad
dDeadLoad
dLiveLoad
dMassDeadLoad
dPartitionLoad
eLiveLoadType
Get
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
long
BSTR
lUID
strLabel
X
X
Description
Magnitude of construction dead load entered for this surface load.
Magnitude of construction live load entered for this surface load.
Magnitude of dead load entered for this surface load.
Magnitude of live load entered for this surface load.
Mass dead load magnitude (positive is down)
Madgnitude of partition load entered for theis surface load
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.
Unique ID of surface load property set.
Label of surface load property set.
ISurfaceLoadPropertySets
This interface represents a collection of ISurfaceLoadPropertySet objects.
ISurfaceLoadSet
This interface defines the points of the polygon that define the limits in which a single SurfacePropertyLoadSet is applied.
ISurfaceLoadSet Properties
Type
long
long
Property
lPropertySetUID
lUID
Get
X
X
Set
X
Description
Unique ID of the surface load property set to which this surface load set belongs.
Unique ID of this surface load set.
ISurfaceLoadSets
This interface provides a collection of ISurfaceLoadSets, obtained from a single Floor Layout type typically.
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.
ITable
This interface is used represent a generic database table.
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
lFieldValue
ppIRecord
Properties
Type
IFields
IRecords
BSTR
Property
pIFields
pIRecords
strName
Get
X
X
X
Set
Description
The fields in the table.
The records in the table.
The name of the table.
ITrialGroup
This interface represents a steel column trial group.
bstrGroupName
Trial group name for the section type (W12, HSS8X8, etc)
Properties
Type
BOOL
Property
bEnabled
Get
X
Set
X
Description
Indicates whether or not this trial group is selected.
ITrialGroups
This interface represents a collection of ITrialGroup objects.
IVerticalBrace
This interface represents a single vertical brace. This interface can be used to modify the location of the brace or to change its
properties.
GetConnectionForces ([in] ECOMBOTYPES eComboType, [in, out] SForce* psForceTop, [in, out] SForce* psForceBot, [out,
retval] long* plRetval)
Gets the brace connection forces by material combo.
Parameters
eComboType
Combination type.
psForceTop
psForceBot
plRetval
GetEndCoordinates ([out] SCoordinate* pTopPoint, [out] SCoordinate* pBottomPoint, [out, retval] long* plRetval)
Gets the end coordinates for the vertical brace.
Parameters
pTopPoint
pBottomPoint
plRetval
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)
Pointer to an IProperties interface that represents a collection of properties for this member
SetEndCoordinates ([in] long lTopStoryID, [in] double dTopX, [in] double dTopY, [in] double dTopZOffset, [in] long lBotStoryID,
[in] double dBotX, [in] double dBotY, [in] double dBotZOffset, [out, retval] long* plRetval)
Gets the end coordinates for the vertical brace.
Parameters
lTopStoryID
dTopX
dTopY
dTopZOffset
lBotStoryID
dBotX
dBotY
dBotZOffset
plRetval
Properties
Type
BOOL
BOOL
BOOL
BOOL
Property
bBucklingRestrained
bCoreBraceOverStrengthUseCalculated
bCoreBraceUseAssigned
bDblAngleLLBacktoBack
Get
X
X
X
X
Set
X
X
X
X
BOOL
bDblAngleSnugTightBolt
BOOL
BOOL
BOOL
BOOL
BOOL
bMajAxisBendFixedBot
bMajAxisBendFixedTop
bMinAxisBendFixedBot
bMinAxisBendFixedTop
bSglAngleLLHorizontal
X
X
X
X
X
X
X
X
X
X
BOOL
BOOL
bStarSeismicOverStrengthUseCalculated
bStarSeismicUseAssigned
X
X
X
X
BOOL
BOOL
BOOL
double
double
bTorFixedBot
bTorFixedTop
bWildcatBRB
dBRBFAxialStiffMultiplier
dDblAngleBackSpacing
X
X
X
X
X
X
X
X
X
X
double
double
double
double
double
dCoreBraceBoltedClearanceBot
dCoreBraceBoltedClearanceTop
dCoreBraceCustomClearanceBot
dCoreBraceCustomClearanceTop
dCoreBraceFyMax
X
X
X
X
X
X
X
X
X
X
Description
True if the braced is a buckling restrainted brace.
True if CoreBrace overstrength parameters set to Use Calculated
True if CoreBrace dialog set to Use, False if Use Global
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.
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.
Major axis bending release at bottom of vertical brace.
Major axis bending release at top of vertical brace.
Minor axis bending release at bottom of vertical brace.
Minor axis bending release at top of vertical brace.
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.
True if the Star Seismic overstrength set to use calculated
TRUE if use assigned is toggled
Torsion release at bottom of vertical brace.
Torsion release at top of vertical brace.
Wildcat buckling restrained brace
Buckling restrained brace axial stiffness multiplier used in analysis
Spacing distance between angles of double angle section. Applies
to a steel vertical brace that has been assigned a double angle
section.
CoreBrace clearance for lower bolted
CoreBrace clearance for upper bolted
CoreBrace clearance for lower custom
CoreBrace clearance for upper custom
CoreBrace maximum yield strength
Type
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
Property
dCoreBraceFyMin
dCoreBraceOverStrengthBeta
dCoreBraceOverStrengthOmega
dCoreBracePinnedClearanceBot
dCoreBracePinnedClearanceTop
dCoreBraceSplicePlateClearanceBot
dCoreBraceSplicePlateClearanceTop
dCoreBraceStiffModUseOrFactorValue
dCoreBraceWeldedClearanceBot
dCoreBraceWeldedClearanceTop
dStarSeismicFyMax
dStarSeismicFyMin
dStarSeismicLowerFromBeam
dStarSeismicLowerFromColumn
dStarSeismicOverStrengthBeta
dStarSeismicOverStrengthOmega
dStarSeismicStiffModUseVal
Get
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Set
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
double
double
double
double
double
ETensionCompressionMemType
dStarSeismicUpperFromBeam
dStarSeismicUpperFromColumn
dUnbracedLengthAxialLX
dUnbracedLengthAxialLY
dUnbracedLengthFlexLY
eAnalysisType
X
X
X
X
X
X
X
X
X
X
X
X
ECoreBraceType
EMATERIALTYPES
eCoreBraceConnectionType
eMaterial
X
X
X
X
ESeismicProvFrameType
eSeismicFrameType
long
lCoreBraceCheckBoxes
long
lCoreBraceUseCalcStiffMod
long
long
lFrameNumber
lLabel
X
X
Description
CoreBrace minimum yield strength
Beta value for CoreBrace overstrength
Omega value for CoreBrace overstrength
CoreBrace clearance for lower pinned
CoreBrace clearance for upper pinned
CoreBrace clearance for lower sideplate
CoreBrace clearance for upper bolted
CoreBrace stiffness modifier factor or explicit value
CoreBrace clearance for lower welded
CoreBrace clearance for upper welded
Maximum yield strength of Star Seismic BRB
Minimum yield strength of Star Seismic BRB
Minimum clearance from lower beam
Minimum clearance from lower column
Beta value for Star Seismic overstrength
Omega value for Star Seismic overstrength
User assigned stiffness modifier if bStarSeismicUseAssigned is
TRUE
Minimum clearance from upper beam
Minimum clearance from upper column
Axial unbraced length for buckling about the X axis
Axial unbraced length for buckling about the Y axis
Flexural unbraced length for lateral torisional buckling
Indicates whether vertical brace takes tension, compression, or
both
CoreBrace connection type
Material type of vertical brace. Valid options for vertical braces are
ESteelMat, EConcreteMat, or EOtherMat.
The Seismic Frame Type of the member (Special Moment Frame,
etc).
CoreBrace flags. Sum the individual flags to determine the
appropriate value for the setting.
1 Yield Strength
2 Stiffness Modifier
4 Overstrength Parameters
8 Minimum Clearance
CoreBrace Stiffness Modifier option toggle
0 Use Calculated
1 Use Calculated Factored By
2 Use
Frame number for lateral members. It must be positive number.
Numeric label of vertical brace used for on-screen display in RAM
Structural System.
Type
long
Property
lMaterialID
Get
X
Set
long
lSectionID
long
lStarSeismicCheckBoxes
long
Long
lStoryAtBotID
lStarSeismicUseCalcStiffMod
X
X
long
long
long
lStoryAtTopID
lUID
lUnbracedLength
X
X
X
ESeismicProvFrameType
SeismicFrameType
BSTR
strSectionLabel
X
X
Description
Unique ID of material properties for this vertical brace. Must
correspond to type of material. See section Getting material
properties for a member for more information.
Unique ID of concrete or Other section assigned to this vertical
brace. See Assigning section properties to concrete members and
Assigning section properties to Other members for more
information.
Unbraced length flags. Sum the appropriate flags to determine the
appropriate value for the settings.
0 Use Global
1 Yield Strength checked
2 Minimum Clearance checked
4 Stiffness Modifier checked
Unique ID of story into which bottom of brace frames
StarSeismic Brace Stiffness Modifier option toggle
0 Use Calculated
1 Use Calculated Factored By
2 Use
Unique ID of story into which top of brace frames
Unique ID of vertical brace.
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
The Seismic Frame Type of the member (Special Moment Frame,
etc)
Label of the size or section property for this vertical brace. Limited
to 15 characters. See Assigning sizes to steel members, Assigning
section properties to concrete members, and Assigning section
properties to Other members for more information.
IVerticalBraces
This interface represents a collection of vertical braces. When it is obtained from the IModel interface, it will represent all vertical
braces in the model. When it is obtained from the IStory interface, it will represent the collection of all vertical braces whose top
nodes frames into the given story. Since vertical braces are associated with the 2 stories that its nodes frame into, and not with a
floor type, there is no corresponding ILayoutVerticalBraces interface. This interface can be used to add and delete vertical braces
from the model.
Add ([in] EMATERIALTYPES eMat, [in] long lTopStoryID, [in] double dTopX, [in] double dTopY, [in] double dTopZOffset, [in] long
lBotStoryID, [in] double dBotX, [in] double dBotY, [in] double dBotZOffset [out, retval] IVerticalBrace** ppIVerticalBrace)
Adds a new vertical brace to the collection of vertical braces.
Parameters
eMat
lTopStoryID
dTopX
dTopY
dTopZOffset
lBotStoryID
dBotX
dBotY
dBotZOffset
ppIVerticalBrace
Material type of vertical brace to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat).
Unique ID of story that top node of brace frames into
X coordinate of top of the brace.
Y coordinate of top of the brace
Z offset value from the story elevation for top of brace
Unique ID of story that bottom node of brace frames into, or -1 if at ground level
X coordinate of end of the wall (j-end).
Y coordinate of end of the wall (j-end).
Z offset value from the story elevation for the bottom of the brace (measured from the elevation of the story
indicated by lBotStoryID).
Pointer to an IVerticalBrace interface that represents the newly added vertical brace.
Filter ([in] EVerticalBraceFilter eVertBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of vertical braces based on given criteria.
Parameters
eVertBraceFilter
varFilterCriteria
plRetval
Indicates the type of filter to use on the collection (see table below for filter types)
Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
0 if successful
-1 if collection could not be filtered
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)
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.
Parameters
pILoadCombination
pDisplacement
GetEndCoordinates ([out] SCoordinate* pTopStartPoint, [out] SCoordinate* pTopEndPoint, [out] SCoordinate* pBotStartPoint,
[out] SCoordinate* pBotEndPoint [out, retval] long* plRetval)
Gets the coordinates for the wall.
Parameters
pTopStartPoint
pTopEndPoint
pBotStartPoint
pBotEndPoint
plRetval
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
edge
ppINodeForces
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)
Pointer to an IProperties interface that represents a collection of properties for this member
Parameters
ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.
Parameters
pILoadCombination
bTopOfStory
pDisplacement
Pointer to an IWallFEs collection interface that represents the wall FEs for the wall.
Properties
Type
double
double
double
Property
dCrackedFactor
dCrackedFactorForBending
dEndZBotOffset
Get
X
X
X
Set
X
X
X
double
dStartZBotOffset
double
EFRAMETYPE
EMATERIALTYPES
dThickness
eFramingType
eMaterial
X
X
X
X
X
Description
Cracked factor for membrane. Applies if wall is concrete.
Cracked factor for out-of-plane bending. Applies if wall is concrete.
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.
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.
Thickness of wall
Whether member is lateral or gravity
Material type of wall. Valid options for walls are EWallPropConcreteMat or
EWallPropOtherMat.
Type
long
Property
eSharingLoadType
Get
X
Set
X
long
long
lDxfElevNumber
lFrameNumber
lLabel
X
X
X
X
X
long
lMaterialID
long
long
lUID
lWallGroupNumber
X
X
Description
Returns sharing load type:
-1:
None
0:
Entirely two-way
1:
Entirely one-way
2:
One-way and two-way
DXF elevation number
Frame number for lateral members. Must be positive number.
Numeric label of wall used for on-screen display in RAM Structural System. It is unique per
floor type.
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.
Unique ID of wall.
Wall group number assigned in RAM Frame
IWallBarLayout
Concrete wall bar layout information.
Pointer to an IWallBarPattern interface that contains the the receivers horizontal bar pattern.
Pointer to an IWallPanel interface for the wall panel that the receiver belongs to.
Pointer to an IWallBarPattern interface that contains the the receivers vertical bar pattern.
Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.
Properties
Type
BOOL
long
Property
bUserDef
lUID
Get
X
X
Set
X
Description
Indicates whether or not this wall bar layout contains any user-defined bars.
The unique ID of this wall bar layout.
IWallBarLayouts
This interface represents a collection of IWallBarLayout objects.
Add ([in] long lHorizBarPatternID, [in] long lVertBarPatternID, [in] BOOL bUserDefinedBars, [out,retval] IWallBarLayout
**ppIWallBarLayout)
Adds a new wall bar layout to the receiver.
Parameters
lHorizBarPatternID
lVertBarPatternID
bUserDefinedBars
ppIWallBarLayout
The bar pattern ID of the horizontal bars in the new wall bar layout.
The bar pattern ID of the vertical bars in the new wall bar layout.
Indicates whether or not the new wall bar layout contains any user-defined bars.
Pointer to an IWallBarLayout interface that represents the newly added wall bar layout.
Clear ()
Deletes all wall bar layouts from the collection.
The index into the collection of the requested wall bar layout.
Pointer to an IWallBarLayout interface that represents the requested wall bar layout, or NULL if lIndex is invalid.
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.
Properties
Type
double
double
long
long
BSTR
Property
dDiameter
dSpacing
lBarPatternTemplateID
lUID
strBarSize
Get
X
X
X
X
X
Set
Description
The diameter (in inches) of the bars in the pattern.
The spacing between bars in the pattern.
The unique ID of the WallBarPatternTemplate to which this wall bar pattern belongs.
The unique ID of this wall bar pattern.
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.
The index into the collection of the requested wall bar pattern
Pointer to an IWallBarPattern interface that represents the requested wall bar pattern, or NULL if lIndex is invalid.
Add ([in] BSTR bstrBarSize, [in] double dSpacing, [in] double dDiameter, [out,retval] IWallBarPattern** ppIWallBarPattern)
Adds a new wall bar pattern to the receiver.
Parameters
bstrBarSize
dSpacing
dDiameter
The bar size name of the new wall bar pattern. This must be a valid bar size from the concrete table.
The spacing between bars in the new wall bar pattern.
The diameter of bars in the new wall bar pattern. This must be the appropriate number for the given bstrBarSize
value.
Pointer to an IWallBarPattern interface that represents the newly added wall bar pattern.
ppIWallBarPattern
Clear ()
Deletes all wall bar patterns from the collection.
IWallBarPlacement
Concrete wall bar placement information.
Pointer to an IWallBarSet interface for the wall bar set that the receiver belongs to.
Properties
Type
BOOL
double
EBarEndCondition
EBarEndCondition
long
SCoordinate
SCoordinate
BSTR
Property
bUserDefined
dDiameter
eConditionEnd
eConditionStart
lNumCurtains
sCoordinateEnd
sCoordinateStart
strBarName
Get
X
X
X
X
X
X
X
X
Set
Description
User defined flag
Bar diameter
End condition
Start condition
Number of reinforcing curtains
End coordinates
Start coordinates
Bar name
IWallBarPlacements
This interface represents a collection of IWallBarPlacement objects.
Add ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [in] EBarEndCondition eStartCondition, [in]
EBarEndCondition eEndCondition, [in] BOOL bUserDefined, [in] BSTR strBarName, [in] double dDiameter, [in] long lNumCurtains,
[out,retval] IWallBarPlacement** ppIWallBarPlacement)
Adds a new wall bar placement to the receiver.
Parameters
dStartX
dStartY
dEndX
dEndY
eStartCondition
eEndCondition
bUserDefined
strBarName
dDiameter
lNumCurtains
ppIWallBarPlacement
Start X coordinate
Start Y coordinate
End X coordinate
End Y coordinate
Start condition
End condition
User defined flag
Bar name
Bar diameter
Number of reinforcing curtains
Pointer to an IWallBarPlacement interface that represents the newly added wall bar placement.
Clear ()
Deletes all wall bar placements from the collection.
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.
IWallBarSet
Concrete wall bar set information.
Pointer to an IWallBarLayout interface for the wall bar layout that the receiver belongs to.
Properties
Type
long
Property
lUID
Get
X
Set
Description
The unique ID of this wall bar set.
IWallBarSets
This interface represents a collection of IWallBarSet objects.
Pointer to an IWallBarSet interface that represents the newly added wall bar set.
Clear ()
Deletes all wall bar sets from the collection.
The index into the collection of the requested wall bar set.
Pointer to an IWallBarSet interface that represents the requested wall bar set, or NULL if lIndex is invalid.
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
long
Property
iTypeIndex
Get
X
BSTR
long
long
long
lElementUID
lID
lLimitCheckID
strMessage
X
X
X
X
Set
Description
A type code that qualifies the severity of this message:
0: None
1: Informative only
2: Warning (non-failing)
3: Failure
The unique ID of the element (member) related to this message.
The unique ID of this wall code message.
The unique ID of the limit check with which this code message is related.
The design message describing the status of the limit check.
IWallCodeMessages
This interface represents a collection of IWallCodeMessage objects.
Add ([in] long iTypeIndex, [in] BSTR strMessage, [in] long lElementUID, [out,retval] IWallCodeMessage** ppIWallCodeMessage)
Adds a new wall code message to the receiver.
Parameters
iTypeIndex
strMessage
lElementUID
ppIWallCodeMessage
A type code that qualifies the severity of the message. Refer to IWallCodeMessage properties for
possible values.
The design message describing the status of the limit check.
The unique ID of the element (member) related to this message.
Pointer to an IWallCodeMessage interface that represents the newly added wall code message.
Clear ()
Deletes all wall code messages from the collection.
IWallCodeResult
Represents the result of the analysis of a certain section cut with a certain load case or combination.
Pointer to an IWallLimitChecks interface that contains the wall limit checks in the receiver.
Properties
Type
BOOL
long
Property
bLoadCombo
lHintFlags
Get
X
X
long
long
long
lID
lLoadConditionUID
lSectionCutUID
X
X
X
Set
Description
Flag: The results are of a load combination (not a load case).
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.
The unique ID of this wall code result.
The load case or combination unique ID.
The unique ID of the section cut to which the results belong.
IWallCodeResults
This interface represents a collection of IWallCodeResult objects.
Add ([in] BOOL bLoadCombo, [in] long lLoadConditionUID, [in] long lHintFlags, [out,retval] IWallCodeResult** ppIWallCodeResult)
Adds a new wall code result to the receiver.
Parameters
bLoadCombo
lLoadConditionUID
lHintFlags
ppIWallCodeResult
Clear ()
Flag: The wall code result is the result of a load combination (not a load case)
The load case or load combination UID
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.
Pointer to an IWallCodeResult interface that represents the newly added wall code result.
The index into the collection of the requested wall code result.
Pointer to an IWallCodeResult interface that represents the requested wall code result, or NULL if lIndex is invalid.
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.
ppICouplingBeams Pointer to an ICouplingBeams collection interface that represents all coupling beams in the wall design group.
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.
Pointer to an IWalls collection interface that represents all walls in the wall design group.
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all wall section design cuts in the wall
design group.
Properties
Type
double
Property
dCutOffset
Get
X
Set
X
Description
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.
Type
double
Property
dMaxHorCutSpcg
Get
X
Set
X
double
dMaxVertCutSpcg
long
lCutLocationMask
long
long
lWallBarPatternTemplateID
lWallDesignGroupNumber
X
X
Description
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.
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.
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.
The ID of the WallBarPatternTemplate used by the wall design group.
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.
The wall design group number of the new wall design group.
Pointer to an IWallDesignGroup interface that represents the newly added wall design group.
Clear ()
Deletes all wall design groups from the collection.
Parameters
lWallDesignGrpNum
The wall design group number of the requested wall design group.
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.
The index into the collection of the requested wall design group
Pointer to an IWallDesignGroup interface that represents the requested wall design group, or NULL if lIndex is
invalid.
SaveResults ()
Saves results for all wall design groups from the collection.
IWallFailedMember
Represents a member that has failed a limit check.
Properties
Type
long
long
long
Property
lID
lLimitCheckID
lMemberUID
Get
X
X
X
Set
Description
The unique ID of this wall failed member. Note: this property will be deprecated in v12.1.
The unique ID of the limit check related to this failure.
The unique ID of the failing member.
IWallFailedMembers
This interface represents a collection of IWallFailedMember objects.
Clear ()
Deletes all wall failed members from the collection.
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.
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
bSmooth
ppIStresses
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.
Boolean indicating whether or not the stresses should be averaged with surrounding Wall FEs.
Pointer to an IStresses interface that represents the stresses for the given load case for this Wall FE.
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
bSmooth
ppIStresses
IWallFE Properties
Type
BOOL
Property
bHaveStresses
Get
X
double
dThickness
Set
Description
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.
The thickness of the wall.
IWallFEs
This interface is used to hold a collection of IWallFE objects.
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.)
Properties
Type
BOOL
double
double
double
long
long
long
long
BSTR
BSTR
Property
bCheckPasses
dLimit
dUF
dValue
eGeneralType
eSpecificType
lCodeResultID
lID
strCodeSection
strLimitName
Get
X
X
X
X
X
X
X
X
X
X
Set
Description
A boolean flag denoting whether this limit check has passed or not.
The limiting value of this limit check.
The unity factor for this limit check.
The value (result) of this limit check.
An integer specifying the general classification of this limit check. Refer to Appendix F.
An integer specifying the specific classification of this limit check. Refer to Appendix F.
The unique ID of the code result to which this limit check belongs.
The unique ID of this wall limit check.
A reference to a design code clause that applies to this limit check.
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
eSpecificType
strLimitName
dValue
dLimit
dUF
bCheckPasses
strCodeSection
ppIWallLimitCheck
An integer specifying the general classification of this limit check. Refer to Appendix F.
An integer specifying the specific classification of this limit check. Refer to Appendix F.
A string describing the limit check that is being tested.
The value (result) of this limit check.
The limiting value of this limit check.
The unity factor for this limit check.
A boolean flag denoting whether this limit check has passed or not.
A reference to a design code clause that applies to this limit check.
Pointer to an IWallLimitCheck interface that represents the newly added wall limit check.
Clear ()
Deletes all wall limit checks from the collection.
The index into the collection of the requested wall limit check.
Pointer to an IWallLimitCheck interface that represents the requested wall limit check, or NULL if lIndex is invalid.
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.
Pointer to an IWallBarLayouts interface that contains the wall bar layouts in the receiver.
Properties
Type
BOOL
long
long
SCoordinate
SCoordinate
BSTR
Property
bFrozen
lPriority
lUID
sCoordinateEnd
sCoordinateStart
strBarPatternName
Get
X
X
X
X
X
X
Set
Description
Indicates whether or not this panel has been frozen by the user.
Priority of the wall panel
The unique ID of this wall panel.
The end coordinate of the panel.
The start coordinate of the panel.
The name of the panels 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
double
double
EBoundaryFlags
long
BSTR
Property
dBarSpacing
dStartOffset
eBoundary
lNumCurtains
strBarSize
Get
X
X
X
X
X
Set
X
X
X
X
X
Description
The bar spacing for this zone.
The start offset of this zone.
Indicates how this zone is to be handled with respect to boundary element design.
The number of curtains in this zone.
The bar size for this zone.
IWallPanelReinfZones
This interface represents a collection of IWallPanelReinfZone objects.
Clear ()
Deletes all zones from the collection.
IWallPanels
This interface represents a collection of IWallPanel objects.
Pointer to an IWallPanel interface that represents the newly added wall panel.
Clear ()
Deletes all wall panels from the collection.
IWalls
This interface represents a collection of walls associated with a story. This collection can be used to read data for walls at a story.
To add or delete walls, use the ILayoutWalls interface associated with a floor type.
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of walls based on given criteria.
Parameters
eWallFilter
varFilterCriteria
plRetval
ppIWall
Pointer to an IWall interface that represents the requested wall, or NULL if lIndex is invalid.
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)
Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
IWallSectionDsnCut
This interface represents the design information for a section cut. Unlike IRawWallSectionCut, the information in a design cut can
represent multiple section cut segments.
DeleteWallSectionDsnCutPolygons ()
Deletes all polygons from the receiver.
Parameters
plUBPolygonIndex The index of the last polygon in the wall section design cut.
GetWallSectionDsnCutPolygon ([in] BOOL bLocal, [in] long lPolyIndex, [out, retval] IPoints **pIPoints)
Gets the specified polygon. (Refer to SaveWallSectionDsnCutPolygon for further info on section cut polygons).
Parameters
bLocal
lPolyIndex
pIPoints
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
iPoints
pdGlobalX
pdGlobalY
pdGlobalZ
pdLocalX
pdLocalY
Properties
Type
BOOL
double
double
double
double
double
double
Property
bDoBoundaryCheck
dArea
dInertiaX
dInertiaY
dMaxFlexureUF
dMaxShearUF
dOffset
Get
X
X
X
X
X
X
X
double
double
long
dWallAngle
dZ
eDesignState
X
X
X
long
eOrientation
long
long
long
long
long
long
long
long
long
SCoordinate
eRelativeCorner
iCriticalFlexureCombo
iCriticalShearCombo
lFinalSegmentCount
lMaterialUID
lRelativeMemberUID
lSectionCutWDGID
lUID
lWallDesignGrp
sCentroid
X
X
X
X
X
X
X
X
X
X
Set
Description
Flag: boundary check required for this section cut (certain design codes only).
The area of this wall section design cut.
The inertia in X of this wall section design cut.
The inertia in Y of this wall section design cut.
The maximum unity factor in flexure at this cross-section (determined during a design run).
The maximum unity factor in shear at this cross-section (determined during a design run).
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).
The orientation of the wall relative to the global model coordinate system (vertical cuts only).
The Z coordinate of this wall section design cut.
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
Orientation of the section cut.
0 = Vertical cut
1 = Horizontal cut
The wall or opening corner index relative to which a vertical cut is defined (vertical cuts only).
The UID of the load combination that produces the maximum unity factor in flexure.
The UID of the load combination that produces the maximum unity factor in shear.
The number of wall segments that make up this section cut.
The UID of the material of the cross-section (wall).
The wall UID or opening UID relative to which a vertical cut is defined (vertical cuts only).
This section design cuts unique ID in its wall design group.
The unique ID of this wall section design cut.
The wall design group to which this section design cut belongs.
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
BOOL
long
long
long
long
SForce3D
SForce3D
Property
bLoadCombo
lID
lLoadConditionIndex
lLoadConditionUID
lSectionCutUID
sForce3DF
sForce3DM
Get
X
X
X
X
X
X
X
Set
Description
Flag: The force set is a result of a load combination (not a load case)
The unique ID of this wall section design cut force set.
Load case or combo index.
Load case or combo UID.
The unique ID of the section cut to which this force set belongs.
Force components in the X,Y,Z directions.
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
lLoadConditionUID
lLoadConditionIndex
sForce3DF
sForce3DM
ppIWallSectionDsnCutForceSet
Flag: The force set is a result of a load combination (not a load case)
Load case or combo UID.
Load case or combo index.
Force components in the X,Y,Z directions.
Moment components about the X,Y,Z directions.
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.
IWallSectionDsnCuts
This interface represents a collection of IWallSectionDsnCut objects.
Add ([in] double dArea, [in] double dCentroidX, [in] double dCentroidY, [in] double dZ, [in] double dInertiaX, [in] double dInertiaY, [in]
long eOrientation, [in] double dWallAngle, [in] long lMaterialUID, [in] double dMaxFlexureUF, [in] double dMaxShearUF, [in] long
iCriticalFlexureCombo, [in] long iCriticalShearCombo, [in] long eDesignStatus, [in] long lSectionCutWDGID, [in] long
lFinalSegmentCount, [in] long lRelativeMemberUID, [in] long eRelativeCorner, [in] double dOffset, [out,retval] IWallSectionDsnCut**
ppIWallSectionDsnCut)
Adds a new wall section design cut to the collection.
Parameters
dArea
dCentroidX
dCentroidY
dZ
dInertiaX
dInertiaY
eOrientation
dWallAngle
lMaterialUID
dMaxFlexureUF
dMaxShearUF
iCriticalFlexureCombo
iCriticalShearCombo
eDesignStatus
Clear ()
Deletes all wall section design cuts from 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
BOOL
double
double
double
double
Property
bPassed
dBotStiffX
dBotStiffY
dDistFromStartOfBeam
dDistFromTop
Get
X
X
X
X
X
Set
double
dHeightOrDiam
double
double
double
double
double
double
double
double
double
double
EWebOpenPosition
EWebOpenShape
long
dStiffenerLength
dStiffenerLengthBot
dStiffenerThickness
dStiffenerThicknessBot
dStiffenerWidth
dStiffenerWidthBot
dTopStiffX
dTopStiffY
dWeldSize
dWidth
ePositionInWeb
eShape
lNumStiffeners
X
X
X
X
X
X
X
X
X
X
X
X
X
long
lNumStiffenersBot
long
lPenID
X
X
X
X
X
Description
Whether the design of the web opening passed or failed.
X coordinate (in beam local coordinates) of bottom stiffener.
Y coordinate (in beam local coordinates) of bottom stiffener.
Distance from start of beam to center of web opening
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)
Height (H) of web opening if shape is rectangular, or diameter of opening if circular
Length of top stiffener, if required.
Length of bottom stiffener, if required.
Thickness of top stiffener, if required.
Thickness of bottom stiffener, if required.
Width of top stiffener, if required.
Width of bottom stiffener, if required.
X coordinate (in beam local coordinates) of top stiffener.
Y coordinate (in beam local coordinates) of top stiffener.
Size of weld for stiffener, if required.
Width (B) of web opening if shape is rectangular
Position of web opening in beam web. If not centered, an offset must be provided.
Shape of the web opening
Indicates if top stiffeners are required on 0, 1 or 2 sides of the opening (determined during steel
beam design)
Indicates if bottom stiffeners are required on 0, 1 or 2 sides of the opening (determined during steel
beam design)
The ID of this opening in the collection of openings for a particular beam (not unique within the
model)
IWebOpenings
This interface represents a collection of web openings on a beam. It may be empty to start with if no web openings have been
defined on a beam. Through this interface, web openings can be added and deleted.
Add ([in]double dDistFromStartOfBeam, [in] EWebOpenShape eShape, [in] double dHOrDiam, [in] double dB, [out, retval]
IWebOpening** ppIWebOpening)
Adds a web opening to the collection of web openings for the layout beam.
Parameters
dDistFromStartOfBeam
eShape
dHOrDiam
dB
ppIWebOpening
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.
Pointer to an IWallBarPatterns interface that contains the horizontal wall bar patterns in the receiver.
Pointer to an IWallBarPatterns interface that contains the vertical wall bar patterns in the receiver.
Properties
Type
double
double
Property
dHorizontalSpacingIncrement
dMaxHorizontalBarSpacing
Get
X
X
double
double
double
double
dMaxVerticalBarSpacing
dMinHorizontalBarSpacing
dMinVerticalBarSpacing
dVerticalSpacingIncrement
X
X
X
X
long
long
BSTR
BSTR
BSTR
BSTR
BSTR
lNumCurtains
lUID
strLabel
strMaxHorizontalBarSize
strMaxVerticalBarSize
strMinHorizontalBarSize
strMinVerticalBarSize
X
X
X
X
X
X
X
Set
Description
The horizontal spacing increment for this wall bar pattern template.
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.
The maximum vertical bar spacing (in inches) in this wall bar pattern template.
The minimum horizontal bar spacing (in inches) in this wall bar pattern template.
The minimum vertical bar spacing (in inches) in this wall bar pattern template.
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.
The number of curtains in this wall bar pattern template.
The unique ID of this wall bar pattern template.
The label of this wall bar pattern template.
The name of the maximum horizontal bar size in this wall bar pattern template.
The name of the maximum vertical bar size in this wall bar pattern template.
The name of the minimum horizontal bar size in this wall bar pattern template.
The name of the minimum vertical bar size in this wall bar pattern template.
WallBarPatternTemplates
This interface represents a collection of WallBarPatternTemplate objects.
Add ([in] BSTR strLabel, [in] long lNumCurtains, [in] BSTR strMinVerticalBarSize, [in] BSTR strMaxVerticalBarSize, [in] double
dMinVerticalBarSpacing, [in] double dMaxVerticalBarSpacing, double dVerticalSpacingIncrement, [in] BSTR
strMinHorizontalBarSize, [in] BSTR strMaxHorizontalBarSize, [in] double dMinHorizontalBarSpacing, [in] double
dMaxHorizontalBarSpacing, [in] double dHorizontalSpacingIncrement, [out,retval] WallBarPatternTemplate**
ppWallBarPatternTemplate)
Adds a new wall bar pattern template to the receiver.
Parameters
strLabel
lNumCurtains
strMinVerticalBarSize
strMaxVerticalBarSize
dMinVerticalBarSpacing
dMaxVerticalBarSpacing
dVerticalSpacingIncrement
strMinHorizontalBarSize
strMaxHorizontalBarSize
dMinHorizontalBarSpacing
dMaxHorizontalBarSpacing
dHorizontalSpacingIncrement
ppWallBarPatternTemplate
Clear ()
Deletes all wall bar pattern templates from the collection.
IConcAnalysis1
Philosophy: To retrieve the results from the Concrete Analysis.
GetBeamAnalysisInertia ( [in] long lBeamID, [out] double * pdIAnalysis, [in, out] long * lResult);
Purpose
Parameters
GetBeamCantlDeflectionMoments ( [in] long lBeamID, [in] EBeamSpanType eSpan, [out] double* pdMDL, [out] double* pdMLLposdefl, [out]
double* pdMLLnegdefl, [in, out] long* plResult);
Purpose
Parameters
Get the moments that are associated with a particular cantilever for calculation of the IEff
for concrete deflection consideration.
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
Parameters
Get the moments that are associated with a particular beam ends and mid point for
calculation of the IEff for concrete deflection consideration.
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
pdMLLrtneg
pdMLLrtpos
plResult
GetDispInterfacePointerByEnum ();
Purpose
GetDLDeflectionResults ([in] long lBeamID, [in] EBeamSpanType eBmSpanType , [out] long* plNumPts, [out] SDIAGRAM** ppDLDeflDiag,
[retval, out] long* plResult );
Purpose
Parameters
GetInterfacePointer();
Purpose
Comments
GetLLDeflectionResults ([in] long lBeamID, [in] EBeamSpanType eBmSpanType , [out] long* plNumPts, [out] SENVELOPE** ppLLDeflEnv,
[retval, out] long* plResult );
Purpose
Parameters
Reset ();
Purpose
SetBeamAnalysisInertia ();
Purpose
SetBeamCantlDeflectionMoments ();
Purpose
SetBeamDeflectionMoments ();
Purpose
SetDLDeflectionResults ();
Purpose
SetLLDeflectionResults ();
Purpose
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
Parameters
The default settings for the dialog to assign beam line numbers automatically. Refer to
concrete analysis mode command Assign-BeamLine Numbers Automatic.
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 = Dont 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
Parameters
GetAssignSidesway ([out] long nSelectMajor, [out] long nSelectMinor, [out] BSTR* pbstrGlobalMajor, [out] BSTR* pbstrGlobalMinor);
Purpose
Parameters
In the Column Forces Criteria dialog the user can specify if they would like to consider the
Concept forces or only use the RAM SS forces. That setting is provided here.
plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story
GetConceptSelectionAtStory ([in] long lStoryID, [out] long* plUseConceptForces, [out,retval] long* lRetval);
Purpose
Parameters
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.
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
Parameters
Obtain the concrete analysis criteria specified by the user in RAM Concrete Gravity
Analysis Module. See Dialog Box from command Criteria Analysis.
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
pbColSlend
pbPin
pbConstrainRigidDiapSloped
GetCriteriaAnalysis_Part3 ([out] double* pdDistBetweenNodes, [out] double* pdMeshTol, [out] double* pdHardNodeDenFac,
[out] long* plSolverType);
Purpose
Parameters
To get the flag that indicates if one or all CPUs will be used for Analysis.
bUseAllCPUs
1 = use all CPUs 0 = use only one CPU
GetCriteriaKFactor ([out] long* pnKxSel, [out] long* pnKySel, [in, out] double* pdKx, [out] double* pdKy);
Purpose
Parameters
GetCriteriaSidesway ([out] long* pnSelection, [out] BOOL* pbGlobalX, [out] BOOL* pbGlobalY, [out] double* pdDegX, [out] double* pdDegY);
Purpose
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
GetMoreCriteriaAnalysis ([out] BOOL* pbPinTransferMembers, [out] BOOL* pbPinTop, [out] BOOL* pbOOC, [out] long* pnBeamTorStiff);
Purpose
Parameters
Reset ();
Purpose
SetAssignKFactor ([in] long* pnSelectMajor, [in] long* pnSelectMinor, [in] long* pdKx, [in] long* pdKy,);
Purpose
Parameters
pnSelectMajor
pnSelectMinor
pdKx
pdKy
In the Column Forces Criteria dialog the user can specify if they would like to consider the
Concept forces or only use the RAM SS forces. That setting is provided here.
plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story
SetConceptSelectionAtStory ([in] long lStoryID, [in] long* plUseConceptForces, [out,retval] long* lRetval);
Purpose
Parameters
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.
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
Parameters
Obtain the concrete analysis criteria specified by the user in RAM Concrete Gravity
Analysis Module. See Dialog Box from command Criteria Analysis.
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
pbColSlend
pbPin
pbConstrainRigidDiapSloped
forces
True = Consider column slenderness when calculationg
column forces
True = release (pin) the base of concrete gravity columns
at the foundation
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
Parameters
To set the flag that indicates if one or all CPUs will be used for Analysis.
1 = use all CPUs 0 = use only one CPU
bUseAllCPUs
SetCriteriaKFactor ([in] long* pnKxSel, [in] long* pnKySel, [in] double* pdKx, [in] double* pdKy);
Purpose
Parameters
SetCriteriaSidesway ([in] long* pnSelection, [in] BOOL* pbGlobalX, [in] BOOL* pbGlobalY, [in] double* pdDegX, [in] double* pdDegY);
Purpose
Parameters
SetMoreCriteriaAnalysis ([in] BOOL* pbPinTransferMembers, [in] BOOL* pbPinTop, [in] BOOL* pbOOC, [in] long* pnBeamTorStiff);
Purpose
Parameters
SetRAMConcLdCaseFlags ();
Purpose
IConcBeamState1
Philosophy: This interface is for maintaining the state of the concrete beam module.
ClearBeamResults ();
Purpose
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
Parameters
Get all the reinforcement located in all the spans in the beam line.
lStory
Story where beam line is located
lBeamLineID
Beam line ID number
ppaShearBarSet
Shear reinforcement bar set data
ppaShearBarSetBstr
plSizeShear
Comments
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
Parameters
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
Parameters
GetBeamResults ([in] long lStory, [in] long lBeamLineID, [out] long *plNumSpans, [out] SBML_RES** haBeamLine, [out] SBM_RES**
haBeamResults, [out] SBM_RES_BSTR** haBeamResultsBstr);
Purpose
Parameters
pdMaxConcBeamTransDiam
pdMinConcBeamTransDiam
Maximum transverse
Minimum transverse
GetCriteriaBarSelectionData ([out] long* plMinTopBars, [out] long* plMinBotBars, [out] long* plBarLayerSame, [out] long* plSizeChange, [out]
double* pdSegSpaceInc, [out] double* pdShearBarSpaceInc, [out] long* plBarSelMethod, [out] long* plBarSizeBias, [out] long*
plBiasLimit);
Purpose
Parameters
plSpliceType
plEndCond
plStirrupType
GetCriteriaReinCBCData ([out] long* plTop, [out] double* pdTop, [out] long* plSide, [out] double* pdSide, [out] long* plBot, [out] double* pdBot);
Purpose
Parameters
GetCriteriaReinCBSFlexure ([out] long* plFlexMax, [out] double* pdFlexMax, [out] long* plFlexMin, [out] double* pdFlexMin);
Purpose
Parameters
GetCriteriaReinCBSShear ( [out] long* plShearMax, [out] double* pdShearMax, [out] long* plShearMin, [out] double* pdShearMin);
Purpose
Parameters
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
Parameters
Criteria definitions for location from concrete tension surface to effective center of longitudinal
tension reinforcement for 1 and 2 layers of bars..
plAllow2Layers
1 = Allow 2 layers, 0 = dont 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
Parameters
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
Parameters
Comments
Set all the reinforcement located in all the spans in the beam line.
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
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
SetBeamResults ([in] long lStory, [in] long lBeamLineID, [in] long *plNumSpans, [in] SBML_RES** haBeamLine, [in] SBM_RES**
haBeamResults, [in] SBM_RES_BSTR** haBeamResultsBstr);
Purpose
Parameters
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
Parameters
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,
[in] long* plStirrupType);
Purpose
Parameters
plEndCond
plStirrupType
SetCriteriaReinCBCData ([in] long* plTop, [in] double* pdTop, [in] long* plSide, [in] double* pdSide, [in] long* plBot, [in] double* pdBot);
Purpose
Parameters
SetCriteriaReinCBSFlexure ([in] long* plFlexMax, [in] double* pdFlexMax, [in] long* plFlexMin, [in] double* pdFlexMin);
Purpose
Parameters
SetCriteriaReinCBSShear ( [in] long* plShearMax, [in] double* pdShearMax, [in] long* plShearMin, [in] double* pdShearMin);
Purpose
Parameters
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
Parameters
Criteria definitions for location from concrete tension surface to effective center of longitudinal
tension reinforcement for 1 and 2 layers of bars..
plAllow2Layers
1 = Allow 2 layers, 0 = dont 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
Parameters
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
Parameters
GetBSShearDesignCriteria ( [out] double* pdShearSpacing, [out] long* plNumLegs, [out] long* plLinkType);
Purpose
Parameters
GetCamberCriteria ( [out] long *plDontCamber, [out] double *pdMinSpanLength, [out] double *pdDLforCamber, [out] double *pdCamberInc, [out]
double *pdMinCamber, [out] double * pdMaxCamber);
Purpose
Parameters
To get the mdf variable for whether the user wants to check deep beams.
pbCheckDeepBeam TRUE = Check Deep Beams
To get the mdf variable for whether the user wants to check torsional capacity for beams.
pbCheckTorsion
TRUE = Check Torsional Capacity
GetChinaShearDesignCriteria ([out] double* pdShearSpacing, [out] double* pdShearSpacingCompact, [out] long* plNumLegs, [out] long*
plLinkType, [out, retval] long* plRetVal);
Purpose
Parameters
plStirrupType
pdTransBarStartSpan
pdBotBarExtent1stSpanEnd
pdBotBarExtentSpan
plBotMinContinuous
plTopMinContinuous
plNumStirrupLegs
plSpliceType
plEndCond
plStirrupType
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
Parameters
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
Parameters
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.
plIeff
Ieff value to use - 0=per ACI, 1=from Analysis
Parameters
GetDeflectionCriteriaLongTerm ( [out] double *pdInitialTimeFac, [out] double *pdFinalTimeFac, [out] double *pdLLSustained);
Purpose
Parameters
Get whether or not to skip deflection check for minimum span/depth ratio.
plDontCheck
Don't check defl for the following ratio
pdSpanDepthRatio
minimum deflection check span/depth ratio
GetDeflectionDefaultCriteria ( [out] double *pdDLRatio, [out] double *pdDLAbs, [out] double *pdLLRatio, [out] double *pdLLAbs, [out] double
*pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double *pdNetAbs);
Purpose
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
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.
GetMemberScheduleMark ([in] long lBeamID, [out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal);
Purpose
Parameters
Reset ();
Purpose
SetBSBarSelData ( [in] long* plSideBar, [in] long* plMinLongSize, [in] long* plMaxLongSize, [in] long* plTransSize);
Purpose
Parameters
SetBSShearDesignCriteria ( [in] double* pdShearSpacing, [in] long* plNumLegs, [in] long* plLinkType);
Purpose
Parameters
SetCamberCriteria ( [in] long *plDontCamber, [in] double *pdMinSpanLength, [in] double *pdDLforCamber, [in] double *pdCamberInc, [in] double
*pdMinCamber, [in] double * pdMaxCamber);
Purpose
Parameters
pdDLforCamber
pdCamberInc
pdMinCamber
pdMaxCamber
To get the mdf variable for whether the user wants to check deep beams.
pbCheckDeepBeam TRUE = Check Deep Beams
To get the mdf variable for whether the user wants to check torsional capacity for beams.
pbCheckTorsion
TRUE = Check Torsional Capacity
SetChinaShearDesignCriteria ([in] double dShearSpacing, [in] double dShearSpacingCompact, [in] long lNumLinks, [in] long lLinkType, [in,
retval] long* plRetVal);
Purpose
Parameters
pdBotBarExtentSpan
plBotMinContinuous
plTopMinContinuous
plNumStirrupLegs
plSpliceType
plEndCond
plStirrupType
Purpose
Parameters
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
Parameters
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
Parameters
dLLRatio
dLLabs
dLTRatio
dLTAbs
dNetRatio
dNetAbs
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.
plIeff
Ieff value to use - 0=per ACI, 1=from Analysis
SetDeflectionCriteriaLongTerm ( [in] double *pdInitialTimeFac, [in] double *pdFinalTimeFac, [in] double *pdLLSustained);
Purpose
Parameters
Get whether or not to skip deflection check for minimum span/depth ratio.
plDontCheck
Don't check defl for the following ratio
pdSpanDepthRatio
minimum deflection check span/depth ratio
SetDeflectionDefaultCriteria ( [in] double *pdDLRatio, [in] double *pdDLAbs, [in] double *pdLLRatio, [in] double *pdLLAbs, [in] double *pdLTRatio,
[in] double *pdLTAbs, [in] double *pdNetRatio, [in] double *pdNetAbs);
Purpose
Parameters
SetMemberScheduleMark ([out] long lBeamID, [in, out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal );
Purpose
Parameters
IConcCntlrCommon1
Philosophy: This interface is used to access data that is common to several controllers.
ClearSPDataForBeam ();
Purpose
GetDispInterfacePointerByEnum ();
Purpose
GetFrameTypeCriteria ([out] long* plFrameRadioSel, [out] long* pnNum, [out] BOOL** ppabIncludeCheck);
Purpose
Parameters
Get the type of concrete frame type the user has selected for this model.
plFrameRadioSel
0 = Ordinary Moment Frame, 1 = Intermediate, 2 = Special
pnNum
0 (Not used now)
ppabIncludeCheck NULL (Not used now)
Get the frame type used for design. This might not be the currently selected frame type.
plFrameType
0 = ordinary, 1 = intermediate, 2 = special
GetInterfacePointer();
Purpose
Purpose
Parameters
Comments
GetSMFLoadComboFactors ([out] long* plSMFRadioSel, [out] double* pdDead, [out] double* pdLive, [out] double* pdSnow);
Purpose
Parameters
To get the load combo factors used for the selected frame type (IMF or SMF).
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
Parameters
Get the required special provision end shears capacities of the mid span of a given beam.
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
Parameters
Get the end moment capacities of the mid span of a given beam.
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
Parameters
Get the calculated special provision minimum required end shears for beam. If not
found, set -1.0 for all values and return error code.
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
Parameters
Get provided reinforcement area at ends of span. Used for Special provisions design.
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
SaveSPData ();
Purpose
SetFrameTypeCriteria ([in] long* plFrameRadioSel, [in] long* pnNum, [in] BOOL** ppabIncludeCheck);
Purpose
Parameters
Set the type of concrete frame type the user has selected for this model.
plFrameRadioSel
0 = Ordinary Moment Frame, 1 = Intermediate, 2 = Special
pnNum
0 (Not used now)
ppabIncludeCheck NULL (Not used now)
Set the frame type used for design. This might not be the currently selected frame type.
plFrameType
0 = ordinary, 1 = intermediate, 2 = special
SetSMFLoadComboFactors ([in] long* plSMFRadioSel, [in] double* pdDead, [in] double* pdLive, [in] double* pdSnow);
Purpose
Parameters
Set the load combo factors used for the selected frame type (IMF or SMF).
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
Parameters
Set the required special provision end shears capacities of the mid span of a given beam.
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
Parameters
Set the end moment capacities of the mid span of a given beam.
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
Parameters
Set the calculated special provision minimum required end shears for beam. If not
found, set -1.0 for all values and return error code.
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
Parameters
Set provided reinforcement area at ends of span. Used for Special provisions design.
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
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
Parameters
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
Parameters
pnNumAdd
pnNumPatternsInGroup
pnType
pbUse
pbValid
GetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [out] SBAR_PATTERN* pBarPattern);
Purpose
Parameters
GetBarPatternData ([in] long* pnNextPatternID, [out] long* pnNextGroupID, [out] long* pnLastGroupSelected );
Purpose
Parameters
GetColDesignEffLengthFactors ([in] long lColID, [out] double * pdKx, [out] double * pdKy);
Purpose
Parameters
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.
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
Parameters
Comments
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.
Purpose
Parameters
Purpose
Parameters
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.
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
Parameters
GetCriteriaShearLegs
Purpose
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetFinalBarData ([in] long lColID, [out] SBAR_PATTERN* pBarPattern, [out] long* plNumSegments, [out] EDA_SEG_SET_INFO** ppaSegInfo,
[out] EDA_REIN_PLACE_SET** ppaReinPlace);
Purpose
Parameters
Comments
GetInterfacePointer();
Purpose
Comments
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
Parameters
Return the parameters associated with the calculation of slenderness for a specific
column.
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
SetAssignGeometry ([in] BOOL* pbAssignSize, [in] BOOL* pbAssignLegs, [in] long* pnMajor, [in] long* pnMinor, [in] pnUserMajor, [in]
pnUserMinor, [in] pnSizeIndex );
Purpose
Parameters
pnUserMajor
pnUserMinor
pnSizeIndex
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
Parameters
pnNumAdd
pnNumPatternsInGroup
pnType
pbUse
pbValid
pBarPattern
SetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [in] SBAR_PATTERN* pBarPattern);
Purpose
Parameters
SetBarPatternData ([in] long* pnNextPatternID, [in] long* pnNextGroupID, [in] long* pnLastGroupSelected );
Purpose
Parameters
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
Parameters
ppaPatRes
ppaPatResStr
ppaTransBarRes
ppaTransBarResStr
plNumPat
Comments
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.
Set the spacing and clear cover values from the Criteria - Design Reinforcement page.
pBarSpacing
Structure of bar spacing values.
SetCriteriaLapSplice ([in] double* pdLap1, [in] double* pdLap2, [in] long* pnNumRebar, [in] BSTR* pbstrSelSize);
Purpose
Parameters
SetCriteriaShearLegs
Purpose
Parameters
Lap splice information used to calculate material takeoff for longitudinal column
reinforcement. .
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
Parameters
Set the parameters associated with the calculation of slenderness for a specific column.
lColID
The unique column ID
True (1) if user specified to consider slenderness in the RAM
pbUserSelSlnd
Concrete Analysis module
pdLux
pdLuy
pdKx
pdKy
pbBracedSideSwayX
pbBracedSideSwayY
SetZeroBarGroups ();
Purpose
IConcColModState2
Philosophy: (see ConcColModState1 above)
GetCheckAxialLimit ( [out] BOOL* pbCheckAxial );
Purpose
Parameters
To get the flag indicating whether the user wants to check max column axial load limit.
pbCheckAxial
TRUE = Check Max Column Axial Load Limit
To get the flag indicating whether the user wants to check torsional capacity for columns.
pbCheckTorsion
TRUE = Check Torsional Capacity
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
Parameters
plLatMemGravForceSource
plRetVal
GetMemberScheduleMark ( [in] long* lColID, [out] SConcScheduleMark pColumnScheduleMark, [out,retval] long* plRetVal );
Purpose
Parameters
Reset ();
Purpose
Set the flag indicating whether the user wants to check max column axial load limit.
bCheckAxial
TRUE = Check Max Column Axial Load Limit
Set the flag indicating whether the user wants to check torsional capacity for columns.
bCheckTorsion
TRUE = Check Torsional Capacity
SetMemberScheduleMark ( [in] long lColID, [out] SConcScheduleMark ColumnScheduleMark, [out,retval] long* plRetVal );
Purpose
Parameters
IConcept
Philosophy: This interfaces is for RAM Concept intregration with RAM Structural System
Clear the forces from RAM Concept for the given story unique ID.
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
Parameters
GetConceptExportFileInfo ( [in] long* lStoryID, [out] BSTR* pstrConceptFileNamePath, [out] long* plTimestamp, [out] long* plSourceStoryID, [out]
EStateStatus* peStatus, BSTR* pstrConceptStatusReason, [out,retval] long* plRetVal );
Purpose
Parameters
GetConceptStoryTimeStamp ( [in] long* lStoryID, [in] ECptStyTimeStampType eStyTimeStamp, [out] long* plTimestamp, [out,retval] long*
plRetVal );
Purpose
Parameters
GetConceptWallForce ( [in] long* lWallID, [in] long lAnalysisCaseID, [in] EConceptConcSkipCase eConcSkipCase, [in] BOOL
bTransferLoadCase, [out] SForce* pSForce, [out,retval] long* plRetVal );
Purpose
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
GetStoryStatus ( [in] long* lStoryID, [out] EStatusState* peStatus, [out,retval] long* plRetVal );
Purpose
Parameters
Reset ();
Purpose
SetConceptColumnForcesAtEnd ();
Purpose
SetConceptExportFileInfo ();
Purpose
SetConceptForcesChanged ();
Purpose
SetConceptStoryTimeStamp ();
Purpose
SetConceptWallForce ();
Purpose
IDBIO1
Philosophy: This interface is for performing functions on the database as a whole. This includes Loading and Saving. It also includes changing
the database name. It does not include inquiries or specific data manipulation.
AllowConcurrentAccess ([in] BOOL bAllow)
Purpose
Parameters
bAllow
1 if permitted, 0 if not
CloseDatabase();
Purpose
Comments
Comments
To create a new database. This method should not be used by new applications.
bstrName
Model name (do not include file extension)
eUnits
Which units will be used for display purposes
plRetVal
Return value, 0 if successful
This function will fail if the model already exists.
CreateNewDatabase2([in] const BSTR bstrName, EUnits eUnits, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);
Purpose
Parameters
Comments
Purpose
Parameters
Comments
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
Returns the Working directory where the model files are unzipped. 3.
pbstrWorkingDir The Working Directory
To Load the Database into memory. This method should not be used by new
applications.
bstrName
Model name including path and extension
This function will fail if the model is currently in use or if the database version is
incompatible with the current version of DataAccess.
LoadDatabase2 ([in] const BSTR bstrName, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);
Purpose
To Load the Database into memory. This method is preferred over LoadDataBase
which will be phased out.
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
Parameters
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
ReloadDataBasePartial ( );
Purpose
RenameDataBaseTo ( );
Purpose
SaveDatabase();
Purpose
SaveWorkingFiles ( );
Purpose
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.
pdTorsionJ
Torsion at bottom
GetDispInterfacePointerByEnum ();
Purpose
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
Parameters
pdCDShear
pdCLMoment
pdCLShear
pdPosLiveMoment
pdPosLiveShear
pdNegLiveMoment
pdNegLiveShear
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
Parameters
GetInterfacePointer();
Purpose
Comments
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
Parameters
dY_Disp_Left
dZ_Disp_Left
dX_Rot_Left
dY_Rot_Left
dZ_Rot_Left
dX_Disp_Right
dY_Disp_Right
dZ_Disp_Right
dX_Rot_Right
dY_Rot_Right
dZ_Rot_Right
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
Parameters
Get forces at left side of a point on a lateral beam for a given load case.
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
Parameters
dZ_Rot_Bot
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
Parameters
GetLatWallForces ([in] long lWallID, [in] long lLoadCase, [out] double *dAxial, [out] double *dMajMom, [out] double *dMajShear);
Purpose
Parameters
Get lateral wall forces for the desired wall and load case.
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
Parameters
dAxial_JL
dMajMom_JL
dMajShear_JL
dMinMom_JL
dMinShear_JL
dTorsion_JL
J end axial
J end major moment
J end major shear
J end minor moment
J end minor shear
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
Parameters
Get lateral wall group forces for the desired wall and load case.
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
Parameters
dMinShear_JL
dTorsion_JL
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
Parameters
Get lateral wall group forces for the desired wall and load case.
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
Parameters
Get lateral wall group forces for the desired wall and load case.
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
SetAnalysisResultsInvalid ( );
Purpose
IForces2
Philosophy: This is a continuation of the IForces1 interface.
GetAnalysisCaseInfo ([in] long lAnalysisCaseID, [in] EAnalysisResultType eAnalysisReultType, [in, out] SAnalysisCaseInfo* psAnalysisCaseInfo,
[out,retval] long* plRetVal);
Purpose
Parameters
Comment
Get analysis case info for any RAM SS analysis module. Analysis cases are defined as
the results of analyzing load cases.
lAnalysisCaseID
Analysis Case Unique ID
eAnalysisReultType
Analysis modules 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
Analysis cases are defined as the results of analyzing load cases
GetAnalysisCasesIDArray ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* palLoadCaseIDs, [out,retval] long* plRetVal);
Purpose
Parameters
Comment
Get array of unique analysis case ID's for results from a specific module.
eAnalysisReultType
Analysis modules 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
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);
Purpose
Parameters
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
load on columns began to vary from top to bottom and this function becomes necessary.
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
GetDispInterfacePointerByEnum ();
Purpose
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
Parameters
GetInterfacePointer();
Purpose
Comments
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
Parameters
pdMinMomTop
pdMajShearTop
pdMinShearTop
pdTorsionTop
pdMajMomBot
pdMinMomBot
pdMajShearBot
pdMinShearBot
pdTorsionBot
plResult
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
Parameters
Comment 1
Member
Type
Analysis Results
Wall
Gravity
any
Wall
Beam/HBrace
Beam/HBrace
Beam/HBrace
Column
Column
Column
Brace
Lateral
Gravity
Gravity
Lateral
Gravity
Gravity
Lateral
Lateral
any
steel/other
concrete
any
steel/other
concrete
any
any
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
LiveUnReduciblePosID
LiveStoragePosID
LiveRoofPosID
LiveReducibleNegID
LiveUnReducibleNegID
LiveStorageNegID
LiveRoofNegID
LiveReducibleSumID
LiveUnReducibleSumID
LiveStorageSumID
LiveRoofSumID
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
310
311
312
332
6121
6126
6127
6128
6129
6130
6133
9109
12105
12106
Member Type
RAMGravResultType
RAMFrameResultType
RAMConcResultType
Gravity Col
0 = valid forces
Err = forces not avail
0 = valid forces
Err = forces not avail
Gravity Wall
Err
Lateral Col
0 = valid forces
Err = forces not avail
Lateral Wall
Lateral Brace
GetMemberForcesLeftAt ([in] long lMemberID, [in] double dRelativeLocation, [in] long lAnalysisCaseID, [in] EAnalysisResultType
eAnalysisResultType, [in] BOOL bApplyLLReduction, [in] SForce psMemForces );
Purpose
Parameters
GetNumAnalysisCases ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* plNumLoadCases, [out,retval] long* plRetVal);
Purpose
Parameters
Comment
Comment
plRetVal
Error code. If value is non zero then check GetLastError
Analysis cases are defined as the results of analyzing load cases
Reset ( );
Purpose
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
Parameters
Sign Convention:
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
Parameters
Sign Convention:
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
Parameters
pdDLL
pdDLR
pdCDLL
pdCDLR
pdLLL
pdLLR
pdCLLL
pdCLLR
pdAxDLL
pdAxDLR
pdAxCDLL
dAxCDLR
pdAxCLLL
pdAxCLLR
pdAxLLL
pdAxLLR
peLoadType
pdRfactor
peLineLoadSource
peSide
plRetval
Sign Convention:
GetBeamLineLoadAndSource3 ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,
[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdPLL, [out]
double* pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL,
[out] double* dAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] double*
pdAxPLL, [out] double* pdAxPLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor, [out] ELINELOADSOURCE*
peLineLoadSource, long* plRetval);
Purpose
Parameters
pdCLLR
pdAxDLL
pdAxDLR
pdAxCDLL
dAxCDLR
pdAxCLLL
pdAxCLLR
pdAxLLL
pdAxLLR
pdAxPLL
pdAxPLR
peLoadType
pdRfactor
peLineLoadSource
plRetval
Sign Convention:
GetBeamLinkLineLoadAndSource ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,
[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* dpPLL, [out]
double* pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL,
[out] double* dAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] double*
pdAxPLL, [out] pdAxPLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor, [out] ELINELOADSOURCE*
peLineLoadSource, [in] BOOL bISupportLink);
Purpose
Parameters
pdAxCLLL
pdAxCLLR
pdAxLLL
pdAxLLR
pdAxPLL
pdAxPLR
peLoadType
pdRfactor
peLineLoadSource
bISupoportLink
Sign Convention:
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
Parameters
pdAxPosStorageLL
pdAxNegRoofLL
pdAxPosRoofLL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadSource
bISupoportLink
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
Parameters
pdAxNegStorageLL
pdAxPosStorageLL
pdAxNegRoofLL
pdAxPosRoofLL
pdAxNegPL
pdAxPosPL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadSource
bISupoportLink
GetBeamLLRedFactor ([in] long lBeamID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double*
dNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose
Parameters
Comment
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
Parameters
pdLLNegRed
pdLLPosNonRed
pdLLNegNonRed
pdLLPosStorage
pdLLNegStorage
pdLLPosRoof
pdLLNegRoof
pdAxDL
pdAxCDL
pdAxCLL
pdAxNegRedLL
pdAxPosRedLL
dAxNegNonRedLL
pdAxPosNonRedLL
pdAxNegStorageLL
pdAxPosStorageLL
pdAxNegRoofLL
pdAxPosRoofLL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadSource
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
Parameters
pdLLPosStorage
pdLLNegStorage
pdLLPosRoof
pdLLNegRoof
pdAxDL
pdAxCDL
pdAxCLL
pdAxNegRedLL
pdAxPosRedLL
dAxNegNonRedLL
pdAxPosNonRedLL
pdAxNegStorageLL
pdAxPosStorageLL
pdAxNegRoofLL
pdAxPosRoofLL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadSource
peSide
plRetval
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
Parameters
pdLLNegNonRed
pdLLPosStorage
pdLLNegStorage
pdLLPosRoof
pdLLNegRoof
pdPosPL
pdNegPL
pdAxDL
pdAxCDL
pdAxCLL
pdAxNegRedLL
pdAxPosRedLL
dAxNegNonRedLL
pdAxPosNonRedLL
pdAxNegStorageLL
pdAxPosStorageLL
pdAxNegRoofLL
pdAxPosRoofLL
pdAxNegPL
pdAxPosPL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadSource
peSide
plRetval
GetColumnLLRedFactor ([in] long lColumnID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out]
double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose
Parameters
pdNegRoofLLRF
GetColumnLLRedFactorExtraInfo ( [in] long lColumnID, [in, out] double* pdAveRoofSlope, [in, out] long* plNumStoriesAddingToLLPos, [in, out]
long* plNumStoriesAddingToLLNeg, [out, retval] long* plRetVal );
Purpose
Parameters
Get additional factor information used for calculating Live Load reduction.
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
Parameters
Get information for a user defined point load applied directly to a column.
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 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
Parameters
Get information for a user defined point load applied directly to a column. 2.
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
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
Parameters
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
Parameters
Get column tributary area based on gravity analysis assuming beams are simply
supported.
lColumnID
unique member ID
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
assumption may not be valid for lateral members and non-steel members.
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
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.
Purpose
Parameters
Comment
GetInterfacePointer();
Purpose
Comments
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
Parameters
Get the factored beam (mid-span) reactions for the current ramsteel beam design code.
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
Parameters
GetNumBeamLoads ([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);
Purpose
Parameters
GetNumBeamSupportLinkLoads([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads, [in] BOOL bISupportLink);
Purpose
Parameters
Returns the number of line loads and point loads the beam rigid links.
lBeamID
Beam unique ID
plNumLineLoads Number of line loads
plNumPointLoads
bISupportLink
GetNumWallLoads ([in] long lWallID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);
Purpose
Parameters
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
Parameters
Get the reaction (axial force) from ONLY gravity members on a column at a particular
story. Includes the load from gravity columns above.
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
Parameters
pdCLLL
pdCLLR
pdAxDLL
pdAxDLR
pdAxCDLL
pdAxCDLR
pdAxCLLL
pdAxCLLR
pdAxLLL
pdAxLLR
peLoadType
pdRfactor
GetWallLineLoad2 ([in] long lWallID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*
pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdPLL, [out] double*
pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out]
double* pdAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out]
EGRAVLOADTYPE* peLoadType, [out] double * pdRfactor);
Purpose
Parameters
pdRfactor
Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
GetWallLLRedFactor ([in] long lWallID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double*
pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose
Parameters
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
Parameters
-1
pdAxNegRoofLL
pdAxPosRoofLL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadType
Comments
pdLLNegStorage
The upward storage live load
pdLLPosRoof
The downward roof live load
pdLLNegRoof
The upward roof live load
pdPosLLRF
The downward live load reduction factor
pdNegLLRF
The upward live load reduction factor
pdPosRoofLLRF
The downward roof live load reduction factor
pdNegRoofLLRF
The upward roof live load reduction factor
pdPosStorageLLRF
The downward storage live load reduction factor
pdNegStorageLLRF
The upward storage live load reduction factor
The reduction values are as a percent. To reduce a member force by the reduction value
you will need to multiply the force by the following equation (1.0 - LLRF / 100)
GetWallPointLoad2 ([in] long lWallID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL,
[out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double*
pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosPL, [out]
double* pdNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double*
pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double*
pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double* pdAxPosPL,
[out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF, [out] double*
pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] EGRAVPTLOADSOURCE* peLoadType);
Purpose
Parameters
pdLLNegRoof
pdPosPL
pdNegPL
pdAxDL
pdAxCDL
pdAxCLL
pdAxPosRedLL
dAxNegNonRedLL
pdAxPosNonRedLL
pdAxNegStorageLL
pdAxPosStorageLL
pdAxNegRoofLL
pdAxPosRoofLL
pdAxNegPL
pdAxPosPL
pdPosLLRF
pdNegLLRF
pdPosStorageLLRF
pdNegStorageLLRF
pdPosRoofLLRF
pdNegRoofLLRF
peLoadType
Reset ();
Purpose
IGravitySteelDesign1
Philosophy: This interface returns the results of the design process in RAM Steel Beam module. These results are only available after a design
all has been performed in RAM Steel Beam.
GetBeamCamber([in] long lBeamID, [out] double* pdCamber);
Purpose
Parameters
Beam Unique ID
Camber value
GetBeamCompDisp ([in] long lBeamID, [out] double* pdInitialRight, [out] double* pdInitialCenter, [out] double* pdInitialLeft, [out] double*
pdPostLiveRight, [out] double* pdPostLiveCenter, [out] double* pdPostLiveLeft, [out] double* pdPostTotalRight, [out] double*
pdPostTotalCenter, [out] double* pdPostTotalLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out] double*
pdNetTotalLeft);
Purpose
Get the deflection values for the location where the maximum total deflection occurs on a
Parameters
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.
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
Parameters
GetBeamDesignDecks( [in] long lBeamID, [in, out] EDeckType* peDeckTypeLeft, [in, out] long* plDeckPropIDLeft, [in, out] EDeckType*
peDeckTypeRight, [in, out] long* plDeckPropIDRight );
Purpose
Parameters
Get the deck types and unique IDs on either side of a beam.
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.
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
Parameters
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.
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
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
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.
To get the design code used by RAM Steel Beam and Column.
pbstrBeamCode
Beam code as a string
pbstrColumnCode
Column code as a string
Reset ( );
Purpose
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
Parameters
Get Analysis Case UniqueID from an index into the array of analyzed load cases.
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
Parameters
To get information about each of the load cases analyzed by RAM Frame.
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.
palCaseIndex
NOTE:
NOTE:
NOTE:
To get the flag that indicates whether or not the load combinations need to be
regenerated.
eType
Flag that indicates the program/mode that is requesting the
regeneration flag
plReGen
The regeneration flag.
This is only implemented for Concrete in ILoading1
GetCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* plNumCombos, [out] SLoadCombos_CmbGen_DA** ppaCombos);
Purpose
Parameters
NOTE:
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
GetLineLoadSetInfo ([in] long lLineLoadSetID, [in, out] SCoordinate* pStartLoc, [in, out] SCoordinate* pEndLoc, [in, out] long* plLoadSetPropID,
[out,retval] long* plRetVal);
Purpose
Parameters
GetLoadCaseInfo ([in] long lLoadCaseID, [in, out] SLoadCaseInfo* psLoadCaseInfo, [out,retval] long* plRetVal);
Purpose
Parameters
Comment
GetLoadCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* nNumCases, [out] SLoadCase_CmbGen_DA** ppaAllCases);
Purpose
Parameters
NOTE:
To get the list of load cases to be used with the load combo generator.
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.
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
Parameters
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.
lLoadSetPropID
Prop Unique ID
pbstrLabel
Prop Label
plNumCaseIDsUsed
palCaseIDsUsed
plNumReferances
plRetVal
GetLoadSetPropLoadCaseInfoArray ([in] long lLoadSetPropID, [in] long lArraySize, [in, out] SLoad* paLoadMagnitudes, [out, retval] long*
plRetVal);
Purpose
Parameters
Get the magnitudes for all the load cases that are defined in the LoadSetProp.
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 nonzero 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
Parameters
GetNodalLoadsForLoadCase ([in] BSTR bstrNodalLoadCaseLabel, [out] long* plNumLoads, [out] SNodalLoadData** ppaNodalLoads);
Purpose
Parameters
Get the nodal loads associated with a specific load case label.
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
To get the number of valid load combinations for the given RAM Frame mode. A valid
load combination is one that contains only analyzed load cases.
eComboType
Flag indicating the RAM Frame mode.
plNumAvailLoadCombos return value for the number of valid load combinations
This is only implemented for RAM Frame in ILoading1
NOTE:
nNumCases
Return value for the number of cases in the count.
This is only implemented for Concrete in ILoading1
To get the number of gravity load cases defined in the RAM Modeler. These cases
include: Dead, Reducible Live, Storage Live, Unreducible Live, and Roof Live.
pNum
Return value of the number of gravity load cases.
GetPointLoadSetInfo ([in] long lPointLoadSetID, [in, out] SCoordinate* paLoc, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);
Purpose
Parameters
To get the flag that indicates whether the roof load is reducible or snow.
lRoofIsReducible
0 = snow, 1 = reducible.
GetSurfaceLoadSetInfo ([in] long lSurfLoadSetID, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);
Purpose
Parameters
Comment
SetComboCode ();
Purpose
SetComboParameters ();
Purpose
SetComboReGenFlag ();
Purpose
SetCombos ();
Purpose
SetLoadCasesForGen ();
Purpose
SetTotalNumLoadCases ();
Purpose
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
CalcRigidEndZones ( );
Purpose
CheckForMemberSizes ( [in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMaterial, [out] BOOL bAllHaveSizes );
Purpose
Parameters
GetAssignedMemberKFactor ([in] long lMemberID, [out] EKFAC_ASSIGN* peMajor, [out] EKFAC_ASSIGN* peMinor, [out] double*
pdMajorValue, [out] double* pdMinorValue);
Purpose
Parameters
To get the Assigned K factor setting for a column (in each axis) and the user specified K factor
if indicated to be assigned.
lMemberID
The column ID
peMajor
Major axis assigned (Use global, Use nomograph or Use assigned value)
peMinor
pdMajorValue
pdMinorValue
Minor axis assigned (Use global, Use nomograph or Use assigned value)
If peMajor is Use Assigned then this has the user assigned value, major axis
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
Parameters
Note:
Get beam line number that the concrete beam is assigned to. If member is not a
concrete beam an error is returned.
lBeamID
Beams Unique ID
plBeamLineNo
Beam line number assigned to member, 0 indicates no assignment
GetColumnDimensions ([in] long lMemberID, [out] double *pdWidth, [out] double *pdDepth);
Purpose
Parameters
GetConcBeamCCBBotBars ([in] long lBeamID, [out] E_COVER_OPTION* peUseDefBotBars, [out] double* pdBotBars1, [out] double*
pdBotBars2);
Purpose
Parameters
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.
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
Parameters
Get whether the beam should use the global bar layer criteria or whether to use User
defined data for this beam.
lBeamID
The unique member ID
peBarLayers
0 = use default from criteria, 1 = 1 Layer only, 2 = allow 2 layers
GetConcBeamShearLegs ([in] long lBeamID, [out] E_SHEARLEGS_OPTION* peUserDefault, [out] long* plNumShearLegs);
Purpose
Parameters
Get whether to use the global stirrup legs criteria or whether to use a user defined value.
lBeamID
The unique member ID
peUserDefault
0 = use global criteria, 1 = use user defined value below
plNumShearLegs
Number of stirrup legs assigned to beam
Get whether to use the global stirrup type criteria or whether to use a user defined value.
lBeamID
The unique member ID
0 = use global criteria, 1 = use open stirrups, 2 = use closed
peStirrupType
stirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups
GetConcColBarGroups ([in] long lMemberID, [out] long* plGroup1, [out] long* plGroup2, [out] long* plGroup3, [out] long* plGroup4, [out] long*
plGroup5);
Purpose
Parameters
For the given member, get the indices into the array of bar pattern groups of the
assigned bar patterns.
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
Parameters
To get the number of shear legs assigned to a given column along each axis.
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
Parameters
Comments
GetConcreteColumnSectionDimProps ([in] long lColumnID, [out] ECONC_OTHER_SEC* peShape, [out] double* pdDepthDiam, [out] double*
pdWebWidthT, [out] double* pdWebWidthB, [out] double* pdArea );
Purpose
Parameters
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
Parameters
Get concrete material property for member. An error is returned if the member is not
concrete.
IMemberID
Members 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
Poissons ratio
pdMatDensity
Concrete material density
pdSelfWeight
Concrete self weight used for self weight calculations
GetDispInterfacePointerByEnum ();
Purpose
Get concrete beam section size when member is generated using pan joists.
lMemberID
Beams Unique ID
pbstrDisplaySize
Concrete beam section label
This is used when the section name is built out of different size pans on either side of
beam
GetFootingSectionDimProps ( [in] long IFootID, [out] double* pdThickness, [out] double* pdCrackSectFactor );
Purpose
Parameters
Get concrete material property for member. An error is returned if the member is not
concrete.
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
Parameters
Get the grid location for the member. If there are no grids at the location the global
coordinates are returned.
IMemberID
Members Unique ID
eAtLoc
Location of member - eStart = 1, eEnd = 2, eTop = 10,
eBottom = 20
dDBToModelUnitConvert
bstrUnit
pbstrGridLabel
Get the beam line number of the beam adjacent to the start of beam represented by
lBeamID.
lBeamID
Unique Beam ID
plIEndBeamID
Beam ID at start of lBeamID
Parameters
GetInterfacePointer();
Purpose
Get the beam line number of the beam adjacent to the end of the beam represented by
lBeamID.
lBeamID
Beams Unique ID
plJEndBeamID
Beam ID at end of lBeamID
Comments
GetMemberEndReleases ([in] long lMemberID, [out] long * plMajorMomFixedI, [out] long * plMinorMomFixedI, [out] long * plTorFixedI, [out] long *
plMajorMomFixedJ, [out] long * plMinorMomFixedJ, [out] long * plTorFixedJ);
Purpose
Parameters
Note:
To get a specific members screen label (also known as the member number).
lUniqueID
Unique id of a member
plLabel
The members member number
GetMemberMatlLatType ([in] long IMemberID, [out] EMATERIALTYPES * peMat, [out] EFRAMETYPE * peFrameType);
Purpose
Parameters
GetMemberRigidEndZones ([in] long lMemberID, [out] double * pdREZMajorI, [out] double * pdREZMinorI, [out] double * pdREZMajorJ, [out]
double * pdREZMinorJ);
Purpose
Parameters
Get a members 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.
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
Parameters
Comments
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
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 );
Purpose
Parameters
Comments
GetMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);
Purpose
Parameters
Note:
Returns either ItIsBraced or ItIsUnbraced. If Use Global was assigned to the member,
DataAccess determines if the global state is braced or unbraced.
lMemberID
The member ID to get the sidesway setting for
peMajor
Major axis sidesway value (Braced/unbraced)
peMinor
Minor axis sidesway value (Braced/unbraced)
braced = nonsway unbraced = sway
GetOtherMemberMatlProps ([in] long IMemberID, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double* pdMatDensity, [out] double*
pdSelfWeight);
Purpose
Parameters
GetSmartbeamType ([in] long lMemberID, [out] ESMARTBEAMTYPE* peSmartType, [out] BSTR* pbstrSize);
Purpose
Parameters
GetSteelMemberMatlProps ([in] long IMemberID, [out] double* pdFy, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double * pdDensity,
[out] long* plComposite);
Purpose
Parameters
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
Parameters
pdDepth
pdWebT
pdCw
pdJ
peRolledFlag
pdZx
pdZy
pdSxtop
pdSxbot
pdSy
pdImaj
pdImin
padArea
Reset ( );
Purpose
Set beam line number that the concrete beam is assigned to. If member is not a concrete
beam an error is returned.
lBeamID
Beams Unique ID
lBeamLineNo
Beam line number assigned to member, 0 indicates no assignment
SetConcBeamCCBBotBars ([in] long lBeamID, [in] E_COVER_OPTION p=eUseDefBotBars, [in] double dBotBars1, [in] double dBotBars2);
Purpose
Parameters
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.
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
dBotBars2
SetConcBeamCCBTopBars ([in] long lBeamID, [in] E_COVER_OPTION eUseDefTopBars, [in] double dTopBars1, [in] double dTopBars2);
Purpose
Parameters
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.
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)
Set whether the beam should use the global bar layer criteria or whether to use User
defined data for this beam.
lBeamID
The unique member ID
eBarLayers
0 = use default from criteria, 1 = 1 Layer only, 2 = allow 2 layers
SetConcBeamShearLegs ([in] long lBeamID, [in] E_SHEARLEGS_OPTION eUserDefault, [in] long lNumShearLegs);
Purpose
Parameters
Set whether to use the global stirrup legs criteria or whether to use a user defined value.
lBeamID
The unique member ID
eUserDefault
0 = use global criteria, 1 = use user defined value below
lNumShearLegs
Number of stirrup legs assigned to beam
Get whether to use the global stirrup type criteria or whether to use a user defined value.
lBeamID
The unique member ID
0 = use global criteria, 1 = use open stirrups, 2 = use closed
peStirrupType
stirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups
SetConcColBarGroups ([in] long lMemberID, [in] long lGroup1, [in] long lGroup2, [in] long lGroup3, [in] long lGroup4, [in] long lGroup5);
Purpose
Parameters
For the given member, set the indices into the array of bar pattern groups of the
assigned bar patterns.
lMemberID
Unique member id
lGroup1
Index #1
lGroup2
Index #2
lGroup3
Index #3
lGroup4
lGroup5
Index #4
Index #5
SetConcColShearLegs ([in] long lMemberID, [in] long lNumMajor, [in] long lNumMinor, [in] long lUseGlobalMajor, [in] long lUseGlobalMinor);
Purpose
Parameters
To set the number of shear legs assigned to a given column along each axis.
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
Parameters
Set concrete material property for member. An error is returned if the member is not
concrete.
IMemberID
Members Unique ID
dfpc
Concrete Compression stress capacity
dfct
Concrete crack section stress capacity fct. 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
Poissons 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
Parameters
dMajorValue
dMinorValue
SetMemberSidesway ([in] long lMemberID, [in] ESIDESWAY_ASSIGN eMajor, [in] ESIDESWAY_ASSIGN eMinor);
Purpose
Parameters
Note:
Sets either ItIsBraced or ItIsUnbraced. If Use Global was assigned to the member,
DataAccess determines if the global state is braced or unbraced.
lMemberID
The member ID to get the sidesway setting for
eMajor
Major axis sidesway value (Braced/unbraced)
eMinor
Minor axis sidesway value (Braced/unbraced)
braced = nonsway unbraced = sway
IMemberData2
Philosophy: (see MemberData1 above)
GetBraceDoubleAngleInfo([in] long lBraceID, [in,out] BOOL* pbIsDoubleAngle ,
[in,out] BOOL* pbLongLegsBack2Back, [in,out] double* pdBackSpacing,
[out, retval] long* plRetVal)
Purpose
Parameters
GetConcBeamCBC ( [in] long lBeamID, [out] E_COVER_OPTION* peCBCOption, [out] double* pdCBCTop, [out] double* pdCBCBot, [out]
double* pdCBCSide, [out, retval] long* plRetVal );
Purpose
Parameters
Get the concrete main bar sizes assigned to the beam for the Chinese design code.
lBeamID
The unique beam ID
peCBCOption
Cover option
pdCBCTop
Top cover
pdCBCBot
Bottom cover
pdCBCSide
Side cover
plRetVal
GetConcGapData ( [in] long lBeamID, [out] E_GAP_OPTION* peGapOption, [out] double* pdGapUpper, [out] double* pdGapLower, [out, retval]
long* plRetVal );
Purpose
Parameters
Get the concrete main bar sizes assigned to the beam for the Chinese design code.
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
Parameters
Get the concrete beam link spacing for the Chinese design code.
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
Parameters
Get the concrete beam link spacing for the Chinese design code.
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
Parameters
Get the concrete main bar sizes assigned to the beam for the Chinese design code. .
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
Parameters
Get the concrete main bar sizes assigned to the beam for the Chinese design code.
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
Parameters
Get the concrete main bar sizes assigned to the beam for the Chinese design code.
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
GetInterfacePointer();
Purpose
Comments
GetNumPensForBeamID([in] long lBeamID, [in, out] long* plNumPenetrations, [out, retval] long* plRetVal)
Purpose
Parameters
GetPenetratedBeamsIDArray([in] long lArraySize, [in, out] long* palBeamIDs, [out,retval] long* plRetVal)
Purpose
Parameters
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
Parameters
GetPenetrationsIDArray([in] long lBeamID, [in] long lArraySize, [in, out] long* palPenIDs, [out,retval] long* plRetVal);
Purpose
Parameters
GetTensionCompressionType ([in] long lMemberID, [in, out] ETensionCompressionMemType* peTensionCompressionType, [out, retval] long*
plRetVal)
Purpose
Parameters
Comments
Reset ( );
Purpose
SetBeamCamber ( );
Purpose
SetConcGapData ( [in] long lBeamID, [in] E_GAP_OPTION eGapOption, [in] double dGapUpper, [in] double dGapLower, [out, retval] long*
plRetVal );
Purpose
Parameters
Set the concrete main bar sizes assigned to the beam for the Chinese design code.
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
Parameters
Set the concrete beam link spacing for the Chinese design code.
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
Parameters
Set the concrete beam link spacing for the Chinese design code.
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
Parameters
Set the concrete main bar sizes assigned to the beam for the Chinese design code.
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
Parameters
Set the concrete main bar sizes assigned to the beam for the Chinese design code.
lBeamID
The unique beam ID
eShearBarSizeOption
pldwSelectedBarSizes
plRetVal
SetConcBeamShearBarSize ( [in] long lBeamID, [in] E_BARSIZE_OPTION eShearBarSizeOption, [in] long lMinMainBarSizeInd, [out, retval]
long* plRetVal );
Purpose
Parameters
Set the concrete main bar sizes assigned to the beam for the Chinese design code. .
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
Parameters
IModelData1
Philosophy: This interface is for accessing and setting model specific information. This includes model name and paths, tables or information
about tables, units, live load reduction and other general model data.
GetBuildingCodeAsString (BSTR *pbstrCode);
Purpose
Parameters
Returns the company name entered in the Defaults Utility and associated with this model.
pbstrCompanyName The Company Name
Get the definitions of all the concrete beam sections defined in model.
pnNum
Total number of concrete beam sections defined in model
ppaSections
List of concrete beam section definitions.
In general, one should use IMemberData1::GetConcreteBeamSectionDimProps and
IMemberData1::GetMemberSectionPropInfo to get section information because these
methods provide all the required information.
Get the definitions of all the concrete column sections defined in model.
pnNum
Total number of concrete column sections defined in model
ppaSections
List of concrete column section definitions.
In general, one should use IMemberData1::GetConcreteColumnSectionDimProps and
IMemberData1::GetMemberSectionPropInfo to get section information because these
methods provide all the required information.
GetDirectoryPathsFromINI ([out] BSTR* pbstrTables, [out] BSTR* pbstrData, [out] BSTR* pbstrDXF, [out] BSTR* pbstrReports, [out] BSTR*
pbstrError, [out] BSTR* pbstrProg);
Purpose
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetFrameType ();
Purpose
GetInterfacePointer();
Purpose
Returns the job name entered when the model was created.
pbstrJobName
The Job Name
Comments
GetLiveLoadReductionInfo ([out] BSTR* pbstrLLCode, [out] long* plOptions, [out] long* plRoofReducible);
Purpose
Parameters
Get the information set in the LL Reduction dialog in the RAM Manager.
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.
Gets the drawing color for the specified member type (specified by EDRAWINGCOLOR).
eColor
Enum of member type.
pdwColor
RGB(red,green,blue) value for color
Parameters
pbstrModelName
Gets the path to the data directory from the ini file.
pbstrDir
Path to the data directory
Gets the path to the dxf directory from the ini file.
pbstrDir
Path to the dxf directory
Gets the path to the error directory from the ini file.
pbstrDir
Path to the error directory
Gets the path to the prog directory from the ini file.
pbstrDir
Path to the prog directory
Gets the path to the reports directory from the ini file.
pbstrDir
Path to the reports directory
To get the concrete beam reinforcement information and identify which bars are used in
the concrete beam program.
Parameters
Comments
pnNum
Number of items in the ReinProp array.
ppaReinProp
The ReinProp array.
In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by
the beam program. TRUE means the program is considering that size.
To get the concrete column reinforcement information and identify which bars are used by
the concrete column program.
pnNum
Number of items in the ReinProp array.
ppaReinProp
The ReinProp array.
In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by
the column program. TRUE means the program is considering that size.
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
Parameters
pbyteQuality
pbytePitchAndFamily
pbstrFontName
Quality
Pitch and Family
Font Name
GetReportDefaultMargins ( [out] double pdTopMar, [out] double pdBottomMar, [out] double pdLeftMar, [out] double pdRightMar );
Purpose
Parameters
GetReportDefaultPaperSize ( [out] double pdPageWidth, [out] double pdPageHeight, [out] long plPaperSize );
Purpose
Parameters
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
Parameters
Get the units currently used for entering and displaying values. Note that this is not the
same as the database units that are always the same. See Database Units above.
pnUnits
Display and data entry units. 0 = English, 1 = SI, 2 = Metric
Comments
Keep in mind that the units returned by this function relate to the units that the user will
be entering values and the units that data will be displayed in RAM SS.
Reset ();
Purpose
SetConcAnalysisState ();
Purpose
SetConcreteBeamState ();
Purpose
SetConcreteColumnState ();
Purpose
SetINIFileName ();
Purpose
SetMDFDrawingColor ();
Purpose
SetRebarTable_ConcBeam ();
Purpose
SetRebarTable_ConcCol ();
Purpose
SetTimeDateStamp ();
Purpose
IModelData2
Philosophy: (see ModelData1 above)
GetCanadaMatInfo ( [out] long* plRolledWCol,[out] long* plRolledWBeam,[out] long* plRolledWBrace, [out] long* plWWFCol,[out] long*
lWWFBeam,[out] long* plWWFBrace, [out] long* plHSSRectCol,[out] long* plHSSRectBeam,[out] long* plHSSRectBrace, [out] long*
plHSSRoundCol,[out] long* plHSSRoundBrace, [out] long* plChannelBeam,[out] long* plDoubleAngleBrace,[out] long* plClassHSS);
Purpose
Get Canada steel material grade to be used for each member type (e.g. use W grade for
beams, WT for built up beams etc).
Parameters
plRolledWCol
plRolledWBeam
plRolledWBrace
plWWFCol
plWWFBeam
plWWFBrace
plHSSRectCol
plHSSRectBeam
plHSSRectBrace
plHSSRoundCol
plHSSRoundBrace
plChannelBeam
plDoubleAngleBrace
plClassHSS
Rolled W grade
Rolled W grade
Rolled W grade
Built up column grade
Built up beam grade
Built up brace grade
HSS Rect grade
HSS Rect grade
HSS Rect grade
HSS Round grade
HSS Round grade
Channel beam grade
Double Angle grade
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
Parameters
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).
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
Parameters
GetDBandLatStatus ([in] long lConcSlabOrPropID, [in, out] SSlabProp* pSlabProp, [out,retval] long* plRetVal);
Purpose
Parameters
GetDeckPropInfo ([in] long lDeckOrPropID, [in, out] SDeckProp* pDeckProp, [out,retval] long* plRetVal);
Purpose
Parameters
Get the Fy default value used by the steel column and steel beam programs.
pdDefaultColFy
Default Fy for Steel Column
pdDefaultBeamFy
Default Fy for Steel Beam
GetDispInterfacePointerByEnum ();
Purpose
plMax
Purpose
Parameters
To get the flag that indicates if the foundation design is current and valid.
pbValid
The design flag.
GetInterfacePointer();
Purpose
Comments
plLLRMethod
plIBCLLRMethod
GetMatPerimeterInfo ([in] long lMatID, [in, out] SFoundationMatInfo *pdMatInfo, [out, retval] long *plRetVal);
Purpose
Parameters
Get information about a mat foundation. Specifically its offset from the base story.
lMatID
Mat Unique ID
pdMatInfo
Mat info struct returned
plRetVal
Error code. If value is non zero then check GetLastError
GetMemberIDArray ([in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in] long
lArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose
Parameters
Get the Unique ID's for the member type in a pre-dimensioned array.
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 IDs
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
Parameters
Get the Unique ID's for the member type on a story in a pre-dimensioned array.
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 IDs
plRetVal
Error code. If value is non zero then check GetLastError
as inside polygon
Ignore members that are inside an opening or penetration
palMemberIDs array size used for verification check
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
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
bExcludeIfInOpeningOrPenet
lArraySize
palMemberIDs
Comments
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
Parameters
Comments
GetModelHas ([out] long* plModelHasSteelColumns,[out] long* plModelHasBeams, [out] long* plModelHasJoists,[out] long*
plModelHasSmartbeams);
Purpose
Parameters
GetNumMembers ([in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in, out]
long* plNumMembers, [out,retval] long* plRetVal);
Purpose
Parameters
Returns the total number of the member type for full structure.
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
Parameters
Comments
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
Parameters
Comments
penetration
plNumMembers
Number of members in polygon
plRetVal
Error code. If value is non zero then check GetLastError
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
Parameters
Comments
GetNumSections ([out] long* plConcCol,[out] long* plOtherCol, [out] long* plConcBm,[out] long* plOtherBm, [out] long* plConcBrc,[out] long*
plOtherBrc);
Purpose
Parameters
Get the number sections defined for each member type listed below.
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.
Get number of Slab prop IDs that overlap a given mat perimeter.
lMatID
unique id of mat perimeter
plNumSlabs
number of eTypeFoundationMatSlab that overlap given mat
perimeter
GetSelectedSteelJoistTables ([in, out] BSTR* pbstrDefStandardTableName, [in, out] BSTR* pbstrAltStandardTableName, [in, out] BSTR*
pbstrDefConstShearTableName, [in, out] BSTR* pbstrAltConstShearTableName, [out, retval] long* plRetVal);
Purpose
Parameters
Get a list of Slab prop IDs that overlap a given mat perimeter.
lMatID
Mat perimeter unique ID
palSlabIDs
List of IDs of type eTypeFoundationMatSlab
Find out if any tension only members exist. If they do, this is considered a tension only
model.
pbTensionOnly
TRUE = there exists at least one member that is tension only thus
the model is a tension only model.
plRetVal
Error code. If value is non zero then check GetLastError
Parameters
Reset ();
Purpose
SetColBeamDsgnStatus ();
Purpose
SetDBandLatStatus ();
Purpose
SetEuroCodeFactor ();
Purpose
SetFoundationDesignValid ();
Purpose
SetGravityLoadFramingFlag ();
Purpose
SetnCut ();
Purpose
SetNumAnalyzedLoadCases ();
Purpose
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
Parameters
Get all member IDs for a given member type and material type.
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
Parameters
will be zero.
lColID
pdMaxMajorDepth
pdMinMajorDepth
pdMaxMinorDepth
pdMinMinorDepth
Column Unique ID
Max beam depth framing into the major face of the column
Min beam depth framing into the major face of the column
Max beam depth framing into the minor face of the column
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
Parameters
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
Parameters
dIY
dIZ
dJX
dJY
dJZ
lIMemberID
lJMemberID
GetBeamSupportDims ([in] long lBeamID, [out] double *pdSuppLengthStart, [out] double *pdSuppWidthStart, [out] double *pdSuppLengthEnd,
[out] double *pdSuppWidthEnd);
Purpose
Parameters
GetBeamSupportInfo ([in] long IBeamID, [out] EUniqueMemberTypeID* peSupportTypeStart, [out] long* plSupportIDStart, [out]
EUniqueMemberTypeID* peSupportTypeEnd, [out] long* plSupportIDEnd);
Purpose
Parameters
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
Parameters
pdXBottom
pdYBottom
pdZBottom
GetColIDAtBracedLevel ([in] long nStartColID, [in] EAXIS eAxis, [out] long* plTopStoryColID, [out] long* plBotStoryColID, [out] long*
plTopStoryNo, [out] long* plBotStoryNo);
Purpose
Parameters
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.
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
Parameters
GetColumnRigidLinkInfo ([in] long lColumnID, [out] double* dJX, [out] double* dJY, [out] double* dJZ, [out] long* lIMemberID, [out] long*
lJMemberID);
Purpose
Parameters
GetColumnStack ([in] long IColID, [out] long* plNumInStack, [out] long** ppalStackIDs);
Purpose
Parameters
Get IDs for all the columns that are in the same stack as IMemberID.
IColID
Columns Unique ID
plNumInStack
Number of columns in column stack
ppalStackIDs
Array of unique IDs. Size of array is plNumInStack
GetColumnStackBetween ([in] long lColBotID, [in] long lColTopID, [out] long* plNumInStack, [out] long** ppalColIDs);
Purpose
Parameters
Get list of columns IDs between to given columns. This can be used to find the columns
that are between brace levels when there are dummy levels.
lColBotID
Top column unique ID
lColTopID
Bottom column unique ID
plNumInStack
Number of columns in list
ppalColIDs
Array of column unique IDs
GetColumnStackMatchMaterial ( [in] long lColID, [in, out] long* plNumInStack, [in, out] long** plStackIDs );
Purpose
Parameters
Comments
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
Parameters
pdThickness
plNumDeckPoints
ppadXpts
ppadYpts
ppadZpts
plNumOpenings
GetDispInterfacePointerByEnum ();
Purpose
GetFloorTypeInfo ([in] long lFlrTypeNo, [out] BSTR * pbstrFlrTypeID, [out] long* plNumBeams, [out] long* plNumColumns, [out] long*
plNumWalls, [out] long * plNumFootings);
Purpose
Parameters
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
Parameters
Comments
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
Parameters
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
Parameters
GetGridSysLabelsAtStory ([in] long lStoryNoOrID, [in] double dXLoc, [in] double dYLoc, [out] long* plGrydSysID, [out] BSTR* pbstrXGridLabel,
[out] BSTR* pbstrYGridLabel);
Purpose
Parameters
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.
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
Parameters
Get a list of unique IDs for a given member type and material type at a story
lStoryNo
Story number starting with 0 for the lowest story
eMemType
Member Type
eMatType
Material Type
ppalUniqueIDs
array of Unique IDs
plListSize
Number of unique IDs in halUniqueIDs
Comments
GetIDForMemTypeAtStory ([in] long lStoryNoOrID, [in] EUniqueMemberTypeID eMemType, [out] long** ppalUniqueIDs, [out] long* plListSize);
Get all member IDs for a given member type at a story.
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.
Purpose
Parameters
GetInterfacePointer();
Purpose
Comments
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
Parameters
Get list of grid indexes for all grids that are on for a given story.
lStoryNoOrID
Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
ppalGridSysID
Array of grid indexes Array size is plNumGridSysStory
Get list of grid indexes for all grids that are on for a given floor type.
Floor type number starting with 0 for the first one and going up
lFlrTypeNo
to (plNumFloorTypes 1) for the last floor type
ppalGridSysID
Array of grid indexes Array size is plNumGridSysFloorTyp
GetMemberID ([in] long lStoryNo, [in] long lMemNo, [in] EUniqueMemberTypeID eMemType, [out] long* plUniqueID);
Purpose
Parameters
Comments
Comments
Get the unique member ID given the member story info and member type.
lStoryNo
Story number starting with 0 for the lowest story and going up to the
(total number of stories 1)
lMemNo
Member index number starting with 0 and going up to (total number
of member at a given type in story 1)
eMemType
Member type
plUniqueID
Members Unique ID
VB/VBA users will need to use this method to get a member ID before they can get any
other information for that member because all the other Get ID methods dimension an
array inside DA and so are not supported by VB/VBA. C++ users can use any one of the
Get ID methods including the ones that dimension arrays inside the DA method.
Starting with v9.0 use GetNumMembers( ) to get the member ids. For more
information, see Getting Member Information.
GetMemberLocFromID ([in] long lUniqueID, [out] long * plStoryNo, [out] long* plMemNo, [out] EUniqueMemberTypeID* peMemType);
Purpose
Parameters
Get member index number, story, and type from a unique ID.
lUniqueID
Members Unique ID
plStoryNo
Story number starting with 0 for the first level
Member index number. This would be the value lMemNo that would
be sent into the method GetMemberID.
plMemNo
peMemType
Member type used to find members
Total number of grid systems that are visible (on) for a given floor type.
lFlrTypeNo
Floor type number starting with 0 for the first one and going
up to (plNumFloorTypes 1) for the last floor type
plNumGridSysFloorTyp
Total number of grid systems that are on given floor type
Total number of grid systems that are visible (on) for a given story.
lStoryNoOrID
Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)
plNumGridSysStory
Total number of grid systems that are on a given story
Total number of grid systems that are visible (on) for a given story.
lStoryNoOrID
Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)
plNumPerimeters
Total number of slab edge perimeters on a given story
GetStoryConcSlabThicknessArea ([in] long lStoryNoOrID, [out] long* plNumSlabAreas, [out] double** ppadThickness, [out] double**
ppadArea,[in] BSTR** ppbstrLabels);
Purpose
Parameters
Return total area and thickness for all concrete slabs on a story.
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
ppadArea
ppbstrLabels
Get story elevation off the ground level. Sum of all the floor heights below and including
the given story.
lStoryNoOrID
Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)
pdStoryElev
Story elevation from the ground level
GetStoryInfo ([in] long lStoryNo, [out] BSTR * pbstrStoryID, [out] BSTR * pbstrFloorID, [out] double* pdFlrHeight, [out] long* plNumBeams, [out]
long* plNumColumns, [out] long * plNumWalls, [out] long * plNumBraces, [out] long * plNumFootings);
Purpose
Parameters
Comments
Story number starting with 0 for the first level and going up to
(plNumStories 1) for the top (roof) level
Story Label
GetStoryPerimeter ( [in] long lStoryNoOrID, [in] long lPerimeter, [out] long* pplXpts, [out] long* pplYpts, [out] long* pplZpts );
Purpose
Parameters
Total number of grid systems that are visible (on) for a given story.
lStoryNoOrID
Story index starting with 0 for the first level or Story unique
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
Purpose
Parameters
GetWallGeomInfo ([in] long lWallID, [out] long* plWallLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]
double* pdXTopStart, [out] double* pdYTopStart, [out] double* pdZTopStart, [out] double* pdXTopEnd, [out] double* pdYTopEnd, [out]
double* pdZTopEnd, [out] double* pdZBottomStart, [out] double* pdZBottomEnd, [out] long* plStartAtFnd, [out] long* plEndAtFnd);
Purpose
Parameters
GetWallSectionDimProps ([in] long lWallID, [out] double* pdThickness, [out] double* pdCrackSectFactor);
Purpose
Parameters
PointIsExposed ([in] long lStoryNoOrID, [in] double dX, [in] double dY, [retval, out] long * plPtExposed);
Purpose
Parameters
NOTE:
Reset ();;
Purpose
IModelGeometry2
Philosophy: (see ModelGeometry1 above)
GetBeamSpanInformation ([in] long lBeamID, [out] double * pdLeftCantlLen, [out] double * pdMidSpanLength, [out] double *
pdRightCantlLength, [out, retval] long* plResult);
Purpose
Parameters
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.
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
Parameters
GetDispInterfacePointerByEnum ();
Purpose
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.
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
Parameters
GetInterfacePointer();
Purpose
Comments
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
Parameters
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
Parameters
GetMemberInfoAtPointOnStory ( [in] double dx, [in] double dy, [in] long lStoryID, [in, out] EUniqueMemberTypeID* peSupportType, [in, out] long*
plSupportID, [out, retval] long* plRetval );
Purpose
Parameters
Comments
GetNumFinalPolygonPoints ( [in] long lPolygonID, [out] long lPolygonIndex, [out] long plNumPoints, [out, retval] long* plRetval );
Purpose
Parameters
GetNumFinalPolygons ( [in] long lPolygonID, [in] long lMaxNumEdges, [in] BOOL bAllowDuplicatePoints, [out] long plNumPolygons, [out, retval]
long* plRetval );
Purpose
Parameters
GettNumMembersAtColumn ( [in] long lColumnID, [in] EDA_MEMBER_LOC eColumnEnd, [in] double dBeamToMajorFaceAngle, [out] long*
plNumBeams, [out] long* plNumBraces);
Purpose
Parameters
Get the total number of members framing into the end of the column.
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
Parameters
GetPolygonPropID ([in] long lPolygonID, [in, out] long* plPropID, [in, out] EUniqueMemberTypeID* pePropertyType, [out,retval] long* plRetVal);
Purpose
Parameters
Comment
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.
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
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
Parameters
GetWallSupportInfo ( [in] long lWallID, [out] EUniqueMemberTypeID peSupportTypeStart, [out] long plSupportIDStart, [out]
EUniqueMemberTypeID peSupportTypeEnd, [out] long plSupportIDEnd, [out,retval] long* plRetVal);
Purpose
Parameters
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
ActionWithCountOccurred ();
Purpose
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
GetNumOpeningChanges ();
Purpose
GetNumWallChanges ();
Purpose
GetOpeningChanges ();
Purpose
GetWallChanges ();
Purpose
InitializeModelStatus ();
Purpose
IsModelDirty ();
Purpose
KillModelStatus ();
Purpose
RedesignMe ();
Purpose
ReinTableChanged ();
Purpose
Reset ();
Purpose
ResetOpeningChanges ();
Purpose
ResetWallChanges ();
Purpose
ShowModStatDialogFor ();
Purpose
IRamDataAccess2
Philosophy: To provide access to the version info for DataAccess.
IsModelInUse ([out, retval] long);
Purpose
reval
ISteelColumnState
Philosophy: To provide information on the state of Steel Column
GetColAISCSelection ( [out] string *pbstrSection, [out] long *plStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose
Parameters
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
Parameters
GetDispInterfacePointerByEnum ();
Purpose
GetInterfacePointer();
Purpose
Comments
Maximum angle from column axis for which beam braces the column.
Parameters
pdVal
plRetVal
Maximum angle
Error code. If value is non zero then check GetLastError
Maximum angle from column axis at which beam reaction is not split between column
sides.
pdVal
Maximum angle
plRetVal
Error code. If value is non zero then check GetLastError
GetPlateAISCSelection ( [out] string *pbstrSection, [out] long *plStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose
Parameters
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
Parameters
Reset ( );
Purpose
SetColAISCSelection ( [in] string bstrSection, [in] long lStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose
Parameters
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
Parameters
Maximum angle from column axis for which beam braces the column.
dVal
Maximum angle
plRetVal
Error code. If value is non zero then check GetLastError
Maximum angle from column axis at which beam reaction is not split between column
sides.
dVal
Maximum angle
plRetVal
SetPlateAISCSelection ( [in] string bstrSection, [in] long lStlColBS5950_2000, [out, retval] long *plRetVal );
Purpose
Parameters
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
Parameters
ISteelColumnState2
Philosophy: To provide information on the state of Steel Column
BOOL bMakeBasePlateSquare
Purpose
Parameters
RamDataAccess1
Philosophy: This interface is used exclusively for obtaining pointers to other interfaces.
GetInterfacePointer([in] REFIID riid, [out, retval] LPUNKNOWN* pVal);
Purpose
Parameters
Comments
Comments
Variable Name
Comments
double
double
double
double
double
double
double
double
double
int
int
int
int
int
int
int
int
int
dClearCover
dFlexMax
dFlexMin
dReinMax
dReinMin
dSpiralMax
dSpiralMin
dTiesMax
dTiesMin
nClearCover
nFlexMax
nFlexMin
nReinMax
nReinMin
nSpiralMax
nSpiralMin
nTiesMax
nTiesMin
Reinforcement clear cover. User entered value. If set to zero, code value will be used.
Flexural reinforcement maximum spacing. User entered value. If set to zero, code value will be used.
Flexural reinforcement minimum spacing. User entered value. If set to zero, code value will be used.
Flexural reinforcement ratio maximum limit. User entered value. If set to zero, code value will be used.
Flexural reinforcement ratio minimum limit. User entered value. If set to zero, code value will be used.
Spiral maximum spacing. User entered value. If set to zero, code value will be used.
Spiral minimum spacing. User entered value. If set to zero, code value will be used.
Tie maximum spacing. User entered value. If set to zero, code value will be used.
Tie minimum spacing. User entered value. If set to zero, code value will be used.
Reinforcement clear cover. 0 = use code, 1 = use user value
Flexural reinforcement maximum spacing. 0 = use code, 1 = use user value
Flexural reinforcement minimum spacing. 0 = use code, 1 = use user value
Flexural reinforcement ratio maximum limit. 0 = use code, 1 = use user value
Flexural reinforcement ratio minimum limit. 0 = use code, 1 = use user value
Spiral maximum spacing. 0 = use code, 1 = use user value
Spiral minimum spacing. 0 = use code, 1 = use user value
Tie maximum spacing. 0 = use code, 1 = use user value
Tie minimum spacing. 0 = use code, 1 = use user value
BEAM_INFO_AT_COLUMN
Information on beam framing into column
Type
Variable Name
Comments
double
double
EBeamSpanType
EDA_MEMBER_LOC
long
long
long
long
long
dBeamColumnAngle
dVerticalSlopeAngle
eSpan
eSupportEnd
lBeamID
lColumnFace
lMajorMomFixed
lMinorMomFixed
lTorFixed
Angle in plan between beam and column relative to column major axis
Angle in vertical plane - positive indicates that the far end of brace is above the column joint
Left, middle, right of span. When there is a cantilever there will be two entries in joint data
Left or right end
Beams Unique ID number
1-Major top, 2-minor right, 3-major bottom, 4-minor left
0 = released, 1 = fixed
0 = released, 1 = fixed
0 = released, 1 = fixed
BRACE_INFO_AT_COLUMN
Information on brace framing into column
Type
Variable Name
Comments
double
double
EDA_MEMBER_LOC
long
long
long
long
long
dBraceColumnAngle
dVerticalSlopeAngle
eBraceEnd
lBraceID
lColumnFace
lMajorMomFixed
lMinorMomFixed
lTorFixed
Angle in plan between brace and column relative to column major axis
Angle in vertical plane positive indicates that the far end of brace is above the column joint
Bottom, Top
Brace Unique ID number
1-Major top, 2-minor right, 3-major bottom, 4-minor left
0 = released, 1 = fixed
0 = released, 1 = fixed
0 = released, 1 = fixed
EDA_REIN_PLACE_SET
Bar set information
Type
Variable Name
Comments
double
double
double
double
dAs_prv
dAs_Req
dBarSpacing
dCapacity
EDA_SEG_SET_INFO
Bar set placement location information
Type
Variable Name
Comments
BOOL
BOOL
double
double
double
double
bEndSup
bStartSup
dEndSeg
dMaxVal
dMinVal
dStartSeg
SAnalysisCaseInfo
Analysis case information. Each load case will generate one or more analysis cases.
Type
Variable Name
Comments
BOOL
bAnalyzed
BOOL
BSTR
ELoadCaseType
EAnalysisSubType
long
long
bGenerated
bstrLabel
eLoadType
eSubType
lLoadCaseID
lUniqueID
True = Member Forces are available for this Analysis Case. In some situations, an analysis case can be
analyzed by one module but not another.
True = generated Analysis case. For positive, negative and Sum live load cases this would not be true.
Analysis load case label
Load case type for this analysis load case
Indicates the analysis sub type as positive, negative or sum
Load Case UID that the analysis load case originated from
Analysis Load Case UID.
SBAR_PATTERN
Bar Pattern definition
Type
Variable Name
Comments
BOOL
char
long
long
SREIN_PROP
SREIN_PROP
bValid
cPatternLabel
lGroupNumber
lUniqueID
rpLongBarReinProp
rpTieBarReinProp
TRUE if both bars appear in the Rein_prop table and they are both selected
Bar pattern label
Reference back to the pattern group to which this pattern belongs
Unique to each pattern this id number is never reused.
Longitudinal reinforcement properties
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
long
long
long
long
float
float
float
float
float
float
float
float
float
float
float
bSetPassed
eBarLayerLoc
eBarPlacement
eEndCondition
eStartCondition
fAs_prv
fAs_Req
fBarDepth
fBarSpacing
fCapacity
fDevelLength
fDevelLengthEnd
fDevelLengthStart
fEndLoc
fStartLoc
fTrueBarDepth
TRUE = bar set has passed design checks from start to end of bar set.
Cast to EBAR_PLACEMENT
Indicates if bar set is for top or bottom reinforcement . Cast to EBAR_PLACEMENT
Cast to EBAR_END_CONDITION
Cast to EBAR_END_CONDITION
Provided area of steel
Required area of steel
Reinforcement bar effective depth
Reinforcement spacing provided
Capacity of provided reinforcement
Bar development length
Development length for end of bar set
Development length for start of bar set
Same as fStartLoc
If value is different from dBarDepth then it is part of two layer set
long
long
long
lMaxBarsInLayer
lNumBars
lNumLayersOrLegs
long
lReinIndexNum
long
lSetID
Maximum number of bars in any layer if lNumLayersOrLegs = 2 and bar set is not transverse
Number of bars in bar set
Number of layers for multi layer reinforcement in beams Or number of shear legs if bar set is for transverse
reinforcement
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
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
long
bstrBarLabel
lSetID
SBM_RES
Individual concrete beam span design results
Type
Variable Name
Comments
long
float
float
float
float
float
float
float
float
float
float
float
float
float
float
float
float
float
eDeflectionResultsState
fBarSpacingBotLong
fBarSpacingSide
fBarSpacingTopLong
fBarSpacingTrans
fBotReinRatio
fBotReinRatioLoc
fClearCoverBottom
fClearCoverSide
fClearCoverTop
fDeflectionValueError
fdShearCheckLocFromFace
fTopReinRatio
fTopReinRatioLoc
fTorsionCapPrv
fTorsionCapReq
fTrueBarCoverBot
fTrueBarCoverTop
long
long
lBeamLineID
lBeamUniqueID
float
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
lBotLongBarSpacingError
lBotReinRatioComboID
lBotReinRatioError
lDeflectionErrror
lFlexBarBotError
lFlexBarTopError
lSideLongBarSpacingError
lSpanIndex
lStory
lTopLongBarSpacingError
lTopReinRatioComboID
lTopReinRatioError
lTorsionError
lTransBarError
lTransBarSpacingError
lTrueBarCoverBotError
lTrueBarCoverTopError
SBM_RES_BSTR
Beam design message strings.
Type
Variable Name
Comments
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
BSTR
long
bstrBotCoveMsg
bstrBotLongBarSpacingMsg
bstrBotReinRatioMsg
bstrDeflectionMsg
bstrDesignMark
bstrFlexBarBotMsg
bstrFlexBarTopMsg
bstrSectionErrors
bstrSideLongBarSpacingMsg
bstrTopCoverMsg
bstrTopLongBarSpacingMsg
bstrTopReinRatioMsg
bstrTorsionMsg
bstrTransBarMsg
bstrTransBarSpacingMsg
lBeamUniqueID
SBML_RES
Concrete beam line design result which relate to all the beams in the beam line
Type
Variable Name
Comments
BOOL
BOOL
BOOL
BOOL
bLongBarCheckBot
bLongBarCheckTop
bReqFlxReinOnly
bTransBarCheck
double
long
long
long
long
long
long
dVersion
eResultState
eUserSpecState
lBeamLineID
lNumCantilevers
lNumSpans
lStory
SCOL_PATRES
Concrete column bar pattern results
Type
Variable Name
Comments
BOOL
BOOL
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
bAmplifyMoments_Major
bAmplifyMoments_Minor
dBarSpacingMaj
dBarSpacingMin
dBetad_Major
dBetad_Minor
dCapRatioMax
dCapRatioMnMaj
dCapRatioMnMin
dCapRatioPhiDsn
dCapRatioPhiPn
dCapRatioReqAxial
dCapRatioReqMMajorBot
dCapRatioReqMMajorTop
dCapRatioReqMMinorBot
dCapRatioReqMMinorTop
dClearCover
dCm_Major
dCm_Minor
dIg_Major
double
double
double
double
double
double
double
double
double
double
double
double
double
double
dIg_Minor
dKlr_Major
dKlr_Minor
dLamdaNS_Major
dLamdaNS_Minor
dMaxTensionStressRatio
dPc_Major
dPc_Minor
dPu_Major
dPu_Minor
dReinRatio
dReinRatioMax
dReinRatioMin
dSPBeamCapMinMajor
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
dSPBeamCapMinMinor
dSPBMnBotMajorCCWDir
dSPBMnBotMajorCWDir
dSPBMnBotMinorCCWDir
dSPBMnBotMinorCWDir
dSPBMnTopMajorCCWDir
dSPBMnTopMajorCWDir
dSPBMnTopMinorCCWDir
dSPBMnTopMinorCWDir
dSPBMprBotMajorCCWDir
dSPBMprBotMajorCWDir
dSPBMprBotMinorCCWDir
dSPBMprBotMinorCWDir
dSPBMprTopMajorCCWDir
dSPBMprTopMajorCWDir
dSPBMprTopMinorCCWDir
dSPBMprTopMinorCWDir
dSPMnBottomMaj
dSPMnBottomMin
dSPMnColAboveMaj
dSPMnColAboveMin
dSPMnTopMaj
dSPMnTopMin
dSPMprBottomMaj
dSPMprBottomMin
dSPMprColAboveMaj
dSPMprColAboveMin
dSPMprTopMaj
dSPMprTopMin
double
double
double
double
double
EDA_COL_COMBO_LOC
EDA_CONC_CODE
ECONC_FRAME_TYPE
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
long
dSPVSeismicMaj
dSPVSeismicMin
dTorsionPhi
dTorsionPrvCap
dTorsionReqCap
eCapRatioComboLoc
eDsnCode
eFrameType
eSlenderClass_Major
eSlenderClass_Minor
lBarPatternID
lBarSpacingError
lCapRatioComboID
lCapRatioError
lCapRatioPatternID
lColumnID
lComboID_Major
lComboID_Minor
lErrorColumnVBeamMajor
lErrorColumnVBeamMinor
lNumShearSegments
lPatternDsnID
lReinRatioMaxComboID
lReinRatioMaxError
lReinRatioMaxPatternID
lReinRatioMinComboID
lReinRatioMinError
lReinRatioMinPatternID
lShearLegsParalellMaj
lShearLegsParalellMin
lSlenderness_klrError
lSlenderness_PuPcError
lSPSurfaceID
lSurfaceID
lTorsionComboID
lTorsionError
lTorsionPatternID
SCOL_PATRES_BSTR
Type
Variable Name
Comments
bstr
bstr
bstrBarSpacingMsg
bstrCapRatioMsg
bstr
bstr
bstr
bstr
bstr
bstr
bstr
bstr
long
long
bstrErrorColumnVBeamMajor
bstrErrorColumnVBeamMinor
bstrReinRatioMaxMsg
bstrReinRatioMinMsg
bstrSlenderness_ klrErrorMsg
bstrSlenderness_PuPcErrorMsg
bstrSurfaceFile
bstrTorsionMsg
lColumnID
lPatternDsnID
Error strings for Column v. Beam capacity check in column major direction
Error strings for Column v. Beam capacity check in column minor direction
Reinforcement ratio max limit design warning
Reinforcement ratio min limit design warning
Slenderness kl/r check design warning
Slenderness Pu/Pc check design warning
Name of file containing interaction surface diagrams
Torsion capacity check design warning
Columns Unique ID
Bar pattern design ID
SCOL_RES
Concrete column result basic information
Type
Variable Name
Comments
double
long
long
long
long
long
dConcElasticMod
eCode
eResultState
eUserSpecState
lColumnID
lNumPatterns
SCOL_TRANSRES
Type
Variable Name
Comments
BOOL
bShearBarControlDirMaj
double
double
double
double
double
double
double
long
long
long
long
long
long
long
EDA_REIN_PLACE_SET
dShearConcCapMaj
dShearConcCapMin
dShearPhiReducFactor
dShearReqCapMaj
dShearReqCapMin
dShearStlCapMaj
dShearStlCapMin
eTransBarType
lColumnID
lCombo
lPattern
lPatternDsnID
lSegNumber
lShearError
ReinPlaceSet
TRUE = design controlled by major direction shear, FALSE = controlled by minor direction
shear
Major direction concrete capacity
Minor direction concrete capacity
Shear capacity reduction factor
Major direction shear forces
Minor direction shear forces
Major direction shear reinforcement capacity
Minor direction shear reinforcement capacity
Type of transverse reinforcing
Columns Unique ID
Load combo used to design this segment
Column pattern loading used to design this segment
Bar pattern design ID
This bar patterns segment number in column
Shear check design warning
Reinforcement placement info.
EDA_SEG_SET_INFO
SegSetInfo
SCOL_TRANSRES_BSTR
Type
Variable Name
Comments
BSTR
long
long
long
bstrShearMsg
lColumnID
lPatternDsnID
lSegNumber
SComboParams_DA
Code specific input parameters used in load combination generator.
Type
Variable Name
Comments
BOOL
BOOL
BOOL
float
float
float
int
int
int
int
bCheckBoxArray
bLCaseSpcSetting
bUseOnly
fLCaseSpc1
fLCaseSpc2
fValues
nComboBox5Index
nComboBoxIndex
nNumVarsFor2
nNumVarsFor5
These are the settings for control 3 the table of check box values. There can be up to 9 check boxes.
This is used with control 4. A value of TRUE indicates that load case specific values are available.
This is used with control 4. A value of TRUE disables the Use Code option.
For Control 4. This is the first load case specific value.
For Control 4. This is the second load case specific value.
These are the values associated with control 1 in the load combo generator. There can be up to 10 control 1 values.
This is the setting for control 5 the drop down combo box for code for combinations
This is the setting for control 2 the drop down combo box for template
Number of entries for control 2
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
BSTR
EDXFMarkAssignedBy
long
long
bstrScheduleMark
bstrScheduleMarkPrevious
eMarkChangedBy
lMemberID
lTime
long
lTimePrevious
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
double
double
dXLoc
dYLoc
dZLoc
X coordinate
Y coordinate
Z coordinate
SDeckProp
Composite one way steel deck properties
Type
Variable Name
Comments
BOOL
BSTR
double
bShoredConstruction
bstrDeckLabel
dAngle
double
double
double
double
double
double
double
double
double
double
double
double
long
long
long
long
int
dAreaOfConcInRibPerUnitLength
dAvgConcRibWidth
dConcStressCap
dConcThickAboveFlute
dDistBotDeckToConcCentroid
dNominalRibHeight
dRibSpacing
dSelfWeight
dStudDiameter
dStudLength
dStudStressCapacity
dUnitWeight
lCounter
lDeckType
lFibreType
lUniqueID
nFibreType
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
float
long
fLocation
fValue
lValueLC
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 members length.
Type
Variable Name
Comments
float
float
float
long
long
fLocation
fMax
fMin
lMaxLC
lMinLC
SFND_CONT_REINF
Continuous foundation reinforcement information.
Type
Variable Name
Comments
double
double
double
double
m_dSecReinDepthBotX
m_dSecReinDepthBotY
m_dSecReinDepthTopX
m_dSecReinDepthTopY
SFND_DATA
Foundation information for spread and continuous foundations
Type
Variable Name
Comments
BOOL
BOOL
double
double
double
double
double
double
double
double
double
double
double
double
EMATERIALTYPES
long
bDesignDimensions
bUserDefined
dAngle
dBottom
dLeft
dLength
dRight
dThick
dTop
dX1
dX2
dY1
dY2
dZ
eMaterial
lLabel
SFND_ISO_REINF
Isolated foundation reinforcement information.
Type
Variable Name
Comments
BOOL
double
double
double
double
double
long
long
long
long
bSetResistsTension
dAs_prv
dAs_Req
dBarSpacing
dCapacity
dLength
lMaxBarsInLayer
lNumBars
lNumLayersOrLegs
lReinIndexNum
SFND_REINF_OTHER_DATA
Isolated foundation reinforcement information.
Type
Variable Name
Comments
BOOL
double
double
double
bHooked
dCoverBottom
dCoverSide
dCoverTop
SForce
Internal member forces and moments. See IForces1 for sign convention
Type
Variable Name
Comments
double
double
double
double
double
double
double
long
dLocation
dMx_maj
dMy_min
dMz_Torsion
dVx_maj
dVy_min
dVz_Axial
lAnalysisCaseID
Location
Moment induced by a shearing force dVx_maj
Moment induced by a shearing force dVy_min
Torsion
Shear parallel to member major direction
Shear parallel to member minor direction
Axial force where Compression is positive
Analysis load case UID for this member forc results
Type
Variable Name
Comments
double
double
double
dX
dY
dZ
X coordinate
Y coordinate
Z coordinate
SForce3D
3D force location
SFoundationMatInfo
Mat foundation information
Type
Variable Name
Comments
double
dTopOfSlabOffset
SGridLineInfo
Grid line information
Type
Variable Name
Comments
BOOL
BOOL
BOOL
BOOL
BOOL
BSTR
double
double
double
long
bExtMax
bExtMin
bLabelI
bLabelJ
bSnapTo
bstrLabel
dCoordinate
dExtMax
dExtMin
lID
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
double
double
double
double
double
long
dMx
dMy
dMz
dP
dVx
dVy
lLoadCaseID
Rotational force about the global X axis (Right hand rule for positive direction on all moments)
Rotational force about the global Y axis
Rotational force about the global Z axis
Downward acting force (positive loads are downward)
Force parallel to global X axis (positive in global X direction)
Force parallel to global Y axis (positive in global Y direction)
Load case UID for this load
SLoadCase_CmbGen_DA
Load case information for generated load combinations
Type
Variable Name
Comments
BOOL
unsigned char
unsigned char
bUseFlag
cLabel
cSymbol
unsigned char
unsigned char
float
cTmpleCaseCode
cType
fLCaseSpecific
Flag indicating if this case has been selected for use in combination generation
String label that identifies the load case. This label CANNOT be used to uniquely identify a load case.
Symbol used to represent this load case in the load combinations (D, Lp, W1, W2, E1, E2). This symbol
uniquely identifies the load case.
Symbol used to represent this category of load case in the template file (D, Lp, W, E)
String that indicates the type of load.
Used for Use Calculated for Rho for appropriate codes
float
float
float
int
fLCaseSpecificX
fLCaseSpecificY
fLoadCaseAngle
nAnalyzeNo
int
int
int
nDirOfLoadInX
nDirOfLoadInY
nLCaseIndex
SLoadCaseInfo
Load case properties
Type
Variable Name
Comments
BOOL
BSTR
EFRAMETYPE
ELoadCaseType
long
bGenerated
bstrLabel
eFrameType
eLoadType
lUniqueID
SLoadCombos_CmbGen_DA
Generated load combination data
Type
Variable Name
Comments
BOOL
BOOL
unsigned char
bTensionOnly
bUseFlag
cComboIncludes
unsigned char
float
int
cComboString
Factors
LoadCase
int
int
int
nComboNum
nStatus
NumTerms
SNodalLoadData
Nodal load information
Type
Variable Name
Comments
BSTR
double
double
double
double
double
double
bstrLabel
dFx
dFy
dFz
dX
dY
dZ
SREIN_PROP
Concrete Reinforcement bar properties
Type
Variable Name
Comments
BOOL
BOOL
char
double
double
bFlex
bShear
cLabel
dArea
dDiameter
SSECTIONS
Concrete Section properties
Type
Variable Name
Comments
char
char
float
BOOL
achPanLabelLeft
achPanLabelRight
Area
bUseFlangeThick
BOOL
bUseWidth
int
float
double
float
float
float
float
float
float
float
float
Counter
Depth
dPanDepth
fCrackedAxialFactor
fCrackedFlexureFactor
fCrackedTorsionFactor
FlangeThickness
fRightOH
Ix
Iy
J
long
float
float
char
int
float
float
lUniqueID
SAx
SAy
SectionName
Shape
WebThickness
Width
SSlabProp
Concrete slab properties assigned to elevated floors and mat foundations
Type
Variable Name
Comments
BSTR
double
double
double
double
long
int
bstrLabel
dAngle
dOffsetFromTOS
dSelfWeight
dThickness
lUniqueID
nCounter
COMBO_MATERIAL_TYPE
Type of load combination.
Value
Description
ANALYSIS_CUSTOM
CONC_SHEAR_WALL_CUSTOM
CONC_SHEAR_WALL_GEN
FND_CONCRETE
FND_CUSTOM_CONC
FND_CUSTOM_SOIL
FND_SOIL
NONE_DEFINED
RAM_CONCRETE
RAM_CONCRETE_CUSTOM
STEEL_CUSTOM
STEEL_GRAV
STEEL_SPEC
STEEL_SPEC_CUSTOM
STEEL_STAND
E_BARLAYERS_OPTION
Bar layers option for concrete members.
Value
Description
BarLayers1Only
BarLayers2Allowed
BarLayersUseDefault
E_BARSIZE_OPTION
Bar size option for concrete members.
Value
Description
BarSizeUseDefault
BarSizeUseDefined
E_COVER_OPTION
Clear cover option for concrete members.
Value
Description
CoverUseDefault
CoverUserDefined
E_GAP_OPTION
Gap option for space between longitudinal bar layers
Value
Description
GapUseDefault
GapUserDefined
Definition
Definition
E_LINKSPC_OPTION
Link spacing option for Chinese concrete members.
Value
Description
LinkSpacingUseDefault
LinkSpacingUserDefined
E_SHEARLEGS_OPTION
Shear legs option for concrete members.
Value
Description
ShearLegsUseDefault
ShearLegsUserDefined
E_STIRRUPS_OPTION
Stirrup option for concrete members.
Value
Description
Stirrups135Hook
StirrupsClose
StirrupsHoop
StirrupsOpen
StirrupsUseDefault
EAggregateType
Concrete aggregate type.
Value
eConcAggLWC
eConcAggNWC
eConcAggOther
Description
Light weight concrete
Normal weight concrete
Normal weight concrete
EAnalysisResultType
Module analysis results to be used for member internal forces.
Value
DefaultResultType
OtherResultType
RAMConceptResultType
RAMConcreteResultType
RAMFoundationResultType
RAMFrameResultType
RAMGravityResultType
Description
Results taken from most appropriate source based on members framing and material type.
(not yet implemented)
Results from RAM Concept Analysis (not yet implemented)
Results from RAM Concrete Analysis
Results from RAM Foundation Analysis (not yet implemented)
Results from RAM Frame Analysis
Results from RAM Steel Analysis
EAnalysisSubType
The load case sub type.
Value
AnalysisSum
Negative
NoSubType
Positive
Description
Sum case
Negative case
No sub type
Positive case
EAnalyzeFlag
Indicates if the corresponding member is to be optimized by RAM Structural System, or simply analyzed
Value
eAnalyze
eOptimize
eOptimizeStuds
Description
Design will be analyzed
Design will be optimized
Size will be analyzed, studs will be optimized (used only for beams)
EAxis
Used to indicate axis.
Value
EMajorAxis
EMinorAxis
Description
Specifies the major axis
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
eBarEndClosed
eBarEndContinuous
eBarEndHook135
eBarEndHook90
eBarEndHoop
eBarEndLapSpliced
eBarEndMechanical
eBarEndStraight
eBarEndU
Description
Closed stirrup
Continuous
135 Deg. hook
90 Deg. hook
Seismic Hoop Stirrup
Lap spliced bar
Mechanical connector
Straight
U Stirrup
EBeamConnectionType
Type of connection at the end of the beam in RAM Frame.
Value
eBCTCustom
eBCTNone
eBCTRBS
Description
Custom connection stiffness settings
No connection assigned
Reduced beam section
eBCTSidePlate
eBCTSpring
SidePlate connection
Spring connection
EBeamCoordLoc
Coordinate locations for the beam.
Value
eBeamEnds
eBeamSupports
Description
End location of the beam. Tip of cantilever if one exists. Otherwise
the end is the support location.
Support location of the beam.
EBeamFilter
Filter the for the collection of beams
Value
eBeamFilter_BeamLineNo
eBeamFilter_FrameType
eBeamFilter_Material
eBeamFilter_NoFilter
Description
Concrete beam line number
EFRAMETYPE
EMATERIALTYPES
Remove previous filters
EBeamSpan
Beam condition at a face of a column
Value
eBackspanBeam
eCantileverBeam
eNoBeam
eStubCantileverBeam
Description
Backspan of beam at column face
Cantilevered beam at column face
No beam at column face
Stub cantilever at column face
EBeamSpanType
Defines Part of beam span type.
Value
eLeftCantl
eMidSpan
Description
Left cantilever of beam
Beam mid span
eNoSpanDefined
eRightCantl
EBoundaryFlags
How the zone is to be handled in respect to concrete shear wall boundary element design.
Value
EBFMaybe
EBFNo
EBFYes
Description
No boundary but check
No boundary and do not check
Check boundary
EBuildingCode
List of building codes that can be used during design.
Value
eCodeAustralia
eCodeBOCA
eCodeBritish
eCodeCanada
eCodeChina
eCodeEurocode
eCodeHongKong
eCodeIBC_Alternate
eCodeIBC_General
eCodeSBC
eCodeUBC_Method1
eCodeUBC_Method2
Description
BOCA
BS 6399
NBC of Canada
GB 50009
Eurocode
HongKong
IBC Roof Live Load Reduction Alternate
IBC Roof Live Load Reduction General
SBC
UBC Roof Live Load Reduction Method 1
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
eCANHigh
eCANLow
eCANNormal
eCANPostDisaster
Description
High
Low
Normal
Post-Disaster
EColumnFilter
Filter for the collection of columns.
Value
eColFilter_ColStack
eColFilter_FrameType
eColFilter_Material
eColFilter_NoFilter
Description
Column stack
EFRAMETYPE
EMATERIALTYPES
Remove previous filters
ECombinationSourceType
Indicates whether the combination is custom or generated.
Value
eCustomCombo
eCustomInternal
eGeneratedCombo
eGeneratedInternal
Description
Custom or user-defined load combination
Interanally defined custom load combination
Generated load combination
Internally defined generated combination
ECOMBOTYPES
Enumerates the RAM Frame combination types.
Value
Description
EFrameAnalysisCustomCombos
EFrameSteelSeismicCustomCombos
EFrameSteelSeismicGenCombos
EFrameSteelStdCustomCombos
EFrameSteelStdGenCombos
ECompDeckPropsFilter
Filter by composite deck properties.
Value
Description
eCDPFilter_DeckType
eCDPFilter_NoFilter
Composite deck
Removes previous filters
ECompoundLoadCaseState
Indicates what the compound state of the load case.
Value
eCompoundLoadCase
eMergedLoadCase
ePrimaryLoadCase
Description
Compound load case
Merged load case
Load cannot be broken down into sub loads
ECONC_FRAME_TYPE
Concrete lateral frame type.
Value
Description
ECONC_OTHER_SEC
Concrete and Other section shapes.
Value
ECircle
ENone
EOther
EPanJoist
ERect
ET
Description
Circular section
No section
Other type not defined
Pan joist section (calculated by RAM Structural System)
Rectangular section
Tee section
EConceptConcSkipCase
Skip load cases from RAM Concept.
Value
eCCSkipFull
eCCSkipMaxMomMajor
eCCSkipMaxMomMinor
Description
Full loading
Maximum major moment
Maximum minor moment
eCCSkipMinMomMajor
eCCSkipMinMomMinor
EConcSectPropsFilter
Concrete section property filter.
Value
eCSPFilter_MemType
eCSPFilter_NoFilter
eCSPFilter_Shape
Description
EUniqueMemberTypeID (beam, column, vertical brace)
Remove previous filters
ECONC_OTHER_SEC
ECoreBraceType
CoreBrace connection type.
Value
eCoreBraceTypeBoltedLug
eCoreBraceTypeCustom
eCoreBraceTypePinned
eCoreBraceTypeSplicePlate
eCoreBraceTypeUnkown
eCoreBraceTypeWelded
Description
Bolted Lug
Custom
Pinned
Splice Plate
Unkown
Welded
ECptCksumStatusBits
Concept integration options for the story.
Value
eCCSDirectGravLoads
eCCSStructAboveStory
eCCSStructOnStory
eCCSTransferGravLoads
eCCSTransferlatLoads
Description
Direct gravity loads options
Structure above story options
Structure on story options
Transfer gravity loads options
Transfer lateral loads options
ECptStyTimeStampType
Concept integration time stamp options.
Value
eTSConceptMajorRead
eTSConceptMinorRead
eTSConceptWrite
eTSMajorChange1
eTSMinorChange1
Description
Major read from Concept
Minor read from Concept
Write to Concept
Major change
Minor change
EDA_COL_COMBO_LOC
Column evaluated combination results location along column length.
Value
COMBO_AT_BOTTOM
COMBO_AT_END
COMBO_AT_SPAN
COMBO_AT_START
COMBO_AT_TOP
Description
Combo value at bottom of column
Combo value at end of beam
Combo value along column span
Combo value at start of beam
Combo value at top of column
EDA_CONC_CODE
Concrete design code.
Value
eACI318_02
eACI318_05
eACI318_08
eACI318_11
eACI318_95
eACI318_99
eAS3600
eAS3600_09
eBS8110_97
eCanadian
eCP_65
eEuroCode
eGB50010
eNoCodeDefined
Description
ACI 318-02
ACI 318-05
ACI 318-08
ACI 318-11
ACI 318-95
ACI 318-99
AS3600-01
AS3600-09
BS 8110-97
Canadian
CP 65
Eurocode
GB 500010
No code selected
EDA_MEMBER_LOC
Location relative to a member. Some locations are not relevant to all members.
Value
eBottom
eBottomEnd
eBottomStart
eEnd
eEndSupportCantilever
eEndSupportMidSpan
eStart
eStartSupportCantilever
eStartSupportMidSpan
eTop
eTopEnd
eTopStart
Description
Bottom of column or brace
Bottom end of wall
Bottom start of wall
End of member
Cantiliver end reaction at end support
Mid span reaction at end support
Start of member
Cantiliver end reaction at start support
Mid span reaction at start support
Top of column or brace
Top end of wall
Top start of wall
EDBFieldType
Data types.
Value
E_DB_FIELD_BOOL
E_DB_FIELD_DATE
E_DB_FIELD_DOUBLE
E_DB_FIELD_LONG
E_DB_FIELD_STRING
Description
Boolean
Date
Double
Long
String
EDBRelationRule
Relation rule.
Value
E_DB_RELATION_CASCADE
E_DB_RELATION_DEFUALT
E_DB_RELATION_NONE
E_DB_RELATION_NULL
EDeckFilter
Filter by deck property.
Description
Cascade
Default
None
Null
Value
eDeckFilter_NoFilter
eDeckFilter_Type
Description
Remove previous filters
EDeckType
EDeckType
Type of deck.
Value
eDeckType_Composite
eDeckType_Concrete
eDeckType_NonComposite
Description
Composite Deck
Concrete Slab
Non-composite Deck
EDefaultOrAlternate
Whether the default table directory is used (Tables) or the alternate directory is used (Working)
Value
Description
eAlternate1
eDefault
EDiaphragm
Type of diaphragm.
Value
eNoDiaphragm
eRigidDiaphragm
Description
No diaphragm
Rigid diaphragm
EDiaphragmDeckDirTypes
Type of decks contained in diaphragm.
Value
eDDDirTypeOneAndTwoWay
eDDDirTypeOnlyOneWay
eDDDirTypeOnlyTwoWay
eDDDirTypeUndefined
Description
Diaphragm contains one way and two way decks
Diaphragm only has one way decks
Diaphragm only has two way decks
Diaphragm has undefined deck type
EDiaphragmSource
Source of diaphragm information
Value
eDSFrameAnalysis
eDSModelData
Description
Diaphragm information comes from RAM Frame
Diaphragm information comes from model geometry
EDRAWINGCOLOR
Color that a member type is displayed in.
Value
eConcBraceColor
eConcGravBeamColor
eConcGravColColor
eConcGravWallColor
eConcJoistBeamColor
eConcLatBeamColor
eConcLatColColor
eConcLatWallColor
eDeckColor
eDiagramsColor
eFoundationColorColor
eGridLabelColor
eGridLineColor
eJoistColor
eLoadsColor
eOtherBraceColor
eOtherGravBeamColor
eOtherGravColColor
eOtherGravWallColor
eOtherLatBeamColor
eOtherLatColColor
eOtherLatWallColor
eSlabEdgeColor
eSlabOpenColor
eSmartbeamColor
eSteelBraceColor
Description
Concrete brace
Concrete gravity beam
Concrete gravity column
Concrete gravity wall
Concrete joist beam
Concrete lateral beam
Concrete lateral column
Concrete lateral wall
Deck
Diagram
Foundation
Grid label
Grid line
Steel Joist
Loads
Other brace
Other gravity beam
Other gravity column
Other gravity wall
Other lateral beam
Other lateral column
Other lateral wall
Slab edge
Slab opening
Smartbeam
Steel brace
eSteelGravBeamColor
eSteelGravColColor
eSteelLatBeamColor
eSteelLatColColor
eTextColor
eWebOpeningColor
eWestokCELLBEAMColor
EDXFMarkAssignedBy
Member DXF schedule mark assigned by category.
Value
DXFMarkGenRAMSS
DXFMarkother
DXFMarkUser
Description
Mark generated by RAM SS
Mark assigend by other
Mark assigned by user
EEdge
Edges of a wall.
Value
eTopEdge
eBottomEdge
Description
Top edge of wall
Bottom edge of wall
EFieldType
Data type for field.
Value
eFTBool
eFTDouble
eFTLong
eFTString
Description
Define
Define
Define
Define
EFloorTypeElements
Various elements modeled on a floor type.
Value
Description
eFTEAll
eFTEBeamsJoists
eFTEColumns
eFTEDecks
eFTEGrids
eFTELoads
eFTENone
eFTEWalls
EFloorTypeFilter
Filter for floor type.
Value
Description
eFTFilter_NoFilter
eFTFilter_UsedInStory
EFndReinfLoc
Foundation reinforcement locations.
Value
eFRLLengthBottom
eFRLLengthTop
eFRLSide
eFRLWidthBottom
eFRLWidthTop
Description
Bottom Length
Top Length
Side
Bottom Width
Top Width
EFrameMemberForceSource
Concrete frame members gravity force source.
Value
eFMFSFrameAnalysis
eFMFSGravityAnalysis
Description
Gravity forces come from Frame analysis
Gravity forces come from Concrete analysis
EFRAMETYPE
Frame type.
Value
MemberIsEither
MemberIsGravity
MemberIsLateral
MemberIsNone
Description
Either type (cannot be used for assigning to a member)
Gravity member
Lateral member
Neither assigned (do not use)
EGRAVLOADTYPE
Gravity live load type.
Value
EFloorLoad
ENonRedLoad
ERoofLoad
EStorageLoad
Description
Reducible live load
Non-reducible live load
Roof live load
Storage live load
EGRAVPTLOADSOURCE
Source of point load on member.
Value
EPtLoadFrameColTransferThruOneWaySlab
EPtLoadFromFrameBeamReact
EPtLoadFromFrameColReact
EPtLoadFromGravBmReact
EPtLoadFromGravColReact
EPtLoadGravColTransferThruOneWaySlab
EPtLoadPassedThruFrameWall
EPtLoadPassedThruGravWall
EPtLoadSourceUndefined
EPtLoadSSGhostBeamGeneratedInRG
EPtLoadUserApplied
EGridAxis
Type of grid.
Description
Frame column transfer through one way deck
Point load from frame beam reaction
Point load from frame column reaction
Point load from gravity beam reaction
Point load from gravity column reaction
Gravity column transfer through one way deck
Pt load passed down through a frame wall
Pt load was passed down through a gravity wall
Unknown source for point load
Point load from ghost beam generated in RAM Gravity
User applied point load
Value
eGridXorRadialAxis
eGridYorCircularAxis
Description
X grid if in orthogonal grid system; Radial grid if in radial grid system
Y grid if in orthogonal grid system; Circular grid if in radial grid system
EGridFilter
Grid filter.
Value
eGFilter_GridAxis
eGFilter_NoFilter
Description
EGridAxis
Removes previous filter
EGridSystemFilter
Grid system filter.
Value
eGSFilter_NoFilter
eGSFilter_OrientationType
Description
Removes previous filter
SGridSysType
EHorizBraceFilter
Horizontal brace filter.
Value
eHBFilter_Material
eHBFilter_NoFilter
Description
EMATERIALTYPES
Removes previous filter
EINTERFACES
Enumerator used to get pointers to specific DA interfaces.
Value
IConcAnalysis1_INT
IConcAnalysisState_INT
IConcBeamState_INT
IConcBeamState2_INT
Description
IConcAnalysis1
IConcAnalysisState1
IConcBeamState1
IConcBeamState2
IConcCntlrCommon1_INT
IConcColModState2_INT
IConcept_INT
IConcreteModule_INT
IDatabase_INT
IDBIO1_INT
IForces_INT
IForces2_INT
IGravityLoads_INT
IGravitySteelDesign_INT
ILoading_INT
IMemberData_INT
IMemberData2_INT
IModel_INT
IModelData_INT
IModelData2_INT
IModelGeometry_INT
IModelGeometry2_INT
IModelStatus_INT
IRamDataAccess2_INT
ISteelColumnState_INT
ISteelColumnState2_INT
IConcCntlrCommon1
IConColModeState2
IConcept
IConcColModState1
IDatabase
IDBIO1
IForces1
IForces2
IGravityLoads1
IGravitySteelDesign1
ILoading1
IMemberData1
IMemberData2
IModel
IModelData1
IModelData2
IModelGeometry1
IModelGeometry2
IModelStatus1
IRAMDataAccess2
ISteelColumnState1
ISteelColumnState2
EIsolatedFndFilter
Isolated foundation filter.
Value
eIFFilter_NoFilter
eIFFilter_Type
Description
Spread footing
EIsolatedFndType
EIsolatedFndType
Type of foundation.
Value
elFndContinuous
eIFndSpread
Description
Continuous footing
Spread footing
eIFndPileCap
EJoistType
Type of steel joist.
Value
eJstCloseUniform
eJstCustom
eJstGirderClosePtLoads
eJstGirderEqualPtLoads
eJstKCS
eJstREquivalent
eJstSJIEquivalent
eJstSpecial
eJstStandard
eNotAJst
Description
Close enough to uniform load
Custom label, Uniform Load
Joist Girder, Close Enough to Equal Point Loads
Joist Girder, Equal Point Loads
KCS Joist
Equivalent Uniform Load, Ed Ryan (Vulcraft) method
Equivalent Uniform Load, SJI method
Special Joist
Standard joist with uniform load
Not a steel joist
EJstNonUniformLoadOption
Joist criteria option for joists with non-uniform loads.
Value
Description
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
UseGlobalKFac
UseNomoForKFac
UseThis
Description
Use the global criteria for this column (in specified axis)
Use the nomograph for this column (in the specified axis)
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
ELineLoadFromSurfaceLoad
ELineLoadPassedThruFrameWall
ELineLoadPassedThruGravityWall
ELineLoadSelfWeight
ELineLoadSourceUndefined
ELineLoadUserApplied
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
BalancedLCa
ConstructionDeadLCa
ConstructionLiveLCa
Description
Balanced Load
Construction Dead Load
Construction Live
DeadLCa
DynamicLCa
LiveLCa
LiveReducibleLCa
LiveRoofLCa
LiveStorageLCa
LiveUnReducibleLCa
MassDeadLCa
NotionalDeadLCa
NotionalLiveLCa
NotionalRoofLCa
OtherLCa
PartitionLCa
SeismicLCa
SnowLCa
VirtualLCa
WindLCa
Dead Load
Dynamic Load
Live Load
Live Reducible
Live Roof Load
Live Storage
Live Unreducible
Mass Dead Load
Notional Dead Load
Notional Live Load
Notional Roof Load
Other Load
Partition Load
Seismic Load
Snow Load
Virtual Load
Wind Load
ELoadCombinationFilter
Load combination filter.
Value
Description
EMATERIALTYPES
Type of material.
Value
EAnyMaterial
EConcreteMat
ENoneMaterial
EOtherMat
ESmartbeamBeamMat
ESteelJoistMat
ESteelMat
EWallPropConcreteMat
Description
Any (cannot be used for assigning to a member)
Concrete
None or N/A (cannot be used for assigning to a member)
Other
Smartbeam
Steel Joist
Steel
Concrete Wall
EWallPropOtherMat
EWestokCELLBEAMMat
Other Wall
Westok cellular beam
EMemberInPolyCategory
Category of members to look for in polygon.
Value
eAboveMemPolyCat
eBelowMemPolyCat
eEndMemPolyCat
ePassThroughMemPolyCat
eStartMemPolyCat
Description
Members that are in the story above polygon
Members that have thier start end inside the polygon
Members that end inside polygon
Members that pass through the level - Not implemented / future item
Members that start inside the given polygon (Not Implemented)
EMemberOrientation
Member orientation
Value
eOrientHorizontal
eOrientUnknown
eOrientVertical
Description
Horizontal orientation
Unknown orientation
Vertical orientation
EMemberSide
Side of a member something is associated with
Value
eMemBothSides
eMemLeftSide
eMemNoSide
eMemRightSide
Description
Both sides of member
Left side of member
Center of member
Right side of member
EMergeState
Flag that indicates if the load case is single, merged or included in a merge.
Value
eLoadCaseUsedInAMerge
Description
Load case that is included in a merged load case.
eMergedLdCase
eSingleLoadCase
EOtherSectPropsFilter
Filter for other type sections.
Value
eOPSFilter_MemType
eOPSFilter_NoFilter
Description
EUniqueMemberTypeID (beams, columns, vertical braces).
Remove previous filters
EPartialReloadType
Partial reload of the database.
Value
eReloadMDF
eReloadRAMFrameAnalysis
Description
Define
Define
EPileConfiguration
Pile group configuration.
Value
ePileConfig2PileGroup
ePileConfig5PileGroup
ePileConfig5SqrPileGroup
ePileConfig7PileGroup
ePileConfig8PileGroup
ePileConfigRectangular
ePileConfigTriangular
Description
Rectangular 2-pile Pile group
Rectangular 5-pile Pile group
Square 5-pile Pile group
Rectangular 7-pile Pile group
Rectangular 8-pile Pile group (piles not arranged in rows/columns)
Rectangular pile group (user defined number of piles)
Triangular 3-pile pile group configuration
ERawWallSectionCutFilter
Raw wall section cut filter.
Value
eRWSCFilter_Module
eRWSCFilter_NoFilter
Description
EWhichModule (Frame Shear Wall Forces or Concrete Shear Wall)
Remove previous filter
EReactionNodeFilter
Reaction node filter.
Value
eRNFilter_NoFilter
eRNFilterAtFoundation
eRNFilterNodeInSlabEdge
eRNFilterNodeSupportMember
Description
Remove previous filter
Foundation nodes
Nodes within the slab edge
Nodes that support members above
ERoofLLType
Type of roof live load.
Value
eRoofLoadsAreSnow
eRoofLoadsAreReducible
eRoofLoadsUnReducible
Description
Roof loads are snow
Roof loads are reducible
Roof loads are unreducible
ESeismicProvFrameType
Type of frame type for steel seismic provisions.
Value
eSP_CBF
eSP_CBF_K
eSP_CBF_V
eSP_EBF
eSP_IMF
eSP_NoFrameType
eSP_OMF
eSP_SCBF
eSP_SCBF_K
eSP_SCBF_V
eSP_SMF
Description
Ordinary concentrically braced frame
Ordinary concentrically braced frame K type
Ordinary concentrically braced frame V/Chevron type
Eccentrically braced frame
Intermediate moment frame
No frame type assigned
Ordinary moment frame
Special concentrically braced frame
Special concentrically braced frame K type
Special concentrically braced frame V/Chevron type
Special moment frame
ESIDESWAY_ASSIGN
Identifies what the current setting assigned to the column is for sidesway.
Value
ItIsBraced
ItIsUnbraced
UseGlobalSS
Description
The column is braced for this column (in the specified axis)
The column is unbraced for this column (in the specified axis)
Use the global criteria for this column (in specified axis)
ESlabActions
Identifies if the deck is one way or two way.
Value
eDSAOneWay
eDSATwoWay
Description
One way deck
Two way deck
ESMARTBEAMTYPE
Castellated or Celular (Smartbeam) beam type.
Value
Description
SMARTBEAM_CAST
SMARTBEAM_CELL
Castellated beam
Cellular beam
ESnowLoadType
Snow load type.
Value
Description
eSLTConstant
eSLTDrift
EStateStatus
Status of an items state.
Value
eStateCurrent
eStateNotAvail
Description
Items state is current
State is unavailable
eStateNotCurrent
ESTEEL_ROLLED_FLAG
Roll flag for steel member
Value
EStlBuilt
EStlRolled
Description
Built up shape
Rolled shape
ESTEEL_SEC
Steel section shapes
Value
EStlChannel
EStlDoubleL
EStlFlatBar
EStlLSection
EStlNone
EStlPipe
EStlRoundBar
EStlStar
EStlTSection
EStlTube
EStlWF
Description
Channel
Double Angle
Flat Bar
Single Angle
No section
Round HS
Round Bar
Star seismic
T Section
Rectangular HS
I-Section (Wide Flange)
ESteelDesignCode
Design code for steel members.
Value
eAISC36005ASD
eAISC36010ASD
eAISC36005LRFD
eAISC36010LRFD
eAS4100_99
eASD
eBS5950_1990
eBS5950_2000
Description
AISC 360-05 ASD
AISC 360-10 ASD
AISC 360-05 LRFD
AISC 360-10 LRFD
AS4100-99
ASD 9th Edition
BS5950:1990
BS5950:2000
eCANCSA_1994
eEurocode3
eLRFD
CAN/CSA-S16.1-94
Eurocode
LRFD 3rd Edition
ESteelShapes
Steel section shapes.
Value
ESSChannel
ESSDoubleAngle
ESSFlatBar
ESSISection
ESSRectangularHS
ESSRoundBar
ESSRoundHS
ESSSingleAngle
ESSTee
ESSUnknown
Description
Channel
Double Angle
Flat Solid Bar
I-Section (wide flange)
Rectuangular Hollow Section
Round Solid Bar
Round Hollow Section
Single Angle
Tee
Unknown
ESubLoadCaseType
Source or Type of the ELoadCaseType
Value
eCenterOfRigidity
eEigen
eGeneratedStoryLoad
eGravityLoad
eImportedLoad
eNodalLoad
eNoSubType
eResponseSpectra
eUserDefinedStoryLoad
Description
Center of Rigidity
Eigen
Generated story load
Gravity load type
Imported load
Nodal load
No sub load type
Response Spectra
User defined story load
ETensionCompressionMemType
Indicates whether members takes tension, compression, or both.
Value
Description
ECompressionOnlyMem
ETensionCompressionMem
ETensionOnlyMem
ETimeStampAction
Action for time stamp retrieval.
Value
eTSAdd
eTSDelete
eTSChange
Description
Add
Delete
Change
ETimeStampProperty
Property for time stamp retrieval.
Value
eTSFloorType
eTSNoProp
eTSReframeFlag
eTSSize
Description
Floor type
No particular property
Floor reframe
Member size
EUniqueMemberTypeID
Member type.
Value
eTypeAll
eTypeAnalysisCase
eTypeBeam
eTypeBrace
eTypeColumn
eTypeConcDeflCrit
eTypeConcSectionProp
eTypeCouplingBeam
eTypeDeckOrSlab
eTypeDeckProp
eTypeFloorOpening
eTypeFloorPenetrations
Description
All members
Member is an analysis case
Member is a beam
Member is a vertical brace
Member is a column
Member is a concrete deflection criteria
Member is a concrete section
Meber is a coupling beam
Member is a deck or slab
Member is a composite deck property set
Member is an opening in a floor (slab opening)
Member is a floor penetration
eTypeFloorPerimeter
eTypeFloorType
eTypeFoundation
eTypeFoundationLineLoading
eTypeFoundationMatPerimeter
eTypeFoundationMatSlab
eTypeFoundationPointLoading
eTypeFoundationSurfaceLoading
eTypeGrid
eTypeGridSystem
eTypeHorizontalBrace
eTypeLastType
eTypeLineLoading
eTypeLineLoadSetProp
eTypeLoadCase
eTypeMesh
eTypeNodalLoad
eTypeNodalLoadProp
eTypeNode
eTypeNonCompDeckProp
eTypeNonComposite
eTypeNone
eTypeOther
eTypeOtherSectionProp
eTypePile
eTypePileConfiguration
eTypePointLoading
eTypePointLoadSetProp
eTypeSectionCut
eTypeSidePlate
eTypeSlabProp
eTypeSnowLoad
eTypeSnowLoadSetProp
eTypeSteelDeflCrit
eTypeStory
eTypeSurfaceLoading
eTypeSurfaceLoadSetProp
eTypeWall
eTypeWallOpening
eTypeWallRebar
eTypeWallSectionDsnCut
EUnits
Type of unit system.
Value
eUnitsEnglish
eUnitsMetric
eUnitsSI
Description
English units
Metric Units
SI Units
EUserOverride
Indicates if the corresponding value is user overridden
Value
eUserNA
eUserNo
eUserYes
Description
Not Applicable
Value is not overridden by user
Value is user defined or overridden
EVerticalBraceFilter
Vertical brace filter.
Value
eVBFilter_Material
eVBFilter_NoFilter
Description
EMATERIAL
Remove previous filters
EWallFilter
Wall filter.
Value
eWallFilter_FrameType
eWallFilter_Material
eWallFilter_NoFilter
Description
EFRAMETYPE
EMATERIAL
Remove previous filters
EWebOpenPosition
Position of web opening in beam web.
Value
eWebOpenCentered
eWebOpenOffsetToBot
eWebOpenOffsetToCenter
eWebOpenOffsetToTop
Description
Opening is centered in beam web
Opening position is offset from top of beam to bottom of opening
Opening position is offset from top of beam to center of opening
Opening position is offset from top of beam to top of opening
EWebOpenShape
Shape of web opening.
Value
eRectOpening
eCircularOpening
Description
Rectangular opening
Circular opening
EWhichFontAndColor
Font and color for reports.
Value
BodyFontColor
HeaderFontColor
HeadingFontColor
TitleFontColor
Description
Report body
Report header
Report heading
Report title
model_status
Status of a module.
Value
Description
ModelFailedToLoad
ModHadNO_CHANGE
ModIsINVALID
ModIsNOTAVAIL
ModIsNotRead
ModIsVALID
NoRelevantMembers
module_status_light
Status color of a module.
Value
Description
LIGHT_IS_GREEN
LIGHT_IS_GREY
LIGHT_IS_LIGHTBLUE
LIGHT_IS_RED
LIGHT_IS_YELLOW
NO_LIGHT_COLOR
rein_change_type
Reinforcement change
Value
Description
Rein_ContentsChange
Rein_NameChange
Rein_NoChange
Reinforcement changed
Name changed
No changed
WhichModule
RAM Structural System modules.
Value
AllModules
IAmFramingTables
IAmRamConcreteAnalysis
IAmRamConcreteBeam
IAmRamConcreteColumn
IAmRamConcreteShearWall
IAmRamFoundation
IAmRamFrameAnalysis
IAmRamFrameDrift
IAmRamFrameLCombo
IAmRamFrameSpecial
IAmRamFrameStandard
IAmRamManager
IAmRamModeler
IAmRamSteelBeam
Description
All RAM Structural System modules
Framing Tables
RAM Concrete Analysis
RAM Concrete Beam
RAM Concrete Column
RAM Concrete Shear Wall
RAM Foundation
RAM Frame Analysis Load Cases
RAM Frame Drift Control
RAM Frame Analysis Load Combinations
RAM Frame Seismic Provisions
RAM Frame Standard Provisions
RAM Manager
RAM Modeler
RAM Steel Beam
IAmRamSteelColumn
Properties
UID
Properties
GetCount()
Get( in long ) > pItemInterface
GetAt(long index) > pItemInterface
Filter(in Criteria)?
Add() > pItemInterface()
Delete( in UID )
Model
FloorTypes
FloorType
Decks
Deck
SlabPerimeters
SlabPerimeter
SlabOpenings
SlabOpening
LayoutBeams
LayoutBeam
LayoutColumns
LayoutColumn
LayoutWalls
LayoutWall
Points
Point
SlabEdges
SlabEdge
WebOpenings
WebOpening
Points
Point
Points
Point
Beams
Beam
Columns
Column
Walls
Wall
VerticalBraces
VerticalBrace
HorizBraces
HorizBrace
IsolatedFnds
IsolatedFnd
ContFnds
ContFnd
IConcreteCriteria
ISteelCriteria
LayoutHorizBraces
LayoutHorizBrace
LayoutIsolatedFnds
LayoutIsolatedFnd
LayoutContFnds
LayoutIContFnd
LayoutMatPerims
LayoutMatPerim
LayoutMatPropPolys
Stories
Story
Piles
Pile
PileConfigurations
PileConfiguration
ConcSectProps
ConcSecProp
OtherSectProps
OtherSectProp
CompDeckProps
CompDeckProp
ConcSlabProps
ConcSlabProp
NonCompDeckProps
LayoutMatPropPoly
MatFndPropPolys
MatPropPoly
MatFndPerims
LayoutMatPerim
NonCompDeckProp
GridSystems
GridSystem
SteelMaterials
SteelMaterial
ConcreteMaterials
ConcreteMaterial
OtherMaterials
OtherMaterial
Grids
Grid
ClippedFndProps
ClippedFndProp
Points
Point
dw
struct
enum
BOOL
VB/VBA Type
long
double
single
string
Long
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
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:
Open VBA. In MS Word select from the menu Tools-Macro-Visual Basic Editor
In the VBA Editor menu select Tools-References
In the References dialog box select the RAMDataAccess 2.0 Type Library
From the View menu in VB or VBA Editor select Object Browser or press the F2 key on your keyboard
In the Object Browser select RAMDATAACCESSLib from the list of available libraries.
You will see on the left side of the Object Browser a list of:
o DA Structures
o DA Enumerators
o DA Interfaces which in turn contain all the functions in DA
Selecting one of these items will show their contents on the right side of the browser.
Selecting an item from the list on the right (for example a function name) will display some information about that item in the
panel below. For each function the information includes the function name, parameter list and return type as well as a short
description of the function.
Error Handling
One of the advantages of using VB/VBA is that the error handling is built into the system. When you call a method you will need to
check if there was an error and then decide what to do based on the error. After every DA method call, it is a good idea to check for
errors and respond to them. It is very important to trap errors and deal with them, otherwise the program will most likely crash. You
can get the same error message from any initialized interface. You do not need to call the GetLastError for the interface that you had
just used.
After each function call include the following error trap:
'Error Checking
If Err.Number <> 0 Then
BSTR bstrJobName;
m_pIModel-> get_strJobName(&bstrJobName);
The CString constructor will do the conversion from BSTR to CString
CString strJobName(bstrJobName);
Release the BSTR memory
::SysFreeString(bstrJobName);
Passing a String INTO RAM DataAccess:
There are 2 ways to convert to a BSTR.
This method only works for CStrings:
CString strName = My String;
BSTR bstrName;
bstrName = strName.AllocSysString();
This method works for all strings, including CStrings:
CString strName = My String;
BSTR bstrName;
bstrName = _bstr_t(strName);
OR
char cName[100];
strcpy(cName, My String);
BSTR bstrName;
bstrName = _bstr_t(cName);
The following method is used to get the entire rebar table for the concrete column program. Notice that an array of SREIN_PROPs
will be passed by a double pointer.
GetRebarTable_ConcCol([out] long* pnNum,[out] SREIN_PROP** pReinProp);
Example:
First declare the variables:
long nNumRebar;
SREIN_PROP* pReinProp;
The pointer is passed into the method using the & operator which means that it is actually a pointer to the pointer that is passed
into the method.
m_pIModelData->GetRebarTable_ConcCol(&nNumRebar, &pReinProp);
Internally, RAM DataAccess performs the memory allocation necessary and the data is filled into the array.
Once the client is done using the pointer, it must deallocate the memory.
CoTaskMemFree(pReinProp);
NOTE: VB and VBA are not able to use pointers in the manner and are thus not able to gain access to functions that use this method
of memory management.
The Basics
These steps must be followed for any C++ application that will use RAM DataAccess. There is flexibility as to where in your code you
choose to implement these commands.
1. Import RAM DataAccess.dll into your project. This can be done in the header file of the class that will use the dll or in the cpp
file. We recommend putting this code in the header file.
#import "C:\Ram10\prog\RamDataAccess.dll"
using namespace RAMDATAACCESSLib;
Note that #import has a number of optional parameters that you can use. Their use or non-use controls how COM will throw
errors.
2. Declare an instance of the RAMDataAccess1 interface as follows. We recommend doing this in the header file and making
your IRamDataAccess1Ptr a member variable of the class, but they can be local variables as well.
IRamDataAccess1Ptr m_pDA;
3. Assuming you have chosen to use IRamDataAccess1Ptr as a member variable: In the constructor for your class (in the cpp
file), create the IRamDataAccess1Ptr. (If you will be using it as a local variable, this function call must appear at the beginning
of each function with which you will be using RAM DataAccess.)
For a Console App:
CoInitialize(NULL);
m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") );
CoInitialize is a necessary step for a console app.
For MFC Apps that include Automation support:
m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") );
4. Use the m_pDA pointer created above to gain access to other interface pointers.
IModelPtr pIModel = m_pDA->GetInterfacePointerByEnum(IModel_INT);
5. Use the newly created interface pointer to access the library methods.
IStoriesPtr pIStories = pIModel->GetStories();
long lNumStories = pIStories->GetCount();
6. Be sure to close the database and release the pointers. The destructor is a good place to do that.
IDBIO1Ptr pDBIO = m_pDA->GetInterfacePointerByEnum(IDBIO1_INT);
if ((m_strModelName != "") && (pDBIO != NULL) )
{
pDBIO->CloseDatabase();
}
pDBIO.Release();
m_pDA.Release();
pDBIO = NULL;
m_pDA = NULL;
To Begin:
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.
In the SampleConsoleApp example, a class is created that contains all of the code for accessing RAM DataAccess and for creating a
report from the database. The class is accessed from the _tmain function.
Unzip the SampleConsoleApp example that is included in the RAM DataAccess toolkit and open it in the developers studio. Follow
through the steps listed in The Basics to see how they are implemented in a Console App.
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 functions 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.
Meaning
Gravity load modeled in RAM Modeler
Nodal load modeled in RAM Modeler where:
type
W for wind, S for seismic, O for other, V for virtual
W_User
Wind_code_direction
EQ_User
EQ_code_dir_eccentricity
Dyn_code_CQC_direction
Eigen Solution
Center of Rigidity
Virtual Load Case_User
Load Type
Gravity Load case modeled in RAM Modeler
Nodal Lateral load modeled in RAM Modeler
Wind defined in RAM Frame
Seismic defined in RAM Frame
Dynamic defined in RAM Frame
Other defined in RAM Frame
Sub-Load Type
GRAVITY_LOAD
0x0001
Dead Load
POS_RED_LL
POS_STORAGE_LL
POS_NONRED_LL
0x0002
0x0008
0x0080
3 types of positive
Live Load
NEG_RED_LL
NEG_STORAGE_LL
NEG_NONRED_LL
0x0004
0x0010
0x0100
3 types of
negative Live
Load
POS_ROOF_LL
0x0020
NEG_ROOF_LL
0x0040
NodalLateralLoadType WIND_NODAL2
SEISMIC_NODAL2
OTHER_NODAL2
VIRTUAL_NODAL2
WindLoadType
SeismicLoadType
DynamicLoadType
EIGEN_SOLUTION2
RESPONSE_SPECTRA2
RESPONSE_SPECTRA_UBC972
RESPONSE_SPECTRA_IBC20002
OtherLoadType
USER_DEFINED_STORY2
CENTER_RIGIDITY2
VIRTUAL_LOADCASE2
0
1
2
3
0
1
2
3
0
1
2
4 types of nodal
lateral loads
4 types of
Dynamic loads
3 types of Other
loads.