RAM Data Access Developers Guide
RAM Data Access Developers Guide
August 2007
RAM International 2744 Loker Avenue West, Suite 103 Carlsbad, CA 92010 Telephone: (760) 431-3610 Toll Free: (800) 726-7789 Fax: (760) 431-5214
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, RAM International 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.
Copyright attribution: 2007, Bentley Systems, Incorporated. All rights reserved. Trademark attribution: RAM Structural System, RAM Manager, RAM Modeler, RAM Steel, RAM Frame, RAM Foundation and RAM Concrete are either registered or unregistered trademarks or service marks of Bentley Systems, Incorporated or one of its direct or indirect wholly-owned subsidiaries. Other brands and product names are trademarks of their respective owners.
Table of Contents
DISCLAIMER......................................................................................................................................................................................... 2 Introduction ............................................................................................................................................................................................ 9 Basic Concepts of the RAM Object Model ............................................................................................................................................. 9 RAM Structural System Model ........................................................................................................................................................... 9 RAM Object Model Architecture ......................................................................................................................................................... 9 General Information ............................................................................................................................................................................. 11 Version Information .......................................................................................................................................................................... 11 Definitions and Naming Convention ................................................................................................................................................. 11 Method Return values ...................................................................................................................................................................... 12 Database Units................................................................................................................................................................................. 12 A Note about this Documentation..................................................................................................................................................... 13 Getting Started..................................................................................................................................................................................... 13 Opening a Model .............................................................................................................................................................................. 13 Starting a New Model ....................................................................................................................................................................... 13
Creating a floor type ......................................................................................................................................................................................... 13 Defining grid systems ....................................................................................................................................................................................... 14 Creating a story ................................................................................................................................................................................................ 14 Adding columns ................................................................................................................................................................................................ 14 Adding beams, walls or horizontal braces ........................................................................................................................................................ 14 Adding vertical braces ...................................................................................................................................................................................... 14 Defining material properties for a member ....................................................................................................................................................... 15 Assigning sizes to steel members .................................................................................................................................................................... 15 Assigning section properties to concrete members.......................................................................................................................................... 15 Assigning section properties to Other members ............................................................................................................................................. 16
ISteelCriteria .................................................................................................................................................................................... 29
ISteelCriteria Properties ................................................................................................................................................................................... 29
IConcreteCriteria .............................................................................................................................................................................. 30
IFrameAnalysisCriteria ..................................................................................................................................................................... 32
IFrameAnalysisCriteria Properties.................................................................................................................................................................... 32
ISlabEdge......................................................................................................................................................................................... 40
ISlabEdge Properties........................................................................................................................................................................................ 41
IDiaphragms................................................................................................................................................................................... 114 IDiaphragm..................................................................................................................................................................................... 115 IConcSectProps ............................................................................................................................................................................. 115 IConcSectProp ............................................................................................................................................................................... 118
IConcSectProp Properties .............................................................................................................................................................................. 118
ILoadCombinationTerm.................................................................................................................................................................. 135
ILoadCombinationTerm Properties................................................................................................................................................................. 135
ISteelBeamDesignResult ............................................................................................................................................................... 141 IAnalyticalResult............................................................................................................................................................................. 141 IGridSystems.................................................................................................................................................................................. 142 IGridSystem ................................................................................................................................................................................... 143
IGridSystem Properties .................................................................................................................................................................................. 143
IPoints ............................................................................................................................................................................................ 146 IPoint .............................................................................................................................................................................................. 147 IPropertyDefinitions ........................................................................................................................................................................ 148 IPropertyDefinition.......................................................................................................................................................................... 150
IPropertyDef Properties .................................................................................................................................................................................. 152
Original DataAccess Interfaces.......................................................................................................................................................... 155 Common Methods .......................................................................................................................................................................... 155 IRamDataAccess1.......................................................................................................................................................................... 155 IRamDataAccess2.......................................................................................................................................................................... 156 IDBIO1 ........................................................................................................................................................................................... 156 IModelData1................................................................................................................................................................................... 159 IModelData2................................................................................................................................................................................... 162 IModelGeometry1........................................................................................................................................................................... 169 IModelGeometry2........................................................................................................................................................................... 179
IConcColModState1 ....................................................................................................................................................................... 182 IConcColModState2 ....................................................................................................................................................................... 185 IMemberData1 ............................................................................................................................................................................... 185 IMemberData2 ............................................................................................................................................................................... 193 IConcBeamState1 .......................................................................................................................................................................... 195 IConcBeamState2 .......................................................................................................................................................................... 200 IModelStatus1 ................................................................................................................................................................................ 204 IConcCntlrCommon1...................................................................................................................................................................... 204 ILoading1 ....................................................................................................................................................................................... 206 IGravityLoads1 ............................................................................................................................................................................... 210 IGravitySteelDesign1...................................................................................................................................................................... 220 IForces1 ......................................................................................................................................................................................... 223 IForces2 ......................................................................................................................................................................................... 228 IConcAnalysis1 .............................................................................................................................................................................. 233 IConcAnalysisState1 ...................................................................................................................................................................... 234 Structures used in Original DataAccess Interfaces ........................................................................................................................ 236 Common Structure and Enumerator Definitions ................................................................................................................................ 252 Appendix A - RAM Object Model Diagram......................................................................................................................................... 273 Appendix B Using DataAccess from VB/VBA ................................................................................................................................. 274 Limitations of DataAccess from VB/VBA ........................................................................................................................................ 274 Getting Started with DataAccess in VB/VBA .................................................................................................................................. 275
Adding RAM Data Access (DA) to your VBA Project ..................................................................................................................................... 275 Adding RAM Data Access (DA) to your VB Project........................................................................................................................................ 275 Browsing through the DA functions ................................................................................................................................................................ 275 Basic Steps to using DA ................................................................................................................................................................................. 276 Error Handling ................................................................................................................................................................................................ 276
Appendix C Using RAM DataAccess in a Visual C++ Project......................................................................................................... 278 General Instructions for using RAM DataAccess ........................................................................................................................... 278
Using Interface Pointers ................................................................................................................................................................................. 278 Strings and COM ............................................................................................................................................................................................ 278 Memory management and RAM DataAccess ................................................................................................................................................ 279
The Basics ..................................................................................................................................................................................... 280 SAMPLE PROGRAM: A Console App ........................................................................................................................................... 282
To Begin: ........................................................................................................................................................................................................ 282 Programming .................................................................................................................................................................................................. 282
Appendix D - Using RAMDataAccess in C++ with Smart Pointers .................................................................................................... 283 Appendix E Additional Load Case Information................................................................................................................................ 285
Load Case Types (as integers): ..................................................................................................................................................................... 285 Load Case Sub-Load Types (as integers):..................................................................................................................................................... 286
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 3rd 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 ILayoutMember 1 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
Version Information
You will notice that the documentation for each interface, function and property indicates the version that it first became available. The IRamDataAccess2 interface provides a function called GetVersion() to determine the version of RAM DataAccess with which you are working. You want to make sure you have v10.0, for example, if you want to get a property that was first available in v10.0. The IRamDataAccess2 interface was made available in v9.01. To determine if you have the version you need to access a particular function or property, first check to see if you can get the IRamDataAccess2 interface. If you cannot, you have a version that is older than v9.01. If you can get the interface, call GetVersion(). Depending on your program, you may want to make this call right at the beginning and only allow the user to run your program if a certain version of RAMDataAccess.dll or later is available. Or you may just use the version info to decide whether or not to call functions or properties or attempt to get interfaces that are newer.
Meaning
A capital I precedes all interface names. A capital C precedes all class names. A capital E precedes names of enumerators. A capital S precedes names of structures. BSTR, a 32-bit character pointer This is how we pass strings through a COM interface. long, a 32-bit signed integer double, a 64-bit double precision number float, a 32-bit single precision number an enumerated type. Technically a long. DWORD, a 32-bit unsigned integer. a pointer an array Pointer to a pointer for an array. This is used to allocate memory for the array inside of DA.
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] indicates that this is a variable being passed in indicates that a value will be returned in this variable. indicates that a value will be returned as the result of the method call (in VB/VBA or if using #import for C++ users).
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).
Getting Started
This section is an overview of how to accomplish some basic tasks with the Object Model interfaces. For specific functionality of each interface, please refer to the detailed documentation that follows.
Opening a Model
First, create an instance of IRAMDataAccess1 in your project. (Specific instructions for different languages are available in the appendices.) After creating an instance of the IRAMDataAccess1 interface, use the GetInterfacePointerByEnum() (or GetDispInterfacePointerByEnum() if using VB) function to get a pointer to the IDBIO1 interface. With the IDBIO interface, you can use LoadDataBase2() to load an existing model, or CreateNewDatabase2() to start a new model. Once the model is open, get a pointer to the IModel interface. When opening an existing model, you may want to call IDBIO::GetDatabaseVersion() to make sure the database version is what you are expecting. If the database version does not match the version of RAMDataAccess, LoadDatabase() will fail.
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).
IVerticalBraces interface from the IStory interface. This essentially filters the list of braces to those whose top end frames into the story represented by the IStory interface.
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.
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. Available v9.0.
Pointer to an IFloorTypes collection interface that represents all floor types in 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
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
Pointer to an IGridSystems collection interface that represents all grid systems defined in the model
Pointer to an IPiles collection interface that represents all piles defined in the model
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
Unique ID of floor type to retrieve Pointer to an IFloortype interface that represents requested floor type
Unique ID of story to retrieve Pointer to an IStory interface that represents requested story
Unique ID of concrete section property to retrieve Pointer to an IConcSectProp interface that represents the requested concrete section property
Unique ID of Other section property to retrieve Pointer to an IOtherSectProp interface that represents the requested Other section property
Unique ID of composite deck property to retrieve Pointer to an ICompDeckProp interface that represents the requested composite deck property
Unique ID of concrete deck property to retrieve Pointer to an IConcSlabProp interface that represents the requested concrete slab property
Unique ID of steel material property set to retrieve Pointer to an ISteelMaterial interface that represents the requested steel material property set
Unique ID of concrete material property set to retrieve Pointer to an IConcreteMaterial interface that represents the requested concrete material property set
Unique ID of Other material property set to retrieve Pointer to an IOtherMaterial interface that represents the requested Other material property set
Unique ID of grid system to retrieve Pointer to an IGridSystem interface that represents the requested grid system
Unique ID of pile definition to retrieve Pointer to an IPile interface that represents the requested pile
Unique ID of pile configuration definition to retrieve Pointer to an IPileConfiguration interface that represents the requested pile configuration
Unique ID of deck definition to retrieve Pointer to an IDeck interface that represents the requested deck definition
Unique ID of slab perimeter to retrieve Pointer to an ISlabPerimeter interface that represents the requested slab perimeter
Unique ID of slab opening to retrieve Pointer to an ISlabOpening interface that represents the requested slab opening
Unique ID of layout beam to retrieve Pointer to an ILayoutBeam interface that represents the requested layout beam
Unique ID of layout column to retrieve Pointer to an ILayoutColumn interface that represents the requested layout column
Unique ID of layout wall to retrieve Pointer to an ILayoutWall interface that represents the requested layout wall
Unique ID of layout horizontal brace to retrieve Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace
Unique ID of beam to retrieve Pointer to an IBeam interface that represents the requested beam
Unique ID of column for which to retrieve column stack Pointer to an IColumnStack interface that represents the requested column stack
Unique ID of column to retrieve Pointer to an IColumn interface that represents the requested column
Unique ID of wall to retrieve Pointer to an IWall interface that represents the requested wall
Unique ID of vertical brace to retrieve Pointer to an IVerticalBrace interface that represents the requested vertical brace
Unique ID of horizontal brace to retrieve Pointer to an IHorizBrace interface that represents the requested horizontal brace
Unique ID of wall opening to retrieve Pointer to an IRawWallOpening interface that represents the requested wall opening
Unique ID of isolated foundation to retrieve Pointer to an IIsolatedFnd interface that represents the requested isolated foundation
Unique ID of continuous foundation to retrieve Pointer to an IContinuousFnd interface that represents the requested continuous foundation
ppISteelCriteria
Pointer to an ISteelCriteria interface that represents all steel criteria for the model
Pointer to an IConcreteCriteria interface that represents all concrete criteria for the model
IModel Properties
The following properties are available through the IModel interface.
Type double BSTR EBuildingCode BOOL BOOL BOOL BOOL ERoofLLType BOOL BOOL BOOL EUnits Property dVersion strJobName eCodeSelection bIncludeBeamSelfWeight bIncludeColSelfWeight bIncludeWallSelfWeight bIncludeSlabSelfWeight eRoofLiveLoadType bLLRedStoriesInclRoof bLLRedStoriesInclStorLevels bLLRedStoriesInclUnredLevels eDisplayUnits Get X X X X X X X X X X X X Set X X X X X X X X X X X Description Version of the Ram Structural System model Text description of model that can be up to 71 characters Building code by which Live Load Reduction will be calculated Beam self weight will automatically be considered if TRUE Column self weight will automatically be considered if TRUE Wall self weight will automatically be considered if TRUE Slab and deck self weight will automatically be considered if TRUE Indicates whether roof live loads are reducible or whether they are snow 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 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. Unique ID of story that is at ground level. Set available 11.1. If TRUE, loads on beams were combined during gravity analysis. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
long BOOL
lGroundLevel bCombineLoads
X X
10.0 11.0
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.
ISteelCriteria Properties
Type BSTR BSTR BSTR BSTR BSTR BSTR Property strMasterSteelTable strDeckTable strDefSteelBeamTable strAltSteelBeamTable strSteelColumnTable strDefCastellatedTable Get X X X X X X Set X X X X X X Description Master section table that lists all sections to be used during design. File must have a .tab extension. Maximum 32 characters allowed. Deck table to use for composite deck properties. File must have a .dck extension. Maximum 32 characters allowed. Default section table to use when designing steel beams. File must have a .bms extension. Maximum 32 characters allowed. Alternate section table to use when designing steel beams. File must have a .bms extension. Maximum 32 characters allowed. Section table to use when designing steel columns. File must have a .col 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. Alternate 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. Alternate cellular beam section table to use when designing cellular beams. File must have a .cel extension. Maximum 39 characters allowed. Design code to use for design of steel beams Design code to use for design of steel columns Design code to use for design of base plates Fy of stiffeners for web openings Minimum width of stiffeners (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) 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) Increment for stiffener length (used during design of steel beams when stiffeners are required for web openings) Allow stiffeners on one side of web (used during design of steel beams when stiffeners are required for web openings) Ver 9.0 9.0 9.0 9.0 9.0 9.0
BSTR
strAltCastellatedTable
9.0
BSTR BSTR ESteelDesignCode ESteelDesignCode ESteelDesignCode double double double double double double BOOL
strDefCellularTable strAltCellularTable eSteelBeamDesignCode eSteelColumnDesignCode eBasePlateDesignCode dWOStiffenerFy dWOStiffenerMinWidth dWOStiffenerMinThickness dWOStiffenerThicknessInc dWOStiffenerWidthInc dWOStiffenerLengthInc bWOAllowStiffenerOneSide
X X X X X X X X X X X X
X X X X X X X X X X X X
9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
Get X X X
Set X X X
BSTR
strJstDefUniformStdJstTable
BSTR
strJstDefUniformCSJstTable
BSTR
strJstDefCustomLabel
EJstNonUniformLoadOption double
eJstDefNonUniformLoadOption dJstDefMaxConcentratedLoads
X X
X X
BSTR
strJstDefNonUniCSJstTable
double
dJstDefVariationTolerance
X X X
Description Allow stiffeners on both sides of web (used during design of steel beams when stiffeners are required for web openings) Default criteria for joists with uniform load Tolerance for variation for uniform load (0-100%) (Default criteria for joists with uniform load, when eStlJstUniSelectFromStdTable is specified for eJstDefUniformLoadOption) 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. 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. Custom label for joists with uniform loads (default criteria, applies if eStlJstUniUseCustomLabel is specified for eJstDefUniformLoadOption). Max 4 characters allowed. Default criteria for joists with non-uniform load Maximum concentrated loads in kips (default criteria, applies when eStlJstNonUniUseEquivalentMethod is specified for eJstDefNonUniformLoadOption) 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. Tolerance for variation of loads (default criteria, applies when eStlJstNonUniUseEquivalentMethod is specified for eJstDefNonUniformLoadOption) Allowable stress ratio for joists Whether the master table used by the model is stored with the model (TRUE), rather than from the Tables directory (FALSE) Whether the alternate beam design table used by the model is stored with the model (TRUE), rather than from the Tables directory (FALSE)
9.0
9.0
9.0
9.0 9.0
9.0
9.0
IConcreteCriteria
This interface provides access to all concrete design criteria, including the names of any tables used during the design.
IConcreteCriteria Properties
Type BSTR Property strReinforcementTable Get X Set X Description Rebar table to use when designing concrete beams and columns. File must have a .ren extension. Maximum 32 characters allowed. Ver 9.0
X X X
X X X
Table of pans to use for laying out pan joists. File must have a .pnj extension. Maximum 19 characters allowed. Design code for concrete beams and columns Design code for foundations
IFrameAnalysisCriteria
This interface provides access to frame analysis criteria used during an analysis in RAM Frame. Available v10.0.
IFrameAnalysisCriteria Properties
Type BOOL double Property bConsiderPDelta dPDeltaFactor Get X X Set X X Description TRUE if PDelta effect should be considered during analysis, FALSE if not 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 Indicates whether to consider advanced wall meshing criteria. If it is False, default mesh criteria values are used. Advanced wall mesh optimization level (between 1 and 10). The Default is 3. Advanced wall mesh shape quality ratio (between 0.1 and 1). The Default is 0.6. 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). 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 Ver 10.0 10.0 10.0 10.0 10.0 10.0 10.0
X X X X X
X X X X X
BOOL
bOutputForcesAtFace
10.02
IFloorTypes
This interface represents a collection of all floor types for the model. It can be used to add and delete floor types. Available v9.0.
The index into the collection of the requested floor type Pointer to an IFloorType interface that represents the requested floor type, or NULL if lIndex is invalid.
The unique ID of the requested floor type Pointer to an IFloorType interface that represents the requested floor type, or NULL if no floor type is found in the collection with the given unique ID. If the collection is filtered, only the floor types in the filtered collection are considered.
A label for the floor type. Max 19 characters allowed. Pointer to an IFloorType interface that represents the newly added floor type.
Unique ID of floor type to be deleted 0 if floor type is deleted successfully -1 if the unique ID was not found in the filtered list and could not be deleted or if the floor type is associated with one or more stories.
Filter ([in] EFloorTypeFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
Filters the collection of floor types based on given criteria. Available v9.0. 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
EFloorTypeFilter
Description
eFTFilter_UsedInStory Filter by floor types actually used in the story data. eFTFilter_NoFilter Remove all filtering
varFilterCriteria
N/A N/A
IFloorType
This interface represents a single floor type in the model. Available v9.0.
Pointer to an IDecks collection interface that represents all decks defined on this floor type
Pointer to an ISlabPerimeters collection interface that represents all slab perimeters defined on this floor type
Pointer to an ISlabOpenings collection interface that represents all slab openings defined on this floor type
Pointer to an ILayoutBeams collection interface that represents all beams defined on this floor type
Parameters ppILayoutColumns
Pointer to an ILayoutColumns collection interface that represents all columns defined on this floor type
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 IStories collection interface that represents all stories based 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 IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor type. 0 if collection is set
IFloorType Properties
Type long BSTR Property lUID strLabel Get X X Set X Description Unique ID of floor type Label of floor type. Maximum of 19 characters allowed. Ver 9.0 9.0
IDecks
This interface represents a collection of all decks on a floor type. Available v9.0.
The index into the collection of the requested deck Pointer to an IDeck interface that represents the requested deck, or NULL if lIndex is invalid.
The unique ID of the requested deck Pointer to an IDeck interface that represents the requested deck, or NULL if no deck is found in the collection with the given unique ID. If the collection is filtered, only the decks in the filtered collection are considered.
Add ([in] long lDeckPropID, [in] long lNumPoints, [out, retval] IDeck** ppIDeck)
Adds a new deck to the collection of decks for the model. Available v11.0. Parameters lDeckPropID lNumPoints ppIDeck
Unique ID of deck property used by this deck Number of points in the deck polygon. The first and last points of the polygon must be the same point, so the number of points should be the actual number in the polygon plus one. Pointer to an IDeck interface that represents the new deck, or NULL if Add fails
Filter ([in] EDeckFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
Filters the collection of decks based on given criteria. Available v9.0. 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
EDeckFilter
Description
eDeckFilter_Type eDeckFilter_NoFilter Filter by type of deck Remove all filtering
varFilterCriteria
EDeckType N/A
IDeck
This interface represents a specific deck on a floor type. Available v9.0. GetPoints ([out, retval] IPoints** ppIPoints)
Gets the list of points, or vertices, that define the deck polygon. Changing these points does not affect the deck unless SetPoints() is subsequently called. Available v9.0. Parameters ppIPoints
Pointer to IPoints collection that represents the vertices of the deck polygon.
Pointer to IPoints collection that represents the vertices of the deck polygon. 0 if successful
IDeck Properties
Type long EDeckType double Property lUID eDeckPropType dAngle Get X X X Set Description Unique ID of deck Type of deck, either composite, non-composite or concrete Orientation of deck Ver 9.0 9.0 9.0
Type long
Property lPropID
Get X
Set X
Description Unique ID of deck property used by this deck. It must correspond to type of deck. For example, if deck type is composite, this unique ID should correspond to an ICompDeckProp.
Ver 9.0
ISlabPerimeters
This interface represents the collection of slab perimeters on a floor type. Available v9.0.
The index into the collection of the requested slab perimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter, or NULL if lIndex is invalid.
The unique ID of the requested slab perimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter, or NULL if no slab perimeter is found in the collection with the given unique ID. If the collection is filtered, only the slab perimeters in the filtered collection are considered.
ISlabPerimeter
This interface represents a specific slab perimeter on a floor type. Available v9.0.
Pointer to an ISlabEdges collection interface that represents the edges that define this slab perimeter.
ISlabPerimeter Properties
Type long Property lUID Get X Set Description Unique ID of slab perimeter Ver 9.0
ISlabEdges
This interface represents a collection of slab edges. Slab edges are associated with either a slab perimeter or a slab opening. Available v9.0.
ppISlabEdge
Pointer to an ISlabEdge interface that represents the requested slab edge, or NULL if lIndex is invalid.
ISlabEdge
This interface represents a specific slab edge corresponding to a slab perimeter or slab opening. Available v9.0.
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. Available v9.0. Parameters pdStartX pdStartY pdEndX pdEndY plRetval
The x coordinate at the start of the slab edge The y coordinate at the start of the slab edge The x coordinate at the end of the slab edge The y coordinate at the end of the slab edge 0 if successful, -1 if coordinates cannot be retrieved
SetCoordinates ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [out, retval] long* plRetval)
Gets the coordinates for the slab edge in 2-dimensions. Available v9.0. Parameters dStartX dStartY dEndX dEndY plRetval
The x coordinate at the start of the slab edge The y coordinate at the start of the slab edge The x coordinate at the end of the slab edge The y coordinate at the end of the slab edge 0 if successful, -1 if coordinates cannot be set
ISlabEdge 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. Ver 9.0
ISlabOpenings
This interface represents a collection of all slab openings on a floor type. Available v9.0.
The index into the collection of the requested slab opening Pointer to an ISlabOpening interface that represents the requested slab opening, or NULL if lIndex is invalid.
The unique ID of the requested slab perimeter Pointer to an ppISlabOpening interface that represents the requested slab opening, or NULL if no slab opening is found in the collection with the given unique ID.
ISlabOpening
This interface represents a specific slab opening on a floor type. Available v9.0.
Pointer to an ISlabEdges collection interface that represents the edges that define this slab opening.
ISlabOpening Properties
Type long Property lUID Get X Set Description Unique ID of slab opening Ver 9.0
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.) Available v9.0.
The index into the collection of the requested layout beam Pointer to an ILayoutBeam interface that represents the requested layout beam, or NULL if lIndex is invalid.
The unique ID of the requested layout beam Pointer to an ILayoutBeam interface that represents the requested layout beam, or NULL if no layout beam is found in the collection with the given unique ID.
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. Available v9.0. Parameters eMat dStartSupportX dStartSupportY dZOffset1 dEndSupportX dEndSupportY dZOffset2 ppILayoutBeam
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). Y coordinate of the support point at the start of the beam (i-end). Z offset value from the story elevation for the support point at the start of the beam (i-end). X coordinate of the support point at the end of the beam (j-end). Y coordinate of the support point at the end of the beam (j-end). Z offset value from the story elevation for the support point at the end of the beam (j-end). Pointer to an ILayoutBeam interface that represents the newly added layout beam.
Unique ID of layout beam to delete 0 if layout beam is deleted successfully -1 if unique ID is not found in filtered list of layout beams
Filter ([in] EBeamFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout beams based on given criteria. Available v9.0. 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
EBeamFilter
Description
eBeamFilter_Material Filter by material of beams eBeamFilter_FrameType Filter by member type (lateral vs. gravity) eBeamFilter_NoFilter Remove all prior filtering
varFilterCriteria
EMATERIALTYPES EFRAMETYPE N/A
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. Available v9.0. GetWebOpenings ([out, retval] IWebOpenings** ppIWebOpenings )
Gets an interface for a collection of web openings associated with this layout beam. Collection may be empty if no web openings are defined on this beam. Available v9.0. Parameters ppIWebOpenings
Pointer to an IWebOpenings interface that represents the collection of web openings defined on this layout beam.
Pointer to an IBeams interface that represents the collection of story beams associated with this layout 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. Available v9.0. Parameters pdStartSupportX pdStartSupportY pdStartSupportZOffset pdEndSupportX pdEndSupportY pdEndSupportZOffset plRetval
X coordinate of the support point at the start of the beam (i-end). Y coordinate of the support point at the start of the beam (i-end). Z offset value from the story elevation for the support point at the start of the beam (i-end). X coordinate of the support point at the end of the beam (j-end). Y coordinate of the support point at the end of the beam (j-end). Z offset value from the story elevation for the support point at the end of the beam (j-end). 0 if successful -1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dStartSupportX, [in] double dStartSupportY, [in] double dStartSupportZOffset, [in] double dEndSupportX, [in] double dEndSupportY, [in] double dEndSupportZOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout 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. Available v9.0. Parameters dStartSupportX dStartSupportY dStartSupportZOffset dEndSupportX dEndSupportY dEndSupportZOffset plRetval
X coordinate of the support point at the start of the beam (i-end). Y coordinate of the support point at the start of the beam (i-end). Z offset value from the story elevation for the support point at the start of the beam (i-end). X coordinate of the support point at the end of the beam (j-end). Y coordinate of the support point at the end of the beam (j-end). Z offset value from the story elevation for the support point at the end of the beam (j-end). 0 if successful -1 if coordinates cannot be set
ILayoutBeam 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 long EMATERIALTYPES long long double double EJoistType EFRAMETYPE long BOOL long BOOL BOOL BOOL BOOL BOOL BOOL BSTR Property lUID eMaterial lMaterialID lLabel dStartCantileverLength dEndCantileverLength eMemberJoistType eFramingType lFrameNumber bComposite lBeamLineNumber bTorFixedStart bTorFixedEnd bMinAxisBendFixedStart bMinAxisBendFixedEnd bMajAxisBendFixStart bMajAxisBendFixEnd strSectionLabel X X X X X X X X X X X X X X X X X X X X X Get X Set Description Unique ID of layout beam. This unique ID corresponds to the beam on the top story associated with this floor type, if any. Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat, or EOtherMat. 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. Numeric label of beam used for on-screen display in RAM Structural System. It is unique per floor type. Length of cantilever at start of beam (i-end) Length of cantilever at end of beam (j-end) Type of joist (if beam material type is ESteelJoistMat) Whether member is lateral or gravity Frame number for lateral members. It must be positive number. If TRUE, beam is composite. If FALSE, beam is non-composite. Beam line that beam is part of (applicable only if this is a concrete beam). Torsion release at start of beam (i-end). Torsion release at end of beam (j-end). Minor axis bending release at start of beam (i-end). Minor axis bending release at end of beam (j-end). Major axis bending release at start of beam (i-end). Major axis bending release at end of beam (j-end). 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. 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. Whether beam will be optimized or analyzed during design Whether beam size will be found in default or alternate steel beam design table 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. 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. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
long
lSectionID
9.0
X X X
X X X
double
dManufacturerSelfWeight
11.0
Get X X X
Set X X X
double double
dCellularS dCellularDo
X X
X X
Description Whether the beam is a castellated or cellular smartbeam. Only applicable if eMaterial is ESmartbeamBeamMat. 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. 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. Do is the hole diameter for cellular beams.
11.1 11.1
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. Available v9.0.
The index into the collection of the requested web opening. Pointer to an IWebOpening interface that represents the requested web opening, or NULL if lIndex is invalid.
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. Available v9.0. Parameters dDistFromStartOfBeam eShape dHOrDiam dB
Distance from start of beam to center of web opening Shape of web opening Height of rectangular opening, or diameter of circular opening Width of rectangular opening
ppIWebOpening
Pointer to an IWebOpening interface that represents the newly added web opening.
Index of web opening to delete 0 if web opening is deleted successfully -1 if lIndex is invalid
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. Available v9.0.
IWebOpening Properties
Type long EWebOpenShape double double double EWebOpenPosition double long double double double BOOL double Property lUID eShape dDistFromStartOfBeam dHeightOrDiam dWidth ePositionInWeb dDistFromTop lNumStiffeners dStiffenerLength dStiffenerWidth dStiffenerThickness bPassed dWeldSize Get X X X X X X X X X X X X X Set Description The ID of this opening in the collection of openings for a particular beam (not unique within the model) Shape of the web opening Distance from start of beam to center of web opening Height (H) of web opening if shape is rectangular, or diameter of opening if circular Width (B) of web opening if shape is rectangular Position of web opening in beam web. If not centered, an offset must be provided. 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) Indicates if stiffeners are required on 0, 1 or 2 sides of the opening (determined during steel beam design) Length of stiffener, if required. Width of stiffener, if required. Thickness of stiffener, if required. Whether the design of the web opening passed or failed. Size of weld for stiffener, if required. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
X X X X 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.)
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.
The unique ID of the requested layout horizontal brace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace, or NULL if no layout horizontal brace is found in the collection with the given unique ID.
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. Available v9.0. 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.
Unique ID of layout horizontal brace to delete 0 if layout horizontal brace is deleted successfully -1 if unique ID is not found in filtered list of layout horizontal braces
Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout horizontal braces based on given criteria. Available v9.0. 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
EHorizBraceFilter
Description
eHBFilter_Material eHBFilter_NoFilter Filter by material of horizontal braces Remove all prior filtering
varFilterCriteria
EMATERIALTYPES N/A
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. Available v9.0.
Pointer to an IHorizBraces interface that represents the collection of story horizontal braces associated with this layout horizontal brace.
GetLayoutCoordinates ([out] double *pdStartSupportX, [out] double *pdStartSupportY, [out] double *pdStartSupportZOffset, [out] double *pdEndSupportX, [out] double *pdEndSupportY, [out] double *pdEndSupportZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout horizontal brace. Available v9.0. Parameters pdStartSupportX pdStartSupportY pdStartSupportZOffset pdEndSupportX pdEndSupportY pdEndSupportZOffset plRetval
X coordinate of the support point at the start of the beam (i-end). Y coordinate of the support point at the start of the beam (i-end). Z offset value from the story elevation for the support point at the start of the beam (i-end). X coordinate of the support point at the end of the beam (j-end). Y coordinate of the support point at the end of the beam (j-end). Z offset value from the story elevation for the support point at the end of the beam (j-end). 0 if successful -1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dStartSupportX, [in] double dStartSupportY, [in] double dStartSupportZOffset, [in] double dEndSupportX, [in] double dEndSupportY, [in] double dEndSupportZOffset, [in] double dStartCantlLength, [in] double dEndCantlLength, [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, as will the cantilevers that are specified if any. Available v9.0. Parameters dStartSupportX dStartSupportY dStartSupportZOffset dEndSupportX dEndSupportY dEndSupportZOffset dStartCantlLength dEndCantlLength plRetval
X coordinate of the support point at the start of the beam (i-end). Y coordinate of the support point at the start of the beam (i-end). Z offset value from the story elevation for the support point at the start of the beam (i-end). X coordinate of the support point at the end of the beam (j-end). Y coordinate of the support point at the end of the beam (j-end). Z offset value from the story elevation for the support point at the end of the beam (j-end). Cantilever length at the start end of the beam Cantilever length at the end send of the beam. 0 if successful -1 if coordinates cannot be set
ILayoutHorizBrace 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 long EMATERIALTYPES long Property lUID eMaterial lMaterialID Get X X X Set Description Unique ID of layout horizontal brace. This unique ID corresponds to the beam on the top story associated with this floor type, if any. Material type of horizontal brace. Valid options for horizontal braces are ESteelMat, EConcreteMat, or EOtherMat. 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. Numeric label of horizontal brace used for on-screen display in RAM Structural System. It is unique per floor type. 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. 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. Torsion release at start of horizontal brace (i-end). Torsion release at end of horizontal brace (j-end). Minor axis bending release at start of horizontal brace (i-end). Minor axis bending release at end of horizontal brace (j-end). Major axis bending release at start of horizontal brace (i-end). Major axis bending release at end of horizontal brace (j-end). Indicates whether horizontal brace takes tension, compression, or both 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. Spacing distance between angles of double angle section. Applies to a steel horizontal brace that has been assigned a double angle section. 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. Ver 9.0 9.0 9.0
long BSTR
lLabel strSectionLabel
X X
9.0 9.0
long
lSectionID
9.0
X X X X X X X X
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.) Available v9.0.
The index into the collection of the requested layout column Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if lIndex is invalid.
The unique ID of the requested layout column Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if no layout column is found in the collection with the given unique ID.
Add ([in] EMATERIALTYPES eMat, [in]double dX, [in] double dY, [in]double dZTopOffset, [in]double dZBotOffset, [out, retval]
ILayoutColumn** ppILayoutColumn)
Adds a new 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. Available v9.0. 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 for the top of the column Z offset value from the story elevation for the bottom of the column (measured from the elevation of the story below) Pointer to an ILayoutColumn interface that represents the newly added layout column.
Unique ID of layout column to delete 0 if layout column is deleted successfully -1 if unique ID is not found in filtered list of layout columns
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout columns based on given criteria. Available v9.0. 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
EColumnFilter
Description
eColFilter_FrameType eColFilter_NoFilter Filter by member type (lateral vs. gravity) Remove all prior filtering
varFilterCriteria
EFRAMETYPE N/A
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. Available v9.0.
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 *pdZTopOffset, [out]double *pdZBotOffset, [out, retval]
long* plRetval)
Gets the coordinates of the layout column. Available v9.0. Parameters pdX pdY pdZTopOffset pdZBotOffset plRetval
X coordinate of the column Y coordinate of the column Z offset value from the story elevation for the top of the column Z offset value from the story elevation for the bottom of the column 0 if successful -1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZTopOffset, [in] double dZBotOffset, [out, retval] long*
plRetval)
Sets the coordinates of the layout column. Available v9.0. Parameters dX dY dZTopOffset dZBotOffset plRetval
X coordinate of the column Y coordinate of the column Z offset value from the story elevation for the top of the column Z offset value from the story elevation for the bottom of the column 0 if successful -1 if coordinates cannot be set
ILayoutColumn 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 long EMATERIALTYPES long long double EFRAMETYPE long BOOL BOOL BOOL BOOL BOOL BOOL BSTR Property lUID eMaterial lMaterialID lLabel dOrientation eFramingType lFrameNumber bTorFixedTop bTorFixedBot bMinAxisBendFixedTop bMinAxisBendFixedBot bMajAxisBendFixTop bMajAxisBendFixBot strSectionLabel X X X X X X X X X X X X X X Get X Set Description Unique ID of layout column. This unique ID corresponds to the column on the top story associated with this floor type, if any. Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or EOtherMat. 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. Numeric label of column used for on-screen display in RAM Structural System. It is unique per floor type. Orientation of column in degrees. Angle measured between web of column and x-axis. Whether member is lateral or gravity Frame number for lateral members. Must be positive number. Torsion release at top of column (i-end). Torsion release at bottom of column (j-end). Minor axis bending release at top of column (i-end). Minor axis bending release at bottom of column (j-end). Major axis bending release at top of column (i-end). Major axis bending release at bottom of column (j-end). 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. 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. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
long
lSectionID
9.0
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.) Available v9.0.
The index into the collection of the requested layout wall Pointer to an ILayoutWall interface that represents the requested layout wall, or NULL if lIndex is invalid.
The unique ID of the requested layout wall Pointer to an ILayoutWall interface that represents the requested layout wall, or NULL if no layout wall is found in the collection with the given unique ID.
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. Available v9.0.
Parameters eMat dStartX dStartY dStartZTopOffset dStartZBotOffset dEndX dEndY dEndZTopOffset dEndZBotOffset dThickness ppILayoutWall
Material type of wall to add. (Valid options are EWallPropConcreteMat or EWallPropOtherMat). X coordinate of start of the wall (i-end). Y coordinate of start of the wall (i-end). Z offset value from the story elevation for start of wall at top (i-end). Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story below). 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 end of the wall at top (j-end). Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the story below). Thickness of the wall Pointer to an ILayoutWall interface that represents the newly added layout wall.
Unique ID of layout wall to delete 0 if layout wall is deleted successfully -1 if unique ID is not found in filtered list of layout walls
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout walls based on given criteria. Available v9.0. 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
EWallFilter
Description
eWallFilter_FrameType eWallFilter_NoFilter Filter by member type (lateral vs. gravity) Remove all prior filtering
varFilterCriteria
EFRAMETYPE N/A
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. Available v9.0.
Pointer to an IWalls interface that represents the collection of story walls associated with this layout wall.
GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZTopOffset, [out]double
*pdStartZBotOffset, [out] double *pdEndX, [out] double *pdEndY, [out] double *pdEndZTopOffset, [out]double *pdEndZBotOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout wall. Available v9.0. Parameters pdStartX pdStartY pdStartZTopOffset pdStartZBotOffset pdEndX pdEndY pdEndZTopOffset pdEndZBotOffset plRetval
X coordinate of start of the wall (i-end). Y coordinate of start of the wall (i-end). Z offset value from the story elevation for start of wall at top (i-end). Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story below). 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 end of the wall at top (j-end). Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the story below). 0 if successful -1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dStartX, [in] double dStartY, [in] double dStartZTopOffset, [in] double dStartZBotOffset, [in] double dEndX, [in] double dEndY, [in] double dEndZTopOffset, [in] double dEndZBotOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout wall. Walls must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they will be reversed. Available v9.0. Parameters dStartX dStartY dStartZTopOffset dStartZBotOffset dEndX dEndY dEndZTopOffset dEndZBotOffset plRetval
X coordinate of start of the wall (i-end). Y coordinate of start of the wall (i-end). Z offset value from the story elevation for start of wall at top (i-end). Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story below). 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 end of the wall at top (j-end). Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the story below). 0 if successful -1 if coordinates cannot be set
ILayoutWall Properties
When a property is set through the ILayoutWall interface, all columns represented by this interface will be updated.
Type long EMATERIALTYPES long long EFRAMETYPE long double double Property lUID eMaterial lMaterialID lLabel eFramingType lFrameNumber dThickness dCrackedFactor Get X Set Description Unique ID of layout wall. This unique ID corresponds to the wall on the top story associated with this floor type, if any. Material type of wall. Valid options for walls are EWallPropConcreteMat or EWallPropOtherMat. 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. Numeric label of wall used for on-screen display in RAM Structural System. It is unique per floor type. Whether member is lateral or gravity Frame number for lateral members. Must be positive number. Thickness of wall. Cracked factor. Applies if wall is concrete. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
X X X X X X X X
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.) Available v9.0.
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. Available v9.0. Parameters eType dX dY dZOffset ppILayoutIsolatedFnd
Type of isolated foundation (i.e. spread footing, pile cap) X coordinate of the center of the footing Y coordinate of the center of the footing Z offset value from the story elevation for the top of the footing Pointer to an ILayoutIsolatedFnd interface that represents the newly added layout isolated foundation.
Unique ID of layout isolated foundation to delete 0 if layout isolated foundation is deleted successfully -1 if unique ID is not found in filtered list of layout isolated foundations
Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout isolated foundations based on given criteria. Available v9.0. 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
EIsolatedFndFilter
Description
eIFFilter_Type eIFFilter_NoFilter Filter by type of footing Remove all prior filtering
varFilterCriteria
EIsolatedFndType N/A
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. Available v9.0.
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. Available v9.0. Parameters pdX pdY pdZTopOffset plRetval
X coordinate of the center of the footing Y coordinate of the center of the footing Z offset value from the story elevation for the top of the footing 0 if successful -1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout isolated foundation. Available v9.0. Parameters dX dY dZTopOffset plRetval
X coordinate of the center of the footing Y coordinate of the center of the footing Z offset value from the story elevation for the top of the footing 0 if successful -1 if coordinates cannot be set
ILayoutIsolatedFnd Properties
Type long EIsolatedFndType long long double double double double double double long Property lUID eType lMaterialID lLabel dOrientation dLeft dRight dTop dBottom dThickness lPileID Get X X X X X X X X X X X X X X X X X X Set X Description Unique ID of layout foundation. Type of isolated foundation (i.e. spread footing, pile cap) Unique ID of material properties for this isolated foundation. Foundations are always concrete. See section Getting material properties for a member for more information. Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type. Orientation of foundation Dimension from center of foundation to left edge of footing when footing major axis is parallel to global X-axis Dimension from center of foundation to right edge of footing when footing major axis is parallel to global X-axis Dimension from center of foundation to top edge of footing when footing major axis is parallel to global X-axis Dimension from center of foundation to bottom edge of footing when footing major axis is parallel to global X-axis Thickness of foundation 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. 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. Indicates whether or not the dimensions returned for the footing are from the design or not Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
long
lPileConfigurationID
9.0
BOOL
bDimensionsFromDesign
9.0
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.) Available v9.0.
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. Available v9.0. Parameters dStartX dStartY dEndX dEndY dZOffset ppILayoutContinuousFnd
X coordinate of the center of the start of the footing Y coordinate of the center of the start of the footing X coordinate of the center of the end of the footing Y coordinate of the center of the end of the footing Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing Pointer to an ILayoutContinuousFnd interface that represents the newly added layout isolated foundation.
Unique ID of layout continuous foundation to delete 0 if layout continuous foundation is deleted successfully -1 if unique ID is not found in filtered list of layout continuous foundations
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. Available v9.0.
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. Available v9.0. Parameters pdStartX pdStartY pdEndX pdEndY pdZOffset plRetval
X coordinate of the center of the start of the footing Y coordinate of the center of the start of the footing X coordinate of the center of the end of the footing Y coordinate of the center of the end of the footing Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing 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. Available v9.0. Parameters dStartX dStartY dEndX
X coordinate of the center of the start of the footing Y coordinate of the center of the start of the footing X coordinate of the center of the end of the footing
Y coordinate of the center of the end of the footing Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing 0 if successful -1 if coordinates cannot be set
ILayoutContinuousFnd Properties
Type long long long double double double double double double BOOL Property lUID lMaterialID lLabel dOrientation dLeft dRight dTop dBottom dThickness bDimensionsFromDesign Get X X X X X X X X X X Set Description Unique ID of layout continuous foundation. Unique ID of material properties for this continuous foundation. Foundations are always concrete. See section Getting material properties for a member for more information. Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type. Orientation of foundation Dimension from center of foundation to left edge defined when footing major axis is parallel to global Xaxis Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-axis Dimension from center of foundation to top edge defined when footing major axis is parallel to global Xaxis Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global X-axis Thickness of foundation Indicates whether or not the dimensions returned for the footing are from the design or not Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
X X X X X
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. Available v11.0.
Unique ID of the requested line load set Pointer to an ILineLoadSet interface that represents the requested line load set, or NULL if no line load set is found in the collection with the given unique ID.
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.
Unique ID of line load set to delete 0 if line load set is deleted successfully -1 if unique ID is not found in list of point load sets
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. Available v11.0. 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.
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. Available v11.0.
Properties
Type long long SCoordinate SCoordinate Property lUID lPropertySetUID sCoordinateStart sCoordinateEnd Get X X X X Set X X X Description Unique ID of the Line Load Set The UID of the LineLoadPropertySet associated with the line load set Location of start of the line load (only X and Y are used) Location of end of the line load (only X and Y are used) Ver 11.0 11.0 11.0 11.0
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. Available v11.0.
Unique ID of the requested point load set Pointer to an IPointLoadSet interface that represents the requested point load set, or NULL if no point load set is found in the collection with the given unique ID.
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.
Unique ID of point load set to delete 0 if point load set is deleted successfully -1 if unique ID is not found in list of point load sets
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. Available v11.0. 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.
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. Available v11.0.
Properties
Type long long SCoordinate Property lUID lPropertySetUID sCoordinate Get X X X Set X X Description Unique ID of the Point Load Set The UID of the PointLoadPropertySet associated with the point load Location of the point load (only X and Y are used) Ver 11.0 11.0 11.0
IStories
This interface represents a collection of all stories in the model. It can be used to add and delete stories. Available v9.0.
The index into the collection of the requested story Pointer to an IStory interface that represents the requested story, or NULL if lIndex is invalid.
The unique ID of the requested story Pointer to an IStory interface that represents the requested story, or NULL if no story is found in the collection with the given unique ID.
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. Available v9.0. Parameters lFlrTypeID bstrStoryName dFloorHeight ppIStory
The unique ID of the floor type to associate with this story A label for the story. Limited to 19 characters. The height of this story (not the elevation, but the distance from floor to ceiling) Pointer to an IStory interface that represents the newly added story.
Unique ID of story to delete 0 if story is deleted successfully -1 if unique ID is not found in collection of story
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
IStory
This interface represents a single story in the model. Available v9.0.
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 IWalls collection interface that represents all walls associated with this story
Pointer to an IVerticalBraces collection interface that represents all vertical braces at 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 IDiaphragms collection interface that represents all diaphragms associated with this story
Pointer to an IFloorType interface that represents the floor type associated with this story
Unique ID of vertical brace to delete 0 if vertical brace is deleted successfully -1 if unique ID is not found in list of vertical braces on this story
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. Available v9.0. 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
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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IStory Properties
Type long BSTR long double double BOOL Property lUID strLabel lLevel dFlrHeight dElevation bStySpliceAtSty Get X X X X X X Set X Description Unique ID of story. Label of story. Limited to 19 characters. The level of the story, with 1 being the lowest story The height of this story (not the elevation, but the distance from floor to ceiling) The elevation of the story from ground level to the bottom of the story If TRUE, all columns will be spliced at this story Ver 9.0 9.0 9.0 9.0 9.0 9.0
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. Available v9.0.
The index into the collection of the requested beam Pointer to an IBeam interface that represents the requested beam, or NULL if lIndex is invalid.
The unique ID of the requested layout beam Pointer to an IBeam interface that represents the requested beam, or NULL if no beam is found in the collection with the given unique ID.
Filter ([in] EBeamFilter eBeamFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of beams based on given criteria. Available v9.0. Parameters eFilter varFilterCriteria plRetval
Indicates the type of filter to use on the collection 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
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. Available v9.0.
GetCoordinates ([in] EBeamCoordLoc eBeamCoordLoc, [out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out, retval] long* plRetval)
Gets the indicated coordinates for the beam. Available v9.0. Parameters eBeamCoordLoc pStartPoint pEndPoint plRetval
Whether to get the end coordinates or the support coordinates SCoordinate corresponding to the start of the beam SCoordinate corresponding to the end of the beam 0 if successful -1 if coordinates cannot be retrieved
EBeamCoordLoc
eBeamEnds eBeamSupports
Description The beam end coordinates (at ends of cantilevers, if any) The beam support coordinates
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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
Pointer to an ISteelBeamDesignResult interface that represents the design results for this member
Pointer to an IAnalyticalResult interface that represents the analysis results for this member.
IBeam 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 long EMATERIALTYPES long long double double EJoistType EFRAMETYPE Property lUID eMaterial lMaterialID lLabel dStartCantileverLength dEndCantileverLength eMemberJoistType eFramingType Get X X X X X X X X Set X Description Unique ID of beam. Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat, or EOtherMat. 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. Numeric label of beam used for on-screen display in RAM Structural System. It is unique per floor type. Length of cantilever at start of beam (i-end) Length of cantilever at end of beam (j-end) Type of joist (if beam material type is ESteelJoistMat) Whether member is lateral or gravity Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
Type long BOOL double long BOOL BOOL BOOL BOOL BOOL BOOL BSTR
Property lFrameNumber bComposite dCamber lBeamLineNumber bTorFixedStart bTorFixedEnd bMinAxisBendFixedStart bMinAxisBendFixedEnd bMajAxisBendFixStart bMajAxisBendFixEnd strSectionLabel
Get X X X X X X X X X X X
Set X X X X X X X X X X
long
lSectionID
ESTEEL_SEC
eOptimizeShape
Description Frame number for lateral members. It must be positive number. If TRUE, beam is composite. If FALSE, beam is non-composite. Camber of the beam (Set became available in v10.04) Beam line that beam is part of (applicable only if this is a concrete beam). Torsion release at start of beam (i-end). Torsion release at end of beam (j-end). Minor axis bending release at start of beam (i-end). Minor axis bending release at end of beam (j-end). Major axis bending release at start of beam (i-end). Major axis bending release at end of beam (j-end). 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. 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. Shape for which beam is to be optimized (if section is not user-defined).
Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
9.0
9.0
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. Available v9.0.
The index into the collection of the requested horizontal brace Pointer to an IHorizBrace interface that represents the requested horizontal brace, or NULL if lIndex is invalid.
The unique ID of the requested layout horizontal brace Pointer to an IHorizBrace interface that represents the requested horizontal brace, or NULL if no horizontal brace is found in the collection with the given unique ID.
Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout horizontal braces based on given criteria. Available v9.0. Parameters eFilter varFilterCriteria plRetval
Indicates the type of filter to use on the collection 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
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. Available v9.0.
GetEndCoordinates ([out] SCoordinate* pStartPoint, [out] SCoordinate* pEndPoint, [out, retval] long* plRetval)
Gets the end coordinates for the horizontal brace. Available v9.0. Parameters pStartPoint pEndPoint plRetval
SCoordinate corresponding to the start of the horizontal brace SCoordinate corresponding to the end of the horizontal brace 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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IHorizBrace 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 long EMATERIALTYPES long Property lUID eMaterial lMaterialID Get X X X Set Description Unique ID of horizontal brace. Material type of horizontal brace. Valid options for horizontal braces are ESteelMat, EConcreteMat, or EOtherMat. 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. Numeric label of horizontal brace used for on-screen display in RAM Structural System. It is unique per floor type. 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. 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. Torsion release at start of horizontal brace (i-end). Torsion release at end of horizontal brace (j-end). Minor axis bending release at start of horizontal brace (i-end). Minor axis bending release at end of horizontal brace (j-end). Major axis bending release at start of horizontal brace (i-end). Major axis bending release at end of horizontal brace (j-end). Indicates whether horizontal brace takes tension, compression, or both 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. Spacing distance between angles of double angle section. Applies to a steel horizontal brace that has been assigned a double angle section. 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. Ver 9.0 9.0 9.0
long BSTR
lLabel strSectionLabel
X X X
9.0 9.0
long
lSectionID
9.0
X X X X X X X X
X X X X X X X X
X X X
X X X
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. Available v9.0.
The index into the collection of the requested vertical brace Pointer to an IVerticalBrace interface that represents the requested vertical brace, or NULL if lIndex is invalid.
The unique ID of the requested vertical brace Pointer to an IVerticalBrace interface that represents the requested vertical brace, or NULL if no vertical brace is found in the collection with the given unique ID.
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. Available v9.0. 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.
Unique ID of vertical brace to delete 0 if vertical brace is deleted successfully -1 if unique ID is not found in filtered list of vertical braces
Filter ([in] EVerticalBraceFilter eVertBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of vertical braces based on given criteria. Available v9.0. 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
EVerticalBraceFilter
Description
eVBFilter_Material Filter by material of walls
varFilterCriteria
EMATERIALTYPES
eVBFilter_NoFilter
N/A
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
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. Available v9.0.
GetEndCoordinates ([out] SCoordinate* pTopPoint, [out] SCoordinate* pBottomPoint, [out, retval] long* plRetval)
Gets the end coordinates for the vertical brace. Available v9.0. Parameters pTopPoint pBottomPoint plRetval
SCoordinate corresponding to the top of the brace SCoordinate corresponding to the bottom of the brace 0 if successful -1 if coordinates cannot be retrieved
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. Available v9.0. Parameters lTopStoryID dTopX dTopY dTopZOffset lBotStoryID dBotX dBotY dBotZOffset plRetval
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 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). 0 if successful -1 if coordinates cannot be set
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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IVerticalBrace Properties
Type long Property lUID Get X Set Description Unique ID of vertical brace. Ver 9.0
Get X X
Set X
long BSTR
lLabel strSectionLabel
X X X
long
lSectionID
X X X X X X X X X
X X X X X X X X X
X X X
X X X
long long
lStoryAtTopID lStoryAtBotID
X X
Description Material type of vertical brace. Valid options for vertical braces are ESteelMat, EConcreteMat, or EOtherMat. 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. Numeric label of vertical brace used for on-screen display in RAM Structural System. 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. 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. Frame number for lateral members. It must be positive number. Torsion release at top of vertical brace. Torsion release at bottom of vertical brace. Minor axis bending release at top of vertical brace. Minor axis bending release at bottom of vertical brace. Major axis bending release at top of vertical brace. Major axis bending release at bottom of vertical brace. Indicates whether vertical brace takes tension, compression, or both 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. Spacing distance between angles of double angle section. Applies to a steel vertical brace that has been assigned a double angle section. 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. Unique ID of story into which top of brace frames Unique ID of story into which bottom of brace frames
9.0 9.0
9.0
9.0 9.0
IColumnStack
This interface represents a single column stack in the model. Available v11.01. GetColumns ( [out, retval] IColumns** ppIColumns)
Gets a collection interface for all the columns in the column stack. Available v11.01.
Properties
Type BSTR long Property strGridLabel lBasePlateColumnID Get X X Set Description Get the grid intersection label at this column stack Unique ID of column at which the base plate occurs Ver 11.01 11.01
IBasePlate
This interface represents a single base plate. Available v11.01.
Properties
Type long double double double double Property lColumnID dWidth dLength dThickness dAngle Get X X X X X Set Description Unique ID of the column associated with this base plate Width of base plate Length of base plate (in direction of column major axis) Thickness of base plate The angle of the dLength axis with the X=0 Axis, counterclockwise. Ver 11.01 11.01 11.01 11.01 11.01
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. Available v9.0.
The index into the collection of the requested column Pointer to an IColumn interface that represents the requested column, or NULL if lIndex is invalid.
The unique ID of the requested column Pointer to an IColumn interface that represents the requested column, or NULL if no column is found in the collection with the given unique ID.
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of columns based on given criteria. Available v9.0. Parameters eColumnFilter varFilterCriteria plRetval
Indicates the type of filter to use on the collection 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
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. Available v9.0.
GetEndCoordinates ([out] SCoordinate* pTopPoint, [out] SCoordinate* pBottomPoint, [out, retval] long* plRetval)
Gets the end coordinates for the column. Available v9.0. Parameters pTopPoint pBottomPoint plRetval
SCoordinate corresponding to the top of the column SCoordinate corresponding to the bottom of the column 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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IColumn 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 long EMATERIALTYPES long long double double Property lUID eMaterial lMaterialID lLabel dOrientation dZBotOffset Get X X X X X X Set X Description Unique ID of column. Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or EOtherMat. 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. Numeric label of column used for on-screen display in RAM Structural System. Each member type is uniquely numbered per floor type. Orientation of column with respect to the global axis system. 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 member is lateral or gravity 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. Torsion release at top of column (i-end). Torsion release at bottom of column (j-end). Minor axis bending release at top of column (i-end). Minor axis bending release at bottom of column (j-end). Major axis bending release at top of column (i-end). Major axis bending release at bottom of column (j-end). 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. 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. Ver 9.0 9.0 9.0 9.0 9.0 9.0
EFRAMETYPE long
eFramingType lFrameNumber
X X
9.0 9.0
X X X X X X X
X X X X X X X
long
lSectionID
9.0
Type BOOL BOOL ESTEEL_SEC EAnalyzeFlag BOOL BOOL double double EBeamSpan EBeamSpan EBeamSpan EBeamSpan long long BOOL long BOOL long BSTR BSTR BSTR double EUserOverride
Property bSpliceLevel bAtFoundation eOptimizeShape eAnalyzeFlag bAbsMajorAxisEccentricity bAbsMinorAxisEccentricity dMajorAxisEccentricity dMinorAxisEccentricity eBeamSpanAtSide1 eBeamSpanAtSide2 eBeamSpanAtSide3 eBeamSpanAtSide4 lColumnAboveUID lMemberBelowUID bBracedMajorAxisByMember lUserBracedMajorAxis bBracedMinorAxisByMember lUserBracedMinorAxis strTrialSizeUsed1 strTrialSizeUsed2 strTrialSizeUsed3 dUnityForSizeSelected eUserSpliceLevel
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 X
X X
X X X X X X
Description Indicates whether this column is spliced at this story. This is set in the story data in the modeler. Indicates if column is at foundation level Shape for which steel column will be optimized Whether column will be optimized or analyzed during design. 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. Eccentricity value for major axis Eccentricity value for minor axis 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 Unique ID of column above Unique ID of column below TRUE if column is braced in column local X direction by the slab or a beam (within user specified angle) User bracing assignment for column local X direction -1 = use global criteria, 0 = not braced, 1 = braced TRUE if column is braced in column local Y direction by the slab or a beam (within user specified angle) User bracing assignment for column local Y direction -1 = use global criteria, 0 = not braced, 1 = braced User assigned trial size 1 User assigned trial size 2 User assigned trial size 3 Column interaction equation value 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. Stress ratio for column (used by RAM Frame) Get the ID of the story this column belongs to. Returns -1 in the event of an error.
Ver 9.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
double long
dStressRatio lStoryID
X X
10.0 11.01
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. Available v9.0.
The index into the collection of the requested wall Pointer to an IWall interface that represents the requested wall, or NULL if lIndex is invalid.
The unique ID of the requested wall Pointer to an IWall interface that represents the requested wall, or NULL if no wall is found in the collection with the given unique ID.
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of walls based on given criteria. Available v9.0. Parameters eWallFilter varFilterCriteria plRetval
Indicates the type of filter to use on the collection 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. Available v9.0.
GetEndCoordinates ([out] SCoordinate* pTopStartPoint, [out] SCoordinate* pTopEndPoint, [out] SCoordinate* pBotStartPoint,
[out] SCoordinate* pBotEndPoint [out, retval] long* plRetval)
Gets the coordinates for the wall. Available v9.0. Parameters pTopStartPoint pTopEndPoint pBotStartPoint pBotEndPoint plRetval
SCoordinate corresponding to the start of the wall at the top SCoordinate corresponding to the end of the wall at the top SCoordinate corresponding to the start of the wall at the bottom SCoordinate corresponding to the end of the wall at the bottom 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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
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. Available v11.0. Parameters eAnalysisType lAnalysisLoadCaseID edge ppINodeForces
Type of analysis for which to get force (Currently, only RAMFrameResultType supported) Analysis load case ID for which to get force The edge along which node forces are to be provided. Pointer to an IPointLoads interface that represents the collection of forces at the given edge for the given load case.
IWall Properties
Type long EMATERIALTYPES long long double Property lUID eMaterial lMaterialID lLabel dStartZBotOffset Get X X X X X X Set X Description Unique ID of wall. Material type of wall. Valid options for walls are EWallPropConcreteMat or EWallPropOtherMat. 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. Numeric label of wall used for on-screen display in RAM Structural System. It is unique per floor type. 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. 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. Whether member is lateral or gravity Frame number for lateral members. Must be positive number. Thickness of wall Cracked factor. Applies if wall is concrete. Ver 9.0 9.0 9.0 9.0 9.0
double
dEndZBotOffset
9.0
X X X X
X X X
IRawWallOpenings
This interface represents a collection of raw wall openings associated with a wall. Available v10.0.
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.
The unique ID of the requested wall opening Pointer to an IRawWallOpening interface that represents the requested raw wall opening, or NULL if no wall opening is found in the collection with the given unique ID.
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. Available v10.0 Parameters eRefCorner dHorizontalLoc dVerticalLoc dOpeningWidth
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
dOpeningHeight ppIRawWallOpening
Height of opening Pointer to an IRawWallOpening interface that represents the newly added raw wall opening
Unique ID of raw wall opening to delete 0 if opening is deleted successfully -1 if lIndex is invalid
IRawWallOpening
This interface represents a single raw wall opening. Available v10.0.
IRawWallOpening Properties
Type long long long double double EDA_MEMBER_LOC double double Property lUID lLabel lWallUID dOpeningHeight dOpeningWidth eWallRefCorner dHorizontalLoc dVerticalLoc Get X X X X X X X X Set Description Unique ID of wall opening Generated label for display of wall opening Unique id of wall that opening was modeled in Height of opening Width of opening Reference corner from which opening location is measured Horizontal location along wall, measured from eWallRefCorner Vertical location along wall, measured from eWallRefCorner Ver 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
X X X X X
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. Available v10.0.
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.
The unique ID of the requested wall opening Pointer to an IFinalWallOpening interface that represents the requested final wall opening, or NULL if no wall opening is found in the collection with the given unique ID.
IFinalWallOpening
This interface represents a single final wall opening, which is an opening clipped to a specific wall. Available v10.0.
IFinalWallOpening 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 Ver 10.0 10.0
IRawWallSectionCuts
This interface represents a collection of raw wall section cuts associated with a wall. Available v10.0.
Parameters lUID The unique ID of the requested wall section cut ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested raw wall section cut, or NULL if no wall section cut is found in the collection with the given unique ID.
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 wall opening to the collection of openings for the wall. Available v10.0 Parameters bstrLabel eOrientation lStartMemberUID lStartEdgeIndex dStartOffset lEndMemberUID lEndEdgeIndex dEndOffset
Display label for the section cut Orienation of section cut Unique ID of member at which section cut starts (will be a wall or wall opening) Index of edge of wall or opening at which section cut starts Offset from start member edge Unique ID of member at which section cut terminates (wioll be a wall or wall opening) Index of edge of wall or opening at which section cut terminates Offset from end member edge
Unique ID of raw wall section cut to delete 0 if opening is deleted successfully -1 if lIndex is invalid
IRawWallSectionCut
This interface represents a single raw wall section cut. Raw indicates it may span over multiple walls. Available v10.0.
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. Available v10.0. 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.
Array of unique IDs of walls, beams, columns, that are cut by this section cut
GetCoordinates ([out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out, retval] long* plRetval)
Gets the section cut ends, global coordinates. Available v10.0. Parameters pStartPoint pEndPoint
IRawWallSectionCut Properties
Type long BSTR EMemberOrientation long long double long long double BOOL BOOL BOOL long long Property lUID strLabel eOrientation lStartMemberUID lStartEdgeIndex dStartOffset lEndMemberUID lEndEdgeIndex dEndOffset bIncBoundaryElements bFullModule bAutoGenerated lWallDesignGroup lSectionCutWDGID Get 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 Description Unique ID of section cut User-defined label for section cut Orientation of section cut Unique ID of wall or wall opening from which section cut originates 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) Offset from bottom of wall or opening from which section cut originates Unique ID of wall or wall opening at which section cut terminates 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) Offset from bottom of wall or opening at which section cut terminates 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 Indicates whether the section cut was created in the full shear wall module Indicates whether the section cut was autocreated by the module Wall Design Group number this section cut is part of or -1 Section Cut Group ID within the Wall Design Group Ver 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 12.0 12.0 12.0 12.0
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. Available v9.0.
The index into the collection of the requested isolated foundation Pointer to an IIsolatedFnd interface that represents the requested isolated foundation, or NULL if lIndex is invalid.
The unique ID of the requested isolated foundation Pointer to an IIsolatedFnd interface that represents the requested isolated foundation, or NULL if no isolated foundation is found in the collection with the given unique ID.
Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of isolated foundations based on given criteria. Available v9.0. Parameters eIsolatedFndFilter varFilterCriteria plRetval
Indicates the type of filter to use on the collection 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
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. Available v9.0.
SCoordinate corresponding to the center point of the isolated foundation 0 if successful -1 if coordinate cannot be retrieved
Pointer to an IPoints interface that represents the location of the piles in the pile cap.
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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IIsolatedFnd Properties
Type long EIsolatedFndType long long double double double double double double long Property lUID eType lMaterialID lLabel dOrientation dLeft dRight dTop dBottom dThickness lPileID Get X X X X X X X X X X X X X X X X X X Set X Description Unique ID of isolated foundation. Type of isolated foundation (i.e. spread footing, pile cap) Unique ID of material properties for this isolated foundation. Foundation is always concrete. See section Getting material properties for a member for more information. Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type. Orientation of foundation Dimension from center of foundation to left edge of footing when footing major axis is parallel to global X-axis Dimension from center of foundation to right edge of footing when footing major axis is parallel to global X-axis Dimension from center of foundation to top edge of footing when footing major axis is parallel to global X-axis Dimension from center of foundation to bottom edge of footing when footing major axis is parallel to global X-axis Thickness of foundation 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. 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. Indicates whether or not the dimensions returned for the footing are from the design or not Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
long
lPileConfigurationID
9.0
BOOL
bDimensionsFromDesign
9.0
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. Available v9.0.
The index into the collection of the requested continuous foundation Pointer to an IContinuousFnd interface that represents the requested continuous foundation, or NULL if lIndex is invalid.
The unique ID of the requested continuous foundation Pointer to an IContinuousFnd interface that represents the requested continuous foundation, or NULL if no continuous foundation is found in the collection with the given unique ID.
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
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. Available v9.0.
GetCoordinates ([out] SCoordinate* pStartCenterLinePoint, [out] SCoordinate* pEndCenterLinePoint, [out, retval] long* plRetval)
Gets the coordinates of the continuous foundation. Available v9.0. Parameters pStartCenterLinePoint SCoordinate corresponding to the start center point of the foundation
pEndCenterLinePoint plRetval
SCoordinate corresponding to the end center point of the foundation 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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IContinuousFnd Properties
Type long
long
Property lUID
lMaterialID
Get X X X X X X X X X X
Set
Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
X X X X X
Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type. Orientation of foundation Dimension from center of foundation to left edge defined when footing major axis is parallel to global Xaxis Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-axis Dimension from center of foundation to top edge defined when footing major axis is parallel to global Xaxis Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global X-axis Thickness of foundation Indicates whether or not the dimensions returned for the footing are from the design or not
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). Available v9.0.
The index into the collection of the requested pile configuration Pointer to an IPileConfiguration interface that represents the requested pile configuration, or NULL if lIndex is invalid.
The unique ID of the requested pile configuration Pointer to an IPileConfiguration interface that represents the requested pile configuration, or NULL if no pile configuration is found in the collection with the given unique ID.
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. Available v9.0. Parameters bstrName lNumVertRows lNumHorizRows ppIPileConfiguration
A label for the pile configuration Number of rows of piles perpendicular to the major axis Number of rows of piles parallel to the major axis Pointer to an IPileConfiguration interface that represents the newly added pile configuration.
Unique ID of pile configuration to delete 0 if pile configuration is deleted successfully -1 if unique ID is not found in collection of pile configuration
IPileConfiguration
This interface represents a single pile configuration. Available v9.0.
IPileConfiguration Properties
Type long EPileConfiguration BSTR long long Property lUID eConfiguration strLabel lNumVertRows lNumHorizRows Get X X X X X Set X X X X Description Unique ID of pile configuration. Configuration of pile group Label for this pile configuration Number of rows of pile running perpendicular to the major axis of the footing. Applies to rectangular pile configurations Number of rows of pile running parallel to the major axis of the footing. Applies to rectangular pile configurations Ver 9.0 9.0 9.0 9.0 9.0
IPiles
This interface represents a collection of all piles defined for the model. Available v9.0.
The index into the collection of the requested pile Pointer to an IPile interface that represents the requested pile, or NULL if lIndex is invalid.
The unique ID of the requested pile Pointer to an IPile interface that represents the requested pile, or NULL if no pile is found in the collection with the given unique ID.
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. Available v9.0. Parameters bstrName dDiameter dCompressionCap dTensionCap dShearCap ppIPile
A label for the pile The diameter of the pile The compression capacity of the pile The tension capacity of the pile The shear capacity of the pile Pointer to an IPile interface that represents the newly added pile.
Unique ID of pile to delete 0 if pile is deleted successfully -1 if unique ID is not found in collection of pile
IPile
This interface represents a single pile.
IPile Properties
Type long BSTR double double Property lUID strLabel dDiameter dCompressionCap Get X X X X Set X X X Description Unique ID of pile. Label for this pile Diameter of pile Compression capacity of pile Ver 9.0 9.0 9.0 9.0
Get X X
Set X X
IDiaphragms
This interface represents a collection of all diaphragms associated with a story. Available v10.0.
The index into the collection of the requested diaphragm ( 0 to Count -1 ) Pointer to an IDiaphragm interface that represents the requested diaphragm, or NULL if lIndex is invalid.
The unique ID of the requested diaphragm Pointer to an IDiaphragm interface that represents the requested diaphragm, or NULL if no diaphragm is found in the collection with the given unique ID.
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. Available v10.0.
GetPointLoads ([in] EAnalysisResultType eAnalysisType, [in] long lLoadCaseID, [out,retval] IPointLoads** ppIPointLoads)
Gets the collection of point loads on this diaphragm. Available v10.0. Parameters eAnalysisType lLoadCaseID ppIPointLoads
The analysis type (As of v10 only RAMFRAMEResultType is supported) Unique ID for the load case the diaphragm applied loads are associated with. Pointer to an IPointLoads collection interface that represents the point loads on the diaphragm. Collection will return a collection of 1 for typical generated story force on rigid diaphragm.
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. Available v9.0.
The index into the collection of the requested concrete section Pointer to an IConcSectProp interface that represents the requested concrete section, or NULL if lIndex is invalid.
The unique ID of the requested concrete section Pointer to an IConcSectProp interface that represents the requested concrete section, or NULL if no concrete section is found in the collection with the given unique ID.
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. Available v9.0. Parameters bstName Label of concrete tee section. Limited to 15 characters. dFlangeLeftOverhang Left flange overhang (-1 if program should calculate) dFlangeRtOverhang Right flange overhang (-1 if program should calculate) dFlangeThick Flange thickness (-1 if program should calculate based on slab thickness) dTotalBeamDepth Total depth of beam section dWebWidth Web thickness of section ppIConcSectProp Pointer to an IConcSectProp interface that represents the newly added concrete section.
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. Available v9.0. Parameters bstName eMemType dTotalBeamDepth dWebWidth ppIConcSectProp
Label of concrete section. Limited to 15 characters. Must specify if this is a rectangular section for a beam, column or brace Total depth of section Web thickness of section Pointer to an IConcSectProp interface that represents the newly added concrete section.
AddRound ([in]BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dDiameter, [out, retval] IConcSectProp**
ppIConcSectProp)
Adds a new round concrete section. Round sections can be defined for columns or vertical braces. Available v9.0. Parameters bstName eMemType dDiameter ppIConcSectProp
Label of concrete section. Limited to 15 characters. Must specify if this is a rectangular section for a beam, column or brace Diameter of section Pointer to an IConcSectProp interface that represents the newly added concrete section.
Unique ID of concrete section to delete 0 if concrete section is deleted successfully -1 if unique ID is not found in filtered list of concrete sections or if section is currently assigned to a member
Filter ([in] EConcSectPropsFilter eConcSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of concrete sections based on given criteria. Available v9.0. Parameters eConcSectPropsFilter 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 EConcSectPropsFilter
Description
eCSPFilter_Shape eCSPFilter_MemType eCSPFilter_NoFilter Filter by shape of section Filter by member type section is for (beam, column, or vertical brace) Remove all prior filtering
varFilterCriteria
ECONC_OTHER_SEC EUniqueMemberTypeID
N/A
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
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. Available v9.0. 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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IConcSectProp Properties
Type long ECONC_OTHER_SEC Property lUID eShape Get X X Set Description Unique ID of concrete section. Shape of the section. Ver 9.0 9.0
Get X X X X X X X X
Set X X X X X X X
double
dFlangeThickRight
double
dCrackedFactor
Description Type of member to which this section can be assigned. A label for this concrete section. Limited to 15 characters. Depth of section. Applies to rectangular and tee sections. Web width of section. Applies to rectangular and tee sections. Diameter of section. Applies to round sections. 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. Cracked factor of concrete section.
9.0
9.0
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. Available v9.0.
The index into the collection of the requested Other section Pointer to an IOtherSectProp interface that represents the requested Other section, or NULL if lIndex is invalid.
The unique ID of the requested Other section Pointer to an IOtherSectProp interface that represents the requested Other section, or NULL if no Other section is found in the collection with the given unique ID.
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. Available v9.0. Parameters bstName eMemType dWidth dDepth dArea dMomInertiaMajor dMomInertiaMinor dTorsionConstant dMajorShearArea dMinorShearArea ppIOtherSectProp
Label of Other section. Limited to 15 characters. Must specify if this is a section for a beam, column or brace Total width of section Depth of section Area of section Moment of inertia in major direction (Ix). Moment of inertia in minor direction (Iy). Torsion Constant (J). Shear area in major direction. Shear area in minor direction. Pointer to an IOtherSectProp interface that represents the newly added Other section.
Unique ID of Other section to delete 0 if Other section is deleted successfully -1 if unique ID is not found in filtered list of Other sections or if section is currently assigned to a member
Filter ([in] EOtherSectPropsFilter eOtherSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of concrete sections based on given criteria. Available v9.0. 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 EOtherSectPropsFilter
Description
eOSPFilter_MemType eOSPFilter_NoFilter Filter by member type section is for (beam, column, or vertical brace) Remove all prior filtering
varFilterCriteria
EUniqueMemberTypeID N/A
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
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. Available v9.0.
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
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IOtherSectProp Properties
Type long EUniqueMemberTypeID BSTR double double double double double double double double Property lUID eMemType strLabel dDepth dWidth dArea dMomInertiaMajor dMomInertiaMinor dTorsionConstant dShearAreaMajor dShearAreaMinor Get X X X X X X X X X X X Set Description Unique ID of Other section. Type of member to which this section can be assigned. A label for this Other section. Limited to 15 characters. Depth of section measured in direction of major axis. Width of section. Area of section. Moment of inertia in major direction (Ix). Moment of inertia in minor direction (Iy). Torsion Constant (J). Shear area in major direction. Shear area in minor direction. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
X X X X X X X X X
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. Available v9.0.
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.
The unique ID of the requested composite deck property Pointer to an ICompDeckProp interface that represents the requested composite deck property, or NULL if no composite deck property is found in the collection with the given unique ID.
Add ([in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval] ICompDeckProp ** ppICompDeckProp)
Adds a new composite deck property. Available v9.0. Parameters bstDeckType dThickAboveFlutes dStudLength ppICompDeckProp
Name of deck from deck table Thickness of concrete above top of flutes Length of the stud Pointer to an ICompDeckProp interface that represents the newly added composite deck property.
Unique ID of composite deck property to delete 0 if composite deck property is deleted successfully -1 if unique ID is not found in filtered list of composite deck properties or if composite deck property is currently assigned to a deck polygon
Filter ([in] ECompDeckPropsFilter eCompDeckPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of composite deck properties based on given criteria. Available v9.0. Parameters eCompDeckPropsFilter 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 ECompDeckPropsFilter
Description
eCDPFilter_DeckType eCDPFilter_NoFilter Filter by deck type Remove all prior filtering
varFilterCriteria
BSTR N/A
ICompDeckProp
This interface represents a single composite deck property.
ICompDeckProp Properties
Type long BSTR double double double double double double double BOOL Property lUID strDeckType dThickAboveFlutes dStudLength dUnitWeight dFpc dStudFu dSelfWtDeck dStudDiameter bShored Get X X X X X X X X X X Set X X X X X X X X X Description Unique ID of composite deck property. Type of deck. This name must match the name in the deck table and is limited to 19 characters. Concrete thickness above top of flutes. The length of the studs. The unit weight of the concrete (ksi). The concrete compression capacity (psi). The ultimate strength of the stud (ksi). The self-weight of the steel deck (psf). The stud diameter. TRUE if the deck is shored. Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0
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. Available v9.0.
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.
The unique ID of the requested concrete slab property Pointer to an IConcSlabProp interface that represents the requested concrete slab property, or NULL if no concrete slab property is found in the collection with the given unique ID.
Add ([in] BSTR bstSlabName, [in] double dThick, [in] double dSelfWeight, [out, retval] IConcSlabProp** ppIConcSlabProp)
Adds a new concrete slab property. Available v9.0. Parameters bstSlabName dThick dSelfWeight
Label for concrete slab property. Limited to 19 characters. Thickness of concrete slab Self-weight of concrete slab
ppIConcSlabProp
Pointer to an IConcSlabProp interface that represents the newly added concrete slab property.
Unique ID of concrete slab property to delete 0 if concrete slab property is deleted successfully -1 if unique ID is not found in filtered list of concrete slab properties or if concrete slab property is currently assigned to a deck or mat footing polygon
IConcSlabProp
This interface represents a single concrete slab property. Available v9.0.
IConcSlabProp Properties
Type long BSTR double double Property lUID strLabel dThickness dSelfWeight Get X X X X Set X X X Description Unique ID of concrete slab property. Label of concrete slab property. Limited to 19 characters. Thickness of concrete slab. Self-weight of concrete slab. Ver 9.0 9.0 9.0 9.0
INonCompDeckProps
This interface represents a collection of non-composite deck properties defined in the model. As of v9.0, a RAM Structural System model only has one non-composite deck property, so there is no Add function in this interface. However, being able to define multiple non-composite deck properties is an expected enhancement, so this interface has been included in the RAM Object Model. Available v9.0.
INonCompDeckProp
This interface represents a single non-composite deck property. Available v9.0.
INonCompDeckProp Properties
Type double Property dSelfWeight Get X Set X Description The self-weight of the deck Ver 9.0
ISteelMaterials
This interface represents a collection object of steel material sets. Currently, material properties are stored with individual members. It is anticipated that in the future, the RAM Structural System will allow for the creation of steel material sets that can be defined once and assigned to multiple members, and at that time, this interface will be fully implemented. Available v9.0.
The unique ID of the requested steel material property set Pointer to an ISteelMaterial interface that represents the requested steel material property set, or NULL if no steel material property set is found in the collection with the given unique ID.
ISteelMaterial
This interface represents a single steel material property set. A members steel material properties can be read and set through this interface. Available v9.0.
ISteelMaterial Properties
Type double Property dFy Get X Set X Description Yield strength (Fy) of the steel. Ver 9.0
IConcreteMaterials
This interface represents a collection object of concrete material sets. Currently, material properties are stored with individual members. It is anticipated that in the future, the RAM Structural System will allow for the creation of concrete material sets that can be defined once and assigned to multiple members, and at that time, this interface will be fully implemented. Available v9.0.
The unique ID of the requested concrete material property set Pointer to an IConcreteMaterial interface that represents the requested concrete material property set, or NULL if no concrete material property set is found in the collection with the given unique ID.
IConcreteMaterial
This interface represents a single concrete material property set. A members concrete material properties can be read and set through this interface. Available v9.0.
IConcreteMaterial Properties
Type double double double double EAggregateType double double double Property dFpc dUnitWeight dSelfWeight dPoissonsRatio eConcreteAggType dFct dElasticModulus dAggregateSize Get X X X X X X X X Set X X X X X X X X Description Concrete compressive strength (fc). Unit weight of member. Self-weight of member. Poissons Ratio. Aggregate type of concrete. (Only applicable for beams and columns) Concrete cracking stress capacity. Only used for ACI code design. (Only applicable for beams and columns) Elastic modulus. If -1, the program will calculate this value. (Only applicable for beams and columns) Aggregate size of concrete (Only applicable for British code and only for beams and columns) Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 11.1
IOtherMaterials
This interface represents a collection object of Other material sets. Currently, material properties are stored with individual members. It is anticipated that in the future, the RAM Structural System will allow for the creation of Other material sets that can be defined once and assigned to multiple members, and at that time, this interface will be fully implemented. Available v9.0.
The unique ID of the requested Other material property set Pointer to an IOtherMaterial interface that represents the requested Other material property set, or NULL if no Other material property set is found in the collection with the given unique ID.
IOtherMaterial
This interface represents a single Other material property set. A members Other material properties can be read and set through this interface. Available v9.0.
IOtherMaterial Properties
Type double double double Property dE dSelfWeight dPoissonsRatio Get X X X Set X X X Description Youngs modulus, modulus of elasticity (E). Self weight of member. Poissons Ratio. Ver 9.0 9.0 9.0
ILoadCases
This interface represents a collection of load cases. Available v10.0.
The index into the collection of the requested load case Pointer to an ILoadCase interface that represents the requested load case, or NULL if lIndex is invalid.
Unique ID of requested load case Pointer to an ILoadCase interface that represents the requested load case, or NULL if no load case with given unique ID is found in the collection.
Filter ([in] ELoadCaseFilter eLoadCaseFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria. Available v10.0. 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
ELoadCaseFilter
Description
eLoadCaseFilter_FrameType eLoadCaseFilter_NoFilter Filter by frame type (only include lateral or gravity) Remove all prior filtering
varFilterCriteria
EFRAMETYPE N/A
ILoadCase
This interface represents a single load case definition. Available v10.0.
Pointer to an ILoadCases collection interface that represents the load cases that comprise this load case.
ILoadCase Properties
Type long BSTR BSTR BSTR Property lUID strSymbol strLoadCaseGroupLabel strTypeLabel Get X X X X Set Description Unique ID of load case The load case symbol (1-3chars) for reports/combos The label assigned to the load case at the top of the load case generator dialog, applies to one or more load cases. Limited to 15 characters. The generated name for the specific load case depending on user options during generation. When used together with strLoadCaseGroupLabel it uniquely identifies this load case. One of main load types: Gravity, Wind, Seismic, Dynamic Hyperstatic, Virtual, Other Depending on load type defines more details of the actual type of load case. Whether this is merged/compound load case (made up of other load cases) Whether Load Case is analyzed/current Whether the properties of this load case can be modified Is load case selected for combos in conc shear wall Base shear angle Ver 10.0 10.0 10.0 10.0
ELoadCaseType ESubLoadCaseType ECompoundLoadCaseState EStateStatus BOOL BOOL double double double double double
eLoadType eSubLoadType eCompoundState eAnalyzedState bReadOnly bConcShearWallSelected dLoadCaseAngle dDirCoeffX dDirCoeffY dRhomax dUBCRho
X X X X X X X X X X X
10.0 10.0 10.0 10.0 10.0 12.0 12.0 12.0 12.0 12.0 12.0
ILoadCombinations
This interface represents a collection of load combinations. Available v10.0.
Parameters plCount
The index into the collection of the requested load combination Pointer to an ILoadCombination interface that represents the requested load combination, or NULL if lIndex is invalid.
Filter ([in] ELoadCombinationFilter eLoadCombinationFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria. Available v10.0. 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 ELoadCombinationFilter
Description
eLoadComboFilter_InclLateral Filter to only include load combos that have lateral load cases in them. eLoadComboFilter_InclGravityOnly Filter to only include load combos that only have gravity load cases. eLoadComboFilter_NoFilter Remove all prior filtering
varFilterCriteria
N/A N/A N/A
ILoadCombination
This interface represents a single load combination definition. Available v10.0.
ILoadCombination Properties
Type long BOOL EStateStatus ECombinationSourceType BOOL BSTR Property lLabelNo bSelected eStatus eType bReadOnly strDisplayString Get X X X X X X Set X Description The label of the load combination as shown in the load combo dialog User has selected this load combination to be considered Combination is valid (all load cases/factors exist in analyzed state) Custom or Generated Whether this load combination can be modified or not The combination string formatted for display Ver 10.0 10.0 10.0 10.0 10.0 10.0
ILoadCombinationTerms
This interface represents a collection of load combination terms for a single load combination. As of v10, the program has a limitation of 5 load combination terms per load combination. Available v10.0.
Add ([in] double dFactor, [in] long lLoadCaseUID, [out, retval] ILoadCombinationTerm** ppILoadCombinationTerm)
Adds a new load combination term to the end of the collection. Available v10.0. 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. Available v10.0. Parameters lIndex dFactor lLoadCaseUID ppILoadCombinationTerm
Index at which to add new term Factor to apply to the load case The Unique ID of the load case for this load combination term A pointer to an ILoadCombinationTerm that represents the newly added load combination term
ILoadCombinationTerm
This interface represents a single load combination term. Available v10.0.
ILoadCombinationTerm Properties
Type double long Property dFactor lLoadCaseID Get X X Set X X Description Factor to apply to the load case The Unique ID of the load case Ver 10.0 10.0
ILineLoadPropertySets
This interface represents all the line load property sets as defined in the RAM Modeler. Available v11.0.
Unique ID of the requested line load property set Pointer to an ILineLoadPropertySet interface that represents the requested line load property set, or NULL if no line load property set is found in the collection with the given unique ID.
Index of the requested line load property set Pointer to an ILineLoadPropertySet interface that represents the requested line load property set, or NULL if lIndex is invalid.
Unique ID of line load property set to delete 0 if line load property set is deleted successfully -1 if failed. Delete will fail if member is not found or if the line load property set is in use by a line load set.
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
ILineLoadPropertySet
This interface represents a single line load property set as defined in the RAM Modeler. Available v11.0.
Properties
Type long BSTR double double double double ELoadCaseType Property lUID strLabel dDeadLoad dLiveLoad dConstDeadLoad dConstLiveLoad eLiveLoadType Get X X X X X X X Set X X X X X X Description Unique ID of property set Label of the property set. Limited to 19 characters. Dead load magnitude (positive is down) Live load magnitude (positive is down) Construction Dead load (positive is down) Construction Dead load (positive is down) The live load case type (MUST BE A LIVE LOAD TYPE) Ver 11.0 11.0 11.0 11.0 11.0 11.0 11.0
IPointLoadPropertySets
This interface represents all the point load property sets as defined in the RAM Modeler. Available v11.0.
Unique ID of the requested point load property set Pointer to an IPointLoadPropertySet interface that represents the requested point load property set, or NULL if no line load property set is found in the collection with the given unique ID.
Index of the requested point load property set Pointer to an IPointLoadPropertySet interface that represents the requested point load property set, or NULL if lIndex is invalid.
Unique ID of point load property set to delete 0 if point load property set is deleted successfully -1 if failed. Delete will fail if member is not found or if the point load property set is in use by a point load set.
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
IPointLoadPropertySet
This interface represents a single point load property set as defined in the modeler. Available v11.0.
Properties
Type long BSTR double double double double ELoadCaseType Property lUID strLabel dDeadLoad dLiveLoad dConstDeadLoad dConstLiveLoad eLiveLoadType Get X X X X X X X Set X X X X X X Description Unique ID of the property set Label of the property set. Limited to 19 characters. Dead load magnitude (positive is down) Live load magnitude (positive is down) Construction Dead load (positive is down) Construction Dead load (positive is down) The live load case type (MUST BE A LIVE LOAD TYPE) Ver 11.0 11.0 11.0 11.0 11.0 11.0 11.0
IPointLoads
This interface represents a collection of individual point load objects. Available v10.0.
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.
IPointLoad
This interface represents a single point load. Available v10.0.
IPointLoad 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 double Property dFx dFy dFz dMxx dMyy dMzz Get X 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 Moment about the ZZ Axis Ver 10.0 10.0 10.0 10.0 10.0 10.0
IMemberForces
This interface represents the collection of forces in a member. Available v10.0.
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.
IMemberForce
This interface represents a single member force. Available v10.0.
IMemberForce Properties
Type long double double double double double double double Property lLoadCaseID dLocation dAxial dShearMajor dShearMinor dMomentMajor dMomentMinor dTorsion Get X X X X X X X X Set Description Unique ID analysis load case responsible for this force Normalized location along member (0.0-1.0) where force is applied (N/A for section cuts). Axial force (kip) Positive is compression Shear in direction of Major axis of member* Shear in direction of Minor axis of member* Moment about the minor axis (in direction of major axis)* Moment about the major axis (in direction of minor axis)* Torsion about the longitudinal axis of the member* Ver 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0
* For sign convention refer to the RAM SS manual or the documentation for IForces later in this document.
ISteelBeamDesignResult
This interface represents the steel beam design results for an individual steel beam. Available v10.0.4.
IAnalyticalResult
This interface represents the analytical results for an individual member. Available v10.0.4.
Combination type (Only STEEL_GRAV is supported currently) Pointer to two IMemberForces, index 0 is at start support of member (top of col, top of brace, left of beam) with the maximum of all current selected combinations (with sign).
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. Available v9.0.
The index into the collection of the requested grid system Pointer to an IGridSystem interface that represents the requested grid system, or NULL if lIndex is invalid.
The unique ID of the requested grid system Pointer to an IGridSystem interface that represents the requested grid system, or NULL if no grid system is found in the collection with the given unique ID.
Label for this grid system Pointer to an IGridSystem interface that represents the newly added grid system.
Unique ID of grid system to delete 0 if grid system is deleted successfully -1 if unique ID is not found in filtered list of grid systems
Filter ([in] EGridSystemFilter eGridSystemFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of grid systems based on given criteria. Available v9.0. 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
EGridSystemFilter
Description
eGSFilter_OrientationType eGSFilter_NoFilter Filter by grid system type Remove all prior filtering
varFilterCriteria
SGridSysType N/A
IGridSystem
This interface represents a single grid system. Available v9.0.
Pointer to an IModelGrids interface that represents the collection of grids for the grid system.
IGridSystem Properties
Type long BSTR double Property lUID strLabel dXoffset Get X X X Set X X Description Unique ID of grid system. Label of grid system. Offset of grid system from 0, along x-axis. Ver 9.0 9.0 9.0
Get X X X
Set X X X
Description Offset of grid system from 0, along y-axis. Orientation type of grid system. Rotation angle of grid system.
IModelGrids
This interface represents a collection of grid lines from a grid system. Available v9.0.
The index into the collection of the requested grid Pointer to an IModelGrid interface that represents the requested grid, or NULL if lIndex is invalid.
The unique ID of the requested grid line Pointer to an IModelGrid interface that represents the requested grid, or NULL if no grid is found in the collection with the given unique ID.
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. Available v9.0. Parameters bstGridLabel
The grid axis (i.e. x or y for an orthogonal grid system, Radial or Circular for radial grid systems) The grid coordinate or grid angle (for radial grid system) Pointer to an IModelGrid interface that represents the newly added grid.
Unique ID of grid to delete 0 if grid is deleted successfully -1 if unique ID is not found in filtered list of grids
Filter ([in] EGridFilter eGridFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of grids based on given criteria. Available v9.0. 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
EGridFilter
Description
eGFilter_GridAxis eGFilter_NoFilter Filter by grid axis (X, Y, Radial, Circular) Remove all prior filtering
varFilterCriteria
EGridAxis N/A
IModelGrid
This interface represents a single grid line. Available v9.0.
IModelGrid Properties
Type long BSTR EGridAxis double BOOL double Property lUID strLabel eAxis dCoordinate_Angle bApplyMinLimit dMinLimitValue Get X X X X X X Set X X X X Description Unique ID of grid line. Grid label. The grid axis (X/Radial or Y/Circular). The grid coordinate or angle. If TRUE, this grid minimum will be drawn limited to user coordinate. 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. Ver 9.0 9.0 9.0 9.0 9.0 9.0
Get X X X X
Set X X X X
Description If TRUE, this grid maximum will be drawn limited to user coordinate. 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 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.
IPoints
This interface represents a collection of points. Available v9.0.
The index into the collection of the requested point Pointer to an IPoint interface that represents the requested point, or NULL if lIndex is invalid.
Coordinate of this point Pointer to an IPoint interface that represents the newly added point.
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. Available v9.0. Parameters lIndex
Point ppIPoint
Coordinate of this point Pointer to an IPoint interface that represents the newly added point.
IPoint
This interface represents a single point. Available v9.0.
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. Available v11.0.
The index into the collection of the requested property definition Pointer to an IPropertyDefinition interface that represents the requested property definition, or NULL if lIndex is invalid.
The name of the requested property Pointer to an IPropertyDefinition interface that represents the requested property definition, or NULL if no property is found with given name.
AddPropDefDouble ([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. Available v11.0. Parameters bstrPropName bstrPropDescription dDefaultValue ppIPropertyDef
Name of the property Description of the property (can be left blank) Default value for this property when not set for a member Pointer to an IPropertyDefinition interface that represents the newly added property definition.
AddPropLong ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] long lDefaultValue, [out, retval] IPropertyDefinition**
ppIPropertyDef)
Adds a new property to the collection of properties for the member. Available v11.0. Parameters bstrPropName bstrPropDescription lDefaultValue ppIPropertyDef
Name of the property Description of the property (can be left blank) Default value for this property when not set for a member Pointer to an IPropertyDefinition interface that represents the newly added property definition.
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. Available v11.0. Parameters bstrPropName bstrPropDescription bDefaultValue ppIPropertyDef
Name of the property Description of the property (can be left blank) Default value for this property when not set for a member Pointer to an IPropertyDefinition interface that represents the newly added property definition.
AddPropString ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BSTR strDefaultValue, [out, retval]
IPropertyDefinition** ppIPropertyDef)
Adds a new property to the collection of properties for the member. Available v11.0. Parameters bstrPropName bstrPropDescription strDefaultValue ppIPropertyDef
Name of the property Description of the property (can be left blank) Default value for this property when not set for a member Pointer to an IPropertyDefinition interface that represents the newly added property definition.
plRetval
IPropertyDefinition
This interface represents a single property definition for a member type. Available v11.0.
Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.
plRetval
Should always be zero since any data type can be returned as a string.
Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Default value for the property Should always be zero since any data type can be returned as a string.
IPropertyDef Properties
Type BSTR BSTR EDBFieldType Property strPropName strPropDescription eType Get X X X Set X X Description Case insensitive name of property Description of the property The type of value for this property Ver 11.0 11.0 11.0
IProperties
This interface represents a collection of properties associated with a member. This collection is used to add or delete properties to a member. Available v11.0.
The index into the collection of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if lIndex is invalid.
The name of the requested property Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given name.
IProperty
This interface represents a single property for a member.
Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Value of the property Should always be zero since any data type can be returned as a string.
Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.
Value of the property Should always be zero since any data type can be returned as a string.
IProperty 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 Ver 11.0 11.0
Common Methods
The following method is included in most of the original DataAccess interfaces.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose Parameters To get information about why a method failed pbstrShortError Short message about the failure pbstrLongError Longer message about the failure plErrorID Error code This method is implemented in each interface. Calling it from any interface will return the last error regardless of which interface generated the error.
Comments
IRamDataAccess1
Philosophy: This interface is used exclusively for obtaining pointers to other interfaces. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 GetInterfacePointer([in] REFIID riid, [out, retval] LPUNKNOWN* pVal);
Purpose Parameters Comments Returns the pointer to a specific interface riid Interface ID pVal Interface pointer is returned via this pointer This method is used by C++ programs accessing the interfaces.
Version: These methods were made available with RAM Structural System version 8.2 GetDispInterfacePointer ([in] REFIID riid, [out, retval] LPDISPATCH* pVal);
Purpose Get a DA interface pointer that can be used in automation compatible languages
Parameters Comments
using the EINTERFACES enumerator. riid Interface ID pVal Automation Compatible Interface pointer is returned via this pointer This cannot be used by VB/VBA or macro languages
IRamDataAccess2
Philosophy: To provide access to the version info for DataAccess. Version: This interface and its methods were made available with RAM Structural System version 9.0.1. GetVersion ([out, retval] double *pdVersion);
Purpose Parameters Gets the versions of DataAccess being accessed. pdVersion Version number, i.e. 9.01
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. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 LoadDataBase([in] const BSTR bstrName);
Purpose Parameters Comments 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 Parameters 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 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.
Comments
CreateNewDatabase2([in] const BSTR bstrName, EUnits eUnits, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);
Purpose Parameters To create a new database. This is preferred over CreateNewDatabase which will be phased out. Available in v10.0.4 bstrName Model name (do not include file extension) eUnits Which units will be used for display purposes bstrUserID String that identifies the calling application plRetVal Return value, 0 if successful This function will fail if the model already exists.
Comments
SaveDatabase();
Purpose Comments To save the database files.
CloseDatabase();
Purpose Comments To close the database files. This method should be the last call to Data Access.
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. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 GetReinforcementTableName([out] BSTR* pbstrReinTable);
Purpose Parameters To retrieve the reinforcement table name. pbstrReinTable Reinforcement table name
Parameters Comments
pbstrTimeDateStamp String representation of the time date stamp This method can be used to check when the model data was changed.
Parameters
pbstrModelName
GetDirectoryPathsFromINI ([out] BSTR* pbstrTables, [out] BSTR* pbstrData, [out] BSTR* pbstrDXF, [out] BSTR* pbstrReports, [out] BSTR* pbstrError, [out] BSTR* pbstrProg);
Purpose Parameters Get all of the paths from the ini file pbstrTables Path to the tables directory pbstrData Path to the data directory pbstrDXF Path to the dxf directory pbstrReports Path to the reports directory pbstrError Path to the error directory pbstrProg Path to the prog directory
Parameters
eColor pdwColor
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 Single character representation of the LL Reduction code pbstrLLCode For IBC and UBC, radio button setting for the code options. plOptions plRoofReducible 1 indicates that the roof load is reducible 0 indicates that the roof load is snow.
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 names of the selected tables. pbstrMasterTable Master table name pbstrDeckTable Deck table name pbstrColumnTable Column table name pbstrDefBeamTable Default Beam table name pbstrAltBeamTable Alternate Beam table name pbstrDefSmartTable Default Smartbeam table name pbstrAltSmartTable Alternate Smartbeam table name pbstrPanFormTable Pan Form table name pbstrReinforcement Reinforcement table name
IModelData2
Philosophy: (see ModelData1 above) Version: This interface and its methods were made available with RAM Structural System version 8.1.x 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* plHSSRoundBeam, [out] long* plChannelBeam,[out] long* plDoubleAngleBrace,[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 plWWFCol lWWFBeam plWWFBrace plHSSRectCol plHSSRectBeam plHSSRectBrace plHSSRoundCol plHSSRoundBeam plChannelBeam plDoubleAngleBrace plClassHSS
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
GetModelHas ([out] long* plModelHasSteelColumns,[out] long* plModelHasBeams, [out] long* plModelHasJoists,[out] long* plModelHasSmartbeams);
Purpose Parameters To find out what type of members are used in the model. plModelHasSteelColumns 1 = the model has steel columns, 0 = it does not plModelHasBeams This only refers to steel beams 1 = the model has steel beams, 0 = it does not plModelHasJoists 1 = the model has steel joists, 0 = it does not plModelHasSmartbeams 1 = the model has smartbeams, 0 = it does not
GetLLRMethodChoices ([out] long* plLLRMethod,[out] long* plIBCLLRMethod); Purpose Get IBC or UBC Reduction Method.
Parameters plLLRMethod plIBCLLRMethod For UBC code: 1 = Method 1, 2 = Method 2 For IBC code: 0 = General Method, 1 = Alternate Method
plIncBeamSelfWeight plIncWallSelfWeight
1 = include self-weight for beams, 0 = do not include self-weight 1 = include self-weight for walls, 0 = do not include self-weight
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.
plMax
*ppdEuroCodeFactor[2] Single Variable Load, Gamma Q *ppdEuroCodeFactor[3] Multiple Variable Loads, Gamma Q *ppdEuroCodeFactor[4] Resistance of Class 1,2 or 3, Gamma M0 *ppdEuroCodeFactor[5] Resistance to Buckling, Gamm M1, Psi Group: *ppdEuroCodeFactor[6] Psi0 for Reducible Live Load *ppdEuroCodeFactor[7] Psi0 for Storage Live Load *ppdEuroCodeFactor[8] - Reduction Factor for Vectorial Effect, Psi Vector Composite Beam Design Group: *ppdEuroCodeFactor[9] - Shear Studs, Gamma v *ppdEuroCodeFactor[10] - Structural Steel, Fundamental, Gamma a *ppdEuroCodeFactor[11] Concrete, Fundamental, Gamma c Number values returned
Version: These methods were made available with RAM Structural System version 8.2 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
GetNumMembersOnStory ([in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in, out] long* plNumMembers, [out,retval] long* plRetVal);
Purpose Parameters Get the total number of the member type on a given story lStoryID Story UniqueID or index number eMemberType Member type (Must be specified) eMatType Material type - use ENoneMaterial when not applicable eGravOrLat Gravity or lateral - use MemberIsNone when not applicable plNumMembers Return total number of member type plRetVal Error code. If value is non zero then check GetLastError Works on the following eMemberTypes which are material dependent: eTypeColumn, eTypeBeam, eTypeWall, eTypeBrace, eTypeFoundation, eTypeStory, eTypeFloorType, eTypeDeckProp, eTypeSlabProp, eTypeDeckOrSlab If an eMemberTypes is not supported the fundtion will return an error code and the
Comments
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
GetConcSlabPropInfo ([in] long lConcSlabOrPropID, [in, out] SSlabProp* pSlabProp, [out,retval] long* plRetVal);
Purpose Parameters Get concrete slab properties lConcSlabOrPropID conc slab Prop ID or concrete slab polygon ID pSlabProp conc slab Prop pointer plRetVal Error code. If value is non zero then check GetLastError
GetDeckPropInfo ([in] long lDeckOrPropID, [in, out] SDeckProp* pDeckProp, [out,retval] long* plRetVal);
Purpose Parameters Get Composite Deck properties lDeckOrPropID Deck Prop ID pDeckProp Deck Prop pointer plRetVal Error code. If value is non zero then check GetLastError
Parameters
lMatID palSlabIDs
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 Get total number of members that fall inside of a given polygon lPolygonID Polygon ID eMemberType Member type (Must be specified) eMemberCategory Category to consider. Members that pass through polygon, end at polygon etc bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon as inside polygon bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration plNumMembers Number of members in polygon plRetVal Error code. If value is non zero then check GetLastError 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
Comments
GetMembersInPolygonIDArray ([in] long lPolygonID, [in] EUniqueMemberTypeID eMemberType, [in] EMemberInPolyCategory eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in] long lArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Parameters Get list of members inside a polygon lPolygonID Polygon Unique ID eMemberType Member type (Must be specified) eMemberCategory Category to consider. Members that pass through polygon, end at polygon etc bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon as inside polygon bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration lArraySize palMemberIDs array size used for verification check palMemberIDs Array that will be filled with ID's of all Members meeting the criteria above plRetVal Error code. If value is non zero then check GetLastError 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
Comments
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
GetSelectedSteelJoistTables ([in, out] BSTR* pbstrDefStandardTableName, [in, out] BSTR* pbstrAltStandardTableName, [in, out] BSTR* pbstrDefConstShearTableName, [in, out] BSTR* pbstrAltConstShearTableName, [out, retval] long* plRetVal);
Purpose Parameters Get the steel joist table names pbstrDefStandardTableName pbstrAltStandardTableName pbstrDefConstShearTableName pbstrAltConstShearTableName plRetVal Default standard table name Alternate standard table name Default Constant Shear table name Alternate Constant Shear table name Error code. If value is non zero then check GetLastError
Version: These methods were made available with RAM Structural System version 9.0 ModelIsTensionOnly ([in, out] BOOL* pbTensionOnly, [out, retval] long* plRetVal)
Purpose Parameters 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
Comments
Version: These methods were made available with RAM Structural System version 9.0.2 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 Get total number of members that fall inside of a given polygon lPolygonID Polygon Unique ID lStoryID Unique ID of story to get members on eMemberType Member type (Must be specified) eMemberCategory Category to consider. Members that pass through polygon, end at polygon etc bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon as inside polygon bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration plNumMembers Number of members in polygon plRetVal Error code. If value is non zero then check GetLastError 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
Comments
GetMembersInPolygonIDArray ([in] long lPolygonID , 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 Get list of members inside a polygon lPolygonID Polygon Unique ID lStoryID Unique ID of story to get members on eMemberType Member type (Must be specified) eMemberCategory Category to consider. Members that pass through polygon, end at polygon etc bAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon as inside polygon bExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration lArraySize palMemberIDs array size used for verification check palMemberIDs Array that will be filled with ID's of all Members meeting the criteria above plRetVal Error code. If value is non zero then check GetLastError
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. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 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. GetNumStories ([out] long* plNumStories);
Purpose Parameters Comments Get number of story levels in model plNumStories Number of stories Starting with v9.0 use GetNumMembers( ) to get the number of stories in the model.
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
Get information for a given story level. lStoryNo Story number starting with 0 for the first level and going up to (plNumStories 1) for the top (roof) level pbstrStoryID Story Label pbstrFloorID Floor type label pdFlrHeight Story height plNumBeams Total number of beams in story plNumColumns Total number of columns in story plNumWalls Total number of walls in story plNumBraces Total number of braces in story plNumFootings Total number of Footings in story. Footings will only be used if there are no columns, beams or walls below the footing Starting with v9.0 use GetNumMembers( ) to get the member counts at a story. FloorID and FloorHeight are still valid when accessed through this method.
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 Starting with v9.0 use GetNumMembersOnStory( ) to get the member ids on a story. For more information, see Getting Member Information.
Comments
GetMemberID ([in] long lStoryNo, [in] long lMemNo, [in] EUniqueMemberTypeID eMemType, [out] long* plUniqueID);
Purpose Parameters 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.
Comments
Comments
GetBeamSupportInfo ([in] long IBeamID, [out] EUniqueMemberTypeID* peSupportTypeStart, [out] long* plSupportIDStart, [out] EUniqueMemberTypeID* peSupportTypeEnd, [out] long* plSupportIDEnd);
Purpose Get information on the end supports of a beam
Parameters
Beam ID Support Type at start of Beam (i.e. Column, Beam, Wall) Member ID of support at start of beam Support Type at end of Beam (i.e. Column, Beam, Wall) Member ID of support at end of beam
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 Get beam Geometry information including its location in the 3D model lBeamID Unique Beam ID plBeamLabel Beam Label as seen in model peGravOrLat Gravity or Lateral member peMaterial Material Type pdXStart Global X coordinate location at start of Beam These values are at the end of the cantilever if the beam has one at the left end pdYStart Global Y coordinate location at start of Beam pdZStart Global Z coordinate location at start of Beam pdXEnd Global X coordinate location at end of Beam - These values are at the end of the cantilever if the beam has one at the end pdYEnd Global Y coordinate location at end of Beam pdZEnd Global Z coordinate location at end of Beam pdStartSupportX Global X coordinate location of Support at start of Beam These values are the same as pdXStart if beam does not have a cantilever at its start pdStartSupportY Global Y coordinate location of Support at start of Beam pdStartSupportZ Global Z coordinate location of Support at start of Beam pdEndSupportX Global X coordinate location of Support at end of Beam - These values are the same as pdX2 if beam does not have a cantilever at its end pdEndSupportY Global Y coordinate location of Support at end of Beam pdEndSupportZ Global Z coordinate location of Support at end of beam pdStartCantLength Cantilever length at start of Beam pdMidSpanLength Middle span length pdEndCantLength Cantilever length at end of Beam
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 Get column geometry information lColumnID Columns Unique ID plColumnLabel Column Label as seen in model peGravOrLat Gravity or Lateral member
plAtFnd
Material Type Bottom of column global X coordinate location Bottom of column global Y coordinate location Bottom of column global Z coordinate location Top of column global X coordinate location Top of column global Y coordinate location Top of column global Z coordinate location Major axis orientation in degrees. 0 degrees indicates that major axis is parallel to global X-axis. Positive angle rotates column counter-clockwise. 0 Indicates column is not at a foundation level, 1 = Indicates column is at foundation level
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
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
pdStoryElev
GetBeamSupportDims ([in] long lBeamID, [out] double *pdSuppLengthStart, [out] double *pdSuppWidthStart, [out] double *pdSuppLengthEnd, [out] double *pdSuppWidthEnd);
Purpose Parameters Get dimensions of the member supporting the given beam lBeamID Beams unique ID pdSuppLengthStart Support Length parallel to beam span at start of beam pdSuppWidthStart Support width perpendicular to beam span at start of beam pdSuppLengthEnd Support Length parallel to beam span at end of beam pdSuppWidthEnd Support width perpendicular to beam span at end of beam
GetIDForMemTypeAtStory ([in] long lStoryNoOrID, [in] EUniqueMemberTypeID eMemType, [out] long** ppalUniqueIDs, [out] long* plListSize);
Purpose Parameters 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.
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
GetFloorTypeInfo ([in] long lFlrTypeNo, [out] BSTR * pbstrFlrTypeID, [out] long* plNumBeams, [out] long* plNumColumns, [out] long* plNumWalls, [out] long * plNumFootings);
Purpose Parameters Get information for a given floor type lFlrTypeNo Floor type index starting with 0 pbstrFlrTypeID Floor type label plNumBeams Total number of beams in story plNumColumns Total number of columns in story plNumWalls Total number of walls in story plNumFootings Total number of Footings in story. Footings will only be used if there are no columns, beams or walls below the footing
GetColIDAtBracedLevel ([in] long nStartColID, [in] EAXIS eAxis, [out] long* plTopStoryColID, [out] long* plBotStoryColID, [out] long* plTopStoryNo, [out] long* plBotStoryNo);
Purpose Determine at which level up a column stack a beam (or slab) frames into the column axis in question. Column is braced in axis by beam, wall, and/or slab. The angle at which a beam is considered bracing a column (and if the deck/slab braces the column) is set by the engineer in either the steel column program or the RAM Concrete Analysis module. Change of angle or material up a column stack automatically results in the column being considered braced. 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
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 Get Brace Geometry information including its location in the 3D model lBraceID Unique Brace ID plBraceLabel Brace Label as seen in model peGravOrLat Gravity or Lateral member peMaterial Material Type pdXTop Global X coordinate location at top of Brace pdYTop Global Y coordinate location at top of Brace pdZTop Global Z coordinate location at top of Brace pdXBottom Global X coordinate location at bottom of Brace pdYBottom Global Y coordinate location at bottom of Brace pdZBottom Global Z coordinate location at bottom of Brace
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 Get wall geometry information lWallID The unique Wall ID plWallLabel The label number in the RAM SS peGravOrLat Gravity or Lateral member peMaterial Material Type pdXTopStart Top start corner global X coordinate location pdYTopStart Top start corner global Y coordinate location pdZTopStart Top start corner global Z coordinate location pdXTopEnd Top end corner global X coordinate location pdYTopEnd Top end corner global Y coordinate location
Top end corner global Z coordinate location Wall lower coordinate elevation corresponding to start corner Wall lower coordinate elevation corresponding to end corner 1= start of wall specified is at a foundation level 1= end of wall specified is at a foundation level
GetWallSectionDimProps ([in] long lWallID, [out] double* pdThickness, [out] double* pdCrackSectFactor);
Purpose Parameters Get wall section dimension properties lWallID The unique Wall ID pdThickness Wall thickness pdCrackSectFactor Cracked section factor used to reduce moment of inertia values
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 Get spread and continuous footing geometry information lFootID The unique Footing ID plFootLabel The label number in the RAM SS peMaterial Material Type pdXStart Start global X coordinate location pdYStart Start global Y coordinate location pdZStart Start global Z coordinate location pdXEnd End global X coordinate location pdYEnd End global Y coordinate location pdZEnd End global Z coordinate location Assuming footing is parallel to the global X axis - Distance to footing pdLeft left edge from start point left to slab edge pdRight Distance to footing right edge from end point right to slab edge pdTop Distance to footing top edge from centerline pdBottom Distance to footing bottom edge from centerline pdZ Footing top of slab (TOS) elevation pdThick Footing thickness Footing angle of rotation wrt global axis - Mostly required for spread footings pdAngle Note1: For spread footings pdXStart, pdYStart, pdZStart and pdXEnd, pdYEnd, pdZEnd will be identical. Note2: As of 6/10/03 the footing dimensions are the default values and do not reflect the footing final design dimensions
Comments
Story index starting with 0 for the first level or Story unique ID (unique ID is preferred) Total number of grid systems that are on a given story
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 Grid system information lGridSysID Grid System index number pbstrLabel Grid system label peType Grid System type as eGridOrthogonal, eGridSkewed or eGridRadial pdXOffset Global x offset of grid system pdYOffset Global Y offset of grid system pdRotation Global rotation of grid system plNumXRadialGrids Number of X or Radial Grids plNumYCircularGrids Number of Y or Circular Grids
GetGridInfoForGridSys ([in] long lGridSysID, [out] SGridLineInfo* pXRadial, [out] SGridLineInfo* pYCircular);
Purpose Parameters Get the location of the grids in the grid system lGridSysID Grid index number pXRadial X or Radial grid information pYCircular Y or Circular grid information
GetGridSysLabelsAtStory ([in] long lStoryNoOrID, [in] double dXLoc, [in] double dYLoc, [out] long* plGrydSysID, [out] BSTR* pbstrXGridLabel, [out] BSTR* pbstrYGridLabel);
Purpose Get the labels of the grid system intersection at a given story. If no grids are at the given
Parameters
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
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
GetBeamDepthFramingIntoColumn ([in] long lColID, [out] double* pdMaxMajorDepth, [out] double* pdMinMajorDepth, [out] double* pdMaxMinorDepth, [out] double* pdMinMinorDepth);
Purpose Get the max and minimum beam depths that are framing into a column. Note: The max and min depths will be on opposite sides. So if a column has two beams of different depths framing into one face and no beams framing into the opposite face, the min value will be zero. lColID Column Unique ID pdMaxMajorDepth Max beam depth framing into the major face of the column pdMinMajorDepth Min beam depth framing into the major face of the column pdMaxMinorDepth Max beam depth framing into the minor face of the column pdMinMinorDepth Min beam depth framing into the minor face of the column
Parameters
PointIsExposed ([in] long lStoryNoOrID, [in] double dX, [in] double dY, [retval, out] long * plPtExposed);
Purpose This function determines if a given point is attached to the diaphragm or not. There are three possible scenarios: 1. the point is completely outside the diaphragm and therefore exposed. 2. the point is inside the diaphragm and also inside an opening and therefore exposed 3. the point is inside the diaphragm but not inside any opening and therefore NOT exposed. lStoryNoOrID Story index starting with 0 for the first level or Story unique ID (unique ID is preferred) dX X-coord
Parameters
dY plPtExposed NOTE:
Y-coord 0: If the point is exposed. (scenarios 1 and 2) 1: If the point is NOT exposed. (scenario 3)
Another way to think of this: If a point is exposed it is detached from the diaphragm. If a point is not exposed it is attached to the diaphragm.
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 List of slab thickness ppadArea List of slab areas ppbstrLabels List of slab labels
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 to get information about each deck lStory Story number lDeck Deck number (on that specific story) pbstrSize Deck name pdThickness Thickness of the deck plNumDeckPoints Number of points in the deck polygon ppadXpts Array of doubles containing the X coordinates of the deck polygon ppadYpts Array of doubles containing the Y coordinates of the deck polygon ppadZpts Array of doubles containing the Z coordinates of the deck polygon plNumOpenings Number of openings in the deck
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 lateral wall group geometry info lStoryNoOrID Story index starting with 0 for the first level or Story unique ID (unique ID is preferred) lWallGroupIndex Wall group index number pdXCentroid Global X-coordinate location of wall group centroid pdYCentroid Global Y-coordinate location of wall group centroid pdZCentroid Global Z-coordinate location of wall group centroid pdAngle Angle defining major direction of wall plNumWallsColsInGroup Total number of walls and columns assigned to wall group palWallsColsListInGroup List of member Unique IDs for all walls and columns that are part of the wall group at the given story. NOTE This array must be dimensioned to a size of 99 before the function is called. The function will then set the unique IDs in the array and fill the unused spaces with a value of -1
IModelGeometry2
Philosophy: (see ModelGeometry1 above) Version: This interface and its methods were made available with RAM Structural System version 8.1.x GetNumMembersAtColumn ( [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
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 Get information on members that are framing into 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 the angle, the beam is assumed to be framing into column major axis plColumnAboveID Unique ID of column framing into top of lColumnID
Size of paBeamAtColumn Array of information for beams framing into column Size of paBraceAtColumn Array of information for braces framing into column
GetBeamSpanInformation ([in] long lBeamID, [out] double * pdLeftCantlLen, [out] double * pdMidSpanLength, [out] double * pdRightCantlLength, [out, retval] long* plResult);
Purpose Parameters Get span lengths for beam lBeamID pdLeftCantlLen pdMidSpanLength pdRightCantlLength plResult The unique beam ID Length of left cantilever Length of mid span Length of right cantilever 0 = success, greater than 0 = an error occurred.
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 Get the information on a wall group lStoryNoOrID Story index starting with 0 for the first level or Story unique ID (unique ID is preferred) lWallGroupIndex Wall group index from 0 to total number of wall groups on story plWallGroupLabel Wall group label pdXCentroid Wall group Centroid location in the global X-axis pdYCentroid Wall group Centroid location in the global Y-axis pdZCentroid Wall group Centroid location in the global Z-axis pdAngle Wall group rotation angle with 0.0 degrees parallel to X-axis plNumWallsInGroup Total number of walls and columns in group plWallListInGroup List of unique IDs for all walls and columns in group. Array must be dimensioned to be of size 100 plResult Return error code.
Version: These methods were made available with RAM Structural System version 8.2 GetPolygonPropID ([in] long lPolygonID, [in, out] long* plPropID, [in, out] EUniqueMemberTypeID* pePropertyType, [out,retval] long* plRetVal);
Purpose Parameters 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
Comment
Used for eTypeDeckOrSlab, eTypeSurfaceLoading, eTypeFoundationMatSlab. Must check plPropID to make sure it is not -1 before using plPropID for any other function calls
GetNumPolygonRawPoints ([in] long lPolygonID, [in] BOOL bClipToPerimeter, [in, out] long* plNumPoints, [out,retval] long* plRetVal);
Purpose Parameters Get the number of points that made of a polygon lPolygonID Polygon ID bClipToPerimeter True = clip the raw polygon to the slab edge perimiter plNumPoints Number of Points that make up the polygon plRetVal Error code. If value is non zero then check GetLastError
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 Get array of points defining the lPolygonID Polyon Unique ID bClipToPerimeter True = clip the raw polygon to the slab edge perimiter lArraySize Expected Size of paLoc paLoc Polygon corner coordinates pdArea Area of polygon pdPerimeter Perimiter length of polygon plRetVal Error code. If value is non zero then check GetLastError
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
Version: These methods were made available with RAM Structural System version 9.0 HRESULT GetColumnStackMatchMaterial([in] long lColID, [in, out] long* plNumInStack, [in, out] long** plStackIDs);
Purpose Parameters Get contiguous Column Stack with same material type as lColID IColID Columns Unique ID plNumInStack Number of columns in column stack ppalStackIDs Array of unique IDs. Size of array is plNumInStack This function is similar to GetColumnStack which does not check for material properties.
Comments
Version: These methods were made available with RAM Structural System version 9.0.3 HRESULT GetMemberInfoAtPointOnStory( [in] double dx, [in] double dy, [in] long lStoryID, [in, out] EUniqueMemberTypeID* peSupportType, [in, out] long* plSupportID, [out, retval] long* plRetval )
Purpose Parameters To determine the member that is located at a point in space on a story dx, dy Point in plan to locate member under lStoryID The story Unique ID The type of member that is at this point in space on the story peSupportType provided (will return foundationType if nothing at the point). plSupportID The uniqueID of the member at the point (-1 if nothing there) plRetval This method searches for a support member in the following sequence: Column, beam, wall.
Comments
IConcColModState1
Philosophy: This interface is for maintaining the state of the concrete column module. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 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 Final design reinforcement information for column lColID Columns unique ID pBarPattern Bar Pattern info plNumSegments Number of transverse segments ppaSegInfo Bar set segment info Array size is plNumSegments ppaReinPlace Bar set placement info Array size is plNumSegments This method will give all the required information for detailing the reinforcement in a concrete column. The start and end locations in pSegInfo are relative to the bottom of the given column.
Comments
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
Parameters
Bars less than or equal to pbstrSelSize use pdLap1 x bar diameter Bars larger than pbstrSelSize use pdLap2 x bar diameter Total number of reinforcement properties in reinforcement table Bar size string for limiting bar size
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 Get all concrete column design data lColID Columns unique ID ppaColRes Concrete Column Results data ppaPatRes Bar Pattern Results data ppaPatResStr Strings for Bar Pattern Results data ppaTransBarRes Column Transverse Reinforcement Set data ppaTransBarResStr Strings for Column Transverse Reinforcement Set data plNumPat Number of bar patterns Array size of paPatRes and paPatResStr plNumTrans Number of Transverse bar sets Array size of paTransBarRes and paTransBarResStr Method nulls pColResults, paPatternResults, paTransBarResults and redimensions them. The memory for the arrays need to be released using CoTaskMemFree
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.
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 nIndex pbstrLabel pbstrListBoxLabel pbstrMaxBar pbstrMinBar pbstrTieBar pnGroupID pnNumLong Pattern group index number Label automatically generated for the group Group label that is used in list boxes (includes tab character) Max longitudinal bar size label Min longitudinal bar size label Transverse bar size label Unique Group ID. Number of longitudinal bars used at top and bottom of
rectangular patterns or total number of bars used in round pattern layouts Additional bars on left and right side of rectangular patterns Number of bar patterns generated by group Pattern type - ePATTERN_TYPE Pattern group is being used True = pattern group is valid and can be used in design
GetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [out] SBAR_PATTERN* pBarPattern);
Purpose Parameters To get a specific bar pattern group nGroupIndex The group index nNumPatterns The number of patterns within the group. This is used for data checking. pBarPattern Pointer to an array of SBAR_PATTERNs. Memory must be allocated before the pointer is sent into DataAccess.
GetCriteriaShearLegs
Purpose Parameters
GetColDesignEffLengthFactors ([in] long lColID, [out] double * pdKx, [out] double * pdKy);
Purpose Return the effective length factors for a specific column (based on sway/non sway column setting and the members framing into the column). Assumes fixity specified for lateral beams else assumes beams with beam line numbers are continuous else they are considered pinned. Similarly, gravity concrete columns are assumed continuous. 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
Parameters
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
pbBracedSideSwayX pbBracedSideSwayY
True if user designated column is braced against sidesway in major axis. True if user designated beam is braced against sidesway in minor axis.
IConcColModState2
Philosophy: (see ConcColModState1 above) Version: This interface and its methods were made available with RAM Structural System version 8.1.x GetCheckAxialLimit ( [out] BOOL* pbCheckAxial);
Purpose Parameters To get the flag indicating whether the user wants to check max column axial load limit TRUE = Check Max Column Axial Load Limit pbCheckAxial
IMemberData1
Philosophy: This interface is for accessing and setting information for specific members. This could be information about size, framing type, material, material properties Version: This interface and its methods were made available with RAM Structural System version 8.0.2 GetConcBeamDesignAsBeam ([in] long lBeamID, [out] long* plDsnAsBeam);
Purpose Parameters Get beam design assignment as beam or joist lBeamID Beams Unique ID plDsnAsBeam Convert to BOOL True = design as beam, False = design as joist
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 pdE
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 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 Concrete Aggregate type NWC = normal weight concrete, LWC = light weight concrete Longitudinal reinforcement stress capacity fy Transverse reinforcement stress capacity fy Poissons ratio Concrete material density Concrete self weight used for self weight calculations
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 Unit conversion from inches (database units) to the required units. If units need to be in ft the value would be 0.08333 bstrUnit String of unit label for final value. If the final units need to be in feet use ft pbstrGridLabel Grid location returned as string
Parameters
GetColumnDimensions ([in] long lMemberID, [out] double *pdWidth, [out] double *pdDepth);
Purpose Parameters Get concrete column section dimensions lMemberID Columns Unique ID pdWidth Column width / minor direction length (B) pdDepth Column depth / major direction length (H)
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 Concrete beam section dimension properties lBeamID Beams Unique ID peShape Concrete section type ECONC_OTHER_SEC pdWebDepth Distance from bottom of section to bottom of slab adjacent to beam. If slab thickness is different each side of beam then the distance from bottom of section to the bottom of the thickest slab is provided pdWebWidthT Web width at top of web pdWebWidthB Web width at bottom of web pdFLWidthL Left flange width from center of span pdFLWidthR Right flange width from center of span pdFLthickL Left flange thickness pdFLthickR Right flange thickness True (1) = left side is an edge of slab, False (0) = left side is not an edge pbLeftIsEdge True (1) = right side is an edge of slab, False (0) = right side is not pbRightIsEdge an edge pbUserSpecified True if the user specified the design properties directly. False if user wants RAM SS to calculate the design properties Note: Total section depth is pdWebDepth + maximum thickness between pdFLthickL and
Comments
pdFLthickR
GetConcreteColumnSectionDimProps ([in] long lColumnID, [out] ECONC_OTHER_SEC* peShape, [out] double* pdDepthDiam, [out] double* pdWebWidthT, [out] double* pdWebWidthB, [out] double* pdArea );
Purpose Parameters Get concrete column section dimension properties lColumnID Columns Unique ID peShape Concrete section type ECONC_OTHER_SEC pdDepthDiam Full depth of column if rectangle, diameter of column if circular pdWebWidthT Section Width / minor dimension pdWebWidthB (Same number for top and bottom) pdArea Section area
GetSteelMemberMatlProps ([in] long IMemberID, [out] double* pdFy, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double * pdDensity, [out] long* plComposite);
Purpose Parameters Get steel member material properties IMemberID Members Unique ID pdFy Steel stress capacity pdE Steel modulus of elasticity pdPoissonsRatio Poissons ratio pdDensity Steel material density plComposite True (1) = member is a steel composite beam.
GetOtherMemberMatlProps ([in] long IMemberID, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double* pdMatDensity, [out] double* pdSelfWeight);
Parameters IMemberID pdE pdPoissonsRatio pdDensity pdSelfWeight Members Unique ID Modulus of elasticity Poissons ratio Material density Weight to use for self weight calculations
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 0 = use the global setting, 1 = use the user value plUseGlobalMinor
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 Minor axis assigned (Use global, Use nomograph or Use assigned value) pdMajorValue If peMajor is Use Assigned then this has the user assigned value, major axis If peMinor is Use Assigned then this has the user assigned value, minor axis pdMinorValue
GetMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);
Purpose Parameters 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
Note:
GetAssignedMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);
Purpose Returns the sidesway assignment : use global, braced or unbraced. See GetMemberSidesway if you are only interested what the final calculated braced/unbraced(sway) flag is. lMemberID The column ID to get the sidesway setting for peMajor Major axis sidesway value (Use global/Braced/unbraced) peMinor Minor axis sidesway value (Use global /Braced/unbraced) braced = nonsway unbraced = sway
Parameters
Note:
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 Member analytical section properties IMemberID Members Unique ID pdIMajGross Major axis bending moment of inertia pdIMinGross Minor axis bending moment of inertia pdArea Section area pdAvMaj Effective shear area for shear in major axis pdAvMin Effective shear area for shear in major axis pdJ Torsional constant of the section pdCrackSectFactor Cracked section factor used to reduce moment of inertia values 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.
Comments
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 Steel section dimension properties from steel table IMemberID Members Unique ID peShape Section shape pstrSize Section label pdBfTop Top Flange Width (breadth) pdBFBot Bottom Flange Width (breadth) pdTfTop Thickness of top flange pdTFBot Thickness of bottom flange pdkTop K dimension top of section (refer to AISC for defn) pdkBot K dimension bottom of section (refer to AISC for defn) pdDepth Total depth of the section pdWebT Thickness of the web of the section pdCw Warping torsion constant of section pdJ Torsional modulus of section peRolledFlag True if this is a rolled section pdZx Plastic modulus major axis pdZy Plastic modulus minor axis pdSxtop Section Modulus Top pdSxbot Section Modulus Bottom pdSy Section Modulus Minor Axis pdImaj Major axis moment of inertia pdImin Minor axis moment of inertia padArea Area of cross section
GetMemberEndReleases ([in] long lMemberID, [out] long * plMajorMomFixedI, [out] long * plMinorMomFixedI, [out] long * plTorFixedI, [out] long * plMajorMomFixedJ, [out] long * plMinorMomFixedJ, [out] long * plTorFixedJ);
Purpose For lateral members get the section end release properties. Note: End I of column = top, End I of beam is left, bottom (when looking at beam in plan), End I of brace is top. lMemberID The unique member ID plMajorMomFixedI True (1) if fixed for bending about major axis end I plMinorMomFixedI True (1) if fixed for bending about minor axis end I plTorFixedI True (1) if fixed for bending about torsion axis end I plMajorMomFixedJ True (1) if fixed for bending about major axis end J plMinorMomFixedJ True (1) if fixed for bending about minor axis end J plTorFixedJ True (1) if fixed for bending about torsion axis end J Returns error if member is gravity member
Parameters
Note:
CheckForMemberSizes ([in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMaterial, [out] long* bAllHaveSizes);
Purpose Parameters Determine if all members of a particular type (beam, column etc) and material (Steel, Concrete, All..) have sizes assigned eMemType The member type (refer to the appendix at end) eMaterial The material type bAllHaveSizes True (1) if all the members of given type and size have assigned sizes.
GetMemberMatlLatType ([in] long IMemberID, [out] EMATERIALTYPES * peMat, [out] EFRAMETYPE * peFrameType);
Purpose Parameters Get member material type and frame type lMemberID Member unique ID peMat Material type peFrameType Frame number that the member belongs to. A number < 0 indicates a gravity member.
GetMemberRigidEndZones ([in] long lMemberID, [out] double * pdREZMajorI, [out] double * pdREZMinorI, [out] double * pdREZMajorJ, [out] double * pdREZMinorJ);
Purpose Get a 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)
Parameters
GetSmartbeamType ([in] long lMemberID, [out] ESMARTBEAMTYPE* peSmartType, [out] BSTR* pbstrSize);
Purpose Parameters To get the size and type of a specific smart beam lMemberID Unique member id peSmartType 0 = castilated, 1 = cellular pbstrSize Size as a string
GetConcBeamCCBTopBars ([in] long lBeamID, [out] E_COVER_OPTION* peUseDefTopBars, [out] double* pdTopBars1, [out] double* pdTopBars2);
Purpose Parameters Get whether the beam should use the global criteria for cover to center of bars for top bars, or whether to use User defined data for this beam lBeamID The unique member ID peUseDefTopBars 0 = use global criteria, 1 = use user defined values below pdTopBars1 Assigned longitudinal top reinforcement cover to bar center for 1 layer (if user defined) pdTopBars2 Assigned longitudinal top reinforcement cover to bar center for 2 layer (if user defined)
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)
Parameters
lBeamID peBarLayers
The unique member ID 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
IMemberData2
Philosophy: (see MemberData1 above) Version: This interface and its methods were made available with RAM Structural System version 8.1.x GetNumPenetratedBeams([in, out] long* plNumBeamIDs, [out, retval] long* plRetVal)
Purpose Parameters Returns the number of penetrated beams. plNumBeamIDs The number of beams with pentrations plRetVal Error code. If value is non zero then check GetLastError
GetPenetratedBeamsIDArray([in] long lArraySize, [in, out] long* palBeamIDs, [out,retval] long* plRetVal)
Purpose Parameters Get an array ids for the beams that have penetrations. lArraySize Size of array to be retrieved. (This value is retrieved from the GetNumPenetratedBeams method above). palBeamIDs Pointer to an array longs that will contain the beam IDs of beams containing penetrations. Memory must be allocated before the pointer is sent into DataAccess plRetVal Error code. If value is non zero then check GetLastError
GetNumPensForBeamID([in] long lBeamID, [in, out] long* plNumPenetrations, [out, retval] long* plRetVal)
Purpose Parameters Get the number of penetrations in a given beam. lBeamID unique beam ID plNumPenetrations Number of penetrations in that beam.
plRetVal
GetPenetrationsIDArray([in] long lBeamID, [in] long lArraySize, [in, out] long* palPenIDs, [out,retval] long* plRetVal);
Purpose Parameters Get an array of penetration ids in a given beam. lBeamID unique beam ID lArraySize Size of array to be retrieved. (This value is retrieved from the GetNumPensForBeamID method above). palPenIDs Pointer to an array of longs that will contain penetration ids. Memory must be allocated before the pointer is sent into DataAccess plRetVal Error code. If value is non zero then check GetLastError
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 Get data associated with a specific web penetration on a specific beam lBeamID The unique member ID lPenID ID of web penetration on beam pdDistFromIEnd Distance of web pen from i-end of beam pdDistFromTop Distance of web pen from top of beam, or 0.0 if centered plType Shape of opening: Rectangular (0) or Circular (1) pdHDiam Height of rectangular or diameter of circular opening pdB Width of rectangular opening (or diameter or circular opening) plNumStiffeners 0, 1, or 2 stiffeners pdLength Length of stiffeners pdWidth Width of stiffeners pdThick Thickness of stiffeners
GetBraceDoubleAngleInfo([in] long lBraceID, [in,out] BOOL* pbIsDoubleAngle , [in,out] BOOL* pbLongLegsBack2Back, [in,out] double* pdBackSpacing, [out, retval] long* plRetVal)
Purpose Parameters Get double angle info for brace sections lBraceID Brace ID pblsDoubleAngle TRUE = section is a double angle. If FALSE then ignore remaining values pbLongLegsBack2Back TRUE = long legs are back to back bdBackSpacing Spacing between double angle backs plRetVal Error code. -1 = unspecified error, -2 = Section not a double angle If value is non zero then check GetLastError
Version: These methods were made available with RAM Structural System version 9.0 GetTensionCompressionType ([in] long lMemberID, [in, out] ETensionCompressionMemType* peTensionCompressionType, [out, retval] long* plRetVal)
Purpose Parameters Find if this member has been designated as Tension-Only lMemberID unique member ID peTensionCompressionType Defines type as tension only/ compression only or both plRetVal Error code. If value is non zero then check GetLastError Although any member ID may be passed in, only braces and beams can be designated Tension-Only at this time. All other member types will automatically have FALSE returned
Comments
IConcBeamState1
Philosophy: This interface is for maintaining the state of the concrete beam module. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 GetCriteriaReinCBCData ([out] long* plTop, [out] double* pdTop, [out] long* plSide, [out] double* pdSide, [out] long* plBot, [out] double* pdBot);
Purpose Parameters Get Criteria Reinforcement Clear Bar Cover Defaults plTop Clear Bar Cover Top option (0 = Code, 1 = user defined) pdTop Clear Bar Cover Top Value plSide Clear Bar Cover Side option (0 = Code, 1 = user defined) pdSide Clear Bar Cover Side Value plBot Clear Bar Cover Bottom option (0 = Code, 1 = user defined) pdBot Clear Bar Cover Bottom Value
GetCriteriaDetailingGravBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double* pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd, [out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Parameters Get Gravity Beam Detailing Defaults pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of beam line pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior support of end span pdTopBarExtentSpan Fractional location along span for top reinforcement along interior spans. pdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end Distance from support to shear reinforcement at interior supports Cut-off location for bottom reinforcement relative to support face at ends of beam line Cut-off location for bottom reinforcement relative to support face at interior supports Min. # of bottom bars continuous over support Number of stirrup legs for gravity joists Longitudinal reinforcement Splice type Bottom longitudinal reinforcement end condition Type of Stirrup
GetCriteriaDetailingGravJoistData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double* pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd, [out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Parameters Get Gravity Joist Detailing Defaults pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of beam line pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior support of end span pdTopBarExtentSpan Fractional location along span for top reinforcement along interior spans Distance from support to 1st shear reinforcement at pdTransBarStartEnd beam end Distance from support to shear reinforcement at interior supports pdTransBarStartSpan pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face at ends of beam line pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at interior supports plBotMinContinuous Min. # of bottom bars continuous over support plNumStirrupLegs Number of stirrup legs for gravity joists plSpliceType Longitudinal reinforcement Splice type plEndCond Bottom longitudinal reinforcement end condition plStirrupType Type of Stirrup
GetCriteriaDetailingLatBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double* pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd, [out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Parameters Get Lateral Beam Detailing Defaults pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of beam line
pdTopBarExtent1stSpanEnd pdTopBarExtentSpan pdTransBarStartEnd pdTransBarStartSpan pdBotBarExtent1stSpanEnd pdBotBarExtentSpan plBotMinContinuous plNumStirrupLegs plSpliceType plEndCond
plStirrupType
Fractional location along span for top reinforcement at interior support of end span Fractional location along span for top reinforcement along interior spans Distance from support to 1st shear reinforcement at beam end Distance from support to shear reinforcement at interior supports Cut-off location for bottom reinforcement relative to support face at ends of beam line Cut-off location for tom reinforcement relative to support face at interior supports Min. # of bottom bars continuous over support Number of stirrup legs for gravity joists Longitudinal reinforcement Splice type (0 = ACI Class A, 1 = ACI Class B) Bottom longitudinal reinforcement end condition (0 = Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 = Hoop, 7 = Mechanical) Type of Stirrup (same as for plEndCond)
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 Get concrete beam design results lStory Story number starting with 0 for the first story lBeamLineID Beam line ID number plNumSpans Total number of spans in beam line haBeamLine Beam line results haBeamResults Individual beam span results haBeamResultsBstr Individual beam span result strings
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 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
Comments
Bottom longitudinal reinforcement bar set data Bottom longitudinal reinforcement bar set strings 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.
GetCriteriaReinCBSShear ( [out] long* plShearMax, [out] double* pdShearMax, [out] long* plShearMin, [out] double* pdShearMin);
Purpose Parameters Get Criteria Reinforcement Clear Bar Spacing Shear Defaults plShearMax Clear Bar Spacing Shear Max option (0 = Code, 1 = user defined) pdShearMax Clear Bar Spacing Shear Max Value plShearMin Clear Bar Spacing Shear Min option (0 = Code, 1 = user defined) pdShearMin Clear Bar Spacing Shear Min Value
GetCriteriaReinCBSFlexure ([out] long* plFlexMax, [out] double* pdFlexMax, [out] long* plFlexMin, [out] double* pdFlexMin);
Purpose Parameters Get Criteria Reinforcement Clear Bar Spacing Flexure Defaults plFlexMax Clear Bar Spacing Flexure Max option (0 = Code, 1 = user defined) pdFlexMax Clear Bar Spacing Flexure Max Value plFlexMin Clear Bar Spacing Flexure Min option (0 = Code, 1 = user defined) pdFlexMin Clear Bar Spacing Flexure Min Value
GetCriteriaReinLRRData ([out] long* plLRRMax, [out] double* pdLRRMax, [out] long* plLRRMin, [out] double* pdLRRMin);
Purpose Parameters Get Criteria Reinforcement Longitudinal Reinf. Ratio Defaults plLRRMax Long. Rein Ratio Max option (0 = Code, 1 = user defined) pdLRRMax Long. Rein Ratio Max Value plLRRMin Long. Rein Ratio Min option (0 = Code, 1 = user defined) pdLRRMin Long. Rein Ratio Min Value
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
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 Get Criteria Beam Design Bar Selection Defaults plMinTopBars Min Number of Top Longitudinal bars plMinBotBars Min Number of Bottom Longitudinal bars plBarLayerSame Keep all bars in layer the same size: 0 = FALSE, 1 = TRUE plSizeChange Number of sizes adjacent bars may differ by pdSegSpaceInc Trans bar spacing segment increment pdShearBarSpaceInc Trans bar spacing shear bar spacing increment (0 = based on minimum required steel, 1 = based on maximum spacing controlling over minimum rebar area, 2 = based on minimum spacing controlling minimum rebar area) plBarSelMethod rebar selection method plBarSizeBias Bar Selection Bias for Bar Size (0 = small, 1 = medium, 2 = large) plBiasLimit Amount of bias (0 = low, 1 = medium, 2 = high)
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 Get the analysis and design capacity envelopes lStory Story number starting with 0 for the first level and going up to (plNumStories 1) for the top (roof) level lBeamLineID Beam line index number ppaReqMomMaj Array of Required moment envelope points plSizeReqMom Size of haReqMomMaj ppaReqShrMaj Array of Required shear envelope points plSizeReqShr Size of haReqShrMaj ppaReqTorsion Array of Required torsion envelope points plSizeReqTor Size of haReqTorsion ppaPrvMomMaj Array of Provided moment envelope points plSizePrvMom Size of haPrvMomMaj ppaPrvShrMaj Array of Provided shear envelope points plSizePrvShr Size of haPrvShrMaj ppaPrvTorsion Array of Provided torsion envelope points plSizePrvTor Size of haPrvTorsion ppaReqPosFlxReinArea Array of Provided flexural reinforcement area points plSizePosRein Size of haReqPosFlxReinArea ppaReqNegFlxReinArea Array of Negative flexural reinforcement area points plSizeNegRein Size of haReqNegFlxReinArea ppaReqShrReinArea Array of Shear reinforcement area points plSizeShrRein Size of haReqShrReinArea
IConcBeamState2
Philosophy: (see ConcBeamState1 above) Version: This interface and its methods were made available with RAM Structural System version 8.1.x GetCriteriaDetailingGravBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double* pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd, [out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Parameters Get Gravity Beam Detailing Defaults pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of beam line pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior support of end span pdTopBarExtentSpan Fractional location along span for top reinforcement along interior spans pdTransBarStartEnd Distance from support to 1st shear reinforcement at beam end pdTransBarStartSpan Distance from support to shear reinforcement at interior supports pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face at ends of beam line pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at interior supports plBotMinContinuous Min. # of bottom bars continuous over support plTopMinContinuous Min. # of top bars continuous over support plNumStirrupLegs Number of stirrup legs for gravity joists plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA, 1 = ACI ClassB) plEndCond Bottom longitudinal reinforcement end condition (0 = Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 = Hoop, 7 = Mechanical) plStirrupType Type of Stirrup (same as for plEndCond)
GetCriteriaDetailingGravJoistData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double* pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd, [out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Parameters
Get Gravity Joist Detailing Defaults pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of beam line pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior support of end span pdTopBarExtentSpan Fractional location along span for top reinforcement along interior spans pdTransBarStartEnd Distance from support to 1st shear reinforcement at beam end pdTransBarStartSpan Distance from support to shear reinforcement at interior supports pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face at ends of beam line pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at interior supports plBotMinContinuous Min. # of bottom bars continuous over support plTopMinContinuous Min. # of top bars continuous over support plNumStirrupLegs Number of stirrup legs for gravity joists plSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA, 1 = ACI ClassB) plEndCond Bottom longitudinal reinforcement end condition (0 = Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 = Hoop, 7 = Mechanical) plStirrupType Type of Stirrup (same as for plEndCond)
GetCriteriaDetailingLatBeamData ([out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double* pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd, [out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Parameters Get Lateral Beam Detailing Defaults pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of beam line pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior support of end span pdTopBarExtentSpan Fractional location along span for top reinforcement along interior spans pdTransBarStartEnd Distance from support to 1st shear reinforcement at beam end pdTransBarStartSpan Distance from support to shear reinforcement at interior supports pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face at ends of beam line pdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at interior supports plBotMinContinuous Min. # of bottom bars continuous over support
plStirrupType
Min. # of top bars continuous over support Number of stirrup legs for gravity joists Longitudinal reinforcement Splice type (0 = ACI ClassA, 1 = ACI ClassB) Bottom longitudinal reinforcement end condition (0 = Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 = Hoop, 7 = Mechanical) Type of Stirrup (same as for plEndCond)
GetCamberCriteria ( [out] long *plDontCamber, [out] double *pdMinSpanLength, [out] double *pdDLforCamber, [out] double *pdCamberInc, [out] double *pdMinCamber, [out] double * pdMaxCamber);
Purpose Parameters Get Concrete camber criteria plDontCamber 0 = camber (don't not camber), 1 = don't camber pdMinSpanLength Minimum span length to camber pdDLforCamber % of Dead Load for camber pdCamberInc Camber increment pdMinCamber Minimum camber value pdMaxCamber Maximum camber value
GetDeflectionCriteriaLongTerm ( [out] double *pdInitialTimeFac, [out] double *pdFinalTimeFac, [out] double *pdLLSustained);
Purpose Parameters Get Long Term Deflection criteria pdInitialTimeFac Initial time dependent factor pdFinalTimeFac Final time dependent factor pdLLSustained % of LL sustained
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 Get the alternate span-to-deflection ratios/ abs values pdDLRatio Dead Load l/d pdDLAbs Dead Load delta pdLLRatio Live Load l/d pdLLAbs Live Load delta pdLTRatio Long Term + LL l/d pdLTAbs Long Term + LL delta pdNetRatio Net Total l/d pdNetAbs Net Total delta
GetDeflectionDefaultCriteria ( [out] double *pdDLRatio, [out] double *pdDLAbs, [out] double *pdLLRatio, [out] double *pdLLAbs, [out] double *pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double *pdNetAbs);
Purpose Get the default span-to-deflection ratios/ abs values
Parameters
Dead Load l/d Dead Load delta Live Load l/d Live Load delta Long Term + LL l/d Long Term + LL delta Net Total l/d Net Total delta
Version: These methods were made available with RAM Structural System version 8.2 GetMemberScheduleMark ([in] long lBeamID, [in, out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal);
Purpose Parameters Get the member concrete reinforcement schedule marks lBeamID Beam Unique ID pBeamScheduleMark Concrete beam schedule mark plRetVal Error code. If value is non zero then check GetLastError
IModelStatus1
Philosophy: ModelStatus keeps track of the interaction between the RAM Structural System modules. This interface is used to tell ModelStatus when an action has occurred so it can track the impact on other modules. Modules also use this interface to find out if their status was changed by another module. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 WhatsMyStatus ([in] EWhichModule eWhich, [out] E_STATUS* peStatus);
Purpose Parameters To find out the status of a module. eWhich Which module to get the status of. peStatus Status of the requested module.
IConcCntlrCommon1
Philosophy: This interface is used to access data that is common to several controllers. Version: This interface and its methods were made available with RAM Structural System version 8.1.x 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)
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
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
I or Start Special Provisions Shear min. required shear J or End Special Provisions Shear min. required shear Error code 0 = no error
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
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
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
ILoading1
Philosophy: This interface is used to access information about the load cases and load combinations that exist for the current model. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 GetLoadCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* nNumCases, [out] SLoadCase_CmbGen_DA** ppaAllCases);
Purpose Parameters 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
NOTE:
GetNumCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCombos); Purpose Parameters NOTE: To get the number of combinations eType Flag that indicates the program/mode that is requesting the count. The number of combinations pnNumCombos This is only implemented for Concrete in ILoading1
GetCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* plNumCombos, [out] SLoadCombos_CmbGen_DA** ppaCombos);
Purpose Parameters To get the list of load combinations eType Flag that indicates the program/mode that is requesting the list. plNumCombos Return value for the number of combinations in the list ppaCombos Array of load combinations. This is only implemented for Concrete in ILoading1
NOTE:
NOTE:
NOTE:
NOTE:
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.
GetAvailFrameCombo ([in] ECOMBOTYPES eComboType, [in] long lComboNo, [out] long * plNumTerms, [out] long * palCaseIndex, [out] double * padFactor, [out] long * plSelected);
Purpose To get the information for a given load combination
Parameters
NOTE:
Flag indicating the RAM Frame mode Index into load combination array Number of terms in the combination array of indices into the load case array. Maximum of 5 values in this array. padFactor array of load case factors. Maximum of 5 values in this array. plSelected flag that indicates if the load combination is selected for use. 0 = false, 1 = true This is only implemented for RAM Frame in ILoading1
GetNodalLoadCaseInfo ([out] long * plNumLoadCases, [out] BSTR** ppbstrLoadCaseLabel, [out] BSTR** ppbstrLoadCaseType);
Purpose Parameters Get the number of nodal load cases defined in the modeler plNumLoadCases The number of nodal load cases defined ppbstrLoadCaseLabel The label (user defined) of the load case ppbstrLoadCaseType The nodal load case type (wind, seismic, virtual, other)
GetNodalLoadsForLoadCase ([in] BSTR bstrNodalLoadCaseLabel, [out] long* plNumLoads, [out] SNodalLoadData** ppaNodalLoads);
Purpose 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
Version: These methods were made available with RAM Structural System version 8.2 GetLoadCaseInfo ([in] long lLoadCaseID, [in, out] SLoadCaseInfo* psLoadCaseInfo, [out,retval] long* plRetVal);
Purpose Parameters Get the SLoadCaseInfo for the specified load case lLoadCaseID Load Case Unique ID psLoadCaseInfo Load case info struct. plRetVal Error code. If value is non zero then check GetLastError Implemented for gravity loads only.
Comment
GetLoadSetPropInfo ([in] long lLoadSetPropID, [in] BSTR* pbstrLabel, [in, out] long* plNumCaseIDsUsed, [in, out] long* palCaseIDsUsed, [in, out] long* plNumReferances, [out,retval] long* plRetVal);
Purpose Get the information on the load set properties. A load set is defined in RAM Modeler and is a group of gravity loads which include Dead, Construction Dead, Construction Live, Mass and one of the following live loads Reducable, Unreducable, Storage or Roof lLoadSetPropID Prop Unique ID pbstrLabel Prop Label plNumCaseIDsUsed Number of load cases that are part of load set palCaseIDsUsed List of case ID's used. Must be dimensioned to max number of gravity load cases plNumReferances Number of times this prop. is used in model plRetVal Error code. If value is non zero then check GetLastError
Parameters
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
GetLineLoadSetInfo ([in] long lLineLoadSetID, [in, out] SCoordinate* pStartLoc, [in, out] SCoordinate* pEndLoc, [in, out] long* plLoadSetPropID, [out,retval] long* plRetVal);
Purpose Parameters Get information on a line load set lLineLoadSetID Line load set ID pStartLoc Start location of line pEndLoc End location of line plLoadSetPropID LoadSetProp Unique ID plRetVal Error code. If value is non zero then check GetLastError
GetPointLoadSetInfo ([in] long lPointLoadSetID, [in, out] SCoordinate* paLoc, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);
Purpose Parameters Get information on a point load set lPointLoadSetID Point load set ID paLoc Location of point load plLoadSetPropID LoadSetProp Unique ID plRetVal Error code. If value is non zero then check GetLastError
GetSurfaceLoadSetInfo ([in] long lSurfLoadSetID, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);
Purpose Parameters Get information on a surface load set lSurfLoadSetID Surface load set ID plLoadSetPropID LoadSetProp Unique ID plRetVal Error code. If value is non zero then check GetLastError
Comment
Version: These methods were made available with RAM Structural System version 11 GetAnalysisCaseIDFromAnalyzeNo ([in] long lAnalyzeNo, [out] long* plAnalysisCaseID, [out] long* plRetval) Gets the analysis case unique ID from an index into the list of analyzed load cases in RAM Frame. The number of analyzed load cases is taken from GetNumAnalyzedFrameLoadCases in this interface. Available v11.0.
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
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. Version: This interface and its methods were made available with RAM Structural System version 8.0.2. GetNumBeamLoads ([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);
Purpose Parameters Get total number of line and point loads on beam lBeamID Beam unique ID plNumLineLoads Total number of line loads plNumPointLoads Total number of point loads
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 Get beam line load info lBeamID Beam unique ID nLineLoadNo Line load index number from 0 to plNumLineLoads - 1 pdDistL Distance from left end of beam to left end of load pdDistR Distance from left end of beam to right end of load pdDLL Perpendicular Dead Load at left end of load pdDLR Perpendicular Dead Load at right end of load. pdCDLL Perpendicular Construction Dead Load at left end of load.
pdCDLR pdLLL pdLLR pdCLLL pdCLLR pdAxDLL pdAxDLR pdAxCDLL dAxCDLR pdAxCLLL pdAxCLLR pdAxLLL pdAxLLR peLoadType pdRfactor Sign Convention:
Perpendicular Construction Dead Load at right end of load. Perpendicular Unreduced Live Load at left end of load. Perpendicular Unreduced Live Load at right end of load. Perpendicular Construction Live Load at left end of load. Perpendicular Construction Live Load at right end of load. Axial Dead Load, in kips, at left end of load Axial Dead Load, in kips, at right end of load. Axial Construction Dead Load at left end of load. Axial Construction Dead Load at right end of load. Axial Unreduced Live Load at left end of load. Axial Unreduced Live Load at right end of load Axial Construction Live Load at left end of load. Axial Construction Live Load at right end of load. Type of live load: 'RF' = roof, 'FL' = floor, 'UR' = unreducible, 'ST' = storage Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
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 Get perpendicular and axial components of point loads applied to a beam. lBeamID Beam unique ID lPtLoadNo Point load index number from 0 to plNumPointLoads - 1 pdDist Location of point load from start of beam pdDL Perpendicular Dead Load pdCDL Perpendicular Construction Dead Load pdCLL Perpendicular Construction Live Load pdLLPosRed Perpendicular Positive Reducible Live Load pdLLNegRed Perpendicular Negative Reducible Live Load pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load pdLLPosStorage Perpendicular Positive Storage Live Load pdLLNegStorage Perpendicular Negative Storage Live Load pdLLPosRoof Perpendicular Positive Roof Live Load pdLLNegRoof Perpendicular Negative Roof Live Load pdAxDL Axial Dead Load pdAxCDL Axial Construction Dead Load pdAxCLL Axial Construction Live Load
pdAxNegRedLL pdAxPosRedLL dAxNegNonRedLL pdAxPosNonRedLL pdAxNegStorageLL pdAxPosStorageLL pdAxNegRoofLL pdAxPosRoofLL pdPosLLRF pdNegLLRF pdPosStorageLLRF pdNegStorageLLRF pdPosRoofLLRF pdNegRoofLLRF peLoadSource
Axial Negative Reducible Live Load Axial Positive Reducible Live Load Axial Negative Non-Reducible Live Load Axial Positive Non-Reducible Live Load Axial Negative Storage Live Load Axial Positive Storage Live Load Axial Negative Roof Live Load Axial Positive Roof Live Load Positive live load reduction factor Negative live load reduction factor Positive Storage live load reduction factor Negative Storage live load reduction factor Positive Roof live load reduction factor Negative Roof live load reduction factor Point load source
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 on axial point loads on column lColumnID Column unique ID lPtLoadNo Point load index number from 0 to lNumPointLoads - 1 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
GetBeamLLRedFactor ([in] long lBeamID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* dNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Get beam live load reduction factors
Parameters
Comment
lBeamID Beam unique ID pdPosLLRF Positive live load reduction factor pdNegLLRF Negative live load reduction factor pdPosStorageLLRF Positive Storage live load reduction factor dNegStorageLLRF Negative Storage live load reduction factor pdPosRoofLLRF Positive Roof live load reduction factor pdNegRoofLLRF Negative Roof live load reduction factor 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)
GetColumnLLRedFactor ([in] long lColumnID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Parameters Get column live load reduction factors lColumnID Column unique ID pdPosLLRF Positive live load reduction factor pdNegLLRF Negative live load reduction factor pdPosStorageLLRF Positive Storage live load reduction factor pdNegStorageLLRF Negative Storage live load reduction factor pdPosRoofLLRF Positive Roof live load reduction factor pdNegRoofLLRF Negative Roof live load reduction factor
GetWallLLRedFactor ([in] long lWallID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Parameters Get wall live load reduction factors lWallID Wall unique ID pdPosLLRF Positive live load reduction factor pdNegLLRF Negative live load reduction factor pdPosStorageLLRF Positive Storage live load reduction factor pdNegStorageLLRF Negative Storage live load reduction factor pdPosRoofLLRF Positive Roof live load reduction factor pdNegRoofLLRF Negative Roof live load reduction factor
GetNumWallLoads ([in] long lWallID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);
Purpose Parameters Get number of line and point loads on a wall. lWallID Wall unique ID plNumLineLoads Total number of line loads on wall plNumPointLoads Total number of point loads on wall
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
Information on line loads applied on a wall. lWallID Wall unique ID nLineLoadNo Line load index number from 0 to plNumLineLoads - 1 pdDistL Distance from left end of wall to left end of load pdDistR Distance from left end of wall to right end of load pdDLL Dead Load at left end of load pdDLR Dead Load at right end of load. pdCDLL Perpendicular Construction Dead Load at left end of load. pdCDLR Perpendicular Construction Dead Load at right end of load. pdLLL Perpendicular Unreduced Live Load at left end of load. (pos if dn) pdLLR Perpendicular Unreduced Live Load at right end of load. (pos if dn) pdCLLL Perpendicular Construction Live Load at left end of load. (pos if dn) pdCLLR Perpendicular Construction Live Load at right end of load. (pos if dn) pdAxDLL Axial Dead Load at left end of load pdAxDLR Axial Dead Load at right end of load. pdAxCDLL Axial Construction Dead Load at left end of load. pdAxCDLR Axial Construction Dead Load at right end of load. pdAxCLLL Axial Construction Live Load at left end of load. (pos if dn) pdAxCLLR Axial Construction Live Load at right end of load. (pos if dn) pdAxLLL Axial Unreduced Live Load at left end of load. (pos if dn) pdAxLLR Axial Unreduced Live Load at right end of load. (pos if dn) peLoadType Type of live load: 'RF' = roof, 'FL' = floor, 'UR' = unreducible, 'ST' = storage pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
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 Information on the point loads applied on a wall. lWallID Wall unique ID
lPtLoadNo pdDist pdDL pdCDL pdCLL pdLLPosRed pdLLNegRed pdLLPosNonRed pdLLNegNonRed pdLLPosStorage pdLLNegStorage pdLLPosRoof pdLLNegRoof pdAxDL pdAxCDL pdAxCLL pdAxPosRedLL dAxNegNonRedLL pdAxPosNonRedLL pdAxNegStorageLL pdAxPosStorageLL pdAxNegRoofLL pdAxPosRoofLL pdPosLLRF pdNegLLRF pdPosStorageLLRF pdNegStorageLLRF pdPosRoofLLRF pdNegRoofLLRF peLoadType
Point load index number from 0 to plNumPointLoads - 1 Location of point load from start of wall Perpendicular Dead Load Perpendicular Construction Dead Load Perpendicular Construction Live Load Perpendicular Positive Reducible Live Load Perpendicular Negative Reducible Live Load Perpendicular Positive Non-Reducible Live Load Perpendicular Negative Non-Reducible Live Load Perpendicular Positive Storage Live Load Perpendicular Negative Storage Live Load Perpendicular Positive Roof Live Load Perpendicular Negative Roof Live Load Axial Construction Dead Load Axial Construction Live Load Axial Positive Reducible Live Load Axial Negative Reducible Live Load Axial Negative Non-Reducible Live Load Axial Positive Non-Reducible Live Load Axial Negative Storage Live Load Axial Positive Storage Live Load Axial Negative Roof Live Load Axial Positive Roof Live Load Positive live load reduction factor Negative live load reduction factor Positive Storage live load reduction factor Negative Storage live load reduction factor Positive Roof live load reduction factor Negative Roof live load reduction factor Point load source
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
Comments
pdLLPosNonRed The downward non-reducible live load pdLLNegNonRed The upward non-reducible live load pdLLPosStorage The downward storage live load 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)
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);
Purpose Parameters 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.
Comment
Version: These methods were made available with RAM Structural System version 9.0
HRESULT 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 peTensionCompressionType Defines type as tension only/ compression only or both pdPosRedTribArea Positive reducible live load tributary area pdNegRedTribArea Negative reducible live load tributary area pdPosStorageTribArea Positive storage live load tributary area pdNegStorageTribArea Negative storage live load tributary area pdPosRoofTribArea Positive Roof live load tributary area pdNegRoofTribArea Negative Roof live load tributary area pdPosRedTribAreaCant Positive reducible live load tributary area from cantilever Negative reducible live load tributary area from cantilever pdNegRedTribAreaCant pdPosStorageTribAreaCant Positive storage live load tributary area from cantilever pdNegStorageTribAreaCant Negative storage live load tributary area from cantilever plRetVal Error code. If value is non zero then check GetLastError
Comments
HRESULT 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 Error code. If value is non zero then check plRetVal GetLastError
Comments
HRESULT 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 Get the column side loads from the gravity analysis lColumnID Column UID lAnalysisID Analysis case ID bApplyLLReduction true = consider live load reduction pdSide1Load Top or Top flange pdSide2Load (Clockwise) front side / web pdSide3Load Bottom or Bottom flange pdSide4Load (Clockwise) back side / web
Comments
Version: These methods were made available with RAM Structural System version 10.0 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 Get beam line load info lBeamID Beam unique ID nLineLoadNo Line load index number from 0 to plNumLineLoads 1 pdDistL Distance from left end of beam to left end of load pdDistR Distance from left end of beam to right end of load pdDLL Perpendicular Dead Load at left end of load pdDLR Perpendicular Dead Load at right end of load. pdCDLL Perpendicular Construction Dead Load at left end of load. pdCDLR Perpendicular Construction Dead Load at right end of load. pdLLL Perpendicular Unreduced Live Load at left end of load. pdLLR Perpendicular Unreduced Live Load at right end of load. pdCLLL Perpendicular Construction Live Load at left end of load. pdCLLR Perpendicular Construction Live Load at right end of load. pdAxDLL Axial Dead Load, in kips, at left end of load pdAxDLR Axial Dead Load, in kips, at right end of load. pdAxCDLL Axial Construction Dead Load at left end of load. dAxCDLR Axial Construction Dead Load at right end of load. pdAxCLLL Axial Unreduced Live Load at left end of load. pdAxCLLR Axial Unreduced Live Load at right end of load pdAxLLL Axial Construction Live Load at left end of load. pdAxLLR Axial Construction Live Load at right end of load. peLoadType Type of live load: RF = roof, FL = floor, UR = unreducible, ST = storage pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible peLineLoadSource The source of the line load (where it originated from) see enum plRetval Return value, 0 = no error else call GetLastError A downward acting load is positive.
Sign Convention:
Version: These methods were made available with RAM Structural System version 11.0 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
Get beam line load info lBeamID Beam unique ID nLineLoadNo Line load index number from 0 to plNumLineLoads 1 pdDistL Distance from left end of beam to left end of load pdDistR Distance from left end of beam to right end of load pdDLL Perpendicular Dead Load at left end of load pdDLR Perpendicular Dead Load at right end of load. pdCDLL Perpendicular Construction Dead Load at left end of load. pdCDLR Perpendicular Construction Dead Load at right end of load. pdLLL Perpendicular Unreduced Live Load at left end of load. pdLLR Perpendicular Unreduced Live Load at right end of load. pdCLLL Perpendicular Construction Live Load at left end of load. pdCLLR Perpendicular Construction Live Load at right end of load. pdAxDLL Axial Dead Load, in kips, at left end of load pdAxDLR Axial Dead Load, in kips, at right end of load. pdAxCDLL Axial Construction Dead Load at left end of load. dAxCDLR Axial Construction Dead Load at right end of load. pdAxCLLL Axial Unreduced Live Load at left end of load. pdAxCLLR Axial Unreduced Live Load at right end of load pdAxLLL Axial Construction Live Load at left end of load. pdAxLLR Axial Construction Live Load at right end of load. peLoadType Type of live load: RF = roof, FL = floor, UR = unreducible, ST = storage pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible peLineLoadSource The source of the line load (where it originated from) see enum peSide The side of the beam that the load is applied to plRetval Return value, 0 = no error else call GetLastError A downward acting load is positive.
Sign Convention:
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, [out] EMemberSide *peSide, long* plRetval);
Purpose Parameters Get perpendicular and axial components of point loads applied to a beam. lBeamID Beam unique ID lPtLoadNo Point load index number from 0 to plNumPointLoads - 1 pdDist Location of point load from start of beam pdDL Perpendicular Dead Load pdCDL Perpendicular Construction Dead Load pdCLL Perpendicular Construction Live Load
pdLLPosRed 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 peSide plRetval
Perpendicular Positive Reducible Live Load Perpendicular Negative Reducible Live Load Perpendicular Positive Non-Reducible Live Load Perpendicular Negative Non-Reducible Live Load Perpendicular Positive Storage Live Load Perpendicular Negative Storage Live Load Perpendicular Positive Roof Live Load Perpendicular Negative Roof Live Load Axial Dead Load Axial Construction Dead Load Axial Construction Live Load Axial Negative Reducible Live Load Axial Positive Reducible Live Load Axial Negative Non-Reducible Live Load Axial Positive Non-Reducible Live Load Axial Negative Storage Live Load Axial Positive Storage Live Load Axial Negative Roof Live Load Axial Positive Roof Live Load Positive live load reduction factor Negative live load reduction factor Positive Storage live load reduction factor Negative Storage live load reduction factor Positive Roof live load reduction factor Negative Roof live load reduction factor Point load source The side of the beam that the load is applied to Return value, 0 = no error else call GetLastError
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. Version: This interface and its methods were made available with RAM Structural System version 8.1.x GetSteelDesignCode ([out] BSTR* pbstrBeamCode, [out] BSTR* pbstrColumnCode);
Purpose Parameters To get the design code used by RAM Steel Beam and Column pbstrBeamCode Beam code as a string pbstrColumnCode Column code as a string
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 Get the composite beam properties lBeamID Beam Unique ID plNumStudSegments Number of stud segments (<=5) lSizeOfArrayOfStuds Size of palNumStuds palNumStuds Array containing the number of studs in each segment. pbShored 1 = Shored pdDeckAngleLeft Deck angle left of beam pdDeckAngleRight Deck angle right of beam pbEdgeOnLeft 1 if there is an edge of slab on the left side of beam pbEdgeOnRight 1 if there is an edge of slab on the right side of beam pdSlabWidthLeft Width of slab on left side of beam pdSlabWidthRight Width of slab on right side of beam pdMinSlabThicknessLeft Min. slab thickness on left side of beam pdMinSlabThicknessRight Min. slab thickness on right side of beam
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 Parameters 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
GetBeamCompDisp ([in] long lBeamID, [out] double* pdInitialRight, [out] double* pdInitialCenter, [out] double* pdInitialLeft, [out] double* pdPostLiveRight, [out] double* pdPostLiveCenter, [out] double* pdPostLiveLeft, [out] double* pdPostTotalRight, [out] double* pdPostTotalCenter, [out] double* pdPostTotalLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out] double* pdNetTotalLeft);
Purpose Get the deflection values for the location where the maximum total deflection occurs on a composite gravity beam. The deflection values recovered are identical to those provided in the Beam Deflection report in RAM Steel Beam Note: that the location of the deflection is not recovered or reported. lBeamID Beam Unique ID pdInitialRight Initial deflection at right cantilever pdInitialCenter Initial deflection at center span pdInitialLeft Initial deflection at left cantilever
Parameters
Positive live load deflection at right cantilever Positive live load deflection at center span Positive live load deflection at left cantilever Positive total deflection at right cantilever Positive total deflection at center span Positive total deflection at left cantilever Negative total deflection at right cantilever Negative total deflection at center span Negative total deflection at left cantilever
GetBeamNonCompDisp ([in] long lBeamID, [out] double* pdDeadRight, [out] double* pdDeadCenter, [out] double* pdDeadLeft, [out] double* pdLiveRight, [out] double* pdLiveCenter, [out] double* pdLiveLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out] double* pdNetTotalLeft);
Purpose Get the deflection values for the location where the maximum total deflection occurs on a non-composite gravity beam. The deflection values recovered are identical to those provided in the Beam Deflection report in RAM Steel Beam. Note that the location of the deflection is not recovered or reported. 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
Version: These methods were made available with RAM Structural System version 10.0 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 plDeckPropIDRight
Type of deck on right side of beam Unique ID of deck on right side of beam
IForces1
Philosophy: This interface typically provides RAM Frame member forces. These methods are only available following performing an analysis in RAM Frame. Version: This interface and its methods were made available with RAM Structural System v8.0.2 Comments 1: (Starting in v8.2) A number of the functions below are dependent on the model being framed and the gravity analysis being performed before valid data can be returned. If the framing and gravity analysis has not been performed the function will return an Unspecified Error. Calling the GetLastError will return an error code of 310. Comments 2: Several of the following functions are used to obtain element member forces defined in their local system. Figure 1, 2 and 3 shows the sign convention used for beams, columns and brace members, and walls, respectively. Returned values from these functions follow these sign conventions. It should be noted that compressive axial force is defined as positive. Moments that create compression in the top flange of beams, columns and braces are assumed to be positive.
Figure 3. Positive Sign Convention for Walls. 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
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 Get forces at left side of a point on a gravity beam lBeamID Beam Unique ID dLocation Location ratio along beam. Value range is from 0.0 at I end of beam to 1.0 at j end of beam pdDeadMoment Dead load moment includes self weight pdDeadShear Dead load shear includes self weight pdCDMoment Construction dead load moment pdCDShear Construction dead load shear pdCLMoment Construction live load moment pdCLShear Construction live load shear pdPosLiveMoment Positive live load moment pdPosLiveShear Positive live load shear pdNegLiveMoment Negative live load moment pdNegLiveShear Negative live load shear
GetColForcesForLCase ([in] long lColumnID, [in] long lLoadCase, [out] double *pdAxial, [out] double *pdMajMomI, [out] double *pdMinMomI, [out] double *pdMajShearI, [out] double *pdMinShearI, [out] double *pdTorsionI, [out] double *pdMajMomJ, [out] double *pdMinMomJ, [out] double *pdMajShearJ, [out] double *pdMinShearJ, [out] double *pdTorsionJ);
Purpose Parameters Get lateral column forces for a given load case lColumnID Column unique ID lLoadCase Load Case index number from 0 to value returned by GetNumAnalyzedFrameLoadCases - 1 pdAxial Axial load pdMajMomI Major moment at top pdMinMomI Minor moment at top pdMajShearI Major shear at top pdMinShearI Minor shear at top pdTorsionI Torsion at top pdMajMomJ Major moment at bottom pdMinMomJ Minor moment at bottom pdMajShearJ Major shear at bottom pdMinShearJ Minor shear at bottom pdTorsionJ Torsion at bottom
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 Get gravity column forces lColumnID Column Unique ID pdDead Dead load including self weight pdPosLLRed Positive live load Reducible pdPosLLNonRed Positive live load Non-Reducible
Positive live load Storage Positive live load Roof Negative live load Reducible Negative live load Non-Reducible Negative live load Storage Negative live load Roof
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
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
GetCriteriaEffectiveLength ([out] EKFAC_ASSIGN* peColumnMajor, [out] double* pdColumnMajorValue, [out] EKFAC_ASSIGN* peColumnMinor, [out] double* pdColumnMinorValue, [out] EKFAC_ASSIGN* peBeamMajor, [out] double* pdBeamMajorValue, [out] EKFAC_ASSIGN* peBeamMinor, [out] double* pdBeamMinorValue, [out] EKFAC_ASSIGN* peBraceMajor, [out] double* pdBraceMajorValue, [out] EKFAC_ASSIGN* peBraceMinor, [out] double* pdBraceMinorValue);
Purpose Parameters Get effective length info that is defined in RAM Frame criteria The assigned K factor property for column major axis (Use peColumnMajor global, Use Nomograph, or Use specified value) The eff. Length factor (K) valid only if peColumnMajor is pdColumnMajorValue UseSpecifiedValue. The assigned K factor property for column minor axis (Use global, Use Nomograph, or Use specified value) peColumnMinor The eff. Length factor (K) valid only if peColumnMinor is pdColumnMinorValue UseSpecifiedValue. peBeamMajor The assigned K factor property for beam major axis (Use
global, Use Nomograph, or Use specified value) The eff. Length factor (K) valid only if peBeamMajor is UseSpecifiedValue. The assigned K factor property for beam minor axis (Use global, Use Nomograph, or Use specified value) The eff. Length factor (K) valid only if peBeamMinor is UseSpecifiedValue. The assigned K factor property for brace major axis (Use global, Use Nomograph, or Use specified value) The eff. Length factor (K) valid only if peBraceMajor is UseSpecifiedValue. The assigned K factor property for brace minor axis (Use global, Use Nomograph, or Use specified value) The eff. Length factor (K) valid only if peBraceMinor is UseSpecifiedValue.
IForces2
Philosophy: This is a continuation of the IForces1 interface. Version: This interface and its methods were made available with RAM Structural System version 8.1.x 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 Get forces at left side of a point on a gravity beam lBeamID Beam Unique ID dLocation Location ratio along beam. Value range is from 0.0 at I end of beam to 1.0 at j end of beam pdDeadMoment Dead load moment includes self weight pdDeadShear Dead load shear includes self weight pdCDMoment Construction dead load moment pdCDShear Construction dead load shear pdCLMoment Construction live load moment pdCLShear Construction live load shear pdPosLiveMoment Positive live load moment pdPosLiveShear Positive live load shear pdNegLiveMoment Negative live load moment pdNegLiveShear Negative live load shear pdPosRoofLiveMoment Positive roof live load moment
Positive roof live load shear Negative roof live load moment Negative roof live load shear
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 Get lateral brace forces lBraceID Brace Unique ID lLoadCase Load Case index number from 0 to value returened by GetNumAnalyzedFrameLoadCases - 1 pdAxial Axial load pdMajMomTop Major moment at top pdMinMomTop Minor moment at top pdMajShearTop Major shear at top pdMinShearTop Minor shear at top pdTorsionTop Torsion at top pdMajMomBot Major moment at bottom pdMinMomBot Minor moment at bottom pdMajShearBot Major shear at bottom pdMinShearBot Minor shear at bottom pdTorsionBot Torsion at bottom plResult Returned error code See Common Methods
Version: These methods were made available with RAM Structural System version 8.2 GetAnalysisCaseInfo ([in] long lAnalysisCaseID, [in] EAnalysisResultType eAnalysisReultType, [in, out] SAnalysisCaseInfo* psAnalysisCaseInfo, [out,retval] long* plRetVal);
Purpose Parameters 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
Comment
GetNumAnalysisCases ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* plNumLoadCases, [out,retval] long* plRetVal);
Purpose Parameters Get the number of load cases in this module eAnalysisReultType Analysis modules result RAM Frame, RAM Steel, RAM
Comment
Concrete or Default which lets the program select the appropriate analysis result type plNumAnalysisCases Total number of analysis cases for a given analysis type plRetVal Error code. If value is non zero then check GetLastError 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 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
Comment
GetMemberForces ([in] long lMemberID, [in] EDA_MEMBER_LOC eLocation, [in] long lLoadCaseID, [in] EAnalysisResultType eAnalysisReultType, [in] BOOL bApplyLLReduction, [in, out] SForce* psMemForces, [out,retval] long* plRetVal);
Purpose Get Member Forces at the ends of the specified member. Implemented for gravity analysis cases types only. This function can be used for retriving analysis results for RAM Frame, RAM Steel and RAM Concrete. However please not that not all analysis types have all the possible analysis cases. lMemberID Member Unique ID eLocation Location for member forces (not used for walls, always bottom assumed) 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 (see Comment 1 and Current Error Events) bApplyLLReduction Include live load reduction (see Comment 2) psMemForces Member force results for given analysis case and location plRetVal Error code. See table below. Analysis cases are defined as the results of analyzing load cases If eAnalysisResultType is Default then the following decision matrix is used to determine from where the forces originate.
Parameters
Comment 1
Member Type
Wall Wall Beam/HBrace Beam/HBrace Beam/HBrace Column Column
Analysis Results
RAM Concrete (if avail) else RAM Gravity RAM Frame RAM Gravity RAM Concrete RAM Frame RAM Gravity RAM Concrete
Lateral Lateral
any any
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
Note1: L ivePosID, LiveNegID, LiveSumID can still only be accessed as reduced. Note2: Walls do not have any reduction values associated with them Error Codes Below is a list of the most common error codes to be returned in plRetVal. Note that prior to v9.0 the retval contained the AnalysisType if DefaultResultType was specified as the EAnalysisResultType. 306 310 311 312 332 6121 6126 6127 6128 6129 6130 6133 9109 12105 12106 RAM Frame (lateral load cases) not available RAM Gravity results are not available File not found (one of the results files) Error reading gravity beam results file Concrete analysis results not available Brace forces not supported Beam forces not supported Generic member forces not supported error Load case not supported Concrete analysis column forces file is missing Concrete analysis wall forces file is missing Analysis case not supported Unexpected memory error Error loading concrete analysis column results file Error loading concrete alaysis wall results file plRetVal for the following EAnalysisResultType input Member Type Gravity Col RAMGravResultType 0 = valid forces Err = forces not avail 0 or Err (see above) 0 or Err (see above) RAMFrameResultType Err = forces are never available gravity members. Err 0 = valid forces Err = forces not avail RAMConcResultType 0 = valid forces Err = forces not avail 0 or Err (see above) 0 or Err (see above)
0 or Err (see above) 0 with forces set to 0.0 because brace forces cannot be retrieved from RAM Gravity.
0 or Err (see above) 0 with forces set to 0.0 because brace forces cannot be retrieved from RAM Concrete analysis.
GetValuesInNewCoordinate ([in] long lOriginalMemberID, EDA_MEMBER_LOC eLocOrigMember, [in] long lFinalMemberID, EDA_MEMBER_LOC eLocFinalMember, [in] SForce sMemberForceLocal, [in, out] SForce* psMemberForceGlobal, [out,retval] long* plRetVal);
Purpose Parameters Obtain element member forces converted to global or to a local system of another element. lOriginalMemberID Unique member ID of the original element. Note that the member forces stored in sMemberForceLocal belong to this element. Indicates sMemberForceLocal is defined according to the eLocOrigMember sign definition of this end of the original member. lFinalMemberID Unique member ID of the final element. Note that the forces of the original element are converted into the local system of this element. If this variable is passed in as zero, then calculated forces are converted only to global system. Indicates converted values are defined according to the sign eLocFinalMember definition of this end of the final member if lFinalMemberID is not zero. Otherwise, the variable is not valid, and calculated results are returned in global system. sMemberForceLocal Member forces of the original element psMemberForceGlobal Converted member forces plRetVal Error code. If value is non zero then check GetLastError Analysis cases are defined as the results of analyzing load cases
Comment
Version: These methods were made available with RAM Structural System version 11.1 GetColForcesForLCase ([in] long lColumnID, [in] long lLoadCase, [out] double *pdAxialI, [out] double *pdMajMomI, [out] double *pdMinMomI, [out] double *pdMajShearI, [out] double *pdMinShearI, [out] double *pdTorsionI, [out] double *pdAxialJ, [out] double *pdMajMomJ, [out] double *pdMinMomJ, [out] double *pdMajShearJ, [out] double *pdMinShearJ, [out] double *pdTorsionJ);
Get lateral column forces for a given load case. This function is similar to the one of the same name in the IForces1 interface, however that function only returns one Axial load per column. Starting with v10 when RAM Frame began to mesh lateral walls, the axial 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
Purpose Parameters
Major shear at top Minor shear at top Torsion at top Axial load at bottom Major moment at bottom Minor moment at bottom Major shear at bottom Minor shear at bottom Torsion at bottom
IConcAnalysis1
Philosophy: To retrieve the results from the Concrete Analysis. Version: This interface and its methods were made available with RAM Structural System version 8.1 GetDLDeflectionResults ([in] long lBeamID, [in] EBeamSpanType eBmSpanType , [in, out] long* plNumPts, [in, out] SDIAGRAM** ppDLDeflDiag, [retval, out] long* plResult );
Purpose Parameters Get the Dead Load deflection curve for a member lBeamID the member ID eBmSpanType span type (lt, mid, rt) plNumPts number of data points ppDLDeflDiag Pointer to a pointer to an array containing the SDIAGRAM information. plResult Error code. If value is non zero then check GetLastError
GetLLDeflectionResults ([in] long lBeamID, [in] EBeamSpanType eBmSpanType , [in, out] long* plNumPts, [in, out] SENVELOPE** ppLLDeflEnv, [retval, out] long* plResult );
Purpose Parameters Get the beam live load deflection envelope data lBeamID the member ID eBmSpanType the span type (cantl, mid) plNumPts number of data points ppLLDeflEnv Pointer to a pointer to an array containing the SENVELOPE information. plResult Error code. If value is non zero then check GetLastError
GetBeamDeflectionMoments ([in] long lBeamID, [in, out] double* pdMDLlt, [in, out] double* pdMDLmid, [in, out] double* pdMDLrt, [in, out] double* pdMLLltneg, [in, out] double* pdMLLltpos, [in, out] double* pdMLLmidneg, [in, out] double* pdMLLmidpos, [in, out] double* pdMLLrtneg, [in, 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 The cumulative, max LL pos moment at the left end of the beam The cumulative, max LL neg moment at the mid of the beam The cumulative, max LL pos moment at the mid of the beam The cumulative, max LL neg moment at the rt end of the beam The cumulative, max LL pos moment at the rt end of the beam Error code. If value is non zero then check GetLastError
GetBeamCantlDeflectionMoments ( [in] long lBeamID, [in] EBeamSpanType eSpan, [in, out] double* pdMDL, [in, out] double* pdMLLposdefl, [in, 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
GetBeamAnalysisInertia ( [in] long lBeamID, [in, out] double * pdIAnalysis, [in, out] long * lResult);
Purpose Parameters Get the moment of inertia used for the analysis lBeamID The unique beam ID pdIAnalysis The moment of inertia of the beam used in the analysis lResult Error code. If value is non zero then check GetLastError
Version: These methods were made available with RAM Structural System version 8.2 GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
NOTE: See Common Methods
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. Version: This interface and its methods were made available with RAM Structural System version 8.0.2 GetCriteriaKFactor ([in, out] long* pnKxSel, [in, out] long* pnKySel, [in, out] double* pdKx, [in, out] double* pdKy);
Purpose Parameters To get the global K Factor criteria pnKxSel 0 = use nomograph 1 = use this value pnKySel 0 = use nomograph 1 = use this value
pdKx pdKy
If use is selected, this variable contains the value entered If use is selected, this variable contains the value entered
GetCriteriaAnalysis ([in, out] long* plNumStations, [in, out] double* pdMaxSpc, [in, out] long* plREZ_RadioState, [in, out] double* pdREZPerc, [in, out] double* pdTorConstRed, [in, out] long* pbSkipLoadBL, [in, out] long* pbSkipLoadNOBl, [in, out] long* pbLLR, [in, out] long* pbColSlend, [in, out] long* pbPin, [in, 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 True = consider live load reduction when calculating forces pbColSlend True = Consider column slenderness when calculationg column forces pbPin True = release (pin) the base of concrete gravity columns at the foundation pbConstrainRigidDiapSloped True = Do not consider rigid diaphragm on floors that are sloped.
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
Version: These methods were made available with RAM Structural System version 9.0 GetConceptSelectionAtStory ([in] long lStoryID, [in, out]long* plUseConceptForces, [out,retval] long* lRetval);
Purpose In the Column Forces Criteria dialog the user can specify for each story whether to consider/use the concept forces at that story or the RAM forces at that story. That setting is provided here. 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
Parameters
Variable Name
SectionName[16] Shape Width Depth FlangeThickness WebThickness Area Ix Iy J SAx SAy CrackedIFactor
Comments
Section label. Can be a total of 15 characters Variable maps to ECONC_OTHER_SEC Width of rectangular section, Diameter of circular section, Left overhang if T Section Depth of rectangular section, Total depth of T section, do not use this value if the section is a Pan section Flange thickness for T sections where flange is defined Web thickness for T sections Section area. (Value is not defined for Ts with missing flange dimensions and all pan joists) Major axis bending moment of inertia (Value is not defined for Ts with missing flange dimensions and all pan joists) Minor axis bending moment of inertia (Value is not always defined) Torsional constant of section. (Value is not defined for Ts with missing flange dimensions and all pan joists) Major axis effective shear area (Value is not defined for Ts with missing flange dimensions and all pan joists) Minor axis effective shear area (Value is not defined for Ts with missing flange dimensions and all pan joists) Cracked section factor used to reduce moment of inertia values
Counter indicates how many members are using this section. TRUE = user defined Flange Thickness, FALSE = use calculated Flange Thickness based on member location and connectivity in model TRUE = user defined Width(s), FALSE = use calculated flange width based on member location and connectivity in model. This is true for all Rectangular and circular section. It is false for all pan joists and T sections where the user has not explicitly defined the flange overhangs. Right Overhang, used only for Beam T-Sections where the user has defined the flange overhangs. Web depth from bottom of flange to bottom of web. Pan joist label used to create left side of section Pan joist label used to create right side of section
Variable Name
lColumnID eResultState eUserSpecState lNumPatterns eCode dConcElasticMod
Comments
Columns Unique ID Maps to ERESULTS_STATE EUSER_SPECIFIED_STATE - 0 = Not user defined, 1 = User defined/frozen design Indicates number of bar pattern results (SCOL_PATRES) available for column Maps to CODE. if eCode == NoCodeDefined, there is no final design Concrete modulus of elasticity
Variable Name
lColumnID lPatternDsnID dBarSpacingMaj dBarSpacingMin lBarSpacingError dCapRatioMax dCapRatioMnMaj dCapRatioMnMin dCapRatioPhiDsn dCapRatioPhiPn lCapRatioComboID lCapRatioPatternID lCapRatioError eCapRatioComboLoc dReinRatio dReinRatioMax dReinRatioMin
Comments
Columns Unique ID Bar pattern design ID Longitudinal Bar spacing parallel to major direction Longitudinal Bar spacing parallel to minor direction Bar spacing error code Controlling Axial Load / Biaxial Moment Capacity ratio. When > 1.0 column is over stressed Nominal moment capacity in major direction Nominal moment capacity in minor direction Capacity reduction factor used for max capacity Nominal reduced axial load capacity Load combination ID producing dCapRatioMax Column pattern loading producing dCapRatioMax Design warnings code encountered in capacity ratio calculation Location along column where dCapRatioMax was calculated Pattern reinforcement ratio Max reinforcement ratio limit Min reinforcement ratio limit
long long long long long long double double double double double double long long long long long EDA_CONC_CODE double double double double long long long long long long long long long BOOL BOOL double double double double double double double double double double double
lReinRatioMaxComboID lReinRatioMaxPatternID lReinRatioMaxError lReinRatioMinComboID lReinRatioMinPatternID lReinRatioMinError dCapRatioReqAxial dCapRatioReqMMajorTop dCapRatioReqMMajorBot dCapRatioReqMMinorTop dCapRatioReqMMinorBot dMaxTensionStressRatio lNumShearSegments lBarPatternID lShearLegsParalellMaj lShearLegsParalellMin lSurfaceID eDsnCode dClearCover dTorsionReqCap dTorsionPrvCap dTorsionPhi lTorsionComboID lTorsionPatternID lTorsionError lComboID_Major lComboID_Minor eSlenderClass_Major eSlenderClass_Minor lSlenderness_klrError lSlenderness_PuPcError bAmplifyMoments_Major bAmplifyMoments_Minor dKlr_Major dKlr_Minor dCm_Major dCm_Minor dLamdaNS_Major dLamdaNS_Minor dBetad_Major dBetad_Minor dIg_Major dIg_Minor dPu_Major
ID of load combination producing dReinRatioMax Column pattern loading producing dReinRatioMax Design warnings encountered in max reinforcement ratio limit check ID of load combination producing dReinRatioMin Column pattern loading producing dReinRatioMin Design warnings encountered in min reinforcement ratio limit check Required axial capacity for controlling combo Required Major moment at top capacity for Controlling combo Required Major moment at bottom capacity for controlling combo Required Minor moment at top axial capacity for controlling combo Required Minor moment at bottom capacity for controlling combo Max bar tension stress ratio used for splice selection Number of transverse reinforcement bar sets SCOL_TRANSRES Bar Pattern Unique ID Number of shear legs parallel to major axis Number of shear legs parallel to minor axis Interaction surface Unique ID Concrete design code used ACI318_99 Bar clear cover to transverse reinforcement Torsional required capacity Torsional provided section capacity Torsion capacity reduction factor Load combination producing dTorsionReqCap Column pattern loading producing dTorsionReqCap Design warnings related to Torsional capacity check Load combo index for controlling slenderness case in major direction Load combo index for controlling slenderness case in major direction Slender class if it must be considered (eSlenderType) slender in major axis Slender class if it must be considered (eSlenderType) slender in minor axis Design warning code associated with the KL/r check Design warning code associated with the Pu/Pc ratio check TRUE if moments were amplified per ACI 10.12.3 TRUE if moments were amplified per ACI 10.12.3 KL/r ratio for major axis bending KL/r ratio for minor axis bending Cm per ACI-318 99 10.12.3 in major direction Cm per ACI-318 99 10.12.3 3 in minor direction LamdaNS per ACI-318 99 10.12.3 3 in major direction LamdaNS per ACI-318 99 10.12.3 3 in minor direction Beta d per ACI-318 99 10.12.3 in major direction Beta d per ACI-318 99 10.12.3 in minor direction Ig (gross mom inert) per ACI-318 99 10.12.3 in major direction Ig (gross mom inert) per ACI-318 99 10.12.3 in minor direction Factored Axial load for controlling slenderness case in major direction
double double double double double double double double double double double double double ECONC_FRAME_TYPE long double double double double long long long long
dPu_Minor dPc_Major dPc_Minor dSPMnTopMaj dSPMnTopMin dSPMnBottomMaj dSPMnBottomMin dSPMprTopMaj dSPMprTopMin dSPMprBottomMaj dSPMprBottomMin dSPVSeismicMaj dSPVSeismicMin eFrameType lSPSurfaceID dSPBeamCapMinMajor dSPBeamCapMinMinor dSPMnColAboveMaj dSPMnColAboveMin lErrorColumnVBeamMajor lErrorColumnVBeamMinor lOtherDesignError lNumOtherDesignErrors
Factored Axial load for controlling slenderness case in minor direction Pc per 10.12.3 ACI-318 99 10.12.3 in major direction Pc per 10.12.3 ACI-318 99 10.12.3 in minor direction Nominal unfactored flexural capacity of column at top in major direction Nominal unfactored flexural capacity of column at top in minor direction Nominal unfactored flexural capacity of column at bottom in major direction Nominal unfactored flexural capacity of column at bottom in minor direction Probable unfactored flexural capacity of column at top in major direction Probable unfactored flexural capacity of column top in minor direction Probable unfactored flexural capacity of column bottom in major direction Probable unfactored flexural capacity of column bottom in minor direction Calculated minimum shear capacity of column for special provisions Calculated minimum shear capacity of column for special provisions Design frame type Interaction surface used for special provisions Controlling minimum total nominal capacity of concrete beams framing into the major axis faces of the column Same as above for minor face Nominal Major bending capacity at bottom of column above Nominal Minor bending capacity at bottom of column above Design warning codes for Column v. Beam capacity check Design warning codes for Column v. Beam capacity check Design warning code for first error in list Number of errors in list
SCOL_PATRES_BSTR Type
long long bstr bstr bstr bstr bstr bstr bstr bstr bstr bstr
Variable Name
lColumnID lPatternDsnID bstrBarSpacingMsg bstrCapRatioMsg bstrReinRatioMaxMsg bstrReinRatioMinMsg bstrSurfaceFile bstrTorsionMsg bstrSlenderness_ klrErrorMsg bstrSlenderness_PuPcErrorMsg strErrorColumnVBeamMajor strErrorColumnVBeamMinor strOtherDesignErrorMsg
Comments
Columns Unique ID Bar pattern design ID Bar spacing design warning Capacity ratio design warning Reinforcement ratio max limit design warning Reinforcement ratio min limit design warning Name of file containing interaction surface diagrams Torsion capacity check design warning Slenderness kl/r check design warning Slenderness Pu/Pc check design warning Error strings for Column v. Beam capacity check in column major direction Error strings for Column v. Beam capacity check in column minor direction List of Design warnings spaced by "\r\n "
SCOL_TRANSRES
Type
long long long long long long BOOL EDA_SEG_SET_INFO EDA_REIN_PLACE_SET double double double double double double double
Variable Name
lColumnID lPatternDsnID lShearError lSegNumber lCombo lPattern bShearBarControlDirMaj SegSetInfo ReinPlaceSet dShearReqCapMaj dShearStlCapMaj dShearConcCapMaj dShearReqCapMin dShearStlCapMin dShearConcCapMin dShearPhiReducFactor
Comments
Columns Unique ID Bar pattern design ID Shear check design warning This bar patterns segment number in column Load combo used to design this segment Column pattern loading used to design this segment TRUE = design controlled by major direction shear, FALSE = controlled by minor direction shear Segment set information Reinforcement placement info. Major direction shear forces Major direction shear reinforcement capacity Major direction concrete capacity Minor direction shear forces Minor direction shear reinforcement capacity Minor direction concrete capacity Shear capacity reduction factor
SCOL_TRANSRES_BSTR Type
long long long BSTR
Variable Name
lColumnID lPatternDsnID lSegNumber bstrShearMsg
Comments
Columns Unique ID Bar pattern design ID This bar patterns segment number in column Shear check design warnings.
Variable Name
dStartSeg dEndSeg dMaxVal dMinVal bStartSup bEndSup
Comments
Start segment location End segment location Maximum value in segment Minimum value in segment TRUE = There is a support at start of segment TRUE = There is a support at end of segment
Required area of reinforcement Provided area of reinforcement Number of bars required Reinforcement index number Reinforcement spacing provided Capacity of provided rebar
Variable Name
lUniqueID rpLongBarReinProp rpTieBarReinProp bValid lGroupNumber cPatternLabel[100]
Comments
Unique to each pattern this id number is never reused. Longitudinal reinforcement properties Transverse reinforcement properties TRUE if both bars appear in the Rein_prop table and they are both selected Reference back to the pattern group to which this pattern belongs Bar pattern label
Variable Name
cLabel[15] dDiameter dArea bFlex bShear
Comments
Reinforcement bar label Bar nominal diameter Bar nominal area TRUE = Bar used for flexure TRUE = Bar used for shear/torsion
SBML_RES Concrete beam line design result which relate to all the beams in the beam line Type
double long long long long long long BOOL BOOL
Variable Name
dVersion lBeamLineID lStory lNumCantilevers lNumSpans eResultState eUserSpecState bTransBarCheck bLongBarCheckBot
Comments
Data version number only to be used by RAM International Beam line number Story number starting with 0 for the first story Number of cantilevers in span Total number of spans in beam line. Cantilever and back span are considered as one span Map to ERESULTS_STATE EUSER_SPECIFIED_STATE - 0 = Not user defined, 1 = User defined/frozen design TRUE = Transverse Reinforcement was checked but not optimized. FALSE = Transverse Reinforcement was both optimized and checked Similar to bTransBarCheck for longitudinal bottom reinforcement
BOOL BOOL
bLongBarCheckTop bReqFlxReinOnly
Similar to bTransBarCheck for longitudinal top reinforcement TRUE = Only flexure required reinforcement data is available. There is no reinforcement avalable
Variable Name
lBeamUniqueID lSpanIndex lBeamLineID lStory fTrueBarCoverTop lTrueBarCoverTopError fTrueBarCoverBot lTrueBarCoverBotError fTorsionCapPrv fTorsionCapReq lTorsionError fBarSpacingTopLong lTopLongBarSpacingError fBarSpacingBotLong lBotLongBarSpacingError fBarSpacingTrans lTransBarSpacingError fBarSpacingSide lSideLongBarSpacingError lFlexBarTopError lFlexBarBotError fTopReinRatio fTopReinRatioLoc lTopReinRatioComboID lTopReinRatioError fBotReinRatio fBotReinRatioLoc lBotReinRatioComboID lBotReinRatioError lTransBarError fClearCoverTop fClearCoverBottom fClearCoverSide
Comments
Unique Beam ID Order of this beam in beam line starting with 0 for first beam Beam line ID Story where beam line is located True bar cover to top reinforcement calculated from actual clear cover, transverse reinforcement , longitudinal top bar diameters and number of layers Design warning code for fTrueBarCoverTop verses actual user defined bar cover Same as fTrueBarCoverTop for bottom bars Same as lTrueBarCoverTopError for bottom bars Provided torsional capacity Required torsional capacity Design warning code for torsional capacity check Top longitudinal bar spacing Design warning code associated with top bars spacing Bottom longitudinal bar spacing Design warning code associated with bottom bars spacing Transverse bar spacing Design warning code associated with transverse bars spacing Side reinforcement spacing (not used in v8.0.2 or 8.1) Design warning code for Side reinforcement spacing (not used in v8.0.2 or 8.1) Design warning code for top flexural reinforcement Design warning code for bottom flexural reinforcement Top reinforcement ratio Location where fTopReinRatio was calculated Combo ID for maximum reininforcement ratio Design warning code associated with reinforcement ratio check Bottom reinforcement ratio Location where fBotReinRatio was calculated Combo ID for max rein ratio Similar to lTopReinRatioError for bottom bars Design warning code associated with transverse bars Clear cover to top bars Clear cover to bottom bars Clear cover to side bars
Variable Name
lBeamUniqueID bstrDesignMark bstrTorsionMsg bstrTopLongBarSpacingMsg bstrBotLongBarSpacingMsg bstrTransBarSpacingMsg bstrSideLongBarSpacingMsg bstrFlexBarTopMsg bstrFlexBarBotMsg bstrTopReinRatioMsg bstrBotReinRatioMsg bstrSectionErrors bstrTopCoverMsg bstrBotCoverMsg bstrTransBarMsg
Comments
Beams Unique ID Beam design mark Torsion design warning text Top longitudinal bar spacing design warning text Bottom longitudinal bar spacing design warning text Transvers bar spacing design warning text Side reinforcement bar spacing design warning text Top flexural bar design warning text Bottom flexural bar design warning text Top reinforcement ratio design warning text Bottom reinforcement ratio design warning text Section check design warning text Top cover check design warning text Bottom cover check design warning text Transvers bars design warning text
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
long long long float float float float float float float float BOOL long long long float
Variable Name
sleeted lReinIndexNum lNumBars startle fend Loc fBarSpacing fBarDepth fDevelLength fAs_Req fAs_prv fCapacity bSetPassed eStartCondition eEndCondition eBarPlacement fTrueBarDepth
Comments
Bar set ID 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 Number of bars in bar set Bar set start location. If start condition is straight, hook or mechanical then the location is at the end of the bar. If the start condition is splice then the start location is at the middle of the development length Same as fStartLoc Reinforcement spacing provided Reinforcement bar effective depth Bar development length Required area of steel Provided area of steel Capacity of provided reinforcement TRUE = bar set has passed design checks from start to end of bar set. Cast to EBAR_END_CONDITION Cast to EBAR_END_CONDITION Indicates if bar set is for top or bottom reinforcement . Cast to EBAR_PLACEMENT If value is different from dBarDepth then it is part of two layer set
Development length for start of bar set Development length for end of bar set Number of layers for multi layer reinforcement in beams Or number of shear legs if bar set is for transverse reinforcement Maximum number of bars in any layer if lNumLayersOrLegs = 2 and bar set is not transverse Cast to EBAR_PLACEMENT
Variable Name
lSetID bstrBarLabel
Comments
Bar set ID number Label for Reinforcement in bar set
Variable Name
lID bLabelI bLabelJ bstrLabel dCoordinate dExtMin dExtMax bExtMin bExtMax bSnapTo
Comments
Grid index number TRUE = Add label at start of grid line TRUE = Add label at end of grid line Grid Label Grid location from the grid system origin Grid line minimum value Grid line maximum value TRUE = Limit grid line to minimum extent TRUE = Limit grid line to maximum extent TRUE = A snap point is provided for this grid if it intersects another grid with bSnapTo also set to true
Variable Name
lBeamID lColumnFace dBeamColumnAngle eSupportEnd eSpan dVerticalSlopeAngle lMajorMomFixed lMinorMomFixed
Comments
Beams Unique ID number 1-Major top, 2-minor right, 3-major bottom, 4-minor left Angle in plan between beam and column relative to column major axis Left or right end Left, middle, right of span. When there is a cantilever there will be two entries in joint data Angle in vertical plane - positive indicates that the far end of brace is above the column joint 0 = released, 1 = fixed 0 = released, 1 = fixed
long
lTorFixed
0 = released, 1 = fixed
Variable Name
lBraceID lColumnFace dBraceColumnAngle eBraceEnd dVerticalSlopeAngle lMajorMomFixed lMinorMomFixed lTorFixed
Comments
Brace Unique ID number 1-Major top, 2-minor right, 3-major bottom, 4-minor left Angle in plan between brace and column relative to column major axis Bottom, Top Angle in vertical plane positive indicates that the far end of brace is above the column joint 0 = released, 1 = fixed 0 = released, 1 = fixed 0 = released, 1 = fixed
Variable Name
nTiesMax dTiesMax nTiesMin dTiesMin nSpiralMax dSpiralMax nSpiralMin dSpiralMin nFlexMax dFlexMax nFlexMin dFlexMin nClearCover dClearCover nReinMax dReinMax nReinMin dReinMin
Comments
Tie maximum spacing. 0 = use code, 1 = use user value Tie maximum spacing. User entered value. If set to zero, code value will be used. Tie minimum spacing. 0 = use code, 1 = use user value Tie minimum spacing. User entered value. If set to zero, code value will be used. Spiral maximum spacing. 0 = use code, 1 = use user value Spiral maximum spacing. User entered value. If set to zero, code value will be used. Spiral minimum spacing. 0 = use code, 1 = use user value Spiral minimum spacing. User entered value. If set to zero, code value will be used. Flexural reinforcement maximum spacing. 0 = use code, 1 = use user value Flexural reinforcement maximum spacing. User entered value. If set to zero, code value will be used. Flexural reinforcement minimum spacing. 0 = use code, 1 = use user value Flexural reinforcement minimum spacing. User entered value. If set to zero, code value will be used. Reinforcement clear cover. 0 = use code, 1 = use user value Reinforcement clear cover. User entered value. If set to zero, code value will be used. Flexural reinforcement ratio maximum limit. 0 = use code, 1 = use user value Flexural reinforcement ratio maximum limit. User entered value. If set to zero, code value will be used. Flexural reinforcement ratio minimum limit. 0 = use code, 1 = use user value Flexural reinforcement ratio minimum limit. User entered value. If set to zero, code value will be used.
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
float float float float float float long long long long long
Variable Name
fLocation fMax fMin fForRent1 fForRent2 fForRent3 lMaxLC lMinLC lForRent1 lForRent2 lForRent3
Comments
Distance or location along member for values below Max. value at fLocation Min. value at fLocation Not Used Not Used Not Used Load combination number that produced fMax. -1 indicates that load combo index number is not available. Load combination number that produced fMin. -1 indicates that load combo index number is not available. Not Used Not Used Not Used
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
float float float float long long long
Variable Name
fLocation fValue fForRent1 fForRent2 lValueLC lForRent1 lForRent2
Comments
Distance or location along member for values below Value at fLocation Not Used Not Used Load combination number (or other) that produced fValue. -1 indicates that load combo index number is not available. Not Used Not Used
Variable Name
cLabel[ 16 ] cType[ 38 ] cSymbol[ 5 ] cTmpleCaseCode[ 5 ] bUseFlag nLCaseIndex fDirOfLoad fLCaseSpecific nAnalyzeNo
Comments
String label that identifies the load case. This label CANNOT be used to uniquely identify a load case. String that indicates the type of load. 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) Flag indicating if this case has been selected for use in combination generation Load Case index 0 = global X-axis, 90 = global Y-axis Any value associated with this specific load case. Currently this is used for Rho. Index into the member forces array. If this is -1 it means that the load case is not analyzed and therefore does not have member forces associated with it.
Variable Name
NumTerms Factors[5] LoadCase[5] bUseFlag cComboString[100] bTensionOnly nComboNum cComboIncludes[50] nStatus
Comments
Number of terms in the load combination Array of up to 5 factors array of up to 5 load case indices. The load case from this array combines with the factor in the Factors array to create a load combo term. Flag that indicates if this load combo is to be used. String representation of the load combination Currently not used Load combo number String of symbols separated by commas. This can be used to quickly see which cases are included in a combination. 0 = Unavailable, 1 = Available
SComboParams_DA Code specific input parameters used in load combination generator. Type
float int BOOL BOOL BOOL float float
Variable Name
fValues[10] nComboBox bCheckBoxArray[9] bUseOnly bLCaseSpcSetting fLCaseSpc1 fLCaseSpc2
Comments
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 2 the drop down combo box 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 disables the Use Code option. This is used with control 4. A value of TRUE indicates that load case specific values are available. For Control 4. This is the first load case specific value. For Control 4. This is the second load case specific value.
Variable Name
bstrLabel dX dY dZ dFx dFy dFz
Comments
Label user provided for this individual nodal load The x coordinate of the nodal load The y coordinate of the nodal load The z coordinate of the nodal load Nodal Force in the global X directions Nodal Force in the global Y directions Nodal Force in the global Z directions
Type
BSTR long double double double double int
Variable Name
bstrLabel lUniqueID dThickness dSelfWeight dAngle dOffsetFromTOS nCounter
Comments
Label user provided for this individual Slab Property Slab Property unique ID Slab thickness Slab self wight in lb/sf Deck angle for one way deck span Slab offset from story or mat foundation top of slab Number of times where property is assigned
Variable Name
bstrDeckLabel lDeckType lUniqueID lCounter dNominalRibHeight dRibSpacing dAvgConcRibWidth dAreaOfConcInRibPerUnitLength dDistBotDeckToConcCentroid dConcThickAboveFlute dStudLength dUnitWeight dConcStressCap dStudStressCapacity dStudDiameter bShoredConstruction dSelfWeight dAngle
Comments
Label user provided for this individual Deck Property Deck Table Index Property Unique ID Number of times where property is assigned Nominal Rib Height Rib Spacing Average Concrete Rib Width Area Of Conc In Rib Per Unit Length for ASD design only Dist Bot Deck To Conc Centroid for ASD design only Conc Thickness Above Flute/rib Stud Length Deck system self weight (units psf) Concrete Stress Capacity Stud Stress Capacity Stud Diameter Shored Construction TRUE = shored Steel deck self weight (units pcf) This is the deck orientation angle. It is only filled if SSlabProp is filled using the DeckSlab polygon UID. Otherwise it will be set to -1 to indicate that the value is unknown.
Variable Name
dTopOfSlabOffset
Comments
Mat foundation datum from base of story
Type
long EMATERIALTYPES double double double double double double double double double double double double BOOL BOOL
Variable Name
lLabel eMaterial dX1 dY1 dX2 dY2 dZ dLeft dRight dTop dBottom dLength dThick dAngle bUserDefined bDesignDimensions
Comments
Footing Number as displayed in RAM Foundation These 4 values define the foundation center or center line. (for spreads dX1 = dX2 and dY1 = dY2)
z location of fnd in the global axis distance from left edge of fnd to center line distance from right edge of fnd to center line distance from top edge of fnd to first supported member distance from bottom edge of fnd to last supported member length of footing. For spreads, this is top + bottom thickness of the footing angle of the footing w.r.t the global axis TRUE = the footing is user defined TRUE = dimensions returned are from the design results
SConcScheduleMark Concrete beam or column schedule mark for a member. Only available after the DXF schedule for the member type has be generated Type
long BSTR BSTR EDXFMarkAssignedBy long
Variable Name
lMemberID bstrScheduleMark bstrScheduleMarkPrevious eMarkChangedBy lTime
Comments
Member unique ID Concrete Schedule mark Concrete Schedule previous mark Mark assigned by Time stamp of when mark was assigned. The time is the number of seconds after January 1, 1970 UTC. In C++ projects use CTime Time stamp of when previous mark was assigned. The time is the number of seconds after January 1, 1970 UTC. In C++ projects use CTime
long
lTimePrevious
Variable Name
lUniqueID bstrLabel eLoadType
Comments
Load Case UID. Load case string label Load Case type
BOOL EFRAMETYPE
bGenerated eFrameType
True = generated load case EFRAMETYPE Load case to be used on lateral, gravity or either frame type
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
long double double double double double double
Variable Name
lLoadCaseID dP dVx dVy dMx dMy dMz
Comments
Load case UID for this load 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) 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
SAnalysisCaseInfo Analysis case information. Each load case will generate one or more analysis cases. Type
long long EAnalysisSubType BSTR ELoadCaseType BOOL BOOL
Variable Name
lUniqueID lLoadCaseID eSubType bstrLabel eLoadType bGenerated bAnalyzed
Comments
Analysis Load Case UID. Load Case UID that the analysis load case originated from Indicates the analysis sub type as positive, negative or sum Analysis load case label Load case type for this analysis load case True = generated Analysis case. For positive, negative and Sum live load cases this would not be true. True = Member Forces are available for this Analysis Case. In some situations, an analysis case can be analyzed by one module but not another.
SForce Internal member forces and moments. See IForces1 for sign convention Type
long double double double double double double
Variable Name
lAnalysisCaseID dVz_Axial dVx_maj dVy_min dMx_maj dMy_min dMz_Torsion
Comments
Analysis load case UID for this member forc results Axial force where Compression is positive Shear parallel to member major direction Shear parallel to member minor direction Moment induced by a shearing force dVx_maj Moment induced by a shearing force dVy_min Torsion
Value
NONE_DEFINED STEEL_STAND STEEL_SPEC STEEL_CUSTOM FND_CONCRETE FND_SOIL FND_CUSTOM_CONC FND_CUSTOM_SOIL RAM_CONCRETE RAM_CONCRETE_CUSTOM STEEL_SPEC_CUSTOM ANALYSIS_CUSTOM STEEL_GRAV
Description
No combinations defined RAM Frame Steel Standard provisions generated combos RAM Frame Steel Special provisions generated combos RAM Frame Steel custom combos RAM Foundation generated concrete combos RAM Foundation generated soil combos RAM Foundation custom concrete combos RAM Foundation custom soil combos RAM Concrete generated combos RAM Concrete custom combos RAM Frame Steel Special provisions custom combos RAM Frame custom combos RAM Steel gravity load combinations.
COMBOTYPES
Enumerates the RAM Frame combination types.
Value
EFrameAnalysisCustomCombos EFrameSteelStdGenCombos EFrameSteelStdCustomCombos EFrameSteelSeismicGenCombos EFrameSteelSeismicCustomCombos
Description
Custom combos in analysis mode Generated combos in Steel Standard mode Custom combos in Steel Standard mode Generated combos in Steel Seismic mode Custom combos in Steel Seismic mode
E_BARLAYERS_OPTION
Bar layers option for concrete members.
Value
BarLayersUseDefault BarLayers1Only
Description
Use global default for number of layers of bars Use only one layer of bars
BarLayers2Allowed
E_COVER_OPTION
Clear cover option for concrete members.
Value
CoverUseDefault CoverUserDefined
Description
Use global default for clear cover Use user defined clear cover
E_SHEARLEGS_OPTION
Shear legs option for concrete members.
Value
ShearLegsUseDefault ShearLegsUserDefined
Description
Use global default for number of shear legs Use user defined number of shear legs
E_STATUS
Status of a module.
Value
ModHadNO_CHANGE ModIsVALID ModIsINVALID ModIsNOTAVAIL
Description
There has been no change that requires rerunning this module. The module status is valid The module status is invalid The module status is not available
E_STIRRUPS_OPTION
Stirrup option for concrete members.
Value
StirrupsUseDefault StirrupsOpen StirrupsClose Stirrups135Hook StirrupsHoop
Description
Use global default Design with Open stirrups Design with Closed stirrups Design with 135 Hook stirrups Design with Hoop stirrups
EAggregateType
Value
eConcAggLWC eConcAggNWC
Description
Light weight concrete Normal weight concrete
EAnalysisResultType
Module analysis results to be used for member internal forces.
Value
RAMGravityResultType RAMFrameResultType RAMConcreteResultType RAMConceptResultType RAMFoundationResultType DefaultResultType OtherResultType
Description
Results from RAM Steel Analysis Results from RAM Frame Analysis Results from RAM Concrete Analysis Results from RAM Concept Analysis (not yet implemented) Results from RAM Foundation Analysis (not yet implemented) Results taken from most appropriate source based on members framing and material type. (not yet implemented)
EAnalyzeFlag
Indicates if the corresponding member is to be optimized by RAM Structural System, or simply analyzed
Value
eOptimize eAnalyze eOptimizeStuds
Description
Design will be optimized Design will be analyzed 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
EBAR_END_CONDITION
Reinforcement bar end condition or shape. Note this enum is not defined in DA it will need to be defined manually by user.
Value
STRAIGHT LAP_SPLICE HOOK90 HOOK135 CLOSED U HOOP MECHANICAL
Description
Straight bar Lap spliced with an adjacent bar 90 Deg. hook 135 Deg. hook Closed stirrup Open Stirrup Seismic Hoop Stirrup Mechanical splice
EBAR_PLACEMENT
Reinforcement bar location in concrete member. Note this enum is not defined in DA it will need to be defined manually by user.
Value
BP_BOTTOM BP_TOP BP_LEFT BP_RIGHT BP_UPPER_LAYER BP_LOWER_LAYER
Description
Bottom reinforcement Top Reinforcement Left end of span Right end of span Upper layer Lower Layer
EBeamSpan
Beam condition at a face of a column
Value
eNoBeam eBackspanBeam eCantileverBeam
Description
No beam at column face Backspan of beam at column face Cantilevered beam at column face
EBeamSpanType
Defines Part of beam span type.
Value
eLeftCantl eMidSpan eRightCantl
Description
Left cantilever of beam Beam mid span Right cantilever of beam
eNoSpanDefined
EBuildingCode
List of building codes that can be used during design.
Value
eCodeUBC_Method1 eCodeUBC_Method2 eCodeIBC_General eCodeIBC_Alternate eCodeSBC eCodeBOCA eCodeCanada eCodeBritish eCodeEurocode
Description
UBC Roof Live Load Reduction Method 1 UBC Roof Live Load Reduction Method 2 IBC Roof Live Load Reduction General IBC Roof Live Load Reduction Alternate SBC BOCA NBC of Canada BS 6399 Eurocode
ECombinationSourceType
Indicates whether the combination is custom or generated.
Value
eCustomCombo eGeneratedCombo
Description
Custom or user-defined load combination Generated load combination
ECompoundLoadCaseState
Indicates what the compound state of the load case.
Value
eMergedLoadCase eCompoundLoadCase ePrimaryLoadCase
Description
Merged load case Compound load case Load cannot be broken down into sub loads
ECONC_OTHER_SEC
Concrete and Other section shapes.
Value
ERect
Description
Rectangular section
Circular section Tee section Other section (no shape defined for Other sections) Pan joist section (calculated by RAM Structural System)
ECONC_FRAME_TYPE
Concrete lateral frame type.
Value
Description
ConcFrameType_Ordinary Ordinary moment frame design ConcFrameType_Intermediate Intermediate moment frame design ConcFrameType_Special Special moment frame design
EDA_COL_COMBO_LOC
Column evaluated combination results location along column length.
Value
COMBO_AT_TOP COMBO_AT_SPAN COMBO_AT_BOTTOM
Description
Combo value at top of column Combo value along column span Combo value at bottom of column
EDA_CONC_CODE
Concrete design code.
Value
eACI318_95 eACI318_99 eACI318_02 eCanadian eEuroCode eBS8110_97
Description
ACI 318-95 ACI 318-99 ACI 318-02 Canadian Eurocode BS 8110-97
EDA_MEMBER_LOC
Location relative to a member. Some locations are not relevant to all members.
Value
Description
Start of member End of member Cantiliver end reaction at start support Mid span reaction at start support Mid span reaction at end support Cantiliver end reaction at end support Top of column or brace Bottom of column or brace Top start of wall Top end of wall Bottom start of wall Bottom end of wall
EDeckType
Type of deck.
Value
eDeckType_Composite eDeckType_NonComposite eDeckType_Concrete
Description
Composite Deck Non-composite Deck Concrete Slab
EDefaultOrAlternate
Whether the default table directory is used (Tables) or the alternate directory is used (Working)
Value
eDefault eAlternate1
Description
Use default directory Use alternate 1 directory
EDiaphragm
Type of diaphragm.
Value
eNoDiaphragm eRigidDiaphragm
Description
No diaphragm Rigid diaphragm
EDRAWINGCOLOR
Value
eGridLabelColor eSteelGravColColor eSteelLatColColor eConcGravColColor eConcLatColColor eOtherGravColColor eOtherLatColColor eSteelGravBeamColor eSteelLatBeamColor eConcGravBeamColor eConcLatBeamColor eConcJoistBeamColor eOtherGravBeamColor eOtherLatBeamColor eJoistColor eSmartbeamColor eSteelBraceColor eConcBraceColor eOtherBraceColor eConcGravWallColor eConcLatWallColor eOtherGravWallColor eOtherLatWallColor eFoundationColorColor SlabEdgeColor eSlabOpenColor eDeckColor eWebOpeningColor eLoadsColor eDiagramsColor eTextColor
Description
Grid label Steel gravity column Steel lateral column Concrete gravity column Concrete lateral column Other gravity column Other lateral column Steel gravity beam Steel lateral beam Concrete gravity beam Concrete lateral beam Concrete joist beam Other gravity beam Other lateral beam Steel Joist Smartbeam Steel brace Concrete brace Other brace Concrete gravity wall Concrete lateral wall Other gravity wall Other lateral wall Foundation Slab edge Slab opening Deck Web opening Loads Diagram Text
EDXFMarkAssignedBy
Member DXF schedule mark assigned by category.
Value
DXFMarkUser
Description
Mark assigned by user
DXFMarkGenRAMSS DXFMarkother
EEdge
Edges of a wall.
Value
eTopEdge eBottomEdge
Description
Top edge of wall Bottom edge of wall
EFRAMETYPE
Frame type.
Value
MemberIsGravity MemberIsLateral MemberIsEither
Description
Gravity member Lateral member Either type (cannot be used for assigning to a member)
EGRAVPTLOADSOURCE
Source of point load on member.
Value
EPtLoadFromGravBmReact EPtLoadFromFrameBeamReact EPtLoadFromGravColReact EPtLoadFromFrameColReact EPtLoadUserApplied EPtLoadSourceUndefined EPtLoadPassedThruGravWall EPtLoadPassedThruFrameWall
Description
Point load from gravity beam reaction Point load from frame beam reaction Point load from gravity column reaction Point load from frame column reaction User applied point load Unknown source for point load Pt load was passed down through a gravity wall Pt load passed down through a frame wall
EGridAxis
Type of grid.
Value
Description
eGridXorRadialAxis eGridYorCircularAxis
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
EINTERFACES
Enumerator used to get pointers to specific DA interfaces.
Value IDBIO1_INT IModelData_INT IConcreteModule_INT IModelGeometry_INT IGravityLoads_INT ILoading_INT IForces_INT IMemberData_INT IConcBeamState_INT IConcAnalysisState_INT IModelStatus_INT IGravitySteelDesign_INT ISteelColumnState_INT IModelData2_INT IConcAnalysis1_INT IConcCntlrCommon1_INT IMemberData2_INT IConcBeamState2_INT IForces2_INT IModelGeometry2_INT EIsolatedFndType
Type of foundation.
Description IDBIO1 IModelData1 IConcColModState1 IModelGeometry1 IGravityLoads1 ILoading1 IForces1 IMemberData1 IConcBeamState1 IConcAnalysisState1 IModelStatus1 IGravitySteelDesign1 Interface not published yet! IModelData2 IConcAnalysis1 IConcCntlrCommon1 IMemberData2 IConcBeamState2 IForces2 IModelGeometry2
Value
eIFndSpread eIFndPileCap
Description
Spread footing Pile cap footing
EJoistType
Value
eJstStandard eJstCloseUniform eJstREquivalent eJstSJIEquivalent eJstCustom eJstKCS eJstGirderEqualPtLoads eJstGirderClosePtLoads eJstSpecial
Description
Standard joist with uniform load Close enough to uniform load Equivalent Uniform Load, Ed Ryan (Vulcraft) method Equivalent Uniform Load, SJI method Custom label, Uniform Load KCS Joist Joist Girder, Equal Point Loads Joist Girder, Close Enough to Equal Point Loads Special Joist
EJstNonUniformLoadOption
Joist criteria option for joists with non-uniform loads.
Value
Description
eStlJstNonUniUseEquivalentMethod Use Uniform Equivalent Method to pick joist sizes eStlJstNonUniSelectFromCSTable Select joist sizes from Constant Shear table eStlJstNonUniUsexxGSP Use xxGSP label
EJstUniformLoadOption
Joist criteria option for joists with uniform loads.
Value
Description
eStlJstUniSelectFromStandardTable Select joist sizes from standard table eStlJstUniSelectFromCSTable Select joist sizes from Constant Shear 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)
ELineLoadUserApplied
Source of line load on member.
Value
ELineLoadUserApplied ELineLoadFromSurfaceLoad ELineLoadFromEdge ELineLoadSelfWeight ELineLoadPassedThruGravityWall ELineLoadPassedThruFrameWall ELineLoadSourceUndefined
Description
User applied line load directly to the beam The line load is from a distributed surface load Load is from a slab or opening edge Load is the member self weight Load was passed down to this beam through a gravity wall (wall loads from above applied to supporting member below wall) Load was passed down to this beam through a frame wall Undefined, should not occur
ELoadCaseType
Type of load case
Value
DeadLCa LiveLCa LiveReducibleLCa LiveUnReducibleLCa LiveStorageLCa LiveRoofLCa ConstructionDeadLCa ConstructionLiveLCa MassDeadLCa BalancedLCa WindLCa SeismicLCa SnowLCa VirtualLCa DynamicLCa OtherLCa
Description
Dead Load Live Load Live Reducible Live Unreducible Live Storage Live Roof Load Construction Dead Load Construction Live Mass Dead Load Balanced Load Wind Load Seismic Load Snow Load Virtual Load Dynamic Load Other Load
EMATERIALTYPES
Type of material.
Value
ESteelMat ESteelJoistMat ESmartbeamBeamMat EConcreteMat EOtherMat EWallPropConcreteMat EWallPropOtherMat ENoneMaterial EAnyMaterial
Description
Steel Steel Joist Smartbeam Concrete Other Concrete Wall Other Wall None or N/A (cannot be used for assigning to a member) Any (cannot be used for assigning to a member)
EMemberInPolyCategory
Category of members to look for in polygon.
Value
eStartMemPolyCat eEndMemPolyCat eAboveMemPolyCat eBelowMemPolyCat ePassThroughMemPolyCat
Description
Members that start inside the given polygon (Not Implemented) Members that end inside polygon Members that are in the story above polygon Members that have thier start end inside the polygon Members that pass through the level - Not implemented / future item
EMemberOrientation
Member orientation
Value
eOrientUnknown eOrientVertical eOrientHorizontal
Description
Unknown orientation Vertical orientation Horizontal orientation
EMemberSide
Side of a member something is associated with
Value
eMemLeftSide eMemRightSide eMemNoSide
Description
Left side of member Right side of member Center of member
eMemBothSides
ePATTERN_TYPE
Concrete column bar pattern type.
Value
TIE SPIRAL CIRCULAR IRREGULAR
Description
Rectangular transverse ties Spiral transverse reinforcement Circular transverse ties Irregular transverse reinforcement Not currently used
EPileConfiguration
Pile group configuration.
Value
ePileConfigTriangular ePileConfig5PileGroup ePileConfig7PileGroup ePileConfigRectangular ePileConfig8PileGroup ePileConfig2PileGroup ePileConfig5SqrPileGroup
Description
Triangular 3-pile pile group configuration Rectangular 5-pile Pile group Rectangular 7-pile Pile group Rectangular pile group (user defined number of piles) Rectangular 8-pile Pile group (piles not arranged in rows/columns) Rectangular 2-pile Pile group Square 5-pile Pile group
ERESULTS_STATE
Identifies the state of the design of an individual member.
Value
MemberNotReady MemberReady MemberDesignPassed MemberDesignFailed
Description
Data is missing so a design cannot be performed. (light blue) Member is ready to be designed (yellow) Member is designed and the design passed (green) Member is designed and the design failed. (red)
ERoofLLType
Type of roof live load.
Value
Description
Roof loads are snow Roof loads are reducible Roof loads are unreducible
ESIDESWAY_ASSIGN
Identifies what the current setting assigned to the column is for sidesway.
Value
UseGlobalSS ItIsBraced ItIsUnbraced
Description
Use the global criteria for this column (in specified axis) The column is braced for this column (in the specified axis) The column is unbraced for this column (in the specified axis)
eSlenderType
Concrete column slenderness type. Note: This enum is not used directly in DA it is mapped to a long.
Value
Slender NotSlender SlenderNotConsidered SlenderError_klrExceedsLimit SlenderError_PuExceedsPc
Description
If user wants to consider slenderness and column is slender If user wants to consider slenderness but column is not slender If user chooses not to consider slenderness If user wants to consider slenderness and column exceeds kl/r limit per code If user wants to consider slenderness and Pu exceeds Pc in ACI
ESMARTBEAMTYPE
Castellated or Cell (Smartbeam) beam type.
Value
SMARTBEAM_CAST SMARTBEAM_CELL
Description
Castellated beam Cell beam
EStateStatus
Status of an items state.
Value
eStateNotAvail eStateNotCurrent eStateCurrent
Description
State is unavailable Items state is not current Items state is current
ESTEEL_ROLLED_FLAG
Roll flag for steel member
Value
EStlBuilt EStlRolled
Description
Built up shape Rolled shape
ESTEEL_SEC
Steel section shapes
Value
EStlWF EStlTube EStlPipe EStlChannel EStlDoubleL EStlLSection EStlFlatBar EstlRoundBar EStlTSection
Description
I-Section (Wide Flange) Rectangular HS Round HS Channel Double Angle Single Angle Flat Bar Round Bar T Section
ESteelDesignCode
Design code for steel members.
Value
eASD eLRFD eCANCSA_1994 eBS5950_1990 eBS5950_2000 eEurocode3
Description
ASD 9th Edition LRFD 3rd Edition CAN/CSA-S16.1-94 BS5950:1990 BS5950:2000 Eurocode
ESubLoadCaseType
Source or Type of the ELoadCaseType
Value
eNoSubType eGravityLoad eStoryLoad eNodalLoad eUserDefinedStoryLoad eImportedLoad eEigen eResponseSpectra eCenterOfRigidity
Description
No sub load type Gravity load type Story load Nodal load User defined story load Imported load Eigen Response Spectra Center of Rigidity
ETensionCompressionMemType
Indicates whether members takes tension, compression, or both.
Value
ETensionCompressionMem ETensionOnlyMem ECompressionOnlyMem
Description
Member takes both tension and compression Member takes tension only Member takes compression only
ETimeStampAction
Action for time stamp retrieval.
Value
eTSAdd eTSDelete eTSChange
Description
Add Delete Change
ETimeStampProperty
Property for time stamp retrieval.
Value
eTSNoProp eTSSize eTSReframeFlag eTSFloorType
Description
No particular property Member size Floor reframe Floor type
EUniqueMemberTypeID
Member type.
Value
eTypeNone eTypeColumn eTypeBeam eTypeWall eTypeBrace eTypeFoundation eTypeNode eTypePointLoading eTypeLineLoading eTypeSurfaceLoading eTypePointLoadSetProp eTypeLineLoadSetProp eTypeSurfaceLoadSetProp eTypeFloorPerimeter eTypeFoundationMatPerimeter eTypeFloorOpening eTypeFloorPenetrations eTypeDeckOrSlab eTypeNonComposite eTypeFoundationMatSlab eTypeDeckProp eTypeSlabProp eTypeStory eTypeFloorType eTypeLoadCase eTypeAnalysisCase eTypeNodalLoad eTypeNodalLoadProp eTypeConcSectionProp eTypeOtherSectionProp eTypePile eTypePileConfiguration eTypeGridSystem eTypeGrid eTypeHorizontalBrace
Description
No type, or not applicable Member is a column Member is a beam Member is a wall Member is a vertical brace Member is a foundation Member is a node Member is a point load Member is a line load Member is a surface load Member is a point load property set Member is a line load property set Member is a surface load property set Member is a floor perimeter (slab edge) Member is a mat foundation perimeter Member is an opening in a floor (slab opening) Member is a floor penetration Member is a deck or slab Member is a non-composite deck property set Member is a mat foundation slab definition Member is a composite deck property set Member is a concrete slab property set Member is a story Member is a floor type Member is a gravity load case Member is an analysis case Member is a nodal load Member is a nodal load property set Member is a concrete section Member is an Other section Member is a pile definition Member is a pile configuration Member is a grid system Member is a grid Member is a horizontal brace
EUnits
Value
eUnitsEnglish eUnitsSI eUnitsMetric
Description
English units SI Units Metric Units
EUSER_SPECIFIED_STATE
Enumerates used to specify design state as optimized or user defined/frozen.
Value
OptimizeResults ResultsAreUserDefined
Description
Member was optimized Member was user defined and therefore possibly changed from optimized design
EUserOverride
Indicates if the corresponding value is user overridden
Value
eUserNA eUserYes eUserNo
Description
Not Applicable Value is user defined or overridden Value is not overridden by user
EWebOpenPosition
Position of web opening in beam web.
Value
eWebOpenCentered eWebOpenOffsetToTop eWebOpenOffsetToCenter eWebOpenOffsetToBot
Description
Opening is centered in beam web Opening position is offset from top of beam to top of opening Opening position is offset from top of beam to center of opening Opening position is offset from top of beam to bottom of opening
EWebOpenShape
Shape of web opening.
Value
Description
eRectOpening eCircularOpening
EWhichModule
RAM Structural System modules.
Value
AllModules IAmFramingTables IAmRamManager IAmRamModeler IAmRamSteelBeam IAmRamSteelColumn IAmRamFrameAnalysis IAmRamFrameLCombo IAmRamFrameStandard IAmRamFrameSpecial IAmRamFrameDrift IAmRamFoundation IAmRamConcreteAnalysis IAmRamConcreteColumn IAmRamConcreteBeam
Description
All RAM Structural System modules Framing Tables RAM Manager RAM Modeler RAM Steel Beam RAM Steel Column RAM Frame Analysis RAM Frame Load Combinations mode RAM Frame Standard Provisions mode RAM Frame Special Provisions mode RAM Frame Drift Control mode RAM Foundation RAM Concrete Analysis RAM Concrete Column RAM Concrete Beam
REFIID
IDs of various DA interfaces.
Value
IID_IDBIO1 IID_Model IID_IModelGeometry1 IID_IModelGeometry2 IID_IModelData1 IID_IModelData2 IID_IMemberData1 IID_IMemberData2 IID_IConcAnalysisState1 IID_IConcColModState1 IID_IConcColModState2 IID_IConcBeamState1
Description
ID for IDBIO interface ID for IModel interface ID for IModelGeometry1 interface ID for IModelGeometry2 interface ID for IModelData1 interface ID for IModelData2 interface ID for IMemberData1 interface ID for IMemberData2 interface ID for IConcAnalysisState1interface ID for IConcColModState1 interface ID for IConcColModState2 interface ID for IConcBeamState1 interface
ID for IConcBeamState2 interface ID for IGravityLoads2 interface ID for ILoading1 interface ID for IForces1 interface ID for IForces2 interface ID for IModelStatus1 interface ID for IGravitySteelDesign1 interface ID for IConcCntlrCommon1 interface
SCoordinate
3D Cartesian coordinate.
Value
dXLoc dYLoc dZLoc
Description
X Coordinate Y Coordinate Z Coordinate
SGridSysType
Type of grid system.
Value
eGridOrthogonal eGridRadial eGridSkewed
Description
Orthogonal grid system Radial grid system Skewed grid system (not applicable)
M odel
C a n G e t H e re F ro m M o d e l
F lo o r T y p e s
F lo o r T y p e D ecks D eck P o in t s P o in t
I C o n c r e t e C r it e r ia S la b P e r im e t e r s I S t e e lC r it e r ia S la b O p e n in g s S la b O p e n in g S la b P e r im e t e r S la b E d g e s S la b E d g e
L a y o u tB e a m s
L a y o u tB e a m
W e b O p e n in g s
W e b O p e n in g
L a y o u t C o lu m n s
L a y o u t C o lu m n
L a y o u t W a lls
L a y o u t W a ll
L a y o u t H o r iz B r a c e s
L a y o u tH o r iz B r a c e
L a y o u t I s o la te d F n d s
L a y o u t I s o la t e d F n d
L a y o u tC o n tF n d s
L a y o u tIC o n tF n d
L a y o u t M a t P e r im s
L a y o u t M a t P e r im
P o in t s
P o in t
L a y o u t M a t P r o p P o ly s
L a y o u t M a t P r o p P o ly
P o in t s
P o in t
S t o r ie s
S to ry B eam s B eam
P ile s
P ile
C o lu m n s
C o lu m n
P ile C o n f ig u r a t io n s
P ile C o n f ig u r a t io n
W a lls
W a ll
V e r t ic a lB r a c e s C o n c S e c tP ro p s C o n c S e c P ro p
V e r t ic a lB r a c e
H o r iz B r a c e s O th e rS e c tP ro p s O th e rS e c tP ro p
H o r iz B r a c e
I s o la t e d F n d s C o m p D e c k P ro p s C o m p D e c k P ro p
I s o la t e d F n d
C o n tF n d s C o n c S la b P r o p s C o n c S la b P r o p
C o n tF n d
M a t F n d P r o p P o ly s N o n C o m p D e c k P ro p s N o n C o m p D e c k P ro p M a t F n d P e r im s G r id S y s t e m s G r id S y s t e m G r id s G r id
M a t P r o p P o ly
L a y o u t M a t P e r im
C lip p e d F n d P r o p s S t e e lM a t e r ia ls S t e e lM a t e r ia l
C lip p e d F n d P r o p
C o n c r e t e M a t e r ia ls
C o n c r e t e M a t e r ia l
P o in t s
P o in t O t h e r M a t e r ia ls O t h e r M a te r ia l
dw struct
enum BOOL
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:
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
InterfaceName.GetLastError strErrorShort, strErrorLong, lErrorNum If lErrorNum <> 0 Then MsgBox strErrorLong, Title:="Error!" End If End If For most functions created in v8.2 and later you will notice a plRetVal as the last parameter. plRetVal will provide a return error code that may not be critical but should be verified. This is different than the S_OK, E_FAIL and E_NOTIMPL which in general are critical (COM related) errors. The plRetVal will provide you with an error code that you can use to decide if you want to ignore the error or if you need to in some way change the program flow due to the error. For all VB/VBA programs, the plRetVal will be the return value for the function. See example code in the toolkit for more information.
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();
To Begin:
Start a new project in the Developer Studio. Select Win32 Console Application from the list. Enter a Project Name and click OK On the dialog box that follows, select the last radio button (include MFC support).
A quick note about MFC support: MFC is a library specific to the Microsoft Devolvement environment. Using it tends to make projects larger but it has several nice features that might make that worth it. For instance, strings are very easy to manipulate with the CString class. Writing to a file is made very easy using the CFile class. These are not available without MFC support.
Programming
When the project was created, a file projectname.cpp was created and in it, a function called _tmain. The else section of the conditional statement is where you will write you code. You could write your entire program there but we recommend using classes and functions to modularize your code. 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 To send a string into DA: BSTR bstrName; CString strName = _T("C:\\Ram80\\data\\Smallish"); bstrName = strName.AllocSysString(); pDBIO->LoadDataBase(bstrName);
7. When a parameter in a function starts with **pa this indicates that the array will be dimensioned in the DA function. It is however the calling 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.
W_User Wind_code_direction
Dyn_code_CQC_direction
User defined story force of type Earthquake (seismic) Generated Earthquake force where: is the code selected to generate the forces code indicates the direction of the force (X or Y) dir eccentricity +E = positive eccentricity -E = negative eccentricity Dynamic Load Case using Response Sprectra is the code selected to generate the forces code if code is not shown this indicates a general CQC solution. indicates the direction of the force (X or Y) dir Dynamic Load Case using Eigen Solutions. Center of Rigidity Virtual Load Case to be used in RAM Drift Control.
DynamicLoadType = 4 OtherLoadType = 5
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