Anda di halaman 1dari 286

RAM DataAccess 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

Updating an existing model .............................................................................................................................................................. 16


Updating a column............................................................................................................................................................................................ 16 Updating beams, walls, horizontal braces ........................................................................................................................................................ 17 Updating a vertical brace.................................................................................................................................................................................. 17

Reading an existing model ............................................................................................................................................................... 17


Getting section properties for concrete members............................................................................................................................................. 17 Getting section properties for Other members ................................................................................................................................................ 17 Getting material properties for a member......................................................................................................................................................... 17

The Obejct Model Interfaces................................................................................................................................................................ 18 IModel .............................................................................................................................................................................................. 18


IModel Properties ............................................................................................................................................................................................. 28

ISteelCriteria .................................................................................................................................................................................... 29
ISteelCriteria Properties ................................................................................................................................................................................... 29

IConcreteCriteria .............................................................................................................................................................................. 30

IConcreteCriteria Properties ............................................................................................................................................................................. 30

IFrameAnalysisCriteria ..................................................................................................................................................................... 32
IFrameAnalysisCriteria Properties.................................................................................................................................................................... 32

IFloorTypes ...................................................................................................................................................................................... 32 IFloorType ........................................................................................................................................................................................ 34


IFloorType Properties ....................................................................................................................................................................................... 36

IDecks .............................................................................................................................................................................................. 37 IDeck ................................................................................................................................................................................................ 38


IDeck Properties ............................................................................................................................................................................................... 38

ISlabEdges....................................................................................................................................................................................... 40 ISlabPerimeters................................................................................................................................................................................ 39 ISlabPerimeter ................................................................................................................................................................................. 40


ISlabPerimeter Properties ................................................................................................................................................................................ 40

ISlabEdge......................................................................................................................................................................................... 40
ISlabEdge Properties........................................................................................................................................................................................ 41

ISlabOpenings.................................................................................................................................................................................. 42 ISlabOpening ................................................................................................................................................................................... 42


ISlabOpening Properties .................................................................................................................................................................................. 43

ILayoutBeams .................................................................................................................................................................................. 43 ILayoutBeam .................................................................................................................................................................................... 45


ILayoutBeam Properties ................................................................................................................................................................................... 46

IWebOpenings ................................................................................................................................................................................. 48 IWebOpening ................................................................................................................................................................................... 49


IWebOpening Properties .................................................................................................................................................................................. 49

ILayoutHorizBraces .......................................................................................................................................................................... 49 ILayoutHorizBrace............................................................................................................................................................................ 52


ILayoutHorizBrace Properties........................................................................................................................................................................... 53

ILayoutColumns ............................................................................................................................................................................... 55 ILayoutColumn ................................................................................................................................................................................. 57


ILayoutColumn Properties ................................................................................................................................................................................ 58

ILayoutWalls..................................................................................................................................................................................... 59 ILayoutWall ...................................................................................................................................................................................... 61


ILayoutWall Properties ..................................................................................................................................................................................... 62

ILayoutIsolatedFnds ......................................................................................................................................................................... 63 ILayoutIsolatedFnd........................................................................................................................................................................... 65


ILayoutIsolatedFnd Properties.......................................................................................................................................................................... 66

ILayoutContinuousFnds ................................................................................................................................................................... 66 ILayoutContinuousFnd ..................................................................................................................................................................... 68


ILayoutContinuousFnd Properties .................................................................................................................................................................... 69

ILineLoadSets .................................................................................................................................................................................. 69 ILineLoadSet .................................................................................................................................................................................... 71


Properties ......................................................................................................................................................................................................... 71

IPointLoadSets ................................................................................................................................................................................. 71 IPointLoadSet................................................................................................................................................................................... 72


Properties ......................................................................................................................................................................................................... 72

IStories ............................................................................................................................................................................................. 73 IStory................................................................................................................................................................................................ 74


IStory Properties............................................................................................................................................................................................... 77

IBeams ............................................................................................................................................................................................. 78 IBeam............................................................................................................................................................................................... 79


IBeam Properties.............................................................................................................................................................................................. 80

IHorizBraces..................................................................................................................................................................................... 81 IHorizBrace ...................................................................................................................................................................................... 83


IHorizBrace Properties ..................................................................................................................................................................................... 84

IVerticalBraces ................................................................................................................................................................................. 85 IVerticalBrace................................................................................................................................................................................... 87


IVerticalBrace Properties.................................................................................................................................................................................. 88

IColumns .......................................................................................................................................................................................... 90 IColumn............................................................................................................................................................................................ 92


IColumn Properties........................................................................................................................................................................................... 93

IWalls ............................................................................................................................................................................................... 95 IWall ................................................................................................................................................................................................. 96


IWall Properties ................................................................................................................................................................................................ 98

IRawWallOpenings........................................................................................................................................................................... 99 IRawWallOpening .......................................................................................................................................................................... 100


IRawWallOpening Properties ......................................................................................................................................................................... 100

IFinalWallOpenings ........................................................................................................................................................................ 101 IFinalWallOpening .......................................................................................................................................................................... 102


IFinalWallOpening Properties......................................................................................................................................................................... 102

IRawWallSectionCuts..................................................................................................................................................................... 102 IRawWallSectionCut....................................................................................................................................................................... 104


IRawWallSectionCut Properties ..................................................................................................................................................................... 105

IIsolatedFnds.................................................................................................................................................................................. 105 IIsolatedFnd ................................................................................................................................................................................... 107


IIsolatedFnd Properties .................................................................................................................................................................................. 108

IContinuousFnds ............................................................................................................................................................................ 108 IContinuousFnd .............................................................................................................................................................................. 109


IContinuousFnd Properties............................................................................................................................................................................. 110

IPileConfigurations ......................................................................................................................................................................... 111 IPileConfiguration ........................................................................................................................................................................... 112


IPileConfiguration Properties.......................................................................................................................................................................... 112

IPiles .............................................................................................................................................................................................. 112 IPile ................................................................................................................................................................................................ 113


IPile Properties ............................................................................................................................................................................................... 113

IDiaphragms................................................................................................................................................................................... 114 IDiaphragm..................................................................................................................................................................................... 115 IConcSectProps ............................................................................................................................................................................. 115 IConcSectProp ............................................................................................................................................................................... 118
IConcSectProp Properties .............................................................................................................................................................................. 118

IOtherSectProps............................................................................................................................................................................. 119 IOtherSectProp .............................................................................................................................................................................. 121


IOtherSectProp Properties ............................................................................................................................................................................. 122

ICompDeckProps ........................................................................................................................................................................... 122 ICompDeckProp ............................................................................................................................................................................. 124


ICompDeckProp Properties............................................................................................................................................................................ 124

IConcSlabProps ............................................................................................................................................................................. 125 IConcSlabProp ............................................................................................................................................................................... 126


IConcSlabProp Properties .............................................................................................................................................................................. 126

INonCompDeckProps..................................................................................................................................................................... 126 INonCompDeckProp ...................................................................................................................................................................... 127


INonCompDeckProp Properties ..................................................................................................................................................................... 127

ISteelMaterials ............................................................................................................................................................................... 127 ISteelMaterial ................................................................................................................................................................................. 128


ISteelMaterial Properties ................................................................................................................................................................................ 128

IConcreteMaterials ......................................................................................................................................................................... 128 IConcreteMaterial ........................................................................................................................................................................... 128


IConcreteMaterial Properties.......................................................................................................................................................................... 128

IOtherMaterials............................................................................................................................................................................... 129 IOtherMaterial ................................................................................................................................................................................ 129


IOtherMaterial Properties ............................................................................................................................................................................... 129

ILoadCases .................................................................................................................................................................................... 129 ILoadCase...................................................................................................................................................................................... 131


ILoadCase Properties..................................................................................................................................................................................... 131

ILoadCombinations ........................................................................................................................................................................ 131 ILoadCombination .......................................................................................................................................................................... 134


ILoadCombination Properties ......................................................................................................................................................................... 134

ILoadCombinationTerms ................................................................................................................................................................ 134

ILoadCombinationTerm.................................................................................................................................................................. 135
ILoadCombinationTerm Properties................................................................................................................................................................. 135

ILineLoadPropertySets................................................................................................................................................................... 136 ILineLoadPropertySet..................................................................................................................................................................... 137


Properties ....................................................................................................................................................................................................... 137

IPointLoadPropertySets ................................................................................................................................................................. 137 IPointLoadPropertySet ................................................................................................................................................................... 138


Properties ....................................................................................................................................................................................................... 138

IPointLoads .................................................................................................................................................................................... 139 IPointLoad ...................................................................................................................................................................................... 139


IPointLoad Properties ..................................................................................................................................................................................... 139

IMemberForces .............................................................................................................................................................................. 140 IMemberForce................................................................................................................................................................................ 140


IMemberForce Properties............................................................................................................................................................................... 140

ISteelBeamDesignResult ............................................................................................................................................................... 141 IAnalyticalResult............................................................................................................................................................................. 141 IGridSystems.................................................................................................................................................................................. 142 IGridSystem ................................................................................................................................................................................... 143
IGridSystem Properties .................................................................................................................................................................................. 143

IModelGrids.................................................................................................................................................................................... 144 IModelGrid...................................................................................................................................................................................... 145


IModelGrid Properties..................................................................................................................................................................................... 145

IPoints ............................................................................................................................................................................................ 146 IPoint .............................................................................................................................................................................................. 147 IPropertyDefinitions ........................................................................................................................................................................ 148 IPropertyDefinition.......................................................................................................................................................................... 150
IPropertyDef Properties .................................................................................................................................................................................. 152

IProperties...................................................................................................................................................................................... 152 IProperty......................................................................................................................................................................................... 153


IProperty Properties........................................................................................................................................................................................ 154

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.

Basic Concepts of the RAM Object Model


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

RAM Structural System Model


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

RAM Object Model Architecture


There is a COM interface for each entity of a building model that is represented in the RAM Object Model, such as a floor type (IFloorType), beam (IBeam), or deck (IDeck). Using these interfaces, properties of the entity can be retrieved or changed. Additionally, there is an interface for each entity type that represents a collection of entities (i.e. IFloorTypes, IBeams, IDecks). The collection interface allows for the addition or deletion of the type of entity associated with the interface (although there are some

exceptions as explained below). For example, to add or delete floor types, use the IFloorTypes interface. The collection interface can be used to iterate through a set of entities and to filter the collection to obtain a subset of that type of entity. For each member that is modeled through a floor type in the RAM Structural System, but which may also be altered on a story basis (beams, columns, etc), there are two corresponding interfaces, one for the floor type, and one for the story. Each 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.

Definitions and Naming Convention


RAM International utilizes Hungarian Notation to make it easy to identify data and variable types. Each variable or data type is prefixed with one or more letters that identify its type. The following table lists the most common prefixes and their meanings. (Note to VB/VBA users: several of these variable types are not used in VB/VBA. Explanations of them are provided in the For VB/VBA users. A link to that section will be provided when appropriate.) Prefix
I C E S bstr l or n d f e dw p a pp

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).

Method Return values


In general, one of three values is returned from RAM DataAccess. Always check the return value of the methods you are using. Note that the S and E preceding these return values do not follow the rules mentioned above. In this case S refers to success and E refers to error. S_OK E_FAIL E_NOTIMPL The method was completed successfully The method did not complete successfully This method is not yet implemented.

If E_FAIL is returned, the GetLastError method can be used to find out more about what went wrong (see Common Methods). Note that for VB/VBA users and C++ users using #import, this return value is automatically parsed and any return other than S_OK will result in an error that must be handled in an error_handler or catch statement respectively. C++ users can change this default behavior of #import (so as to have the compiler not automatically parse the return value). Refer to Appendix D for more information. For most functions created in v8.2 and later you will notice a plRetVal as the last parameter. plRetVal will provide a return error code that may not be critical but should be verified. This is different than the S_OK, E_FAIL and E_NOTIMPL which in general are critical (COM related) errors. The plRetVal will provide you with an error code that you can use to decide if you want to ignore the error or if you need to in some way change the program flow due to the error. For all VB/VBA program and C++ programs using the #import, the plRetVal will be the return value for the function. 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).

A Note about this Documentation


The methods that appear grayed out are not intended for use outside of RAM International. This includes methods that have been deprecated and some Set methods. Additionally, any methods or interfaces not documented are not supported or intended for use outside or RAM International.

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.

Starting a New Model


There are many defaults that a user can set for a RAM Structural System model using the RAM Defaults Utility. These defaults are stored in the Ramis.ini file located in the Windows or Winnt directory of a computer that has the RAM Structural System installed. When a new model is created, these defaults are pulled from the Ramis.ini file and used to set global model defaults such as which design code to use for steel beam design. The default is the value that will be used unless the property is changed by the user. If no defaults are set in the Ramis.ini file, hard-coded defaults are used when a new model is created. When creating a new RAM Structural System model, you will first need to create a floor type to which you can then add members. You will also need to create a story that uses that floor type before the members will be a part of the 3D model.

Creating a floor type


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

Defining grid systems


Grid systems can be defined once and assigned to one or more floor types. A floor type can have one or more grid systems assigned to it. From the IModel interface, get the IGridSystems interface, which is the collection of all grid systems defined for the model. Use the Add() function to add a new grid system. From the resulting IGridSystem interface, use the GetGrids() function to get the collection of grid lines associated with the grid system. Use the Add() function to add new grid lines to the grid system. Once the grid system is defined, using the IFloorType interface of the floor type to which the grid system is to be assigned, call GetGridSystemIDArray() to get the collection of grid system unique IDs that are assigned to that floor type (it may be empty). From the resulting IDAArray interface, add the unique ID of the grid system to be assigned to this floor type. The new grid system assignment is not completed until the IDAArray interface is passed back to the floor type using the SetGridSystemIDArray() function call.

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

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

Adding beams, walls or horizontal braces


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

Adding vertical braces


Since vertical braces span 2 or more stories, they are not added to floor types. (And consequently, they do not have a corresponding ILayout interface.) Vertical braces are associated with the two stories into which its nodes connect. From the IModel interface, get the IVerticalBraces interface, which represents the collection of all braces in the model. Use the Add() function to add a new brace, passing in the IDs of the stories into which the brace frames. You can use the resulting IVerticalBrace interface to set properties for the newly added brace. An alternative to getting the entire list of vertical braces for the model is to get the

IVerticalBraces interface from the IStory interface. This essentially filters the list of braces to those whose top end frames into the story represented by the IStory interface.

Defining material properties for a member


Eventually, the RAM Structural System will allow material properties to be defined separately from any member and assigned to one or more members. With that in mind, separate interfaces were designed for steel, concrete and Other materials. However, currently, there must be a one-to-one correspondence between a material and a member. For this reason, you cannot currently add material properties to their corresponding collection interfaces (ISteelMaterials, IConcreteMaterials, IOtherMaterials). Rather, there is already one material property for each beam, column, wall, horizontal brace, vertical brace and foundation which can be obtained from the IModel interface. The IBeam, IColumn, IWall, IHorizBrace, IVerticalBrace, IIsolatedFnd and IContinuousFnd interfaces all have a unique material property ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of the corresponding member. Likewise, if the member is concrete, call GetConcreteMaterial(), or if it is Other, call GetOtherMaterial(). With the corresponding ISteelMaterial, IConcreteMaterial, or IOtherMaterial, you can set the material properties for that material definition.

Assigning sizes to steel members


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

Assigning section properties to concrete members


To assign section properties to a concrete member, you must first define a concrete section property. From the IModel interface, call GetConcreteSectionProps() to get the IConcSectProps collection interface that represents the collection of all concrete section properties defined in the model. Use the AddTee(), AddRect() or AddRound() functions to define a new concrete section property. (Note there are three separate add commands since each shape has a different minimum set of data required for defining a valid section property.) The resulting IConcSectProp interface can be used to set additional properties for the section. To assign the section property to a concrete member, either set the strSectionLabel property for the member to the strLabel property of the IConcSectProp, or set the lSectionID property of the member to the unique ID of the IConcSectProp. Note that the assigned section property must match the material type of the member (which can be accessed via the eMaterial property of a member). It should be noted that assigning a concrete section property to a steel beam does not change the material of the beam and when the model is run in the RAM Structural System, an error message will be issued for the member.

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

Assigning section properties to Other members


Some members are neither defined with steel nor concrete material type. These are referred to as type Other in the RAM Structural System and they can include members of any type of material which are not currently represented in the RAM Structural System. To assign section properties to an Other member, you must first define an Other section property. From the IModel interface, call GetOtherSectionProps() to get the IOtherSectProps collection interface that represents the collection of all Other section properties defined in the model. Use the Add() function to define a new Other section property. The resulting IOtherSectProp interface can be used to set additional properties for the section. To assign the section property to an Other member, either set the strSectionLabel property for the member to the strLabel property of the IOtherSectProp, or set the lSectionID property of the member to the unique ID of the IOtherSectProp. Note that the assigned section property must match the material type of the member (which can be accessed via the eMaterial property of a member). Assigning an Other section property to a steel beam does not change the material of the beam and when the model is run in the RAM Structural System, an error message will be issued for the member. Also note that Other section properties are defined by the type of member they can be assigned to: beam, column or brace. See the documentation for the IOtherSectProp interface for more information.

Updating an existing model


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

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

Updating beams, walls, horizontal braces


See section above on updating a column.

Updating a vertical brace


From the IModel interface, call GetVerticalBrace() using the unique ID of the brace to be modified. With the IVerticalBrace interface, you can modify the brace location and any of its settable properties.

Reading an existing model


To read in an existing RAM Structural System model, call GetStories() from the IModel interface. Use the GetCount() function in the IStories interface to determine the number of stories in the model, then use the GetAt() function to get the IStory interface for each story. From the IStory interface, call GetColumns() to get an IColumns collection interface for the columns on that story. Use the GetCount() function in the IColumns collection interface to determine the number of columns on that story, then use the GetAt() function to get the IColumn interface for each column. From the IColumn interface, call the GetEndCoordinates() function to get the 3D location of the column in the model. Use the various properties in the IColumn interface to get the properties of the column. The data for beams, walls, vertical and horizontal braces, and foundations can be obtained similarly as for columns.

Getting section properties for concrete members


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

Getting section properties for Other members


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

Getting material properties for a member


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

The Object Model Interfaces


The following interfaces make up what is referred to as the RAM Object Model. There interfaces were added during v9.0 development, but were only made public in v10.0. Documentation for the earlier DataAccess interfaces can be found at the end of this section.

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.

GetFloorTypes ([out, retval] IFloorTypes** ppIFloorTypes)


Gets the collection of all floor types in the model, even those that may not be used by any stories. Available v9.0. Parameters ppIFloorTypes

Pointer to an IFloorTypes collection interface that represents all floor types in the model

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


Gets the collection of all stories in the model. Available v9.0. Parameters ppIStories

Pointer to an IStories collection interface that represents all stories in the model

GetVerticalBraces ([out, retval] IVerticalBraces** ppIVerticalBraces)


Gets the collection of all vertical braces in the model. Available v9.0. Parameters ppIVerticalBraces

Pointer to an IVerticalBraces collection interface that represents all vertical braces in the model

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


Gets the collection of all concrete section properties for this model. Available v9.0. Parameters ppIConcSectProps

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

GetOtherSectionProps ([out, retval] IOtherSecProps** ppIOtherSectProps)


Gets the collection of all section properties of material type Other for this model. Available v9.0. Parameters ppIOtherSectProps Pointer to an IOtherSectionProps collection interface that represents all Other section properties defined in the model

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


Gets the collection of all composite deck properties defined for this model. Available v9.0. Parameters ppICompDeckProps Pointer to an ICompDeckProps collection interface that represents all composite deck properties defined in the model

GetNonCompDeckProps ([out, retval] INonCompDeckProps** ppINonCompDeckProps)


Gets the collection of all non-composite deck properties defined for this model. Available v9.0. Parameters ppINonCompDeckProps Pointer to an INonCompDeckProps collection interface that represents all non-composite deck properties defined in the model Comments There is currently only one non-composite deck property allowed in a RAM Structural System model, so the collection returned will only have one item. However, we plan to allow for the definition of multiple non-composite deck properties in the future, which is why a collection interface is returned from the IModel interface rather than just the INonCompDeckProp interface.

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


Gets the collection of all concrete slab properties defined for this model. Available v9.0. Parameters ppIConcSlabProps

Pointer to an IConcSlabProps collection interface that represents all concrete slab properties defined in the model

GetGridSystems ([out, retval] IGridSystems** ppIGridSystems)


Gets the collection of all grid systems defined for this model. Available v9.0. Parameters ppIGridSystems

Pointer to an IGridSystems collection interface that represents all grid systems defined in the model

GetPiles ([out, retval] IPiles** ppIPiles)


Gets the collection of all pile definitions for this model. Piles can be associated with pile caps. Available v9.0. Parameters ppIPiles

Pointer to an IPiles collection interface that represents all piles defined in the model

GetPileConfigurations ([out, retval] IPileConfigurations** ppIPileConfigurations)


Gets the collection of all pile configuration definitions for this model. Pile configurations can be associated with pile caps. Available v9.0. Parameters ppIPileConfigurations Pointer to an IPileConfigurations collection interface that represents all pile configurations defined in the model

GetRawWallSectionCuts ([out, retval] IRawWallSectionCuts** ppIRawWallSectionCuts)


Gets a collection interface of all raw wall section cuts for the model, not just for an individual wall. Available v10.0. Parameters ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all raw wall section cuts in the model.

GetLoadCases ([in] EAnalysisResultType eAnalysisType, [out, retval] ILoadCases** ppILoadCases)


Gets a collection interface of all load cases for a specific analysis type. Available v10.0. Parameters eAnalysisType ppILoadCases

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

GetLoadCombinations ([in] COMBO_MATERIAL_TYPE eCombinationsType, [out, retval] ILoadCombinations**


ppILoadCombinations)
Gets a collection interface of all load combinations for a specific load combo type. Available v10.0. Parameters eCombinationsType Type of load combinations to get ppILoadCombinations Pointer to an ILoadCombinations collection interface that represents load combinations for specified combo type

GetLineLoadPropertySets ([out, retval] ILineLoadPropertySets** ppLineLoadPropertySets)


Gets the collection of all line load property sets for this model. Line load property sets are associated with line load sets. Available v11.0. Parameters ppLineLoadPropertySets Pointer to an ILineLoadPropertySets collection interface that represents all line load property sets defined in the model

GetPointLoadPropertySets ([out,retval] IPointLoadPropertySets** ppPointLoadPropertySets)


Gets the collection of all point load property sets for this model. Point load property sets are associated with point load sets. Available v11.0. Parameters ppPointLoadPropertySets Pointer to an IPointLoadPropertySets collection interface that represents all point load property sets defined in the model

GetFloorType ([in] long lUID, [out, retval] IFloortype** ppIFloorType)


Gets an interface for a specific floor type. Available v9.0. Parameters lUID ppIFloorType

Unique ID of floor type to retrieve Pointer to an IFloortype interface that represents requested floor type

GetStory ([in] long lUID, [out, retval] IStory** ppIStory)


Gets an interface for a specific story. Available v9.0. Parameters lUID ppIStory

Unique ID of story to retrieve Pointer to an IStory interface that represents requested story

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


Gets an interface for a specific concrete section property. Available v9.0. Parameters lUID ppIConcSectProp

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

GetOtherSectionProp ([in] long lUID, [out, retval] IOtherSectProp** ppIOtherSectProp)


Gets an interface for a specific Other section property. Available v9.0. Parameters lUID ppIOtherSectProp

Unique ID of Other section property to retrieve Pointer to an IOtherSectProp interface that represents the requested Other section property

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


Gets an interface for a specific composite deck property. Available v9.0. Parameters lUID ppICompDeckProp

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

GetNonCompDeckProp ([in] long lUID, [out, retval] INonCompDeckProp** ppINonCompDeckProps)


Gets an interface for a specific non-composite deck property. Available v9.0. Parameters lUID Unique ID of non-composite deck property to retrieve ppINonCompDeckProps Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property

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


Gets an interface for a specific concrete slab property. Available v9.0. Parameters lUID ppIConcSlabProp

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

GetSteelMaterial ([in] long lUID, [out, retval] ISteelMaterial** ppISteelMaterial)


Gets an interface for a specific steel material property set. Available v9.0. Parameters lUID ppISteelMaterial

Unique ID of steel material property set to retrieve Pointer to an ISteelMaterial interface that represents the requested steel material property set

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


Gets an interface for a specific concrete material property set. Available v9.0. Parameters lUID ppIConcreteMaterial

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

GetOtherMaterial ([in] long lUID, [out, retval] IOtherMaterial** ppIOtherMaterial)


Gets an interface for a specific Other material property set. Available v9.0. Parameters lUID ppIOtherMaterial

Unique ID of Other material property set to retrieve Pointer to an IOtherMaterial interface that represents the requested Other material property set

GetGridSystem ([in] long lUID, [out, retval] IGridSystem** ppIGridSystem )


Gets an interface for a grid system. Available v9.0. Parameters lUID ppIGridSystem

Unique ID of grid system to retrieve Pointer to an IGridSystem interface that represents the requested grid system

GetPile ([in] long lUID, [out, retval] IPile** ppIPile)


Gets an interface for a pile definition. Available v9.0. Parameters lUID ppIPile

Unique ID of pile definition to retrieve Pointer to an IPile interface that represents the requested pile

GetPileConfiguration ([in] long lUID, [out, retval] IPileConfiguration** ppIPileConfiguration)


Gets an interface for a pile configuration definition. Available v9.0. Parameters lUID ppIPileConfiguration

Unique ID of pile configuration definition to retrieve Pointer to an IPileConfiguration interface that represents the requested pile configuration

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


Gets an interface for a deck definition. Available v9.0. Parameters lUID ppIDeck

Unique ID of deck definition to retrieve Pointer to an IDeck interface that represents the requested deck definition

GetSlabPerimeter ([in] long lUID, [out, retval] ISlabPerimeter** ppISlabPerimeter)


Gets an interface for a slab perimeter. Available v9.0. Parameters lUID ppISlabPerimeter

Unique ID of slab perimeter to retrieve Pointer to an ISlabPerimeter interface that represents the requested slab perimeter

GetSlabOpening ([in] long lUID, [out, retval] ISlabOpening** ppISlabOpening)


Gets an interface for a slab opening. Available v9.0. Parameters lUID ppISlabOpening

Unique ID of slab opening to retrieve Pointer to an ISlabOpening interface that represents the requested slab opening

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


Gets an interface for a layout beam. Available v9.0. Parameters lUID ppILayoutBeam

Unique ID of layout beam to retrieve Pointer to an ILayoutBeam interface that represents the requested layout beam

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


Gets an interface for a layout column. Available v9.0. Parameters lUID ppILayoutColumn

Unique ID of layout column to retrieve Pointer to an ILayoutColumn interface that represents the requested layout column

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


Gets an interface for a layout wall. Available v9.0. Parameters lUID ppILayoutWall

Unique ID of layout wall to retrieve Pointer to an ILayoutWall interface that represents the requested layout wall

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


Gets an interface for a layout horizontal brace. Available v9.0. Parameters lUID ppILayoutHorizBrace

Unique ID of layout horizontal brace to retrieve Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace

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


Gets an interface for a layout isolated foundation. Available v9.0. Parameters lUID Unique ID of layout isolated foundation to retrieve ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation

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


Gets an interface for a layout continuous foundation. Available v9.0. Parameters lUID Unique ID of layout continuous foundation to retrieve ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation

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


Gets an interface for a beam. Available v9.0. Parameters lUID ppIBeam

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

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


Gets an interface for a column stack given the unique ID of any column in the stack. Available v11.01. Parameters lColumnID ppIColumnStack

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

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


Gets an interface for a column. Available v9.0. Parameters lUID ppIColumn

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

GetWall ([in] long lUID, [out, retval] IWall** ppIWall )


Gets an interface for a wall. Available v9.0. Parameters lUID ppIWall

Unique ID of wall to retrieve Pointer to an IWall interface that represents the requested wall

GetVerticalBrace ([in] long lUID, [out, retval] IVerticalBrace** ppIVerticalBrace)


Gets an interface for a vertical brace. Available v9.0. Parameters lUID ppIVerticalBrace

Unique ID of vertical brace to retrieve Pointer to an IVerticalBrace interface that represents the requested vertical brace

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


Gets an interface for a horizontal brace. Available v9.0. Parameters lUID ppIHorizBrace

Unique ID of horizontal brace to retrieve Pointer to an IHorizBrace interface that represents the requested horizontal brace

GetRawWallOpening ([in] long lUID, [out, retval] IRawWallOpening** ppIRawWallOpening)


Gets an interface for a raw wall opening. Available v10.0. Parameters lUID ppIRawWallOpening

Unique ID of wall opening to retrieve Pointer to an IRawWallOpening interface that represents the requested wall opening

GetRawWallSectionCut ([in] long lUID, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)


Gets an interface for a raw wall section cut. Available v10.0. Parameters lUID Unique ID of wall section cut to retrieve ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested wall section cut

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


Gets an interface for an isolated foundation. Available v9.0. Parameters lUID ppIIsolatedFnd

Unique ID of isolated foundation to retrieve Pointer to an IIsolatedFnd interface that represents the requested isolated foundation

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


Gets an interface for a continuous foundation. Available v9.0. Parameters lUID ppIContinuousFnd

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

GetSteelCriteria ([out, retval] ISteelCriteria** ppISteelCriteria )


Gets an interface for the steel criteria applied to the model. Available v9.0. Parameters

ppISteelCriteria

Pointer to an ISteelCriteria interface that represents all steel criteria for the model

GetConcreteCriteria ([out, retval] IConcreteCriteria** ppIConcreteCriteria )


Gets an interface for the concrete criteria applied to the model. Available v9.0. Parameters ppIConcreteCriteria

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

GetFrameAnalysisCriteria ([out, retval] IFrameAnalysisCriteria** ppIFrameAnalysisCriteria)


Gets an interface for the frame analysis criteria applied to the model. Available v10.0. Parameters ppIFrameAnalysisCriteria Pointer to an IFrameAnalysisCriteria interface that represents the frame analysis 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

Type BOOL EJstUniformLoadOption double

Property bWOAllowStiffenerTwoSide eJstDefUniformLoadOption dJstDefUniformTolerance

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

double BOOL BOOL

dJstAllowableStressRatio bUseModelMasterTable bUseModelAltBeamSteelTable

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)

Ver 9.0 9.0 9.0

9.0

9.0

9.0

9.0 9.0

9.0

9.0

9.0 10.03 10.03

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

BSTR EDA_CONC_CODE EDA_CONC_CODE

strPanJoistTable eConcreteDesignCode eFoundationDesignCode

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

9.0 9.0 9.0

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

EDiaphragm BOOL long double double

eDiaphragmType bConsiderAdvancedMeshCriteria lMeshOptimizationLevel dMeshShapeQualityRatio dMeshMaxDistBetweenNodes

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.

GetCount ([out, retval] long* plCount )


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

Number of floor types in the collection

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


Gets an interface for a specific floor type by index. Available v9.0. Parameters lIndex ppFloorType

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.

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


Gets an interface for a specific floor type by unique ID. Available v9.0. Parameters lUID ppFloorType

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.

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


Adds a new floor type to the collection of floor types for the model. Available v9.0. Parameters bstrFloorTypeName ppFloorType

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

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


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

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.

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


Gets the collection of all decks for this floor type. Available v9.0. Parameters ppIDecks

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

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


Gets the collection of all slab perimeters for this floor type. Available v9.0. Parameters ppISlabPerimeters

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

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


Gets the collection of all slab openings for this floor type. Available v9.0. Parameters ppISlabOpenings

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

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


Gets the collection of all beams for this floor type. Available v9.0. Parameters ppILayoutBeams

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

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


Gets the collection of all columns for this floor type. Available v9.0.

Parameters ppILayoutColumns

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

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


Gets the collection of all walls for this floor type. Available v9.0. Parameters ppILayoutWalls

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

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


Gets the collection of all horizontal braces for this floor type. Available v9.0. Parameters ppILayoutHorizBraces Pointer to an ILayoutHorizBraces collection interface that represents all horizontal braces defined on this floor type

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


Gets the collection of all isolated foundations for this floor type. Available v9.0. Parameters ppILayoutIsolatedFnds Pointer to an ILayoutIsolatedFnds collection interface that represents all isolated foundations defined on this floor type

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


Gets the collection of all continuous foundations for this floor type. Available v9.0. Parameters ppILayoutContinuousFnds Pointer to an ILayoutContinuousFnds collection interface that represents all continuous foundations defined on this floor type

GetLineLoadSets (ILineLoadSets ** ppLineLoadSets )


Gets the collection of all line load sets for this floor type. Available v11.0. Parameters ppLineLoadSets

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

GetPointLoadSets (IPointLoadSets** ppPointLoadSets )


Gets the collection of all point load sets for this floor type. Available v11.0. Parameters ppPointLoadSets

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

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


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

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

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


Gets the collection of unique IDs of grid systems that are assigned to this floor type. Available v9.0. Parameters ppIDAArray

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

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


Sets the collection of unique IDs of grid systems that are assigned to this floor type. Available v9.0. Parameters pIDAArray plRetVal

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

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.

GetCount ([out, retval] long* plCount)


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

Number of decks in the collection

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


Gets an interface for a specific deck by index. Available v9.0. Parameters lIndex ppIDeck

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.

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


Gets an interface for a specific deck by unique ID. Available v9.0. Parameters lUID ppIDeck

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.

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


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

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.

GetCount ([out, retval] long* plCount)


Gets the number of slab perimeters in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the total number of slab perimeters on the floor type. When the collection is unfiltered, this function returns the total number of slab perimeters on a floor type. Available v9.0. Parameters plCount

Number of slab perimeters in the collection

GetAt ([in] long lIndex, [out, retval] ISlabPerimeter** ppISlabPerimeter)


Gets an interface for a specific slab perimeter by index. Available v9.0. Parameters lIndex ppISlabPerimeter

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.

Get ([in] long lUID, [out, retval] ISlabPerimeter** ppISlabPerimeter)


Gets an interface for a specific slab perimeter by unique ID. Available v9.0. Parameters lUID ppISlabPerimeter

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.

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


Gets the collection of edges for this slab perimeter. Available v9.0. Parameters ppISlabEdges

Pointer to an ISlabEdges collection interface that represents the edges that define this slab perimeter.

GetPerimeterVertices ([out, retval] IPoints **pplVertexCoordinates)


Gets the collection of vertices for this slab perimeter. Available v10.0. Parameters pplVertexCoordinates Pointer to an IPoints collection interface that represents the vertices for 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.

GetCount ([out, retval] long* plCount)


Gets the number of slab edges in the collection. Available v9.0. Parameters plCount

Number of slab edges in the collection

GetAt ([in] long lIndex, [out, retval] ISlabEdge** ppISlabEdge)


Gets an interface for a specific slab edge by index. Available v9.0. Parameters lIndex

The index into the collection of the requested slab edge

ppISlabEdge

Pointer to an ISlabEdge interface that represents the requested slab edge, or NULL if lIndex is invalid.

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.

GetCount ([out, retval] long* plCount)


Gets the number of slab openings in the collection. Available v9.0. Parameters plCount

Number of slab openings in the collection

GetAt ([in] long lIndex, [out, retval] ISlabOpening** ppISlabOpening)


Gets an interface for a specific slab opening by index. Available v9.0. Parameters lIndex ppISlabOpening

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.

Get ([in] long lUID, [out, retval] ISlabOpening** ppISlabOpening)


Gets an interface for a specific slab opening by unique ID. Available v9.0. Parameters lUID ppISlabOpening

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.

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


Gets the collection of edges for this slab opening. Available v9.0. Parameters ppISlabEdges

Pointer to an ISlabEdges collection interface that represents the edges that define this slab opening.

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


Gets the collection of vertices for this slab opening. Available v10.0. Parameters ppIVertexCoordinats Pointer to an IPoints collection interface that represents the vertices 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.

GetCount ([out, retval] long* plCount)


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

Number of layout beams in the collection

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


Gets an interface for a specific layout beam by index. Available v9.0. Parameters lIndex ppILayoutBeam

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.

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


Gets an interface for a specific layout beam by unique ID. Available v9.0. Parameters lUID ppILayoutBeam

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.

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


Deletes the layout beam with the given unique ID, as well as all corresponding beams on stories associated with the floor type that the layout beam is on. Available v9.0. Parameters lUID plRetval

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.

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


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

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

EAnalyzeFlag EDefaultOrAlternate long

eAnalyzeFlag eSteelTable lManufacturerID

X X X

X X X

10.03 10.03 11.0

double

dManufacturerSelfWeight

11.0

Type ESMARTBEAMTYPE double double

Property eSmartBeamSubType dCastellatedDt dCastellatedE

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.

Ver 11.1 11.1 11.1

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.

GetCount ([out, retval] long* plCount )


Gets the number of web openings in the collection. Available v9.0. Parameters plCount

Number of web openings in the collection

GetAt ([in] long lIndex, [out, retval] IWebOpening** ppIWebOpening)


Gets an interface for a specific web opening by index. Available v9.0. Parameters lIndex ppIWebOpening

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.

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


Deletes the web opening at the given index. Available v9.0. Parameters lIndex plRetval

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.)

GetCount ([out, retval] long* plCount)


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

Number of layout horizontal braces in the collection

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


Gets an interface for a specific layout horizontal brace by index. Available v9.0. Parameters lIndex ppILayoutHorizBrace

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.

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


Gets an interface for a specific layout horizontal brace by unique ID. Available v9.0. Parameters lUID ppILayoutHorizBrace

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.

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


Deletes the layout horizontal brace with the given unique ID, as well as all corresponding horizontal braces on stories associated with the floor type that the layout horizontal brace is on. Available v9.0. Parameters lUID plRetval

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.

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


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

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

GetLayoutCoordinates ([out] double *pdStartSupportX, [out] double *pdStartSupportY, [out] double *pdStartSupportZOffset, [out] double *pdEndSupportX, [out] double *pdEndSupportY, [out] double *pdEndSupportZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout horizontal brace. 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

BOOL BOOL BOOL BOOL BOOL BOOL ETensionCompressionMemType BOOL

bTorFixedStart bTorFixedEnd bMinAxisBendFixedStart bMinAxisBendFixedEnd bMajAxisBendFixStart bMajAxisBendFixEnd eAnalysisType bDblAngleLLBacktoBack

X X X X X X X X

9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0

BOOL double BOOL

bDblAngleSnugTightBolt dDblAngleBackSpacing bSglAngleLongLegHorizontal

9.0 9.0 9.0

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.

GetCount ([out, retval] long* plCount)


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

Number of layout columns in the collection

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


Gets an interface for a specific layout column by index. Available v9.0. Parameters lIndex ppILayoutColumn

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.

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


Gets an interface for a specific layout column by unique ID. Available v9.0. Parameters lUID ppILayoutColumn

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.

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


Deletes the layout column with the given unique ID, as well as all corresponding columns on stories associated with the floor type that the layout column is on. Available v9.0. Parameters lUID plRetval

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.

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


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

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

GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *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.

GetCount ([out, retval] long* plCount)


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

Number of layout walls in the collection

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


Gets an interface for a specific layout wall by index. Available v9.0. Parameters lIndex ppILayoutWall

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.

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


Gets an interface for a specific layout wall by unique ID. Available v9.0. Parameters lUID ppILayoutWall

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.

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


Deletes the layout wall with the given unique ID, as well as all corresponding walls on stories associated with the floor type that the layout wall is on. Available v9.0. Parameters lUID plRetval

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.

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


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

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

GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZTopOffset, [out]double
*pdStartZBotOffset, [out] double *pdEndX, [out] double *pdEndY, [out] double *pdEndZTopOffset, [out]double *pdEndZBotOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout wall. 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.

GetCount ([out, retval] long* plCount)


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

Number of layout isolated foundations in the collection

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


Gets an interface for a specific layout isolated foundation by index. Available v9.0. Parameters lIndex The index into the collection of the requested layout isolated foundation ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation, or NULL if lIndex is invalid.

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


Gets an interface for a specific layout isolated foundation by unique ID. Available v9.0. Parameters lUID The unique ID of the requested layout isolated foundation ppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation, or NULL if no layout isolated foundation is found in the collection with the given unique ID.

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.

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


Deletes the layout isolated foundation with the given unique ID. Available v9.0. Parameters lUID plRetval

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.

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


Gets an interface for the isolated foundation associated with this layout isolated foundation. Available v9.0. Parameters ppIIsolatedFnd

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

GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *pdZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout isolated foundation. 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.

GetCount ([out, retval] long* plCount)


Gets the number of layout continuous foundations in the collection. Available v9.0. Parameters plCount

Number of layout continuous foundations in the collection

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


Gets an interface for a specific layout continuous foundation by index. Available v9.0. Parameters lIndex The index into the collection of the requested layout continuous foundation ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation, or NULL if lIndex is invalid.

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


Gets an interface for a specific layout continuous foundation by unique ID. Available v9.0. Parameters lUID The unique ID of the requested layout continuous foundation ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation, or NULL if no layout continuous foundation is found in the collection with the given unique ID.

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.

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


Deletes the layout continuous foundation with the given unique ID. Available v9.0. Parameters lUID plRetval

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.

GetContinuousFnd ([out, retval] IContinuousFnd** ppIContinuousFnd)


Gets an interface for the continuous foundation associated with this layout continuous foundation. Available v9.0. Parameters ppIContinuousFnd

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

GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out] double *pdZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout continuous foundation. 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

dEndY dZOffset plRetval

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.

GetCount([out, retval] long *plCount)


Gets the number of line load sets in the collection. Available v11.0. Parameters plCount

Number of line load sets in the collection

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


Gets an interface for a specific point load set by index. Available v11.0. Parameters lUID ppILineLoadSet

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.

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


Gets an interface for a specific line load set by index. Available v11.0. Parameters lIndex ppILineLoadSet

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.

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


Deletes the line load set with the given unique ID. Available v11.0. Parameters lUID plRetval

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.

GetCount ([out, retval] long *plCount)


Gets the number of point load sets in the collection. Available v11.0. Parameters plCount

Number of point load sets in the collection

Get ([in] long lUID, [out, retval] IPointLoadSet** ppIPointLoadSet)


Gets an interface for a specific point load set by index. Available v11.0. Parameters lUID ppIPointLoadSet

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.

GetAt ([in] long lIndex, [out, retval] IPointLoadSet** ppIPointLoadSet)


Gets an interface for a specific point load set by index. Available v11.0. Parameters lIndex ppIPointLoadSet

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.

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


Deletes the point load set with the given unique ID. Available v11.0. Parameters lUID plRetval

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.

GetCount ([out, retval] long* plCount)


Gets the number of stories in the collection. Available v9.0. Parameters plCount

Number of stories in the collection

GetAt ([in] long lIndex, [out, retval] IStory** ppIStory)


Gets an interface for a specific story by index. Available v9.0. Parameters lIndex ppIStory

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.

Get ([in] long lUID, [out, retval] IStory** ppIStory)


Gets an interface for a specific story by unique ID. Available v9.0. Parameters lUID ppIStory

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.

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


Deletes a story with the given unique ID from the collection. Available v9.0. Parameters lUID plRetval

Unique ID of story to delete 0 if story is deleted successfully -1 if unique ID is not found in collection of story

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


Gets a collection of user-defined property definitions for stories. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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.

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


Gets the collection of all beams for this story. Available v9.0. Parameters ppIBeams

Pointer to an IBeams collection interface that represents all beams associated with this story

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


Gets the collection of all columns for this story. Available v9.0. Parameters ppIColumns

Pointer to an IColumns collection interface that represents all columns associated with this story

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


Gets the collection of all walls for this story. Available v9.0. Parameters ppIWalls

Pointer to an IWalls collection interface that represents all walls associated with this story

GetVerticalBraces ([out, retval] IVerticalBraces** ppIVerticalBraces)


Gets the collection of all vertical braces whose top node attaches to this story. Available v9.0. Parameters ppIVerticalBraces

Pointer to an IVerticalBraces collection interface that represents all vertical braces at this story

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


Gets the collection of all horizontal braces for this story. Available v9.0. Parameters ppIHorizBraces

Pointer to an IHorizBraces collection interface that represents all horizontal braces associated with this story

GetIsolatedFnds ([out, retval] IIsolatedFnds** ppIIsolatedFnds)


Gets the collection of all isolated foundations for this story. Available v9.0. Parameters ppIIsolatedFnds

Pointer to an IIsolatedFnds collection interface that represents all isolated foundations associated with this story

GetContinuousFnds ([out, retval] IContinuousFnds** ppIContinuousFnds)


Gets the collection of all continuous foundations for this story. Available v9.0. Parameters ppIContinuousFnds Pointer to an IContinuousFnds collection interface that represents all continuous foundations associated with this story

GetDiaphragms ([out, retval] IDiaphragms** ppIDiaphragms)


Gets the collection of all diaphragms for this story. Available v10.0. Parameters ppIDiaphragms

Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story

GetFloorType ([out, retval] IFloorType** ppIFloorType)


Gets the floor type associated with this story. Available v9.0. Parameters ppIFloorType

Pointer to an IFloorType interface that represents the floor type associated with this story

DeleteVerticalBrace ([in] long lBraceID, [out, retval] long* plRetval)


Deletes the vertical brace with the given unique ID. Available v9.0. Parameters lBraceID plRetval

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

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


Gets a collection of user-defined properties for the story. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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.

GetCount ([out, retval] long* plCount)


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

Number of beams in the collection

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


Gets an interface for a specific beam by index. Available v9.0. Parameters lIndex ppIBeam

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.

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


Gets an interface for a specific beam by unique ID. Available v9.0. Parameters lUID ppIBeam

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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.

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


Gets the steel beam design results interface. Available v10.0.4. Parameters ppIDesignResult

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

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


Gets the analytical result interface. Available v10.0.4. Parameters ppIAnalyticalResult

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.

GetCount ([out, retval] long* plCount)


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

Number of horizontal braces in the collection

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


Gets an interface for a specific horizontal brace by index. Available v9.0. Parameters lIndex ppIHorizBrace

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.

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


Gets an interface for a specific horizontal brace by unique ID. Available v9.0. Parameters lUID ppIHorizBrace

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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

BOOL BOOL BOOL BOOL BOOL BOOL ETensionCompressionMemType BOOL

bTorFixedStart bTorFixedEnd bMinAxisBendFixedStart bMinAxisBendFixedEnd bMajAxisBendFixStart bMajAxisBendFixEnd eAnalysisType bDblAngleLLBacktoBack

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

BOOL double BOOL

bDblAngleSnugTightBolt dDblAngleBackSpacing bSglAngleLLHorizontal

X X X

X X X

9.0 9.0 9.0

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.

GetCount ([out, retval] long* plCount)


Gets the number of vertical braces in the collection. When the collection is filtered, this function returns the number in the filtered collection. Available v9.0. Parameters plCount

Number of vertical braces in the collection

GetAt ([in] long lIndex, [out, retval] IVerticalBrace** ppIVerticalBrace)


Gets an interface for a specific vertical brace by index. Available v9.0. Parameters lIndex ppIVerticalBrace

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.

Get ([in] long lUID, [out, retval] IVerticalBrace** ppIVerticalBrace)


Gets an interface for a specific vertical brace by unique ID. Available v9.0. Parameters lUID ppIVerticalBrace

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.

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


Deletes the vertical brace with the given unique ID. Available v9.0. Parameters lUID plRetval

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

Remove all prior filtering

N/A

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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

Type EMATERIALTYPES long

Property eMaterial lMaterialID

Get X X

Set X

long BSTR

lLabel strSectionLabel

X X X

long

lSectionID

long BOOL BOOL BOOL BOOL BOOL BOOL ETensionCompressionMemType BOOL

lFrameNumber bTorFixedTop bTorFixedBot bMinAxisBendFixedTop bMinAxisBendFixedBot bMajAxisBendFixTop bMajAxisBendFixBot eAnalysisType bDblAngleLLBacktoBack

X X X X X X X X X

X X X X X X X X X

BOOL double BOOL

bDblAngleSnugTightBolt dDblAngleBackSpacing bSglAngleLLHorizontal

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

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 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.

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


Gets an interface for the baseplate for this column stack. Will return NULL if baseplate is not designed. 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.

GetCount ([out, retval] long* plCount)


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

Number of columns in the collection

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


Gets an interface for a specific column by index. Available v9.0. Parameters lIndex ppIColumn

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.

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


Gets an interface for a specific column by unique ID. Available v9.0. Parameters lUID ppIColumn

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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

BOOL BOOL BOOL BOOL BOOL BOOL BSTR

bTorFixedTop bTorFixedBot bMinAxisBendFixedTop bMinAxisBendFixedBot bMajAxisBendFixTop bMajAxisBendFixBot strSectionLabel

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

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.

GetCount ([out, retval] long* plCount)


Gets the number of walls in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the total number of walls on the story. When the collection is unfiltered, this function returns the total number of walls on the story. Available v9.0. Parameters plCount

Number of walls in the collection

GetAt ([in] long lIndex, [out, retval] IWall** ppIWall)


Gets an interface for a specific wall by index. Available v9.0. Parameters lIndex ppIWall

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.

Get ([in] long lUID, [out, retval] IWall** ppIWall)


Gets an interface for a specific wall by unique ID. Available v9.0. Parameters lUID ppIWall

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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

GetRawOpenings ([out, retval] IRawWallOpenings** ppIRawWallOpenings)


Gets the raw wall openings associated with this wall. Raw openings are the openings that were modeled in a wall. Depending on how the openings were modeled, the openings may span multiple walls or may not even lie within the wall in which they were modeled. However, the openings remain associated with the wall in which they were initially modeled. Note that this collection of openings may not include all openings that fall within this wall since some openings modeled in adjacent walls may fall within this wall. To get all openings that intersect this wall, use the GetFinalOpenings() method. Available v10.0. Parameters ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.

GeFinalOpenings ([out, retval] IFinalWallOpenings** ppIFinalWallOpenings)


Gets the final wall openings associated with this wall. Final openings are all openings that fall at least partially on this wall, and are clipped to the wall polygon. Available v10.0. Parameters ppIFinalWallOpenings Pointer to an IFinalWallOpenings collection interface that represents the raw openings in the wall.

GetRawSectionCuts ([out, retval] IRawWallSectionCuts** ppIRawWallSectionCuts)


Gets the raw wall section cuts associated with this wall. Raw openings are the section cuts that start in a wall. Depending on how the openings were modeled, the openings may span multiple walls. Note that this collection of section cuts may not include all openings that fall within this wall since some section cuts modeled in adjacent walls may fall within this wall. Available v10.0. Parameters ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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

EFRAMETYPE long double double

eFramingType lFrameNumber dThickness dCrackedFactor

X X X X

X X X

9.0 9.0 9.0 9.0

IRawWallOpenings
This interface represents a collection of raw wall openings associated with a wall. Available v10.0.

GetCount ([out, retval] long* plCount)


Gets the number of wall openings in the collection. Available v10.0 Parameters plCount

Number of raw wall openings in the collection

GetAt ([in] long lIndex, [out, retval] IRawWallOpening** ppIRawWallOpening)


Gets an interface for a raw wall opening by index. Available v10.0 Parameters lIndex ppIRawWallOpening

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.

Get ([in] long lUID, [out, retval] IRawWallOpening** ppIRawWallOpening)


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

Parameters lUID ppIRawWallOpening

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

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


Deletes the raw wall opening with the given unique ID. Available v10.0. Parameters lUID plRetval

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.

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


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

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.

GetCount ([out, retval] long* plCount)


Gets the number of wall openings in the collection. Available v10.0 Parameters plCount

Number of final wall openings in the collection

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


Gets an interface for a final wall opening by index. Available v10.0 Parameters lIndex ppIRawWallOpening

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.

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


Gets an interface for a specific raw wall opening by unique ID. Available v10.0 Parameters lUID ppFinalWallOpening

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.

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


Gets the vertices of the opening clipped to the wall polygon. Available v10.0. Parameters ppIVertexCoordinates Pointer to an IPoints collection interface which represents the locations of the vertices of the opening in 3D coordinates.

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.

GetCount ([out, retval] long* plCount)


Gets the number of wall section cuts in the collection. Available v10.0 Parameters plCount

Number of raw wall section cuts in the collection

GetAt ([in] long lIndex, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)


Gets an interface for a raw wall section cut by index. Available v10.0 Parameters lIndex The index into the collection of the requested raw wall section cut ppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested raw wall section cut, or NULL if lIndex is invalid.

Get ([in] long lUID, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)


Gets an interface for a specific raw wall section cut by unique ID. 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

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


Deletes the raw wall section cut with the given unique ID. Available v10.0. Parameters lUID plRetval

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.

GetForcesForLoadCases ([in] EAnalysisResultType eAnalysisType, [in] IDAArray aAnalysisLoadCaseIDs, [out, retval]


IMemberForces** ppIMemberForces)
Gets the force at this section cut for the given analysis type and load case ID. Available v10.0. Parameters eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported) aAnalysisLoadCaseIDs Array of analysis load case IDs for which to get force ppIMemberForces Pointer to an IMemberForces collection interface that represents the forces at this section cut for the given load case IDs.

GetCutMembers ([out, retval] IDAArray** ppICutMembersArray)


Gets an array of members cut by this section cut. Available v10.0. Parameters ppICutMembersArray

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

Start coordinate of section cut End coordinate of section cut

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.

GetCount ([out, retval] long* plCount)


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

Number of isolated foundations in the collection

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


Gets an interface for a specific isolated foundation by index. Available v9.0.

Parameters lIndex ppIIsolatedFnd

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.

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


Gets an interface for a specific isolated foundation by unique ID. Available v9.0. Parameters lUID ppIIsolatedFnd

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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.

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


Gets the coordinate of the isolated foundation. Available v9.0. Parameters pCenterPoint plRetval

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

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


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

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

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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.

GetCount ([out, retval] long* plCount)


Gets the number of continuous foundations in the collection. Available v9.0. Parameters plCount

Number of continuous foundations in the collection

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


Gets an interface for a specific continuous foundation by index. Available v9.0. Parameters lIndex ppIContinuousFnd

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.

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


Gets an interface for a specific continuous foundation by unique ID. Available v9.0. Parameters lUID ppIContinuousFnd

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.

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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

Description Unique ID of continuous foundation.


Unique ID of material properties for this continuous foundation. Foundation is always concrete. See section Getting material properties for a member for more information.

Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0

long double double double double double double BOOL

lLabel dOrientation dLeft dRight dTop dBottom dThickness bDimensionsFromDesign

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.

GetCount ([out, retval] long* plCount)


Gets the number of pile configurations in the collection. Available v9.0. Parameters plCount

Number of pile configurations in the collection

GetAt ([in] long lIndex, [out, retval] IPileConfiguration** ppIPileConfiguration)


Gets an interface for a specific pile configuration by index. Available v9.0. Parameters lIndex ppIPileConfiguration

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.

Get ([in] long lUID, [out, retval] IPileConfiguration** ppIPileConfiguration)


Gets an interface for a specific pile configuration by unique ID. Available v9.0. Parameters lUID ppIPileConfiguration

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.

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


Deletes a pile configuration with the given unique ID from the collection. Available v9.0. Parameters lUID plRetval

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.

GetCount ([out, retval] long* plCount)


Gets the number of piles in the collection. Available v9.0. Parameters plCount

Number of piles in the collection

GetAt ([in] long lIndex, [out, retval] IPile** ppIPile)


Gets an interface for a specific pile by index. Available v9.0. Parameters lIndex ppIPile

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.

Get ([in] long lUID, [out, retval] IPile** ppIPile)


Gets an interface for a specific pile by unique ID. Available v9.0. Parameters lUID ppIPile

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.

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


Deletes a pile with the given unique ID from the collection. Available v9.0. Parameters lUID plRetval

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

Type double double

Property dTensionCap dShearCap

Get X X

Set X X

Description Tension capacity of pile Shear capacity of pile

Ver 9.0 9.0

IDiaphragms
This interface represents a collection of all diaphragms associated with a story. Available v10.0.

GetCount ([out, retval] long* plCount)


Gets the number of diaphragms in the collection. Available v10.0. Parameters plCount

Number of diaphragms in the collection

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


Gets an interface for a specific diaphragm by index. Available v10.0. Parameters lIndex ppIDiaphragm

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.

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


Gets an interface for a specific diaphragm by unique ID. Available v10.0. Parameters lUID ppIDiaphragm

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.

GetCount ([out, retval] long* plCount)


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

Number of concrete sections in the collection

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


Gets an interface for a specific concrete section property by index. Available v9.0. Parameters lIndex ppIConcSectProp

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.

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


Gets an interface for a specific concrete section property by unique ID. Available v9.0. Parameters lUID ppIConcSectProp

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.

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


Deletes the concrete section with the given unique ID. A section that is currently assigned to a member cannot be deleted. Available v9.0. Parameters lUID plRetval

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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.

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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

Type EUniqueMemberTypeID BSTR double double double double double double

Property eMemType strLabel dDepth dWebWidth dDiameter dFlangeOverhangLeft dFlangeOverhangRight dFlangeThickLeft

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.

Ver 9.0 9.0 9.0 9.0 9.0 9.0 9.0 9.0

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.

GetCount ([out, retval] long* plCount)


Gets the number of Other sections in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the total number of Other sections in the model. When the collection is unfiltered, this function returns the total number of Other sections in the model. Available v9.0. Parameters plCount

Number of Other sections in the collection

GetAt ([in] long lIndex, [out, retval] IOtherSectProp** ppIOtherSectProp)


Gets an interface for a specific Other section property by index. Available v9.0. Parameters lIndex ppIOtherSectProp

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.

Get ([in] long lUID, [out, retval] IOtherSectProp** ppIOtherSectProp)


Gets an interface for a specific Other section property by unique ID. Available v9.0. Parameters lUID ppIOtherSectProp

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.

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


Deletes the Other section with the given unique ID. A section that is currently assigned to a member cannot be deleted. Available v9.0. Parameters lUID plRetval

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

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


Gets a collection of user-defined property definitions for this member type. Available v11.0. Parameters strCustomProps ppIPropertyDefs

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.

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


Gets a collection of user-defined properties for the member. Available v11.0. Parameters strCustomProps ppIProperties

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

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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.

GetCount ([out, retval] long* plCount)


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

Number of composite deck properties in the collection

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


Gets an interface for a specific composite deck property by index. Available v9.0. Parameters lIndex ppICompDeckProp

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.

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


Gets an interface for a specific composite deck property by unique ID. Available v9.0. Parameters lUID ppICompDeckProp

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.

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


Deletes the composite deck property with the given unique ID. A deck property that is currently assigned to a deck cannot be deleted. Available v9.0. Parameters lUID plRetval

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.

GetCount ([out, retval] long* plCount)


Gets the number of concrete slab properties in the collection. Available v9.0. Parameters plCount

Number of concrete slab properties in the collection

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


Gets an interface for a specific concrete slab property by index. Available v9.0. Parameters lIndex ppIConcSlabProp

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

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


Gets an interface for a specific concrete slab property by unique ID. Available v9.0. Parameters lUID ppIConcSlabProp

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.

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


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

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.

GetCount ([out, retval] long* plCount)


Gets the number of non-composite deck properties in the collection. Available v9.0. Parameters plCount

Number of non-composite deck properties in the collection

GetAt ([in] long lIndex, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)


Gets an interface for a specific non-composite deck property by index. Available v9.0. Parameters lIndex The index into the collection of the requested non-composite deck property ppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property, or NULL if lIndex is invalid.

Get ([in] long lUID, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)


Gets an interface for a specific non-composite deck property by unique ID. Available v9.0. Parameters lUID The unique ID of the requested non-composite deck property ppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property, or NULL if no non-composite deck property is found in the collection with the given unique ID.

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.

Get ([in] long lUID, [out, retval] ISteelMaterial **ppISteelMaterial)


Gets an interface for a specific steel material property set by unique ID. Available v9.0. Parameters lUID ppISteelMaterial

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.

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


Gets an interface for a specific concrete material property set by unique ID. Available v9.0. Parameters lUID ppIConcreteMaterial

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.

Get ([in] long lUID, [out, retval] IOtherMaterial**ppIOtherMaterial)


Gets an interface for a specific Other material property set by unique ID. Available v9.0. Parameters lUID ppIOtherMaterial

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.

GetCount ([out, retval] long* plCount)


Gets the number of load cases in the collection. Available v10.0. Parameters plCount

Number of load cases in the collection

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


Gets an interface for a specific load case by index. Available v10.0. Parameters lIndex ppILoadCase

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.

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


Gets an interface for a specific load case by unique ID. Available v10.0. Parameters lUID ppILoadCase

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.

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


Gets the collection of load cases that comprise this load case. Available v10.0. Parameters ppILoadCases

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.

GetCount ([out, retval] long* plCount)


Gets the number of load combinations in the collection. Available v10.0.

Parameters plCount

Number of load combinations in the collection

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


Gets an interface for a specific load combination by index. Available v10.0. Parameters lIndex ppILoadCombination

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.

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


Adds a new load combination to the end of the collection. Available v10.0. Parameters ppILoadCombination

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

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


Deletes a load combination term in the collection at the specified index. Available v10.0. Parameters lIndex plRetVal

Index at which to delete term 0 if deleted successfully

Filter ([in] ELoadCombinationFilter eLoadCombinationFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria. 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.

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


Gets the collection of load combination terms for the load combination. Available v10.0. Parameters ppILoadComboTerms Pointer to an ILoadCombinationTerms collection interface that represents the load combination terms for this load combination.

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.

GetCount ([out, retval] long* plCount)


Gets the number of load combination terms in the collection. Available v10.0. Parameters plCount

Number of load combination terms in the collection

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


Gets an interface for a specific load combination term by index. Available v10.0. Parameters lIndex The index into the collection of the requested load combination term ppILoadCombinationTerm Pointer to an ILoadCombinationTerm interface that represents the requested load combination term, or NULL if lIndex is invalid.

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

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


Deletes a load combination term in the collection at the specified index. Available v10.0. Parameters lIndex plRetVal

Index at which to delete term 0 if deleted successfully

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.

GetCount([out, retval] long *plCount)


Gets the number of line load property sets in the collection. Available v11.0. Parameters plCount

Number of line load property sets in the collection

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


Gets an interface for a specific line load property set by unique ID. Available v11.0. Parameters lUID ppILineLoadPropSet

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.

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


Gets an interface for a specific line load property set by index. Available v11.0. Parameters lIndex ppILineLoadPropSet

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.

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


Deletes a line load property set. Available v11.0. Parameters lUID plRetVal

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.

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


Adds a new line load property set to the collection. Available v11.0. Parameters bstrLabel ppILineLoadPropSet

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.

GetCount ([out, retval] long *plCount)


Gets the number of point load property sets in the collection. Available v11.0. Parameters plCount

Number of point load property sets in the collection

Get ([in] long lUID, [out, retval] IPointLoadPropertySet** ppIPointLoadPropSet);


Gets an interface for a specific point load property set by unique ID. Available v11.0. Parameters lUID ppIPointLoadPropSet

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.

GetAt ([in] long lIndex, [out, retval] IPointLoadPropertySet**ppIPointLoadPropSet);


Gets an interface for a specific point load property set by index. Available v11.0. Parameters lIndex ppIPointLoadPropSet

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.

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


Deletes a point load property set. Available v11.0. Parameters lUID plRetVal

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.

Add ([in] BSTR bstrLabel, [out,retval] IPointLoadPropertySet**ppIPointLoadPropSet);


Adds a new point load property set to the collection. Available v11.0. Parameters bstrLabel ppIPointLoadPropSet

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.

GetCount ([out, retval] long* plCount)


Gets the number of point loads in the collection. Available v10.0. Parameters plCount

Number of point loads in the collection

GetAt ([in] long lIndex, [out, retval] IPointLoad** ppIPointLoad)


Gets an interface for a specific point load by index (zero based). Available v10.0. Parameters lIndex ppIPointLoad

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.

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


Gets the number of point loads in the collection. Available v10.0. Parameters pLocation plRetval

Location of the point load in global X,Y,Z coordinates Error code

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.

GetCount ([out, retval] long* plCount)


Gets the number of member forces in the collection. Available v10.0. Parameters plCount

Number of member forces in the collection

GetAt ([in] long lIndex, [out, retval] IMemberForces** ppIMemberForces)


Gets an interface for a specific member force by index. Available v10.0. Parameters lIndex ppIMemberForce

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.

GetNumStudsInSegments ([out, retval] IDAArray** ppaINumStudsinSegments)


Gets the collection of stud segments for the steel beam as an array of longs. Use the size of the array to determine the number of stud segments. Each value in the array represents the number of studs in that segment. Available v10.0.4. Parameters ppaINumStudsDAArray Array of longs that represent the number of studs in each segment plRetval 0 if successful, -1 if failed to set studs

SetNumStudsInSegments ([in] IDAArray* paINumStudsInSegments, [out, retval] long* plRetval)


Sets the collection of stud segments for the steel beam as an array of longs. Each value in the array represents the number of studs in that segment. Note that the number of stud segments for the beam is determined at design time. The number of segments should not be changed unless to change it to uniformly distributed studs (1 stud segment). Available v10.0.4. Parameters paINumStudsDAArray Array of longs that represent the number of studs in each segment plRetval 0 if successful, -1 if failed to set studs

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

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


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

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.

GetCount ([out, retval] long* plCount)


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

Number of grid systems in the collection

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


Gets an interface for a specific grid system by index. Available v9.0. Parameters lIndex ppIGridSystem

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.

Get ([in] long lUID, [out, retval] IGridSystem** ppIGridSystem)


Gets an interface for a specific grid system by unique ID. Available v9.0. Parameters lUID ppIGridSystem

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.

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


Adds a grid system to the collection of grid systems for the model. Available v9.0. Parameters bstGridSystemLabel ppIGridSystem

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

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


Deletes the grid system with the given unique ID. Note that a grid system cannot be deleted if it is currently assigned to a floor type. Available v9.0. Parameters lUID plRetval

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.

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


Gets the collection of grid lines for the grid system. Available v9.0. Parameters ppIGrids

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

Type double SGridSysType double

Property dYoffset eOrientationType dRotation

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.

Ver 9.0 9.0 9.0

IModelGrids
This interface represents a collection of grid lines from a grid system. Available v9.0.

GetCount ([out, retval] long* plCount)


Gets the number of grids in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the total number of grids in the grid system. When the collection is unfiltered, this function returns the total number of grids in the grid system. Available v9.0. Parameters plCount

Number of grids in the collection

GetAt ([in] long lIndex, [out, retval] IModelGrid ** ppIGrid)


Gets an interface for a specific grid by index. Available v9.0. Parameters lIndex ppIGrid

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.

Get ([in] long lUID, [out, retval] IModelGrid ** ppIGrid)


Gets an interface for a specific grid by unique ID. Available v9.0. Parameters lUID ppIGrid

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

Label for this grid

eGridAxis dGridCoord_Angle ppIGrid

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.

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


Deletes the grid with the given unique ID. Available v9.0. Parameters lUID plRetval

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

Type BOOL double BOOL BOOL

Property bApplyMaxLimit dMaxLimitValue bDisplayLabelAtI bDisplayLabelAtJ

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.

Ver 9.0 9.0 9.0 9.0

IPoints
This interface represents a collection of points. Available v9.0.

GetCount ([out, retval] long* plCount)


Gets the number of points in the collection. Available v9.0. Parameters plCount

Number of points in the collection

GetAt ([in] long lIndex, [out, retval] IPoint** ppIPoint)


Gets an interface for a specific point by index. Available v9.0. Parameters lIndex ppIPoint

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.

Add ([in] SCoordinate Point, [out, retval] IPoint** ppIPoint)


Adds a point to the collection. Available v9.0. Parameters Point ppIPoint

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

The index at which to add the point

Point ppIPoint

Coordinate of this point Pointer to an IPoint interface that represents the newly added point.

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


Deletes the point at the given index. Available v9.0. Parameters lIndex plRetval

Index of point to delete. 0 if point is deleted successfully -1 if index is invalid

IPoint
This interface represents a single point. Available v9.0.

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


Gets the coordinate of the point. Parameters pPoint plRetval

The coordinate of the point 0 if coordinate is retrieved successfully

SetCoordinate ([in] SCoordinate Point, [out, retval] long *plRetval)


Sets the coordinate of the point. Available v9.0. Parameters Point plRetval

The coordinate of the point 0 if coordinate is set successfully

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.

GetCount ([out, retval] long* plCount)


Gets the number of property definitions in the collection. Available v11.0. Parameters plCount

Number of property definitions in the collection

GetAt ([in] long lIndex, [out, retval] IPropertyDefinition** ppIPropertyDef)


Gets an interface for a specific property definition by index. Available v11.0. Parameters lIndex ppIPropertyDef

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.

Get ([in] BSTR bstrPropName, [out, retval], IPropertyDefinition** ppIPropertyDef)


Gets an interface for a specific property definition by property name. Available v11.0. Parameters bstrPropName ppIPropertyDef

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.

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


Deletes the property definition with the given name. Use with caution as this will delete the value for each instance of the member type. Available v11.0. Parameters bstrPropName

Name of property to delete

plRetval

0 if property is deleted successfully -1 if no property is found with given name

IPropertyDefinition
This interface represents a single property definition for a member type. Available v11.0.

GetDefaultAsDouble ([out] double *pdDefault, [out, retval] long* plRetval)


Gets the default value for this property as a double. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters pdDefault plRetval

Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.

GetDefaultAsLong ([out] long *plDefault, [out, retval] long* plRetval)


Gets the default value of the property as a long. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters plDefault plRetval

Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.

GetDefaultAsBool ([out] BOOL *pbDefault, [out, retval] long* plRetval)


Gets the default value of the property as a BOOL. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters pbDefault plRetval

Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.

GetDefaultAsString ([out] BSTR *pstrDefault, [out, retval] long* plRetval)


Gets the default value of the property as a string. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters pstrDefault

Default value for the property

plRetval

Should always be zero since any data type can be returned as a string.

SetDefaultAsDouble ([in] double dDefault, [out, retval] long* plRetval)


Sets the default value for this property as a double. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters dDefault plRetval

Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.

SetDefaultAsLong ([in] long lDefault, [out, retval] long* plRetval)


Sets the default value of the property as a long. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters lDefault plRetval

Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.

SetDefaultAsBool ([in] BOOL bDefault, [out, retval] long* plRetval)


Sets the default value of the property as a BOOL. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters bDefault plRetval

Default value for the property 0 if value retrieved successfully -1 if no appropriate type for this property.

SetDefaultAsString ([in] BSTR strDefault, [out, retval] long* plRetval)


Sets the default value of the property as a string. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters strDefault plRetval

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.

GetCount ([out, retval] long* plCount)


Gets the number of properties in the collection. Available v11.0. Parameters plCount

Number of properties in the collection

GetAt ([in] long lIndex, [out, retval] IProperty** ppIProperty)


Gets an interface for a specific property by index. Available v11.0. Parameters lIndex ppIProperty

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.

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


Gets an interface for a specific property by property name. Available v11.0. Parameters bstrPropName ppIProperty

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.

GetValueAsDouble ([out] double *pdValue, [out, retval] long* plRetval)


Gets the value of the property as a double. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters pdValue plRetval

Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.

GetValueAsLong ([out] long *plValue, [out, retval] long* plRetval)


Gets the value of the property as a long. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters plValue plRetval

Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.

GetValueAsBool ([out] BOOL *pbValue, [out, retval] long* plRetval)


Gets the value of the property as a BOOL. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters pbValue plRetval

Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.

GetValueAsString ([out] BSTR *pstrValue, [out, retval] long* plRetval)


Gets the value of the property as a string. This function works for any data type. Available v11.0. Parameters pstrValue plRetval

Value of the property Should always be zero since any data type can be returned as a string.

SetValueAsDouble ([in] double dValue, [out, retval] long* plRetval)


Sets the value of the property as a double. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters dValue plRetval

Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.

SetValueAsLong ([in] long lValue, [out, retval] long* plRetval)


Sets the value of the property as a long. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters lValue plRetval

Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.

SetValueAsBool ([in] BOOL bValue, [out, retval] long* plRetval)


Sets the value of the property as a BOOL. An error is returned if this is not the appropriate type for this property. Available v11.0. Parameters bValue plRetval

Value of the property 0 if value retrieved successfully -1 if no appropriate type for this property.

SetValueAsString ([in] BSTR strValue, [out, retval] long* plRetval)


Sets the value of the property as a string. This function works for any data type. Available v11.0. Parameters strValue plRetval

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

Original DataAccess Interfaces


The following interfaces are based on the original architecture for RAM DataAccess. They can be used interchangeably with the Object Model interfaces. For any functionality that is available in the new Object Model interfaces, those interfaces/functions are preferred. The original DA interfaces should only be used for functionality that is not yet in the Object Model interfaces.

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.

GetInterfacePointerByEnum ([in] EINTERFACES nInterface, [out, retval] LPUNKNOWN* pVal);


Purpose Parameters Comments Get a DA interface pointer using the EINTERFACES enumerator nInterface Interface enum pVal Returned interface This should not be used for VB/VBA or macro languages

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

GetDispInterfacePointerByEnum ([in] EINTERFACES nInterface, [out, retval] LPDISPATCH* pVal);


Purpose Parameters Comments Get a DA interface pointer using the EINTERFACES enumerator. This function should be used for VB/VBA and macro languages nInterface Interface enum pVal Automation Compatible Interface pointer is returned via this pointer This is the method that VB/VBA or macro language users should use.

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.

CreateNewDatabase([in] const BSTR bstrName, EUnits eUnits, long *plRetVal);


Purpose Parameters To create a new database. This method should not be used by new applications. bstrName Model name (do not include file extension) eUnits Which units will be used for display purposes plRetVal Return value, 0 if successful This function will fail if the model already exists.

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.

GetDatabaseVersion([in] const BSTR bstrDBName, [out] double* pdVersion);


Purpose Parameters Comments To obtain the version number of the indicated database. bstrDBName Model name including path pdVersion Return variable for database version number Can be used to ensure that the database is a compatible version with DataAccess before calling LoadDataBase.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);

See Common Methods

GetWorkingDirectory ([out] BSTR* pbstrWorkingDir)


Purpose Parameters Returns the Working directory where the model files are unzipped. Available after v10.03. pbstrWorkingDir The Working Directory

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

GetNumInRebarTable ([out] long* pnNum);


Purpose Parameters To retrieve the number of bars in the reinforcement table. pnNum Number of bars in the table

GetRebarTable_ConcCol([out] long* pnNum, [out] SREIN_PROP** ppaReinProp);


Purpose Parameters Comments To get the concrete column reinforcement information and identify which bars are used by the concrete column program. pnNum Number of items in the ReinProp array. ppaReinProp The ReinProp array. In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by the column program. TRUE means the program is considering that size.

GetRebarTable_ConcBeam([out] long* pnNum, [out] SREIN_PROP** ppaReinProp);


Purpose Parameters Comments To get the concrete beam reinforcement information and identify which bars are used in the concrete beam program. pnNum Number of items in the ReinProp array. ppaReinProp The ReinProp array. In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by the beam program. TRUE means the program is considering that size.

GetJobName([out] BSTR* pbstrJobName);


Purpose Parameters Comments Returns the job name entered when the model was created. pbstrJobName The Job Name

GetCompanyName([out] BSTR* pbstrCompanyName);


Purpose Parameters Comments Returns the company name entered in the Defaults Utility and associated with this model. pbstrCompanyName The Company Name

GetTimeDateStamp ([out] BSTR* pbstrTimeDateStamp);


Purpose Returns, as a string, the last time the model was modified.

Parameters Comments

pbstrTimeDateStamp String representation of the time date stamp This method can be used to check when the model data was changed.

GetConcreteCodeAsString ([out] BSTR* pbstrConcCode);


Purpose Parameters To find out what concrete code is being used pbstrConcCode String representation of the selected concrete code

GetPathToTableDirectory ([out] BSTR* pbstrDir);


Purpose Parameters To obtain the path to the directory where tables are stored pbstrDir Directory path (as a string)

GetConcColSectionTable ([out] long* pnNum, [out] SSECTIONS** ppaSections);


Purpose Parameters Comments Get the definitions of all the concrete column sections defined in model pnNum Total number of concrete column sections defined in model ppaSections List of concrete column section definitions. In general, one should use IMemberData1::GetConcreteColumnSectionDimProps and IMemberData1::GetMemberSectionPropInfo to get section information because these methods provide all the required information.

GetConcBeamSectionTable ([out] long* pnNum, [out] SSECTIONS** ppaSections);


Purpose Parameters Comments Get the definitions of all the concrete beam sections defined in model pnNum Total number of concrete beam sections defined in model ppaSections List of concrete beam section definitions. In general, one should use IMemberData1::GetConcreteBeamSectionDimProps and IMemberData1::GetMemberSectionPropInfo to get section information because these methods provide all the required information.

GetNumConcColSections ([out] long* pnNum);


Purpose Parameters Gets the number of concrete column sections defined in the model. pnNum Number of sections

GetUnits ([out] long* pnUnits);


Purpose Parameters Comments Get the units currently used for entering and displaying values. Note that this is not the same as the database units that are always the same. See Database Units above. pnUnits Display and data entry units. 0 = English, 1 = SI, 2 = Metric Keep in mind that the units returned by this function relate to the units that the user will be entering values and the units that data will be displayed in RAM SS.

GetModelNameWithPath ([out] BSTR* pbstrModelName);


Purpose Parameters Get the model name including its directory path. The model name. pbstrModelName

GetModelNameWithOutPath ([out] BSTR* pbstrModelName);


Purpose Get the model name without its directory path

Parameters

pbstrModelName

Model name with path

GetPathToCurrentModel ([out] BSTR* pbstrPath);


Purpose Parameters Comments Get the path to the current model Directory path pbstrPath The path to where the model is saved is not necessarily the same as the default data path.

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

GetPathToProgDirectory ([out] BSTR* pbstrDir);


Purpose Parameters Gets the path to the prog directory from the ini file Path to the prog directory pbstrDir

GetPathToDataDirectory ([out] BSTR* pbstrDir);


Purpose Parameters Gets the path to the data directory from the ini file Path to the data directory pbstrDir

GetPathToErrorDirectory ([out] BSTR* pbstrDir);


Purpose Parameters Gets the path to the error directory from the ini file Path to the error directory pbstrDir

GetPathToReportsDirectory ([out] BSTR* pbstrDir);


Purpose Parameters Gets the path to the reports directory from the ini file Path to the reports directory pbstrDir

GetPathToDXFDirectory ([out] BSTR* pbstrDir);


Purpose Parameters Gets the path to the dxf directory from the ini file Path to the dxf directory pbstrDir

GetINIFileName ([out] BSTR* pbstrIniFileName);


Purpose Parameters Gets the name of the ini file Ini file name pbstrIniFileName

GetMDFDrawingColor ([in] EDRAWINGCOLOR eColor, [out] DWORD* pdwColor);


Purpose Gets the drawing color for the specified member type (specified by EDRAWINGCOLOR)

Parameters

eColor pdwColor

Enum of member type. RGB(red,green,blue) value for color

GetBuildingCodeAsString (BSTR *pbstrCode);


Purpose Parameters Gets the LL Reduction code selected in the RAM Manager String representation of the selected code pbstrCode

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

GetColBeamDsgnStatus ([out] long* plColDesStatus,[out] long* plBeamDesStatus);


Purpose Parameters Get the design status of the steel column and beam plColDesStatus Status of the steel column design 0 = Not designed, 1 = Valid design, 2 = invalid design plBeamDesStatus Status of the steel beam design 0 = Not designed, 1 = Valid design, 2 = invalid design

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

GetDefaultColBeamFy ([out] double* pdDefaultColFy,[out] double* pdDefaultBeamFy);


Purpose Parameters Get the Fy default value used by the steel column and steel beam programs pdDefaultColFy Default Fy for Steel Column pdDefaultBeamFy Default Fy for Steel Beam

GetSelfWeightIncludes ([out] long* plIncColSelfWeight,[out] long*plIncBeamSelfWeight,[out] long* plIncWallSelfWeight);


Purpose Parameters To get the self-weight flags for column, beams and walls. plIncColSelfWeight 1 = include self-weight for columns, 0 = do not include self-weight

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

GetFoundationDesignValid ([out] BOOL* pbValid);


Purpose Parameters To get the flag that indicates if the foundation design is current and valid The design flag. pbValid

GetnCut ([out] long* plVal);


Purpose Parameters Get Canada parameters Built Up setting. See Criteria Canada Parameters in RAM Manager 0 = Flame Cut edges, 1 = MIL Cut edges plVal

GetEHotColdFormed ([out] long* plVal);


Purpose Parameters Get BS 5950 Hollow Sections setting. 0 = Cold Formed, 1 = Hot Finished plVal

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.

GetCodeSelection ([out] BSTR* pbstr);


Purpose Parameters Get Current Code Selection pbstr I IBC, U UBC, S SBC, B BOCA, C- NBC of Canada, G - BS 6399, E - Eurocode

GetEuroRedFy ([out, size_is(,*plMax)] BOOL** ppbEuroRedFys, [out] long *plMax);


Purpose Parameters Get Design fy Reduce Fy based on thickness values. *ppbEuroRedFys[0] Column ppbEuroRedFys *ppbEuroRedFys[1] Beam *ppbEuroRedFys[2] Brace value: 0 = do not reduce 1 = reduce Number values returned plMax

GetEuroCodeFactor ([out, size_is(,*plMax)] double** ppdEuroCodeFactor, [out] long *plMax);


Purpose Parameters Get Eurocode factors ppdEuroCodeFactor Partial Safety Factors Group: *ppdEuroCodeFactor[0] Permanent Actions, Gamma Gsup *ppdEuroCodeFactor[1] Permanent Actions, Gamma Ginf

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

GetLastError will indicate that the Member Type is invalid.

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

GetNumSlabsInSlabPerimeter ([in] long lMatID, [in, out] long* plNumSlabs);


Purpose Parameters Get number of Slab prop IDs that overlap a given mat perimeter lMatID unique id of mat perimeter plNumSlabs number of eTypeFoundationMatSlab that overlap given mat perimeter

GetSlabsInSlabPerimeterIDArray ([in] long lMatID, [in, out] long* palSlabIDs);


Purpose Get a list of Slab prop IDs that overlap a given mat perimeter

Parameters

lMatID palSlabIDs

Mat perimeter unique ID List of IDs of type eTypeFoundationMatSlab

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

IBeamID peSupportTypeStart plSupportIDStart peSupportTypeEnd plSupportIDEnd

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

peMaterial pdXBottom pdYBottom pdZBottom pdXTop pdYTop pdZTop pdOrientation

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

GetNumBeamsOnStory ([in] long lStoryNo, [out] long * plNumBeams);


Purpose Parameters Comments Get total number of beams on a story lStoryNo Story number starting with 0 for the first level plNumBeams Total number of beams in story Starting with v9.0 use GetNumMembersOnStory( ). For more information see Get Member Information.

GetStorySpliceInfo ([out] long* lNumStories, [out] long** ppalSplices);


Purpose Parameters Gets the splice flag for each story level. lNumStories The number of stories ppalSplices An array of values that indicate if the story is spliced. 1 = TRUE, there is a splice 0 = FALSE, there is not a splice

GetStoryElevation ([in] long lStoryNoOrID, [out] double * pdStoryElev);


Purpose Parameters Get story elevation off the ground level. Sum of all the floor heights below and including the given story lStoryNoOrID Story index starting with 0 for the first level or Story unique ID (unique ID is preferred)

pdStoryElev

Story elevation from the ground level

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

GetNumFloorTypes ([out] long* plNumFloorTypes);


Purpose Parameters Comments Total number of floor types defined in RAM Modeler plNumFloorTypes Total number of floor type Starting with v9.0 use GetNumMembers( )

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

pdZTopEnd pdZBottomStart pdZBottomEnd plStartAtFnd plEndAtFnd

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

GetNumGridSysInModel ([out] long* plNumGridSys);


Purpose Parameters Total number of grid systems defined in model Total number of grid systems defined in model plNumGridSys

GetNumGridSysOn_InStory ([in] long lStoryNoOrID, [out] long* plNumGridSysStory);


Purpose Total number of grid systems that are visible (on) for a given story

lStoryNoOrID Parameters plNumGridSysStory

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

GetNumGridSysOn_InFloorTyp ([in] long lFlrTypeNo, [out] long* plNumGridSysFloorTyp);


Purpose Parameters Total number of grid systems that are visible (on) for a given floor type lFlrTypeNo Floor type number starting with 0 for the first one and going up to (plNumFloorTypes 1) for the last floor type Total number of grid systems that are on given floor type plNumGridSysFloorTyp

GetListGridSysOn_InStory ([in] long lStoryNoOrID, [out] long** ppalGridSysID);


Purpose Parameters Get list of grid indexes for all grids that are on for a given story lStoryNoOrID Story index starting with 0 for the first level or Story unique ID (unique ID is preferred) Array of grid indexes Array size is plNumGridSysStory ppalGridSysID

GetListGridSysOn_InFloorTyp ([in] long lFlrTypeNo, [out] long** ppalGridSysID);


Purpose Parameters Get list of grid indexes for all grids that are on for a given floor type Floor type number starting with 0 for the first one and going up to (plNumFloorTypes 1) for the last floor type lFlrTypeNo Array of grid indexes Array size is plNumGridSysFloorTyp ppalGridSysID

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

GetStoryLabel ([in] long lStoryNum, [out] BSTR* pbstrStoryLabel);


Purpose Parameters Get story label lStoryNum pbstrStoryLabel Story number starting with 0 for the first level and going up to (plNumStories 1) for the top (roof) level Story Label

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

GetMemberStoryLabelFromID (long lMemberID, BSTR* pbstrStoryName, long * plMemberLabel);


Purpose Parameters To get the story label given a member id. A members unique id. lMemberID Label for the story the member is on. pbstrStoryName plMemberLabel Label (number) for the given member. This is the same number displayed to the screen by any view member number command

GetNumDecksOnStory ([in] long lStory, [out] long* plNumDecks);


Purpose Parameters to get the number of decks on a given story Story number lStory Number of decks on the given story. plNumDecks

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

lNumBeams paBeamAtColumn lNumBraces paBraceAtColumn

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.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

GetFndDimensionInfo ([in] long lFndID, [out, retval] SFND_DATA* pfndData);


Purpose Parameters Get the foundation dimension and location info lFndID Foundation Unique ID pfndData Foundation info struct

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

reinforcement pdLap1 pdLap2 pnNumRebar pbstrSelSize

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.

GetCriteriaBarSpacing ([out] BAR_SPACING* pBarSpacing);


Purpose Parameters get the spacing and clear cover values from the Criteria - Design Reinforcement page Structure of bar spacing values. pBarSpacing

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

pnNumAdd pnNumPatternsInGroup pnType pbUse pbValid

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

GetNumBarGroups ([out] long* pnNumGroups);


Purpose Parameters get the number of bar pattern groups Number of bar pattern groups. pnNumGroups

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

([out] long* plNumSLMajor, [out] long* plNumSLMinor);


Get the shear leg criteria plNumSLMajor Number of shear legs parallel to the columns major axis plNumSLMinor Number of shear legs parallel to the columns minor axis

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.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

GetCheckTorsion ( [out] BOOL* pbCheckTorsion);


Purpose Parameters NOTE: To get the flag indicating whether the user wants to check torsional capacity for columns TRUE = Check Torsional Capacity pbCheckTorsion See Common Methods

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);

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

pbstrAggType pdLongFy pdShearFy pdPoissonsRatio pdMatDensity pdSelfWeight

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

GetColumnHeight ([in] long lMemberID, [out] double* pdHeight);


Purpose Parameters Get the column height lMemberID Columns Unique ID pdHeight Column height

GetMemberSize ([in] long lMemberID, [out] BSTR* pbstrSize);


Purpose Parameters Get section label assigned to member lMemberID Member Unique ID pbstrSize Section label

GetBeamLineNo ([in] long lBeamID, [out] long * plBeamLineNo);


Purpose Parameters Get beam line number that the concrete beam is assigned to. If member is not a concrete beam an error is returned lBeamID Beams Unique ID plBeamLineNo Beam line number assigned to member, 0 indicates no assignment

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

GetIEndBeamID ( [in] long lBeamID, [out] long* plIEndBeamID);


Purpose Get the beam line number of the beam adjacent to the start of beam represented by

Parameters

lBeamID. lBeamID plIEndBeamID

Unique Beam ID Beam ID at start of lBeamID

GetJEndBeamID ( [in] long lBeamID, [out] long* plJEndBeamID);


Purpose Parameters Get the beam line number of the beam adjacent to the end of the beam represented by lBeamID. lBeamID Beams Unique ID plJEndBeamID Beam ID at end of lBeamID

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)

GetDisplaySize (long lMemberID, BSTR *pbstrDisplaySize);


Purpose Parameters Comments Get concrete beam section size when member is generated using pan joists lMemberID Beams Unique ID pbstrDisplaySize Concrete beam section label This is used when the section name is built out of different size pans on either side of beam

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

GetMemberFraming ([in] long lMemberID, [out] EFRAMETYPE* eMemberFraming);


Purpose Parameters Get the flag that indicates whether a member is gravity or lateral. Unique member id lMemberID Flag that indicates gravity or lateral eMemberFraming

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:

GetMemberLabel ([in] long lUniqueID, [out] long* plLabel);


Purpose Parameters to get a specific members screen label (also known as the member number) lUniqueID Unique id of a member plLabel The members member number

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.

GetWallGroupNum ([in] long lStoryNum, [out] long *lNumberOfWallGroups);


Purpose Parameters Get total number of wall groups on story lStoryNum Story index number lNumberOfWallGroups Total number of wall groups in story

GetMemberFrameNumber ([in] long lMemberID, [out] long* plFrameNum);


Purpose Parameters Get frame number for given member lMemberID Member unique ID plFrameNum Frame number that the member belongs to. A number < 0 indicates a gravity member.

GetMemberType ([in] long lMemberID, [out] EUniqueMemberTypeID* peMemType);


Purpose Parameters Get member type as beam, column, wall etc. lMemberID Member unique ID peMemType Member type as column, beam, wall etc.

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)

GetConcBeamMaxBarLayers ([in] long lBeamID, [out] E_BARLAYERS_OPTION* peBarLayers);


Purpose Get whether the beam should use the global bar layer criteria or whether to use User defined data for this beam

Parameters

lBeamID 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

GetConcBeamStirrupType ([in] long lBeamID, [out] E_STIRRUPS_OPTION* peStirrupType);


Purpose Parameters Get whether to use the global stirrup type criteria or whether to use a user defined value lBeamID The unique member ID 0 = use global criteria, 1 = use open stirrups, 2 = use closed peStirrupType stirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

Error code. If value is non zero then check GetLastError

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

GetDeflectionCriteria ([in] long lBeamID, [out] long *plDefOrAlt);


Purpose Parameters Determine if a particular beam has been assigned the default or the alternate deflection criteria lBeamID The unique beam ID plDefOrAlt 0 = default deflection criteria, 1 = Alternate deflection criteria

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

pdTransBarStartSpan pdBotBarExtent1stSpanEnd pdBotBarExtentSpan plBotMinContinuous plNumStirrupLegs plSpliceType plEndCond plStirrupType

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.

ppaBotFlxBarSet ppaBotFlxBarSetBstr plSizeBotFlx

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

plTopMinContinuous plNumStirrupLegs plSpliceType plEndCond

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

GetDeflectionCriteriaIeff ([out] long *plIeff);


Purpose Parameters User option as to whether the Ieff used for deflection is to be calculated per ACI, or whether the user specified I (Ig x cracked factor) is to be used. Ieff value to use - 0=per ACI, 1=from Analysis plIeff

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

pdDLRatio pdDLAbs pdLLRatio pdLLAbs pdLTRatio pdLTAbs pdNetRatio pdNetAbs

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

GetDeflectionCriteriaMinCheckRatio ( [out] long *plDontCheck, [out] double *pdSpanDepthRatio);


Purpose Parameters Get whether or not to skip deflection check for minimum span/depth ratio plDontCheck Don't check defl for the following ratio pdSpanDepthRatio minimum deflection check span/depth ratio

GetCheckTorsion ( [out] BOOL* pbCheckTorsion);


Purpose Parameters To get the mdf variable for whether the user wants to check torsional capacity for beams TRUE = Check Torsional Capacity pbCheckTorsion

GetCheckDeepBeam ( [in] BOOL* pbCheckDeepBeam);


Purpose Parameters To get the mdf variable for whether the user wants to check deep beams pbCheckDeepBeam TRUE = Check Deep Beams

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

GetDesignJoistsAsBeams ([in, out] BOOL *pbDesignJstAsBeam, [out,retval] long *plRetVal);


Purpose Parameters Indicates if members assigned as joist are actually designed as beams pbDesignJstAsBeam TRUE = design joists as beams plRetVal Error code. If value is non zero then check GetLastError

GetLatBmGravForceSource ( long* plLatMemGravForceSource, [out,retval] long* plRetVal );


Purpose Parameters Get the source of gravity forces on lateral conc beams plLatMemGravForceSource 0=lat beam grav forces from ram conc, 1= from RFrame 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.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

GetFrameTypeUsedInDesign ([out] long *plFrameType);


Purpose Parameters Get the frame type used for design. This might not be the currently selected frame type. 0 = ordinary, 1 = intermediate, 2 = special plFrameType

GetSpecialProvEndShears ([in] long lBeamID, [out] double* pdIEndSPShear, [out] double* pdJEndSPShear, [out] long *plResult);
Purpose Parameters Get the calculated special provision minimum required end shears for beam. If not found, set -1.0 for all values and return error code lBeamID Beam Unique ID

pdIEndSPShear pdJEndSPShear plResult

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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:

GetNumCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCases);


Purpose Parameters NOTE: To get the number of cases available to the combo generator. eType Flag that indicates the program/mode that is requesting the list. nNumCases Return value for the number of cases in the count. This is only implemented for Concrete in ILoading1

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:

GetComboParameters ([in] COMBO_MATERIAL_TYPEeType, [out] SComboParams_DA* pComboParams);


Purpose Parameters To get the parameters used in Load Combination generation eType Flag that indicates the program/mode that is requesting the parameters. pComboParams The combination parameters used in load combination generation. These are associated with the controls in the combo generator. This is only implemented for Concrete in ILoading1

NOTE:

GetComboCode ([in] COMBO_MATERIAL_TYPEeType, [out] BSTR* pbstrComboCode);


Purpose Parameters To get the code used to generate load combinations. eType Flag that indicates the program/mode that is requesting the code. String representation of the code used to generate combinations. pbstrComboCode

NOTE:

This is only implemented for Concrete in ILoading1

GetRoofReducibleFlag ([out] long* lRoofIsReducible);


Purpose Parameters To get the flag that indicates whether the roof load is reducible or snow lRoofIsReducible 0 = snow, 1 = reducible.

GetComboReGenFlag ([in] COMBO_MATERIAL_TYPEeType, [out] long* plReGen);


Purpose Parameters To get the flag that indicates whether or not the load combinations need to be regenerated. eType Flag that indicates the program/mode that is requesting the regeneration flag plReGen The regeneration flag. This is only implemented for Concrete in ILoading1

NOTE:

GetNumAnalyzedFrameLoadCases ([out] long * plNumAnalyzedLoadCases);


Purpose Parameters To get the number of load cases analyzed by RAM Frame plNumAnalyzedLoadCases The number of analyzed load cases. This number does include merged load cases but NOT cases that are combined to create the merged case.

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.

GetNumAvailFrameCombos ([in] ECOMBOTYPES eComboType, [out] long * plNumAvailLoadCombos);


Purpose Parameters NOTE: To get the number of valid load combinations for the given RAM Frame mode. A valid load combination is one that contains only analyzed load cases. Flag indicating the RAM Frame mode. eComboType plNumAvailLoadCombos return value for the number of valid load combinations This is only implemented for RAM Frame in ILoading1

GetAvailFrameCombo ([in] ECOMBOTYPES eComboType, [in] long lComboNo, [out] long * plNumTerms, [out] long * palCaseIndex, [out] double * padFactor, [out] long * plSelected);
Purpose To get the information for a given load combination

Parameters

eComboType lComboNo plNumTerms palCaseIndex

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

GetNumGravLoadCases ([out] long* pNum);


Purpose Parameters To get the number of gravity load cases defined in the RAM Modeler. These cases include: Dead, Reducible Live, Storage Live, Unreducible Live, and Roof Live. Return value of the number of gravity load cases. pNum

GetGravLoadCaseLabel ([in] long lWhichCase, [out] BSTR* pbstrLabel);


Purpose Parameters To get the label for the given load case. lWhichCase Index for the selected case pbstrLabel Label generated by the program

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

Use the Polygon functions to get the surface loading geometry

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

A downward acting load is positive.

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

GetGravityLoadFramingFlag ([out] long * plGravFraming);


Purpose Parameters Get the status of the gravity framing tables. 0 = not framed, 1 = framed plGravFraming

GetBeamPointLoadType ([in]long lBeamID, [in]long lPtLoadNo, [out] EGRAVPTLOADSOURCE* peLoadSource);


Purpose Parameters Get point load source type lBeamID Beam unique ID lPtLoadNo Point load index number from 0 to lNumPointLoads - 1 peLoadSource Point load source

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

pdPostLiveRight pdPostLiveCenter pdPostLiveLeft pdPostTotalRight pdPostTotalCenter pdPostTotalLeft pdNetTotalRight pdNetTotalCenter pdNetTotalLeft

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

GetBeamCamber([in] long lBeamID, [out] double* pdCamber);


Purpose Parameters Get steel beam camber lBeamID pdCamber Beam Unique ID Camber value

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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 1. Sign convention for Beams

Figure2. Sign convention for Column and Brace members

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

pdPosLLStorage pdPosLLRoof pdNegLLRed pdNegLLNonRed pdNegLLStorage pdNegLLRoof

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

pdBeamMajorValue peBeamMinor pdBeamMinorValue peBraceMajor pdBraceMajorValue peBraceMinor pdBraceMinorValue

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.

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE: See Common Methods

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

pdPosRoofLiveShear pdNegRoofLiveMoment pdNegRoofLiveShear

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

GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);


NOTE:

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

Frame type Material


Gravity Lateral Gravity Gravity Lateral Gravity Gravity any any steel/other concrete any steel/other concrete

Analysis Results
RAM Concrete (if avail) else RAM Gravity RAM Frame RAM Gravity RAM Concrete RAM Frame RAM Gravity RAM Concrete

Column Brace Comment 2

Lateral Lateral

any any

RAM Frame RAM Frame

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)

Gravity Wall Lateral Col

Lateral Wall Lateral Brace

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 or Err (see above)

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

pdMajShearI pdMinShearI pdTorsionI pdAxialJ pdMajMomJ pdMinMomJ pdMajShearJ pdMinShearJ pdTorsionJ

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

pdMLLltpos pdMLLmidneg pdMLLmidpos pdMLLrtneg pdMLLrtpos plResult

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.

GetCriteriaBracing ([in, out] long* plSlabBracing, [in, out] double* pdBracingAngle);


Purpose Parameters To get Bracing criteria plSlabBracing 0 = Slab braces column 1 = Slab does not brace column. pdBracingAngle Maximum angle from column axis for which beam braces column.

GetAssignBeamLineDefaults ([in, out] double *pdAngleVar, [in, out] double *pdOffset, [in, out] long *plAutoFixity);
Purpose Parameters The default settings for the dialog to assign beam line numbers automatically. Refer to concrete analysis mode command Assign-BeamLine Numbers - Automatic pdAngleVar The max angle between two adjacent beams to consider them still part of the same beam line. pdOffset The max offset between two parallel, adjacent beams to consider as a continuous beam line plAutoFixity 0 = Dont automatically assign fixity to beams in beamlines 1 = Automatically fix all beams in beam line

2 = Automatically release all beams in beam line

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

GetColForceSource ( [in, out] long* plUseConceptForces, [out,retval] long* lRetval);


Purpose Parameters In the Column Forces Criteria dialog the user can specify if they would like to consider the Concept forces or only use the RAM SS forces. That setting is provided here. plUseConceptForces 1 = Use concept forces for this story, 0 = Use RAMSS forces for this story lRetVal Error code. If value is non zero then check GetLastError

Structures used in Original DataAccess Interfaces


The use of structures has been avoided in the new RAM Object Model interfaces since they cannot easily be extended without breaking any programs using the older structures. Below are the structures used by the original DataAccess interfaces. SSECTIONS Concrete Section properties Type
char int float float float float float float float float float float float

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

int BOOL BOOL

Counter bUseFlangeThick bUseWidth

float double char char

fRightOH dPanDepth achPanLabelLeft[20] achPanLabelRight[20]

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

SCOL_RES Concrete column result basic information Type


long long long long long double

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

SCOL_PATRES Concrete column bar pattern results Type


long long double double long double double double double double long long long EDA_COL_COMBO_LOC double double double

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.

EDA_SEG_SET_INFO Bar set placement location information Type


double double double double BOOL BOOL

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

EDA_REIN_PLACE_SET Bar set information Type Variable Name Comments

double double long long double double

dAs_Req dAs_prv lNumBars lReinIndexNum dBarSpacing dCapacity

Required area of reinforcement Provided area of reinforcement Number of bars required Reinforcement index number Reinforcement spacing provided Capacity of provided rebar

SBAR_PATTERN Bar Pattern definition Type


long SREIN_PROP SREIN_PROP BOOL long char

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

SREIN_PROP Concrete Reinforcement bar properties Type


char double double BOOL BOOL

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

SBM_RES Individual concrete beam span design results Type


long long long long float long float long float float long float long float float float long float long long long float float long long float float long long long float float float

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

SBM_RES_BSTR Individual concrete beam span design result strings Type


long BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR BSTR

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

float float long long long

fDevelLengthStart fDevelLengthEnd lNumLayersOrLegs lMaxBarsInLayer eBarLayerLoc

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

SBM_BAR_SET_BSTR Bar Set strings Type


long BSTR

Variable Name
lSetID bstrBarLabel

Comments
Bar set ID number Label for Reinforcement in bar set

SGridLineInfo Grid line information Type


long BOOL BOOL BSTR double

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

BOOL BOOL BOOL

BEAM_INFO_AT_COLUMN Information on beam framing into column Type


long long double EDA_MEMBER_LOC EBeamSpanType double long long

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

BRACE_INFO_AT_COLUMN Information on brace framing into column Type


long long double EDA_MEMBER_LOC double long long long

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

BAR_SPACING Reinforcement spacing information for concrete column Type


int double int double int double int double int double int double int double int double int double

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

SLoadCase_CmbGen_DA Load case information for generated load combinations Type


unsigned char unsigned char unsigned char unsigned char BOOL int float float int

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.

SLoadCombos_CmbGen_DA Generated load combination data Type


int float int BOOL unsigned char BOOL int unsigned char int

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.

SNodalLoadData Nodal load information Type


BSTR double double double double double double

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

SSlabProp Concrete slab properties assigned to elevated floors or mat foundations

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

SDeckProp Composite one way steel deck properties Type


BSTR long long long double double double double double double double double double double double BOOL double double

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.

SFoundationMatInfo Mat foundation information Type


double

Variable Name
dTopOfSlabOffset

Comments
Mat foundation datum from base of story

SFND_DATA Foundation information for spread and continuous foundations

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

SLoadCaseInfo Load case properties Type


long BSTR ELoadCaseType

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

Common Structure and Enumerator Definitions


COMBO_MATERIAL_TYPE
Type of load combination.

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

Allow up to 2 layers of bars

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

Concrete aggregate type.

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

No span part defined An error could have been encountered

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

ECircle ET EOther EPanJoist

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

eStart eEnd eStartSupportCantilever

eStartSupportMidSpan eEndSupportMidSpan eEndSupportCantilever


eTop eBottom eTopStart eTopEnd eBottomStart eBottomEnd

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

Color that a member type is displayed in.

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

Mark generated by RAM SS Mark assigend by other

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

Type of steel joist.

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

Both sides of member

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

eRoofLoadsAreSnow eRoofLoadsAreReducible eRoofLoadsUnReducible

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

Type of unit system.

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

Rectangular opening Circular opening

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

IID_IConcBeamState2 IID_IGravityLoads1 IID_ILoading1 IID_IForces1 IID_IForces2 IID_IModelStatus1 IID_IGravitySteelDesign1 IID_IConcCntlrCommon1

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)

Appendix A - RAM Object Model Diagram


C o l le c t io n O b je c t s P r o p e r tie s G e tC o u n t() G e t ( in lo n g ) > p I t e m I n t e r f a c e G e t A t ( lo n g in d e x ) > p I t e m I n t e r f a c e F ilt e r ( in C r it e r ia ) ? A d d () > p Ite m In te rfa c e () D e le t e ( in U I D ) U ID P r o p e r tie s S ta n d a r d O b je c t

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

Appendix B Using DataAccess from VB/VBA


The following information applies to VB and VBA programmers. It outlines some things to be aware of when using RAM DataAccess from VB and includes information to help get you started

Limitations of DataAccess from VB/VBA


VB and VBA do not support the full set of COM features that are used in RAM DataAccess. As a consequence there are some minor differences in the method variable types, return values and error handling. Also a number of methods cannot be used in these programming environments. Most, but not all, of the methods that cannot be use have equivalent methods in the new interfaces that are compatible with VB/VBA. Also in most cases there are equivalent methods that will still let the user retrieve the required data with a little more effort. Equivalent VB/VBA variable types Below is a list of the variable types seen in this documentation and their equivalent VB/VBA types
DA Type long double float bstr VB/VBA Type long double single string Long User Defined Data Type. These do not need to be defined in VB/VBA they should to be accessed directly from the definitions that are provided in DA Enum Long - True = 1 False = 0

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:

Getting Started with DataAccess in VB/VBA


DA will already be installed on your computer if you have RAM Structural System v8.0 or later installed. Below you will find instructions on getting started with DA. You will also find sample VB and Excel VBA projects in the DA Toolkit to give you an example of how to use DA in your next program. NOTE 1: Though the VB/VBA Object Browser and the document containing the list of comparison functions between DA and PI, the user should be able to find the functions that they require. NOTE 2: You will want to install the RAM Common Control toolkit which is included with the RAM DataAccess toolkit before trying to run the VB or Excel VBA examples.

Adding RAM Data Access (DA) to your VBA Project


Open VBA. In MS Word select from the menu Tools-Macro-Visual Basic Editor In the VBA Editor menu select Tools-References In the References dialog box select the RAMDataAccess 2.0 Type Library

Adding RAM Data Access (DA) to your VB Project


Open a new project in VB Select References from the Project menu In the References dialog box select the RAMDataAccess 2.0 Type Library

Browsing through the DA functions


From the View menu in VB or VBA Editor select Object Browser or press the F2 key on your keyboard

In the Object Browser select RAMDATAACCESSLib from the list of available libraries. You will see on the left side of the Object Browser a list of: o DA Structures o DA Enumerators o DA Interfaces which in turn contain all the functions in DA Selecting one of these items will show their contents on the right side of the browser. Selecting an item from the list on the right (for example a function name) will display some information about that item in the panel below. For each function the information includes the function name, parameter list and return type as well as a short description of the function.

Basic Steps to using DA


Dimension and Set as New the main interface to DA Dim RAMDataAcc As RAMDATAACCESSLib.RamDataAccess1 Set RAMDataAcc = New RAMDATAACCESSLib.RamDataAccess1 Dimension and Set all the other interfaces that are needed using RAMDataAcc. Dim RAMDataAccIDBIO As RAMDATAACCESSLib.IDBIO1 Set RAMDataAccIDBIO = RAMDataAcc.GetInterfacePointerByEnum(IDBIO1_INT) Dim RAMDataAccModelData As RAMDATAACCESSLib.IModelData1 Set RAMDataAccModelData = RAMDataAcc.GetInterfacePointerByEnum(IModelData_INT) Dim RAMDataAccGeom As RAMDATAACCESSLib.IModelGeometry1 Set RAMDataAccGeom = RAMDataAcc.GetInterfacePointerByEnum(IModelGeometry_INT) Load the model by defining a string that includes the model name and complete path strDBName = "C:\Ram\data\ RAMConcreteTest.rss" 'Include path and file extension in name of model. RAMDataAccIDBIO.LoadDataBase strDBName When you are done with an interface you need to release it by setting it to nothing Set RAMDataAccIDBIO = Nothing

Error Handling
One of the advantages of using VB/VBA is that the error handling is built into the system. When you call a method you will need to check if there was an error and then decide what to do based on the error. After every DA method call, it is a good idea to check for errors and respond to them. It is very important to trap errors and deal with them, otherwise the program will most likely crash. You can get the same error message from any initialized interface. You do not need to call the GetLastError for the interface that you had just used. After each function call include the following error trap: 'Error Checking If Err.Number <> 0 Then

InterfaceName.GetLastError strErrorShort, strErrorLong, lErrorNum If lErrorNum <> 0 Then MsgBox strErrorLong, Title:="Error!" End If End If For most functions created in v8.2 and later you will notice a plRetVal as the last parameter. plRetVal will provide a return error code that may not be critical but should be verified. This is different than the S_OK, E_FAIL and E_NOTIMPL which in general are critical (COM related) errors. The plRetVal will provide you with an error code that you can use to decide if you want to ignore the error or if you need to in some way change the program flow due to the error. For all VB/VBA programs, the plRetVal will be the return value for the function. See example code in the toolkit for more information.

Appendix C Using RAM DataAccess in a Visual C++ Project


Because RAM DataAccess is a COM DLL, it is language and environment independent. It can be used by VB or VBA programs (although limitations do exist), Delphi, C++ and others. This appendix addresses its use though C++ programs. RAM International developers use the Microsoft Visual Studio so the instructions and examples here will reflect that environment. It is not, however, a requirement. Any C++ development environment will work, although slight modifications might be necessary. The following examples show RAM DataAccess used with Smart Pointers (See Appendix D). This is the easiest way to use the COM Library as it hides the details of using COM. If you are interested in COM and want to take a more COM-ish approach (experiment with QueryInterface), you can do that. The examples show how to open the database and create a report that lists all of the beams on each story. While the example itself is very simplistic, it does illustrate the use of the RAM DataAccess library as well as how to work with the geometric information in the library.

General Instructions for using RAM DataAccess


Using Interface Pointers
Regardless of the type of application you are going to create, the following pattern for using RAM DataAccess to access the Structural System database will be used. First: Get the interface pointer to IRAMDataAccess1. Next: Using that pointer, create pointers to other interfaces that RAM DataAccess makes available. For instance, to load a database into memory, you need the IDBIO1 interface pointer so that you can use the LoadDataBase method. First you must get the IRAMDataAccess1 interface pointer and then use it to create an IDBIO1 interface pointer. Once you have that pointer, you can use the LoadDataBase method. Dont forget to call IDBIO1::CloseDatabase when done with the model.

Strings and COM


COM passes strings in the form of BSTRs. If the method you will be using has a BSTR in the parameter list, you will need to do the following conversions. Getting a String FROM RAM DataAccess: First declare a BSTR locally and use it to retrieve the string from DataAccess.

BSTR bstrJobName; m_pIModel-> get_strJobName(&bstrJobName); The CString constructor will do the conversion from BSTR to CString CString strJobName(bstrJobName); Release the BSTR memory ::SysFreeString(bstrJobName); Passing a String INTO RAM DataAccess: There are 2 ways to convert to a BSTR. This method only works for CStrings: CString strName = My String; BSTR bstrName; bstrName = strName.AllocSysString(); This method works for all strings, including CStrings: CString strName = My String; BSTR bstrName; bstrName = _bstr_t(strName); OR char cName[100]; strcpy(cName, My String); BSTR bstrName; bstrName = _bstr_t(cName);

Memory management and RAM DataAccess


RAM DataAccess uses double pointers (pointers-to-pointers) for passing arrays for data through the COM interface. The advantage to the client application is that it is not necessary to know the size of the array before the method is called. The disadvantage is that it is a more complex method of memory management. When you find a method that has a double pointer pp in the parameter list, the following steps must be taken to manage the memory correctly.

The following method is used to get the entire rebar table for the concrete column program. Notice that an array of SREIN_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;

// declaration of an SREIN_PROP pointer

The pointer is passed into the method using the & operator which means that it is actually a pointer to the pointer that is passed into the method. m_pIModelData->GetRebarTable_ConcCol(&nNumRebar, &pReinProp); Internally, RAM DataAccess performs the memory allocation necessary and the data is filled into the array. Once the client is done using the pointer, it must deallocate the memory. CoTaskMemFree(pReinProp); NOTE: VB and VBA are not able to use pointers in the manner and are thus not able to gain access to functions that use this method of memory management.

The Basics
These steps must be followed for any C++ application that will use RAM DataAccess. There is flexibility as to where in your code you choose to implement these commands. 1. Import RAM DataAccess.dll into your project. This can be done in the header file of the class that will use the dll or in the cpp file. We recommend putting this code in the header file. #import "C:\Ram10\prog\RamDataAccess.dll" using namespace RAMDATAACCESSLib;

Note that #import has a number of optional parameters that you can use. Their use or non-use controls how COM will throw errors. 2. Declare an instance of the RAMDataAccess1 interface as follows. We recommend doing this in the header file and making your IRamDataAccess1Ptr a member variable of the class, but they can be local variables as well. IRamDataAccess1Ptr m_pDA; 3. Assuming you have chosen to use IRamDataAccess1Ptr as a member variable: In the constructor for your class (in the cpp file), create the IRamDataAccess1Ptr. (If you will be using it as a local variable, this function call must appear at the beginning of each function with which you will be using RAM DataAccess.) For a Console App: CoInitialize(NULL); m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") ); CoInitialize is a necessary step for a console app. For MFC Apps that include Automation support: m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") ); 4. Use the m_pDA pointer created above to gain access to other interface pointers. IModelPtr pIModel = m_pDA->GetInterfacePointerByEnum(IModel_INT); 5. Use the newly created interface pointer to access the library methods. IStoriesPtr pIStories = pIModel->GetStories(); long lNumStories = pIStories->GetCount(); 6. Be sure to close the database and release the pointers. The destructor is a good place to do that. IDBIO1Ptr pDBIO = m_pDA->GetInterfacePointerByEnum(IDBIO1_INT); if ((m_strModelName != "") && (pDBIO != NULL) ) { pDBIO->CloseDatabase();

} pDBIO.Release(); m_pDA.Release(); pDBIO = NULL; m_pDA = NULL;

SAMPLE PROGRAM: A Console App


This is the simplest approach to a C++ project. Data will be entered through a Console Window (essentially a DOS window) or it can be read in from a file. Data is then displayed to the Console Window or written out to a file. There is no Graphical User Interface.

To Begin:
Start a new project in the Developer Studio. Select Win32 Console Application from the list. Enter a Project Name and click OK On the dialog box that follows, select the last radio button (include MFC support).

A quick note about MFC support: MFC is a library specific to the Microsoft Devolvement environment. Using it tends to make projects larger but it has several nice features that might make that worth it. For instance, strings are very easy to manipulate with the CString class. Writing to a file is made very easy using the CFile class. These are not available without MFC support.

Programming
When the project was created, a file projectname.cpp was created and in it, a function called _tmain. The else section of the conditional statement is where you will write you code. You could write your entire program there but we recommend using classes and functions to modularize your code. 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.

Appendix D - Using RAMDataAccess in C++ with Smart Pointers


To include DA in a C++ project using smart pointers requires a few simple steps as follows: 1. Set up the MSVC++ project to include ActiveX Components and Automation. 2. In the file or class that is going to need to call DA functions you will need to import the dll as follows: #import relative or exact path \RamDataAccess.dll raw_interfaces_only Note that raw_interfaces_only is optional. When raw_interfaces_only is not used COM will throw a _com_error error which needs to be caught by using a catch (_com_error e ) statement. See example C++ project for more information on how the code changes based on whether raw_interfaces_only is used or not. 3. Instantiate a pointer to DA in a function as follows: using namespace RAMDATAACCESSLib; IRamDataAccess1Ptr pDA; // Get the DataAccessManager Pointer (and create the object/load dll) pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") ); 4. Get Smart pointers to all required interfaces: IModelGeometry1Ptr pIMGeom( pDA ); 5. Call functions from the interfaces and check the return error: HRESULT hr = pDBIO->LoadDataBase(bstrName); if (SUCCEEDED(hr)) {} else { long lErrorCode; BSTR bstrErrorShort, bstrErrorLong; pDBIO->GetLastError(&bstrErrorShort, &bstrErrorLong, &lErrorCode); CString strErrorShort (bstrErrorShort); CString strErrorLong (bstrErrorLong); ::SysFreeString(bstrErrorShort); //Free the BSTR ::SysFreeString(bstrErrorLong); //Free the BSTR }

6. Note that before strings can be passed to a COM function they need to be converted to BSTR variable types as follows: To send a pointer to a string so it can be filled in DA BSTR bstrStory; m_pIModelGeometry->GetStoryLabel(nStory, &bstrStory); strStory = bstrStory; ::SysFreeString(bstrStory); //Free the BSTR memory To send a string into DA: BSTR bstrName; CString strName = _T("C:\\Ram80\\data\\Smallish"); bstrName = strName.AllocSysString(); pDBIO->LoadDataBase(bstrName);

7. When a parameter in a function starts with **pa this indicates that the array will be dimensioned in the DA function. It is however the calling 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.

Appendix E Additional Load Case Information


Load Case Type labels:
Label RAMUSER RAMUSERNODAL_type Meaning Gravity load modeled in RAM Modeler Nodal load modeled in RAM Modeler where: W for wind, S for seismic, O for other, V for virtual type User defined story force of type Wind Generated Wind force where: is the code selected to generate the forces code direction EQ_User EQ_code_dir_eccentricity indicates the direction of the force (X or Y)

W_User Wind_code_direction

Dyn_code_CQC_direction

Eigen Solution Center of Rigidity Virtual Load Case_User

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.

Load Case Types (as integers):


Value RamSteelLoadType = 0 NodalLateralLoadType =1 WindLoadType = 2 SeismicLoadType = 3 Load Type Gravity Load case modeled in RAM Modeler Nodal Lateral load modeled in RAM Modeler Wind defined in RAM Frame Seismic defined in RAM Frame

DynamicLoadType = 4 OtherLoadType = 5

Dynamic defined in RAM Frame Other defined in RAM Frame

Load Case Sub-Load Types (as integers):


Load Type RamSteelLoadType Sub-Load Type GRAVITY_LOAD POS_RED_LL POS_STORAGE_LL POS_NONRED_LL NEG_RED_LL NEG_STORAGE_LL NEG_NONRED_LL POS_ROOF_LL 0x0001 0x0002 0x0008 0x0080 0x0004 0x0010 0x0100 0x0020 Dead Load 3 types of positive Live Load 3 types of negative Live Load Positive Roof Live Load (can be reducible or snow) Negative Roof Live Load (can be reducible or snow) 4 types of nodal lateral loads

NEG_ROOF_LL

0x0040

NodalLateralLoadType WIND_NODAL2 SEISMIC_NODAL2 OTHER_NODAL2 VIRTUAL_NODAL2 WindLoadType SeismicLoadType DynamicLoadType EIGEN_SOLUTION2 RESPONSE_SPECTRA2 RESPONSE_SPECTRA_UBC972 RESPONSE_SPECTRA_IBC20002 OtherLoadType USER_DEFINED_STORY2 CENTER_RIGIDITY2 VIRTUAL_LOADCASE2

0 1 2 3

0 1 2 3 0 1 2

4 types of Dynamic loads 3 types of Other loads.