ram dataaccess developers guide
DESCRIPTION
This is a manual about how to use RAM DataAccess. RAM DataAccess is used to interact with RAM Structural System's internal programming language.TRANSCRIPT
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 1/450
RAM DataAccess
Developer’s Guide
Release 14.07.00February 2015
Bentley Systems2744 Loker Avenue West, Suite 103
Carlsbad, CA 92010Telephone: (760) 431-3610Toll Free: (800) 726-7789
Fax: (760) 431-5214
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 2/450
TRADEMARK NOTICEBentley and the "B" Bentley logo are registered or non-registered trademarks of Bentley Systems, Incorporated.
RAM SBeam, RAM Structural System, RAM Manager, RAM Modeler, RAM Steel, RAM Frame, RAM Foundation and RAM Concreteare registered or non-registered trademarks of Bentley Systems, Incorporated.
All other marks are the property of their respective owners.
COPYRIGHT NOTICECopyright (c) 2015 Bentley Systems, Incorporated. All Rights Reserved.Including software, file formats, and audiovisual displays; may only be used pursuant to applicable software license agreement;contains confidential and proprietary information of Bentley Systems, Incorporated and/or third parties which is protected bycopyright and trade secret law and may not be provided or otherwise made available without proper authorization.
ACKNOWLEDGEMENTSObjective Grid C++ Library Copyright © Rogue Wave Software, Inc.Virtual Print Engine (VPE) Copyright © IDEAL Software
CM2 MeshTools © Computing Objects SARLMath Kernel Library (MKL) © Intel CorporationThe Boost Graph Library (BGL) © Siek, J.G., Lee, L., and Lumsdaine, A.Ultimate Toolbox © Dundas Software Ltd.TurboDXF © Ideal EngineeringPortions Copyright © Microsoft CorporationIncludes Adobe(R) PDF Library technology. Portions Copyright (c) Adobe Systems, Inc.Clipper library © Angus Johnsonzlib software © Jean-loup Gailly and Mark Adler.Portions Copyright © GrapeCity, Inc. 1987-2011. All Rights Reserved.
RESTRICTED RIGHTS LEGENDSIf this software is acquired for or on behalf of the United States of America, its agencies and/or instrumentalities ("U.S. Government"),it is provided with restricted rights. This software and accompanying documentation are "commercial computer software" and"commercial computer software documentation," respectively, pursuant to 48 C.F.R. 12.212 and 227.7202, and "restricted computersoftware" pursuant to 48 C.F.R. 52.227-19(a), as applicable. Use, modification, reproduction, release, performance, display ordisclosure of this software and accompanying documentation by the U.S. Government are subject to restrictions as set forth in this Agreement and pursuant to 48 C.F.R. 12.212, 52.227-19, 227.7202, and 1852.227-86, as applicable. Contractor/Manufacturer isBentley Systems, Incorporated, 685 Stockton Drive, Exton, PA 19341-0678.
Unpublished - rights reserved under the Copyright Laws of the United States and International treaties.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 3/450
DISCLAIMER
The software and related documentation, including this documentation, are protected by both United States copyright law andinternational treaty provisions. Any unauthorized copying or reproduction is strictly prohibited and subject to civil and criminalpenalties. Please refer to the License Agreement for authorization to make a backup copy of the software. You may not sell thissoftware or documentation or give copies of them away to anyone else.
Except as expressly warranted in the License Agreement, Bentley Systems, Incorporated disclaims all warranties, expressed orimplied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to thesoftware, the accompanying written materials, and any accompanying hardware. All results should be verified to the user’ssatisfaction. The contents of these written materials may include technical inaccuracies or typographical errors and may be revisedwithout prior notice.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 4/450
Table of Contents
Introduction .......................................................................................................................................................................................... 10
Basic Concepts of the RAM Object Model ........................................................................................................................................... 10
General Information ............................................................................................................................................................................. 12
Creating and Updating a Model ........................................................................................................................................................... 14
Reading an Existing Model .................................................................................................................................................................. 18
The Object Model Interfaces ................................................................................................................................................................ 19
DAArray ............................................................................................................................................................................................ 19
IAnalyticalResult ............................................................................................................................................................................... 20
IBasePlate ........................................................................................................................................................................................ 21
IBeam ............................................................................................................................................................................................... 21
IBeams ............................................................................................................................................................................................. 25
IColumn ............................................................................................................................................................................................ 26
IColumns .......................................................................................................................................................................................... 30
IColumnStack ................................................................................................................................................................................... 32
ICompDeckProp ............................................................................................................................................................................... 32
ICompDeckProps ............................................................................................................................................................................. 33
IConcreteCriteria .............................................................................................................................................................................. 35
IConcreteMaterial ............................................................................................................................................................................. 35
IConcSectProp ................................................................................................................................................................................. 36
IConcSectProps ............................................................................................................................................................................... 37
IConcShearWallCriteria .................................................................................................................................................................... 40
IConcSlabProp ................................................................................................................................................................................. 40
IConcSlabProps ............................................................................................................................................................................... 41
IContinuousFnd ................................................................................................................................................................................ 42
IContinuousFnds .............................................................................................................................................................................. 44
ICouplingBeam ................................................................................................................................................................................. 45
ICouplingBeamCriteria ..................................................................................................................................................................... 46
ICouplingBeams ............................................................................................................................................................................... 47
IDB ................................................................................................................................................................................................... 49
IDBRecord ........................................................................................................................................................................................ 49
IDBRecords ...................................................................................................................................................................................... 49
IDBTable .......................................................................................................................................................................................... 49
IDBTables ........................................................................................................................................................................................ 49
IDeck ................................................................................................................................................................................................ 49
IDecks .............................................................................................................................................................................................. 51
IDeckTableEntries ............................................................................................................................................................................ 53
IDeckTableEntry ............................................................................................................................................................................... 53
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 5/450
IDiaphragm ....................................................................................................................................................................................... 54
IDiaphragms ..................................................................................................................................................................................... 55
IField ................................................................................................................................................................................................ 56
IFields............................................................................................................................................................................................... 56
IFinalWallOpening ............................................................................................................................................................................ 57
IFinalWallOpenings .......................................................................................................................................................................... 57
IFloorType ........................................................................................................................................................................................ 58
IFloorTypes ...................................................................................................................................................................................... 62
IFrameAnalysisCriteria ..................................................................................................................................................................... 64
IGridSystem ..................................................................................................................................................................................... 64
IGridSystems .................................................................................................................................................................................... 65
IHorizBrace ...................................................................................................................................................................................... 66
IHorizBraces ..................................................................................................................................................................................... 69
IIsolatedFnd ..................................................................................................................................................................................... 70
IIsolatedFnds .................................................................................................................................................................................... 72
ILayoutBeam .................................................................................................................................................................................... 73
ILayoutBeams .................................................................................................................................................................................. 78
ILayoutColumn ................................................................................................................................................................................. 80
ILayoutColumns ............................................................................................................................................................................... 83
ILayoutContinuousFnd ..................................................................................................................................................................... 86
ILayoutContinuousFnds ................................................................................................................................................................... 88
ILayoutHorizBrace ............................................................................................................................................................................ 89
ILayoutHorizBraces .......................................................................................................................................................................... 91
ILayoutIsolatedFnd ........................................................................................................................................................................... 93
ILayoutIsolatedFnds ......................................................................................................................................................................... 95
ILayoutMatFndPerim ........................................................................................................................................................................ 97
ILayoutMatFndPropPoly ................................................................................................................................................................... 97
ILayoutWall ...................................................................................................................................................................................... 97 ILayoutWalls ..................................................................................................................................................................................... 99
ILineLoadPropertySet..................................................................................................................................................................... 101
ILineLoadPropertySets ................................................................................................................................................................... 101
ILineLoadSet .................................................................................................................................................................................. 103
ILineLoadSets ................................................................................................................................................................................ 103
ILoadCase ...................................................................................................................................................................................... 104
ILoadCases .................................................................................................................................................................................... 106
ILoadCombination .......................................................................................................................................................................... 107
ILoadCombinationParam ........................................ ............................................. ........................................... ................................ 107
ILoadCombinationParams .............................................................................................................................................................. 108
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 6/450
ILoadCombinations ........................................................................................................................................................................ 110
ILoadCombinationTerm .................................................................................................................................................................. 111
ILoadCombinationTerms ................................................................................................................................................................ 111
ILoadComboInternal ....................................................................................................................................................................... 113
ILoadComboParamCntrl1 ....................................... ............................................. ............................................ ............................... 113
ILoadComboParamCntrl3 ....................................... ............................................. ............................................ ............................... 113
ILoadComboParamsCntrl1 ............................................................................................................................................................. 114
ILoadComboParamsCntrl3 ............................................................................................................................................................. 115
IMatFndPerim ................................................................................................................................................................................. 116
IMatFndPropPoly ........................................................................................................................................................................... 116
IMemberForce ................................................................................................................................................................................ 116
IMemberForces .............................................................................................................................................................................. 117
IModel ............................................................................................................................................................................................ 118
IModelGrid ...................................................................................................................................................................................... 132
IModelGrids .................................................................................................................................................................................... 133
INode .............................................................................................................................................................................................. 134
INodes ............................................................................................................................................................................................ 135
INonCompDeckProp ...................................................................................................................................................................... 135 INonCompDeckProps..................................................................................................................................................................... 136
IOtherMaterial ................................................................................................................................................................................ 137
IOtherSectProp .............................................................................................................................................................................. 137
IOtherSectProps ............................................................................................................................................................................. 138
IPile ................................................................................................................................................................................................ 140
IPileConfiguration ........................................................................................................................................................................... 140
IPileConfigurations ......................................................................................................................................................................... 141
IPiles .............................................................................................................................................................................................. 142
IPoint .............................................................................................................................................................................................. 143
IPointLoad ...................................................................................................................................................................................... 144 IPointLoadPropertySet ................................................................................................................................................................... 145
IPointLoadPropertySets ................................................................................................................................................................. 145
IPointLoads .................................................................................................................................................................................... 146
IPointLoadSet ................................................................................................................................................................................. 147
IPointLoadSets ............................................................................................................................................................................... 147
IPoints ............................................................................................................................................................................................ 148
IProperties ...................................................................................................................................................................................... 150
IProperty ......................................................................................................................................................................................... 151
IPropertyDefinition .......................................................................................................................................................................... 153
IPropertyDefinitions ........................................................................................................................................................................ 155
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 7/450
IRAMFrameCriteria ........................................................................................................................................................................ 157
IRawWallOpening........................................................................................................................................................................... 159
IRawWallOpenings ......................................................................................................................................................................... 159
IRawWallSectionCut ....................................... ............................................. ............................................. ...................................... 161
IRawWallSectionCuts ..................................................................................................................................................................... 165
IRBSPropertySet ............................................................................................................................................................................ 167
IReactionNode ............................................................................................................................................................................... 167
IReactionNodes .............................................................................................................................................................................. 168
IRecord ........................................................................................................................................................................................... 169
IRecords ......................................................................................................................................................................................... 169
IShell .............................................................................................................................................................................................. 170
IShells ............................................................................................................................................................................................ 171
ISlabEdge ....................................................................................................................................................................................... 171
ISlabEdges ..................................................................................................................................................................................... 172
ISlabOpening ................................................................................................................................................................................. 173
ISlabOpenings ................................................................................................................................................................................ 174
ISlabPerimeter ............................................................................................................................................................................... 175
ISlabPerimeters .............................................................................................................................................................................. 175 ISnowLoadPropertySet .................................................................................................................................................................. 176
ISnowLoadPropertySets ......................................... ............................................. ........................................... ................................ 176
ISnowLoadSet ................................................................................................................................................................................ 178
ISnowLoadSets .............................................................................................................................................................................. 179
ISteelBeamDesignResult ............................................................................................................................................................... 180
ISteelCriteria .................................................................................................................................................................................. 180
ISteelMaterial ................................................................................................................................................................................. 182
IStories ........................................................................................................................................................................................... 183
IStory .............................................................................................................................................................................................. 184
IStress ............................................................................................................................................................................................ 188 IStresses ........................................................................................................................................................................................ 189
IStringValue .................................................................................................................................................................................... 189
ISurfaceLoadPropertySet ............................................................................................................................................................... 190
ISurfaceLoadPropertySets ............................................................................................................................................................. 190
ISurfaceLoadSet ............................................................................................................................................................................ 191
ISurfaceLoadSets ........................................................................................................................................................................... 192
ITable ............................................................................................................................................................................................. 193
ITrialGroup ..................................................................................................................................................................................... 194
ITrialGroups ................................................................................................................................................................................... 195
IVerticalBrace ................................................................................................................................................................................. 195
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 8/450
IVerticalBraces ............................................................................................................................................................................... 199
IWall ............................................................................................................................................................................................... 201
IWallBarLayout ............................................................................................................................................................................... 205
IWallBarLayouts ............................................................................................................................................................................. 206
IWallBarPattern .............................................................................................................................................................................. 207
IWallBarPatterns ............................................................................................................................................................................ 208
IWallBarPlacement ......................................................................................................................................................................... 209
IWallBarPlacements ....................................................................................................................................................................... 210
IWallBarSet .................................................................................................................................................................................... 211
IWallBarSets .................................................................................................................................................................................. 212
IWallCodeMessage ........................................................................................................................................................................ 213
IWallCodeMessages ...................................................................................................................................................................... 213
IWallCodeResult ............................................................................................................................................................................ 215
IWallCodeResults ........................................................................................................................................................................... 215
IWallDesignGroup .......................................................................................................................................................................... 216
IWallDesignGroups ........................................................................................................................................................................ 219
IWallFailedMember ........................................................................................................................................................................ 220
IWallFailedMembers ....................................... ............................................. ............................................. ...................................... 221 IWallFE ........................................................................................................................................................................................... 222
IWallFEs ......................................................................................................................................................................................... 223
IWallLimitCheck ............................................................................................................................................................................. 224
IWallLimitChecks ............................................................................................................................................................................ 224
IWallPanel ...................................................................................................................................................................................... 226
IWallPanelReinfZone...................................................................................................................................................................... 228
IWallPanelReinfZones .................................................................................................................................................................... 229
IWallPanels .................................................................................................................................................................................... 230
IWalls ............................................................................................................................................................................................. 231
IWallSectionDsnCut ....................................................................................................................................................................... 232 IWallSectionDsnCutForceSet ......................................................................................................................................................... 235
IWallSectionDsnCutForceSets ....................................................................................................................................................... 235
IWallSectionDsnCuts...................................................................................................................................................................... 236
IWebOpening ................................................................................................................................................................................. 239
IWebOpenings ............................................................................................................................................................................... 239
WallBarPatternTemplate ................................................................................................................................................................ 241
WallBarPatternTemplates .............................................................................................................................................................. 242
Original DataAccess Interfaces ......................................... ............................................. ........................................... ......................... 244
IConcAnalysis1 .............................................................................................................................................................................. 244
IConcAnalysisState1 ...................................................................................................................................................................... 246
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 9/450
IConcBeamState1 .......................................................................................................................................................................... 252
IConcBeamState2 .......................................................................................................................................................................... 262
IConcCntlrCommon1 ...................................................................................................................................................................... 272
IConcColModState1 ....................................................................................................................................................................... 276
IConcColModState2 ....................................................................................................................................................................... 282
IConcept ......................................................................................................................................................................................... 283
IDBIO1 ........................................................................................................................................................................................... 286
IForces1 ......................................................................................................................................................................................... 288
IForces2 ......................................................................................................................................................................................... 297
IGravityLoads1 ............................................................................................................................................................................... 303
IGravitySteelDesign1...................................................................................................................................................................... 321
ILoading1 ....................................................................................................................................................................................... 324
IMemberData1 ............................................................................................................................................................................... 329
IMemberData2 ............................................................................................................................................................................... 341
IModelData1 ................................................................................................................................................................................... 346
IModelData2 ................................................................................................................................................................................... 352
IModelGeometry1 ........................................................................................................................................................................... 361
IModelGeometry2 ........................................................................................................................................................................... 373 IModelStatus1 ................................................................................................................................................................................ 377
IRamDataAccess2.......................................................................................................................................................................... 379
ISteelColumnState ......................................................................................................................................................................... 379
ISteelColumnState2 ....................................................................................................................................................................... 383
RamDataAccess1........................................................................................................................................................................... 384
Common Structure Definitions ........................................................................................................................................................... 385
Common Enumerator Definitions ....................................................................................................................................................... 403
Appendix A - RAM Object Model Diagram ....................................... ............................................. ............................................ ......... 436
Appendix B – Using DataAccess from VB/VBA ................................................................................................................................. 437
Appendix C – Using RAM DataAccess in a Visual C++ Project ............................................ ............................................. ................ 441 Appendix D - Using RAMDataAccess in C++ with Smart Pointers ..................................................................... ............................... 446
Appendix E – Additional Load Case Information ............................................. ............................................. ...................................... 448
Appendix F – Shear wall interface constants ..................................................................................................................................... 450
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 10/450
IntroductionRAM DataAccess was first introduced several years ago as a new way to access data in a RAM Structural System model. Itreplaced the Programmer’s 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 modifythe RAM SS model via DataAccess. At that point, we decided that the existing interfaces did not lend themselves well to this newrequired functionality and a new set of interfaces, collectively termed the “RAM Object Model” were designed with theserequirements in mind. These new interfaces, which allow data to not only be read, but also updated, added and deleted, have beenincorporated into our existing RAM DataAccess COM component, although they can for the most part be used independently of thepre-existing interfaces. The RAM Object Model interfaces have been designed with the framework of the RAM Structural System inmind to help ensure that a valid model is created (see the first section under Basic Concepts below). The interfaces have also beenarchitected 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 thesame functionality can be achieved in either set of interfaces, it is preferred to use the RAM Object Model interfaces. Eventually allfunctionality will be provided via interfaces that are built on the RAM Object Model architecture and the original interfaces willgradually become obsolete.
Basic Concepts of the RAM Object ModelIn designing the RAM Object Model interfaces, both the framework of the RAM Structural System and future extensibility of theobject model were taken into consideration.
RAM Structura l System Model
The RAM Structural System makes use of the concept of a typical floor, or f loor type. Each floor type can be used to define multiplestories in a model such that there is often a one-to-many correspondence between floor types and stories. This modeling conceptposes some restrictions on how a model may be modified outside of the RAM Structural System. For example, although membersizes 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 basedon the same floor type must have the same basic geometry. (Note that vertical braces are an exception, since they are added to thestory, not to the floor type.)
RAM Object Model Arc h i tecture
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). Thecollection interface allows for the addition or deletion of the type of entity associated with the interface (although there are some
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 11/450
exceptions as explained below). For example, to add or delete floor types, use the IFloorTypes interface. The collection interfacecan 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 don’t refer to “laying out” the member, but refer to the member on the “layout type”or floor type.)
The IMember interface corresponds to a single member at a particular story. Generally, to get properties of a member, use theIMember interface. Some properties (any property that the RAM Structural System allows to be modified on a story-by-story basis)can also be set for a member using the IMember interface, such as member size or fixity. For properties that cannot vary story-to-story, or to move a member, the ILayoutMember interface must be used, which in effect updates all corresponding members on thestories associated with that floor type. The documentation for each interface indicates which properties can be set from thatinterface.
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 needto use the ILayoutBeams collection interface; the IBeams interface does not allow beams to be added.
1 The italicized Member is used to refer to any of Beam, Column, Wall, HorizBrace, IsolatedFnd or ContinuousFnd.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 12/450
General Information
Consistency wi th RAM Structura l System
The version of RAM DataAccess is consistent with the version of RAM Sructural System installed on the computer. It is possible toencounter situations where the user writes a program in one version and then shares it with another user who is running an earlierversion that does not support some of the methods used in the program. You may want to call the GetVersion method in theIRamDataAccess2 interface at the beginning of the program and only allow the program to continue if a certain version ofRAMDataAccessl or later is available.
In general, RAM DataAccess will return information that is consistent with the state of RAM Structural System. In order for a model’sresults to be accessible, it needs to be run/analyzed in RAM Structural System and saved first. You could use DataAccess to checkthe model status to ensure this if desired. Also, results are consistent with the various criteria in RAM Structural System. Forexample, if member self-weight is included in the RAM Manager critieria, then the dead load in force methods will include self-weightunless the method makes it an option.
Defin i t ions and Naming Con vent ion
RAM International utilizes Hungarian Notation to make it easy to identify data and variable types. Each variable or data type isprefixed with one or more letters that identify its type. The following table l ists the most common prefixes and their meanings. (Noteto 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 MeaningI A capital “I” precedes all interface names.C A capital “C” precedes all class names. E A capital “E” precedes names of enumerators. S A capital “S” precedes names of structures.
bstr BSTR, a 32-bit character pointerThis is how we pass strings through a COM interface. VB/VBA
l or n long, a 32-bit signed integerd double, a 64-bit double precision numberf float, a 32-bit single precision numbere an enumerated type. Technically a long.dw DWORD, a 32-bit unsigned integer.p a pointer VB/VBAa an arraypp Pointer to a pointer for an array.
This is used to allocate memory for the array inside of DA.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 13/450
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 notchanged 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 apointer to a double.
In addition to variable prefixes, variables in the parameter list are preceded by one of the following identifiers.
[in] indicates that this is a variable being passed in[out] indicates that a value will be returned in this variable.[out, retval] indicates that a value will be returned as the result of the method call (in VB/VBA or if using #import for C++ users).
Method Return values
In general, one of three values is returned from RAM DataAccess. Always check the return value of the methods you are using. Notethat the “S” and “E” preceding these return values do not follow the rules mentioned above. In this case “S” refers to success and “E”refers to error .
S_OK The method was completed successfullyE_FAIL The method did not complete successfullyE_NOTIMPL This method is not yet implemented.
If E_FAIL is returned, the GetLastError method can be used to find out more about what went wrong (see Common Methods).
Note that for VB/VBA users and C++ users using #import, this return value is automatically parsed and any return other than S_OKwill result in an error that must be handled in an error_handler or catch statement respectively. C++ users can change this defaultbehavior 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 codethat 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 ifyou 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 examplecode 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 ).
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 14/450
A Note about th is Docum entat ion
The methods that appear grayed out are not intended for use outside of RAM International. This includes methods that have beendeprecated and some “Set” methods.
Creating and Updating a Model
Opening a Model
First, create an instance of IRAMDataAccess1 in your project. (Specific instructions for different languages are available in theappendices.) After creating an instance of the IRAMDataAccess1 interface, use the GetInterfacePointerByEnum() (orGetDispInterfacePointerByEnum() if using VB) function to get a pointer to the IDBIO1 interface. With the IDBIO interface, you canuse LoadDataBase2() to load an existing model, or CreateNewDatabase2() to start a new model. Once the model is open, get apointer to the IModel interface. When opening an existing model, you may want to call IDBIO::GetDatabaseVersion() to make surethe database version is what you are expecting. If the database version does not match the version of RAMDataAccess,LoadDatabase() will fail.
Start ing 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 arestored 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 whichdesign 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 nodefaults 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 typ e
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 representsan empty collection. Use the Add() function to add a new floor type. Once you have the resulting IFloorType interface, you canimmediately generate a story associated with that floor type, or simply begin adding members. You can create one or more storiesfrom the same floor type before or after adding members. However, until you create at least one story from the floor type, themembers on that floor type are not part of the 3D model.
Defin ing gr id systems
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 15/450
Grid systems can be defined once and assigned to one or more floor types. A floor type can have one or more grid systemsassigned 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 collectionof 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, callGetGridSystemIDArray() to get the collection of grid system unique IDs that are assigned to that floor type (it may be empty). Fromthe resulting IDAArray interface, add the unique ID of the grid system to be assigned to this floor type. The new grid systemassignment is not completed until the IDAArray interface is passed back to the f loor type using the SetGridSystemIDArray() functioncall.
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, getthe IStories interface, which is the collection of stories for the model. Use the Add() function to add a new story.
Add ing co lumnsColumns 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 foreach story associated with that floor type. Using the IFloorType interface for the floor type to which you want to add columns, get theILayoutColumns interface, which represents the collection of columns on that floor type. Use the Add() function to add a newcolumn. You can use the resulting ILayoutColumn interface to set properties for the newly added column(s).
Adding beams, wal ls or hor izonta l 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, onewill be added to the 3D model for each story associated with that floor type. Using the IFloorType interface for the floor type to whichyou 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 canuse the resulting ILayoutBeam, ILayoutWall or ILayoutHorizBrace interface to set properties for the newly added member(s).
Adding vert ica l braces
Since vertical braces span 2 or more stories, they are not added to floor types. (And consequently, they do not have acorresponding 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 adda new brace, passing in the IDs of the stories into which the brace frames. You can use the resulting IVerticalBrace interface to setproperties for the newly added brace. An alternative to getting the entire list of vertical braces for the model is to get theIVerticalBraces 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 16/450
Defin ing m ater ia l propert ies fo r a m ember
Eventually, the RAM Structural System will allow material properties to be defined separately from any member and assigned to oneor 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 addmaterial properties to their corresponding collection interfaces (ISteelMaterials, IConcreteMaterials, IOtherMaterials). Rather, thereis 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 materialproperty ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of thecorresponding 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 materialdefinition.
Assign ing sizes to stee l 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 setfor the strSectionLabel must exactly match the name of the size listed in the corresponding design table. Custom tables can becreated by the engineer, but these must follow the format of the tables provided by RAM. The RAM Structural System will look forthe sizes in the design tables specified in the IModel interface. Be sure to set the name of the Master Steel Table as well as thespecific tables for steel beams and steel columns. If needed, also be sure to set the names of the tables for castellated and cellularbeam sections.
Assign ing sect ion prop ert ies to concrete members
To assign section properties to a concrete member, you must first define a concrete section property. From the IModel interface, callGetConcreteSectionProps() 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 validsection property.) The resulting IConcSectProp interface can be used to set additional properties for the section. To assign thesection property to a concrete member, either set the strSectionLabel property for the member to the strLabel property of theIConcSectProp, 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 materialof the beam and when the model is run in the RAM Structural System, an error message will be issued for the member.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 17/450
Also note that concrete section properties are defined by the type of member they can be assigned to: beam, column or brace. Seethe 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 Str ucturalSystem and they can include members of any type of material which are not currently represented in the RAM Structural System. Toassign 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 propertiesdefined in the model. Use the Add() function to define a new ‘Other’ section property. The resulting IOtherSectProp interface can beused to set additional properties for the section. To assign the section property to an ‘Other’ member, either set the strSectionLabelproperty for the member to the strLabel property of the IOtherSectProp, or set the lSectionID property of the member to the uniqueID 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 whenthe 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. Seethe documentation for the IOtherSectProp interface for more information.
Updat ing an exist ing model
Once you have a model that was either created from scratch through the RAM Object Model or created by the RAM StructuralSystem, you may need to update existing members in the model. Nearly every item in the Object Model has a unique ID associatedwith it. Using that ID, you can get an interface to the corresponding member directly from the IModel interface.
Updat ing a colum n
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 functionsassociated 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, youcan 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 foreach story that uses the floor type). Loop through the IColumn interfaces to get the properties for the columns at each story.
Updating beams , wal ls, horizontal braces
See section above on updating a column.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 18/450
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 ModelTo read in an existing RAM Structural System model, call GetStories() from the IModel interface. Use the GetCount() function in theIStories interface to determine the number of stories in the model, then use the GetAt() function to get the IStory interface for eachstory.
From the IStory interface, call GetColumns() to get an IColumns collection interface for the columns on that story. Use theGetCount() 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.
Gett ing sect ion pro pert ies for con crete 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 asproperties 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 areavailable as properties through the IOtherSectProp interface.
Gett ing mater ial propert ies for a mem ber
The IBeam, IColumn, IWall, IHorizBrace, IVerticalBrace, IIsolatedFnd and IContinuousFnd interfaces all have a unique materialproperty ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of thecorresponding member. Likewise, if the member is concrete, call GetConcreteMaterial(), or if it is ‘Other’, call GetOther Material().With the corresponding ISteelMaterial, IConcreteMaterial, or IOtherMaterial, you can get the material properties for that material.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 19/450
The Object Model InterfacesThe following interfaces make up what is referred to as the RAM Object Model. There interfaces were added during v9.0development, but were only made public in v10.0. Documentation for the earlier DataAccess interfaces can be found at the end ofthis section.
DAArray
Single row array for use with indexed get/set DA methods.
Add ([in] pvrtItem, [out] long plRetval)
Add a new item to the end of the DA array.
Parameters pvrtItem Item being added to the DA arrayplRetval Return variable. 0 if successful.
GetAt ([in] long lIndex, [out] pvrtItem)
Get at a DA array item by index number.
Parameters lIndex Index into the arraypvrtItem Item value in the array at lIndex
GetSize ([out] long plSize)
Get the size of the array.
Parameters plSize Number of entries in the DA array
Remove ([in] pvrtItem)
Removes a item from the DA array by item value.
Parameters pvrtItem Item in the DA array
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 20/450
RemoveAt ([in] lIndex)
Removes an item from the DA array by index number.
Parameters lIndex Index into the array for the item being removed
SetAt ([in] long lIndex, [in] pvrtItem)
Add a new DAArray interface.
Parameters lIndex Index into the DA arraypvrtItem Item value at index
SetSize ([in] lSize)
Sets the size of the DA Array.
Parameters lSize Number of entries in the DA array
IAnalyticalResult
This interface represents the analytical results for an individual member.
GetMaximumComboReactions ([in] COMBO_MATERIAL_TYPE eComboType, [out, retval] IMemberForces**ppIMemberForces)
Gets the maximum (with sign so -4 is > +2) reaction forces at the start and end support of the member. For cantilever members it is theinside of the support that is reported. Note that currently only shear reactions are available.
Parameters eComboType Combination type (Only STEEL_GRAV is supported currently)ppIMemberForces Pointer to two IMemberForces, index 0 is at start support of member (top of col, top of brace, left of beam) with
the maximum of all current selected combinations (with sign).
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 21/450
IBasePlate
This interface represents a single base plate.
PropertiesType Property Get Set Description
double dAngle X The angle of the dLength axis with the X=0 Axis, counterclockwise.
double dLength X Length of base plate (in direction of column major axis)
double dThickness X Thickness of base platedouble dWidth X Width of base plate
long lColumnID X Unique ID of the column associated with this base plate
IBeam
This interface represents a single beam. This is a beam associated with a story, rather than a floor type. This interface can be usedto read data for a beam at a story. To change coordinates or edit cantilevers, use the ILayoutBeam interface.
GetAnalyticalResult ([out, retval] IAnalyticalResult** ppIAnalyticalResult)
Gets the analytical result interface.
Parameters
GetCoordinates ([in] EBeamCoordLoc eBeamCoordLoc, [out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out,retval] long* plRetval)
Gets the indicated coordinates for the beam.
Parameters eBeamCoordLoc Whether to get the end coordinates or the support coordinatespStartPoint SCoordinate corresponding to the start of the beampEndPoint SCoordinate corresponding to the end of the beamplRetval 0 if successful
-1 if coordinates cannot be retrieved
GetEndRigidLink ([out] SCoordinate *pPoint, [out] long lMemberID)
Gets rigid link information at the end of a beam.
ppIAnalyticalResult Pointer to an IAnalyticalResult interface that represents the analysis results for this member.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 22/450
Parameters pPoint Coordinates of the end the rigid link at the supporting member for end of the beam. Coordinates match end
coordinates if no rigid link exists.plMemberID Unique ID of the member that supports the end of the rigid link. Zero if no rigid link exists.
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetRBSPropertySet ([out, retval] IRBSPropertySet** ppIRBSPropertySet)
Get the reduced beam section properties for this beam if it has a reduced beam section property assigned to it. These values will only benon-zero IF the user has provided these properties for this particular beams section (size) and have stipulated that RBS are to be used onthis beam (in RAM Frame).
Parameters
GetStartRigidLink ([out] SCoordinate *pPoint, [out] long lMemberID)
Gets rigid link information at the start of a beam.
Parameters pPoint Coordinates of the end the rigid link at the supporting member for start of the beam. Coordinates match start
coordinates if no rigid link exists
ppIRBSPropertySet The reduced beam section properties (dogbone). See IRBSPropertySet enumerator.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 23/450
plMemberID Unique ID of the member that supports the end of the rigid link. Zero if no rigid link exists.
GetSteelDesignResult ([out, retval] ISteelBeamDesignResult** ppIDesignResult)
Gets the steel beam design results interface.
Parameters
PropertiesNote that some properties of beams cannot be changed through the IBeam interface. Any properties which cannot vary story-to-story when a floor type is used by multiple stories must be set through the ILayoutBeam interface.
Type Property Get Set Description
BOOL bComposite X If TRUE, beam is composite. If FALSE, beam is non-composite.
BOOL bMajAxisBendFixedEnd X X Major axis bending release at end of beam (j-end).
BOOL bMajAxisBendFixStart X X Major axis bending release at start of beam (i-end).
BOOL bMinAxisBendFixedEnd X X Minor axis bending release at end of beam (j-end).
BOOL bMinAxisBendFixedStart X X Minor axis bending release at start of beam (i-end).BOOL bTorFixedEnd X X Torsion release at end of beam (j-end).
BOOL bTorFixedStart X X Torsion release at start of beam (i-end).
BOOL bUseRBS X X True if the user has indicated to use the reduced beam on this beam
double dCamber X X Camber of the beam
double dEndCantilever X Length of cantilever at end of beam (j-end)
double dFlangeOverhangLeft X Left flange length beyond beam’s web thickness
double dFlangeOverhangRight X Right flange length beyond beam’s web thickness
double dFlangeThickBot X Thickness of bottom flange of beam
double dFlangeThickLeft X Thickness of left flange beyond beam’s web thickness
double dFlangeThickRight X Thickness of right flange beyond beam’s web thickness
double dFlangeThickTop X Thickness of top flange of beam
double dFlangeWidthBot X Width of bottom flangedouble dFlangeWidthTop X Width of top flange
double dStartCantilever X Length of cantilever at start of beam (i-end)
double dStudDiameter X X Stud diameter
double dStudLength X X Stud length
double dStudSegment1Length X X Length of first stud segment
double dStudSegment2Length X X Length of second stud segment
double dStudSegment3Length X X Length of third stud segment
double dStudSegment4Length X X Length of fourth stud segment
double dStudSegment5Length X X Length of fifth stud segment
double dStudTensileStrength X X Tensile strength of stud
double dUnbracedLengthAxialLX X X Unbraced axial length in the major axis
ppIDesignResult Pointer to an ISteelBeamDesignResult interface that represents the design results for this member
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 24/450
Type Property Get Set Description
double dUnbracedLengthAxialLY X X Unbraced axial length in the minor axis
double dUnbracedLengthFlexLY X X Unbraced length for lateral torsional buckling
double dWebDepth X Top or single web depth
double dWebDepthBot X Bottom we depth for beams made from different top and bottom sections
double dWebWidth X Top or single web width
double dWebWidthBot X Bottom web width for beams made from different top and bottom sections
EFRAMETYPE eFramingType X Whether member is lateral or gravity
EBeamConnectionType eLeftConnectionType X X Connection type at the left support of beamEMATERIALTYPES eMaterial X X Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat,ESmartbeamBeamMat, EConcreteMat, or EOtherMat.
EJoistType eMemberJoistType X Type of joist (if beam material type is ESteelJoistMat)
ESTEEL_SEC eOptimizeShape X Shape for which beam is to be optimized (if section is not user-defined).
EBeamConnectionType eRightConnectionType X X Type of connection on the right end
ESeismicProvFrameType eSeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc)
ECONC_OTHER_SEC eShape X Only valid for Concrete or Other material. Returns shape of cross section
long eSharingLoadType X X Returns sharing load type:-1: None0: Entirely two-way1: Entirely one-way
2: One-way and two-way long lBeamLineNumber X X Beam line that beam is part of (applicable only if this is a concrete beam).
long lFlangeBracing X X Flange bracing flags. Sum the appropriate flags to determine the appropriate value for thesettings.0 – All global1 – Override global2 – Top flange braced4 – Bot flange braced
long lFrameNumber X X Frame number for lateral members. It must be positive number.
long lLabel X Numeric label of beam used for on-screen display in RAM Structural System. It is uniqueper floor type.
Long lLeftConnectionID X X Left end connection UID
long lMaterialID X Unique ID of material properties for this beam. Must correspond to type of material. Seesection Getting material properties for a member for more information.
long lRightConnectionID X X Right end connection ID
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this beam. See Assigning sectionproperties to concrete members and Assigning section properties to ‘Other’ members formore information.
long lUID X Unique ID of beam.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 25/450
Type Property Get Set Description
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriate value forthe settings.0 – All global1 – Override global UnbracedLengthAxialLX2 – Override global UnbracedLengthAxialLY4 – User defined UnbracedLengthAxialLX8 – User defined UnbracedLengthAxialLY32 – Override global UnbracedLengthFlexLY
128 – User defined UnbracedLengthFlexLYESeismicProvFrameType SeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc)
BSTR strSectionLabel X X Label of the size or section property for this beam. Limited to 15 characters. See Assigning sizes to steel members, Assigning section properties to concrete members, and Assigning section properties to ‘Other’ members for more information.
IBeams
This interface represents a collection of beams associated with a story. This collection can be used to read data for beams at a
story. To add or delete beams, use the ILayoutBeams interface associated with a floor type.
Filter ([in] EBeamFilter eBeamFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of beams based on given criteria.
Parameters eFilter Indicates the type of filter to use on the collectionvarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IBeam** ppIBeam)
Gets an interface for a specific beam by unique ID.
Parameters lUID The unique ID of the requested layout beamppIBeam Pointer to an IBeam interface that represents the requested beam, or NULL if no beam is found in the collection
with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IBeam** ppIBeam)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 26/450
Gets an interface for a specific beam by index.
Parameters lIndex The index into the collection of the requested beamppIBeam Pointer to an IBeam interface that represents the requested beam, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of beams in the collection. When the collection is filtered, this function returns the number in the filtered collection, not thetotal number of beams on the story. When the collection is unfiltered, this function returns the total number of beams on the story.
Parameters plCount Number of beams in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
IColumn
This interface represents a single column. This is a column associated with a story, rather than a floor type. This interface can beused to read data for a column at a story. To change coordinates, use the ILayoutColumn interface.
GetEndCoordinates ([out] SCoordinate* pPoint1, [out] SCoordinate* pPoint2, [out, retval] long* plRetval)
Gets the end coordinates for the column.
Parameters pPoint1 SCoordinate of the column end. This is the top of standard columns and
bottom of hanging columns.pPoint2 SCoordinate of the column end. This is the bottom of standard columns and
top of hanging columns.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 27/450
plRetval 0 if successful-1 if coordinates cannot be retrieved
GetFinalSpliceSetting ([out, retval] long * eFinalSpliceSetting)
Determine if the column is spliced or not.
Parameters eFinalSpliceSetting 0 = No splice
1 = splice2 = temporary splice added by RAMSS because of change of property between stories. The temporary spliceoverrides the user defined value.
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.GetRigidLink ([out] SCoordinate *pPoint, [out] long *plMemberID)
Gets the unique ID and coordinates of the support at the end of a rigid link.
Parameters pPoint Coordinates of end of the rigid link at the support. This is always at the bottom of standard columns and top of
hanging columns. Matches column end coordinates if there is no rigid link.plMemberID Unique ID of the member that supports the rigid link.
SetRigidLink ([in] double dX, [in] double dY)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 28/450
Sets rigid link end coordinates.
Parameters dX X coordinate for the end of the rigid. A support must exist at this location.dY Y coordinate for the end of the rigid. A support must exist at this location.
PropertiesNote that some properties of columns cannot be changed through the IColumn interface. Any properties which cannot vary story-to-story when a floor type is used by multiple stories must be set through the ILayoutColumn interface.
Type Property Get Set Description
BOOL bAbsMajorAxisEccentricity X TRUE if eccentricity in major axis is absolute distance. FALSE if eccentricity is relativeto column’s centerline.
BOOL bAbsMinorAxisEccentricity X TRUE if eccentricity in minor axis is absolute distance. FALSE if eccentricity is relativeto column’s centerline.
BOOL bAtFoundation X Indicates if column is at foundation level
BOOL bBracedMajorAxisByMember X TRUE if column is braced in column local X direction by the slab or a beam (within userspecified angle)
BOOL bBracedMinorAxisByMember X TRUE if column is braced in column local Y direction by the slab or a beam (within userspecified angle)
BOOL bDoubleAngleLLBackToBack X X Double angle long leg back to back
BOOL bDoubleAngleSnugTightBolt X X Double angle using snug tight bolted intermediate connectors
BOOL bHanger X X Flag indicating whether the column is a hanging column or not.
BOOL bKinked X X Part of a nonlinear column stack
BOOL bMajAxisBendFixedBot X X Major axis bending release at bottom of column (j-end).
BOOL bMajAxisBendFixedTop X X Major axis bending release at top of column (i-end).
BOOL bMinAxisBendFixedBot X X Minor axis bending release at bottom of column (j-end).
BOOL bMinAxisBendFixedTop X X Minor axis bending release at top of column (i-end).
BOOL bSglAngleMirrored X X Single angle mirrored orientation
BOOL bSpliceLevel X X Indicates whether this column is spliced at this story. This is set in the story data in themodeler.
BOOL bTorFixedBot X X Torsion release at bottom of column (j-end).
BOOL bTorFixedTop X X Torsion release at top of column (i-end).
double dDblAngleBackSpacing X X Double angle back to back spacing
double dLength X X Column length
double dLoadSharingFactor X X Factor for load sharing
double dMajorAxisEccentricity X Eccentricity value for major axis
double dMinorAxisEccentricity X Eccentricity value for minor axis
double dOrientation X Orientation of column with respect to the global axis system.
double dStressRatio X X Stress ratio for column (used by RAM Frame)
double dUnbracedLengthAxialLX X X Axial unbraced length for buckling about the X axis
double dUnbracedLengthAxialLY X X Axial unbraced length for buckling about the Y axis
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 29/450
Type Property Get Set Description
double dUnbracedLengthFlexLX X X Flexural unbraced length for lateral torsional buckling
double dUnbracedLengthFlexLY X X Flexural Unbraced length
double dUnityForSizeSelected X X Column interaction equation value
double dZBotOffset X X Bottom z offset from story below elevation (or foundation) for start of column. This ismade available because the offset at the bottom of the column (at the transitionbetween floortypes or at the foundation) may differ from that at the other stories thatuse the floortype. This is true if the member a column sits on is lowered or raised.
EAnalyzeFlag eAnalyzeFlag X X Whether column will be optimized or analyzed during design.
EBeamSpan eBeamSpanAtSide1 X Beam type framing into this side of column
EBeamSpan eBeamSpanAtSide2 X Beam type framing into this side of column
EBeamSpan eBeamSpanAtSide3 X Beam type framing into this side of column
EBeamSpan eBeamSpanAtSide4 X Beam type framing into this side of column
EFRAMETYPE eFramingType X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X X Material type of column. Valid options for columns are ESteelMat, EConcreteMat, orEOtherMat.
ESTEEL_SEC eOptimizeShape X X Shape for which steel column will be optimized
ESeismicProvFrameType eSeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc) As defined inRAM Frame
long eSharingLoadType X X Returns sharing load type:
-1: None0: Entirely two-way1: Entirely one-way2: One-way and two-way
EUserOverride eUserSpliceLevel X X Indicates user assigned splice setting for a given story. Default value is eUserNAwhich, means the splice from the story data should be used. A value of eUserYesmeans that the user has set a splice at this level. A value of eUserNo means that theuser has removed the splice at this level.
The user’s assignment overrides the story data setting except in cases where thephysical geometry necessitates a splice, such as changing material between levels.
single fMaxLLRed X X Maximum live load reduction
long lColumnAboveUID X Unique ID of column abovelong lDesignStatus X X Design status
long lDxfElevationNumber X X DXF Elevation number
long lFlangeBracing X X Flange bracing flags. Sum the appropriate flags to determine the appropriate value forthe settings.0 – All global1 – Override global UnbracedLengthAxialLX2 – Override global UnbracedLengthAxialLY4 – User defined UnbracedLengthAxialLX8 – User defined UnbracedLengthAxialLY
long lFrameNumber X X Frame number for lateral members. The frame number for lateral columns defaults tozero but can be set to a positive number. The frame number for gravity columns is
always -1.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 30/450
Type Property Get Set Description
long lLabel X Numeric label of column used for on-screen display in RAM Structural System. Eachmember type is uniquely numbered per floor type.
long lLLRedCalc X X Calculated Live Load reduction factor
long lMaterialID X Unique ID of material properties for this column. Must correspond to type of material.See section Getting material properties for a member for more information.
long lMemberBelowUID X Unique ID of column below
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this column. See Assigningsection properties to concrete members and Assigning section properties to ‘Other’members for more information.
long lStoryID X Get the ID of the story this column belongs to. Returns -1 in the event of an error.
long lUID X Unique ID of column
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriate valuefor the settings.0 – All global1 – Override global UnbracedLengthAxialLX2 – Override global UnbracedLengthAxialLY4 – User defined UnbracedLengthAxialLX8 – User defined UnbracedLengthAxialLY32 – Override global UnbracedLengthFlexLY128 – User defined UnbracedLengthFlexLY
long lUserBracedMajorAxis X X User bracing assignment for column local X direction-1 = use global criteria, 0 = not braced, 1 = braced
long lUserBracedMinorAxis X X User bracing assignment for column local Y direction-1 = use global criteria, 0 = not braced, 1 = braced
long lWallGroupNumber X X Wall group number
ESeismicProvFrameType SeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame, etc)
BSTR strSectionLabel X X Label of the size or section property for this column. Limited to 15 characters. See Assigning sizes to steel members, Assigning section properties to concrete members,and Assigning section properties to ‘Other’ members for more information.
BSTR strTrialSizeUsed1 X X User assigned trial size 1
BSTR strTrialSizeUsed2 X X User assigned trial size 2
BSTR strTrialSizeUsed3 X X User assigned trial size 3
IColumns
This interface represents a collection of columns associated with a story. This collection can be used to read data for columns at astory. To add or delete columns, use the ILayoutColumns interface associated with a floor type.
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of columns based on given criteria.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 31/450
Parameters eColumnFilter Indicates the type of filter to use on the collectionvarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IColumn** ppIColumn)
Gets an interface for a specific column by unique ID.
Parameters lUID The unique ID of the requested columnppIColumn Pointer to an IColumn interface that represents the requested column, or NULL if no column is found in the
collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IColumn** ppIColumn)
Gets an interface for a specific column by index.
Parameters lIndex The index into the collection of the requested columnppIColumn Pointer to an IColumn interface that represents the requested column, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of columns in the collection. When the collection is filtered, this function returns the number in the filtered collection, notthe total number of columns on the story. When the collection is unfiltered, this function returns the total number of columns on the story.
Parameters plCount Number of columns in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 32/450
member type
IColumnStack
This interface represents a single column stack in the model.
GetBasePlate ( [out, retval] IBasePlate** ppIBasePlate)
Gets an interface for the baseplate for this column stack. Will return NULL if baseplate is not designed.
GetColumns ( [out, retval] IColumns** ppIColumns)
Gets a collection interface for all the columns in the column stack.
PropertiesType Property Get Set Description
long lBasePlateColumnID X Unique ID of column at which the base plate occurs
BSTR strGridLabel X Get the grid intersection label at this column stack
ICompDeckProp
This interface represents a single composite deck property.
PropertiesType Property Get Set Description
BOOL bShored X X TRUE if the deck is shored.
double dEffectiveThickness X X The effective thickness of the deck.
double dElasticModulus X X The elastic modulus of the deck.double dFpc X X The concrete compression capacity (psi).
double dPoissonsRatio X X The Poisson’s Ratio of the deck.
double dSelfWtDeck X X The self-weight of the steel deck (psf).
double dStudDiameter X X The stud diameter.
double dStudFu X X The ultimate strength of the stud (ksi).
double dStudLength X X The length of the studs.
double dThickAboveFlutes X X Concrete thickness above top of flutes.
double dUnitWeight X X The unit weight of the concrete (ksi).
long lUID X Unique ID of composite deck property.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 33/450
Type Property Get Set Description
BSTR strDeckType X X Type of deck. This name must match the name in the deck table andis limited to 19 characters.
BSTR strLabel X X Label for the composite deck property
ICompDeckProps
This interface represents a collection of composite deck properties defined in the model. Composite deck properties are definedusing this interface and then can be assigned to decks. In v9.0 of DataAccess, decks cannot yet be added. However, the compositedeck properties defined here can be assigned to decks that are laid out in the RAM Modeler.
Add ([in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval] ICompDeckProp **ppICompDeckProp)
Adds a new composite deck property.
Parameters
bstDeckType Name of deck from deck tabledThickAboveFlutes Thickness of concrete above top of flutesdStudLength Length of the studppICompDeckProp Pointer to an ICompDeckProp interface that represents the newly added composite deck property.
Add2 ([in] BSTR bstLabel, [in] BSTR bstDeckType, [in] double dThickAboveFlutes, [in] double dStudLength, [out, retval]ICompDeckProp ** ppICompDeckProp)
Adds a new composite deck property. 0.
Parameters bstLabel Name of the composite deck propertybstDeckType Name of deck from deck tabledThickAboveFlutes Thickness of concrete above top of flutesdStudLength Length of the studppICompDeckProp Pointer to an ICompDeckProp interface that represents the newly added composite deck property.
Delete ([in] long lUID, [out, retval] long *plRetVal)
Deletes the composite deck property with the given unique ID. A deck property that is currently assigned to a deck cannot be deleted.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 34/450
lUID Unique ID of composite deck property to deleteplRetval 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 currentlyassigned to a deck polygon
Filter ([in] ECompDeckPropsFilter eCompDeckPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of composite deck properties based on given criteria.
Parameters eCompDeckPropsFilter Indicates the type of filter to use on the collectionvarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] ICompDeckProp ** ppICompDeckProp)
Gets an interface for a specific composite deck property by unique ID.
Parameters lUID The unique ID of the requested composite deck propertyppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property, or NULL if no
composite deck property is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ICompDeckProp ** ppICompDeckProp)
Gets an interface for a specific composite deck property by index.
Parameters
lIndex The index into the collection of the requested composite deck propertyppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of composite deck properties in the collection. When the collection is filtered, this function returns the number in thefiltered collection, not the total number of composite deck properties in the model. When the collection is unfiltered, this function returns thetotal number of composite deck properties in the model.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 35/450
plCount Number of composite deck properties in the collection
IConcreteCriteria
This interface provides access to all concrete design criteria, including the names of any tables used during the design.
PropertiesType Property Get Set Description
EDA_CONC_CODE eConcreteDesignCode X X Design code for concrete beams and columns
EDA_CONC_CODE eFoundationDesignCode X X Design code for foundations
BSTR strPanJoistTable X X Table of pans to use for laying out pan joists. File must have a .pnj extension. Maximum 19characters allowed.
BSTR strReinforcementTable X X Rebar table to use when designing concrete beams and columns. File must have a .renextension. Maximum 32 characters allowed.
IConcreteMaterial
This interface represents a single concrete material property set. A member’s concrete material properties can be read and setthrough this interface.
PropertiesType Property Get Set Description
double dAggregateSize X X Aggregate size of concrete (Only applicable for British code and onlyfor beams and columns)
double dElasticModulus X X Elastic modulus. If -1, the program will calculate this value. (Onlyapplicable for beams and columns)
double dFct X X Concrete cracking stress capacity. Only used for ACI code design.(Only applicable for beams and columns)
double dFpc X X Concrete compressive strength (f’c).
double dFyBoundary X X Yield strength of boundary steel reinforcing for concrete shear walls.
double dFyDistributed X X Yield strength of distributed steel reinforcing for concrete shear walls.
double dFyLongitudinal X X Yield strength of longitudinal steel reinforcing for concrete columns,beams, horizontal braces and foundations.
double dFyTiesLinks X X Yield strength of steel reinforcing for ties and links for concrete shearwalls.
double dFyTransverse X X Yield strength of transverse steel reinforcing for concrete columns,beams, horizontal braces and foundations.
double dPoissonsRatio X X Poisson’s Ratio.
double dSelfWeight X X Self-weight of member.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 36/450
Type Property Get Set Description
double dUnitWeight X X Unit weight of member.
EAggregateType eConcreteAggType X X Aggregate type of concrete. (Only applicable for beams and columns)
IConcSectProp
This interface represents a single concrete section. Certain properties cannot be changed once a section is defined, such as theshape or the type of member (beam, column, or brace) to which it can be assigned.
Note that pan joist sections, which can only be created in the RAM Structural System Modeler, will be treated as tee sections throughDataAccess, but the properties will not be editable.
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested property
ppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with givenname.
PropertiesType Property Get Set Description
double dCrackedAxialFactor X X Cracked section factor for axial stiffness. It is the multiplier for theaxial stiffness.
double dCrackedFactor X X Cracked factor of concrete section.
double dCrackedTorsionFactor X X Cracked section factor for torsional stiffness. It is the multiplier for thetorsional stiffness.
double dDepth X X Depth of section. Applies to rectangular and tee sections.
double dDiameter X X Diameter of section. Applies to round sections.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 37/450
Type Property Get Set Description
double dFlangeOverhangLeft X X Left flange overhang. Applies to tee sections. If -1, program willcalculate this value.
double dFlangeOverhangRight X X Right flange overhang. Applies to tee sections. If -1, program willcalculate this value.
double dFlangeThickLeft X X Left flange thickness. Applies to tee sections. If -1, program willcalculate this value based on slab thickness. Note that if the left orright flange thickness is set, it will be applied to both sides.
double dFlangeThickRight X X Right flange thickness. Applies to tee sections. If -1, program will
calculate this value based on slab thickness. Note that if the left orright flange thickness is set, it will be applied to both sides.
double dWebWidth X X Web width of section. Applies to rectangular and tee sections.
EUniqueMemberTypeID eMemType X Type of member to which this section can be assigned.
ECONC_OTHER_SEC eShape X Shape of the section.
long lUID X Unique ID of concrete section.
BSTR strLabel X X A label for this concrete section. Limited to 15 characters.
IConcSectProps
This interface represents a collection of all concrete section properties defined in the model. Concrete section properties are definedusing this interface and then can be assigned to members of material type concrete. Concrete sections are defined as sections forbeams, columns or vertical braces. A section defined as a concrete beam section can only be assigned to beams and horizontalbraces, and likewise for column and brace concrete sections.
AddRect ([in]BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dTotalBeamDepth, [in] double dWebWidth, [out,retval] IConcSectProp** ppIConcSectProp)
Adds a new rectangular concrete section. Rectangular sections can be defined for beams, columns or vertical braces.
Parameters bstName Label of concrete section. Limited to 15 characters.eMemType Must specify if this is a rectangular section for a beam, column or bracedTotalBeamDepth Total depth of sectiondWebWidth Web thickness of sectionppIConcSectProp 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 38/450
Parameters bstName Label of concrete section. Limited to 15 characters.eMemType Must specify if this is a rectangular section for a beam, column or bracedDiameter Diameter of sectionppIConcSectProp Pointer to an IConcSectProp interface that represents the newly added concrete section.
AddTee ([in]BSTR bstName, [in] double dFlangeLeftOverhang, [in] double dFlangeRtOverhang, [in] double dFlangeThick, [in]
double dTotalBeamDepth, [in] double dWebWidth, [out, retval] IConcSectProp** ppIConcSectProp)
Adds a new tee section. Assumed to be for a beam since concrete tee sections cannot be assigned to ‘Other’ member types.
Parameters bstName Label of concrete tee section. Limited to 15 characters.dFlangeLeftOverhang Left flange overhang (-1 if program should calculate)dFlangeRtOverhang Right flange overhang (-1 if program should calculate)dFlangeThick Flange thickness (-1 if program should calculate based on slab thickness)dTotalBeamDepth Total depth of beam sectiondWebWidth Web thickness of sectionppIConcSectProp Pointer to an IConcSectProp interface that represents the newly added concrete section.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the concrete section with the given unique ID. A section that is currently assigned to a member cannot be deleted.
Parameters lUID Unique ID of concrete section to deleteplRetval 0 if concrete section is deleted successfully
-1 if unique ID is not found in filtered list of concrete sections or if section is currently assigned to a member
Filter ([in] EConcSectPropsFilter eConcSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of concrete sections based on given criteria.
Parameters eConcSectPropsFilter Indicates the type of filter to use on the collectionvarFilterCriteria 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
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 39/450
Get ([in] long lUID, [out, retval] IConcSectProp** ppIConcSectProp)
Gets an interface for a specific concrete section property by unique ID.
Parameters lUID The unique ID of the requested concrete sectionppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section, or NULL if no concrete
section is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IConcSectProp** ppIConcSectProp)
Gets an interface for a specific concrete section property by index.
Parameters lIndex The index into the collection of the requested concrete sectionppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of concrete sections in the collection. When the collection is filtered, this function returns the number in the filteredcollection, not the total number of concrete sections in the model. When the collection is unfiltered, this function returns the total number ofconcrete sections in the model.
Parameters plCount Number of concrete sections in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 40/450
IConcShearWallCriteria
This interface represents an object that remembers settings that have been used in RAM Concrete Shear Wall so that those settingscan be used as default values.
PropertiesType Property Get Set Description
BOOL bAutoGenSCOpeningCutAtBtm X Whether or not auto-generated section cuts include horizontal cuts above the bottoms of openings.
BOOL bAutoGenSCOpeningCutAtSides X Whether or not auto-generated section cuts include vertical cuts inside openings.BOOL bAutoGenSCOpeningCutAtTop X Whether or not auto-generated section cuts include horizontal cuts below the tops of openings.
BOOL bAutoGenSCOpeningCutsOutside X Whether or not auto-generated section cuts include cuts around the outside of openings.
BOOL bAutoGenSCPanelCutAtBtm X Whether or not auto-generated section cuts include horizontal cuts at the bottoms of walls.
BOOL bAutoGenSCPanelCutAtEnds X Whether or not auto-generated section cuts include vertical cuts at the edges of walls.
BOOL bAutoGenSCPanelCutAtTop X Whether or not auto-generated section cuts include horizontal cuts at the tops of walls.
double dAutoGenSCEdgeOffset X The distance from the edges of walls and openings to offset auto-generated section cuts.
double dAutoGenSCHorizMaxSpacing X The maximum spacing between horizontal section cuts for auto-generated section cuts, or 0.0 ifthere is no maximum.
double dAutoGenSCVertMaxSpacing X The maximum spacing between vertical section cuts for auto-generated section cuts, or 0.0 if thereis no maximum.
BSTR strConcreteCode X The unique ID of this wall bar pattern template.
IConcSlabProp
This interface represents a single concrete slab property.
PropertiesType Property Get Set Description
BOOL bUseElasticModulus X X If FALSE, uses the calculated elastic modulus for the slab. If TRUE,uses the elastic modulus from the dElasticModulus property.
double dBendingCrackedFactor X X Bending cracked factor of the concrete slab.double dDiaphragmCrackedFactor X X Diaphragm cracked factor of the concrete slab.
double dElasticModulus X X Elastic modulus of the concrete slab if bUseElasticModulus is TRUE.
double dFpc X X FPC of the concrete slab.
double dPoissonsRatio X X Poisson’s Ratio of the concrete slab.
double dSelfWeight X X Self-weight of concrete slab.
double dThickness X X Thickness of concrete slab.
double dUnitWeight X X Unit weight of the concrete slab.
long lUID X Unique ID of concrete slab property.
BSTR strLabel X X Label of concrete slab property. Limited to 19 characters.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 41/450
IConcSlabProps
This interface represents a collection of concrete slab properties defined in the model. Concrete slab properties are defined usingthis interface and then can be assigned to decks or mat foundations. In v9.0 of DataAccess, decks and mat foundations cannot yetbe added. However, the concrete slab properties defined here can be assigned to decks and mat foundations that are laid out in theRAM Modeler.
Add ([in] BSTR bstSlabName, [in] double dThick, [in] double dSelfWeight, [out, retval] IConcSlabProp** ppIConcSlabProp)
Adds a new concrete slab property.
Parameters bstSlabName Label for concrete slab property. Limited to 19 characters.dThick Thickness of concrete slabdSelfWeight Self-weight of concrete slabppIConcSlabProp 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 cannotbe deleted.
Parameters lUID Unique ID of concrete slab property to deleteplRetval 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 assignedto a deck or mat footing polygon
Get ([in] long lUID, [out, retval] IConcSlabProp** ppIConcSlabProp)
Gets an interface for a specific concrete slab property by unique ID.
Parameters lUID The unique ID of the requested concrete slab propertyppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property, or NULL if no concrete
slab property is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IConcSlabProp** ppIConcSlabProp)
Gets an interface for a specific concrete slab property by index.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 42/450
Parameters lIndex The index into the collection of the requested concrete slab propertyppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of concrete slab properties in the collection.
Parameters plCount Number of concrete slab properties in the collection
ICont inuousFnd
This interface represents a single continuous foundation. This is a continuous foundation associated with a story, rather than a floortype. This interface can be used to read data for a continuous foundation at a story. To change coordinates, use the
ILayoutContinuousFnd interface.
GetCoordinates ([out] SCoordinate* pStartCenterLinePoint, [out] SCoordinate* pEndCenterLinePoint, [out, retval] long* plRetval)
Gets the coordinates of the continuous foundation.
Parameters pStartCenterLinePoint SCoordinate corresponding to the start center point of the foundationpEndCenterLinePoint SCoordinate corresponding to the end center point of the foundationplRetval 0 if successful
-1 if coordinates cannot be retrieved
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 43/450
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetReinforcement ([out, retval] SFND_CONT_REINF* pVal)
Gets reinforcement information for continuous foundation.
Parameters pVal Structure for continuous foundation reinforcement. See SFND_CONT_REINF.
GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)
Gets additional continuous foundation reinforcement information.
Parameters pVal Structure for additional continuous reinforcement. See SFND_REINF_OTHER_DATA.
PropertiesType Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global X-axis
double dLeft X X Dimension from center of foundation to left edge defined when footing major axis is parallel to global X-axis
double dOrientation X Orientation of foundationdouble dRight X X Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-axis
double dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge defined when footing major axis is parallel to global X-axis
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type.
long lMaterialID X Unique ID of material properties for this continuous foundation. Foundation is always concrete. See sectionGetting material properties for a member for more information.
long lUID X Unique ID of the continuous footing.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 44/450
ICont inuousFnds
This interface represents a collection of continuous foundations associated with a story. While continuous foundations are added tothe ILayoutContinuousFnds interface (which is associated with a floor type), they only are considered in the 3D model at the loweststory 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 continuousfoundations at that story.
Get ([in] long lUID, [out, retval] IContinuousFnd** ppIContinuousFnd)
Gets an interface for a specific continuous foundation by unique ID.
Parameters lUID The unique ID of the requested continuous foundationppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation, or NULL if no
continuous foundation is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IContinuousFnd** ppIContinuousFnd)
Gets an interface for a specific continuous foundation by index.
Parameters lIndex The index into the collection of the requested continuous foundationppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of continuous foundations in the collection.
Parameters plCount Number of continuous foundations in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters
plCount Leave blank for public properties or enter a valid user ID to get properties.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 45/450
pplPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection ofproperties that can be associated with this member type.
ICoupl ingBeam
This interface represents a coupling beam.
GetPoints ([out,retval] IPoints **ppIPoints)
Gets an interface for the collection of points in the receiver.
Parameters ppIPoints Pointer to an IPoints interface for the points in the receiver.
GetWallBarSets ([out,retval] IWallBarSets **ppIWallBarSets)
Gets the collection of wall bar sets in the receiver.
Parameters ppIWallBarSets Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.
GetWallSectionDsnCuts ([out,retval] IWallSectionDsnCuts** ppIWallSectionDsnCuts)
Gets the collection of all design cuts in the coupling beam.
Parameters
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all design cuts in the coupling beam.
SetPoints ([in] IPoints *pIPoints , [out, retval] long* plRetval)
Sets an interface for the collection of points in the receiver.
Parameters pIPoints An IPoints interface to assign to the receiver.plRetVal 0 if points were assigned successfully.
-1 if assignment failed.
Properties
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 46/450
Type Property Get Set Description
BOOL bDesigned X X Indicates whether or not this coupling beam has been designed. BOOL bFrozen X X Indicates whether or not this coupling beam has been frozen by the user. BOOL bUseBarPattern X X Indicates if the bar pattern option is selected in the uniform layout option
BOOL bUseUniformLayout X X Indicates if the uniform layout option is selected
double dBotLongRowSpacing X X Spacing of the bottom longitudinal bars in the nonuniform layout option
double dDiagElementHeight X X Distance between outer edges of diagonal longitudinal bars
double dDiagElementWidth X X Distance between outer edges of diagonal longitudinal bars
double dDiagTieSpacing X X Tie spacing for diagonal reinforcment
double dLongBarSpacing X X Spacing of the horizontal bars in the uniform layout optiondouble dSideBarSpacing X X Spacing of the side bars in the nonuniform layout option
double dStirrupSpacing X X Spacing of the transverse bars in the nonuniform layout option
double dTopLongRowSpacing X X Spacing of the top longitudinal bars in the nonuniform layout
double dTransBarSpacingUniform X X Spacing of the transverse bars in the uniform layout option
long lBotLongBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
long lDiagReinfSize X X Index of the bar size in the rebar table for the diagonal longitudinal bars
long lDiagTieSize X X Index of the bar size in the rebar table for the diagonal tie bars
long lLongBarSize X X Index of the bar size in the rebar table for the horizontal bars in the uniform layout option
long lNumBotLongBarRows X X Number of bottom layers of reinforcing in the nonuniform layout option
long lNumBotLongBars X X Number of bottom bars in each layer of reinforcing in the nonuniform layout option
long lNumDiagBarsSide X X Number of diagonal longitudinal bars at sideslong lNumDiagBarsTopAndBot X X Number of diagonal longitudinal top and bottom bars
long lNumLayers X X Number of layers of reinforcing in the uniform layout option
long lNumTopLongBarRows X X Number of top layers of reinforcing in the nonuniform layout option
long lNumTopLongBars X X Number of top bars in each layer of reinforcing in the nonuniform layout option
long lSideBarSize X X Index of the bar size in the rebar table for the side bars in the nonuniform layout option
long lStirrupSize X X Index of the bar size in the rebar table for the transverse bars in the nonuniform layout option
long lStirrupSizeUniform X X Index of the bar size in the rebar table for the vertical bars in the uniform layout option
long lTopLongBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
long lUID X The unique ID of the coupling beam
ICoupl ingBeamCriter ia
This interface represents global coupling beam reinforcing criteria.
PropertiesType Property Get Set Description
BOOL bUseBarPattern Indicates if the bar pattern option is selected in the uniform layout option
BOOL bUseUniformLayout X X Indicates if the uniform layout option is selected
DOUBLE dBotLayerSpacing X X Spacing of the bottom longitudinal bars in the nonuniform layout option
DOUBLE dDiagElementHeight X X Distance between outer edges of diagonal longitudinal bars
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 47/450
Type Property Get Set Description
DOUBLE dDiagElementWidth X X Distance between outer edges of diagonal longitudinal bars
DOUBLE dDiagTieSpacing X X Tie spacing for diagonal reinforcment
DOUBLE dLongBarSpacing X X Spacing of the horizontal bars in the uniform layout option
DOUBLE dSideBarSpacing X X Spacing of the side bars in the nonuniform layout option
DOUBLE dStirrupSpacing X X Spacing of the transverse bars in the nonuniform layout option
DOUBLE dStirrupSpacingUniform X X Spacing of the transverse bars in the uniform layout option
DOUBLE dTopLayerSpacing X X Spacing of the top longitudinal bars in the nonuniform layout
LONG lBotBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
LONG lDiagLongBarSize X X Index of the bar size in the rebar table for the diagonal longitudinal barsLONG lDiagTieSize X X Index of the bar size in the rebar table for the diagonal tie bars
LONG lLongBarSize X X Index of the bar size in the rebar table for the horizontal bars in the uniform layout option
LONG lNumBotBars X X Number of bottom bars in each layer of reinforcing in the nonuniform layout option
LONG lNumBotLayers X X Number of bottom layers of reinforcing in the nonuniform layout option
LONG lNumDiagBarsSide X X Number of diagonal longitudinal bars at sides
LONG lNumDiagBarsTopBot X X Number of diagonal longitudinal top and bottom bars
LONG lNumLayers X X Number of layers of reinforcing in the uniform layout option
LONG lNumTopBars X X Number of top bars in each layer of reinforcing in the nonuniform layout option
LONG lNumTopLayers X X Number of top layers of reinforcing in the nonuniform layout option
LONG lSideBarSize X X Index of the bar size in the rebar table for the side bars in the nonuniform layout option
LONG lStirrupSize X X Index of the bar size in the rebar table for the transverse bars in the nonuniform layout optionLONG lStirrupSizeUniform X X Index of the bar size in the rebar table for the vertical bars in the uniform layout option
LONG lTopBarSize X X Index of the bar size in the rebar table for the top longitudinal bars in the nonuniform layout option
ICoupl ingBeams
This interface represents a collection of ICouplingBeam objects.
Add ([out,retval] ICouplingBeam** ppICouplingBeam)
Adds a new wall panel to the receiver.
Parameters ppICouplingBeam Pointer to an ICouplingBeam interface that represents the newly added coupling beam.
Clear ()
Deletes all coupling beams from the collection.
Delete ([in] long lUID)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 48/450
Deletes a coupling beam for a specific unique ID from the collection.
Parameters lUID Unique ID of the coupling beam to delete.
DeleteAt ([in] long lIndex)
Deletes a coupling beam for a specific index from the collection.
Parameters lPanelID Index of the coupling beam to delete.
Get ([in] long lUID, [out, retval] IWallPanel ** ppIWallPanel)
Gets an interface for a specific coupling beam unique ID.
Parameters
lUID The unique ID of the requested wall panel.ppICouplingBeam Pointer to an ICouplingBeam interface that represents the requested coupling beam, or NULL if no coupling beam isfound in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ICouplingBeam ** ppICouplingBeam)
Gets an interface for a specific coupling beam by index.
Parameters lIndex The index into the collection of the requested coupling beam.ppICouplingBeam Pointer to an ICouplingBeam interface that represents the requested coupling beam, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall panels in the receiver.
Parameters plCount The number of IWallPanel objects in the collection.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 49/450
IDB
Internal use only.
IDBRecord
Internal use only.
IDBRecords
Internal use only.
IDBTable
Internal use only.
IDBTables
Internal use only.
IDeck
This interface represents a specific deck on a floor type.
GetFinalPolygon ([in] LONG lStoryUID, [in] LONG lIndex, [out,retval] IPoints** ppIPoints)
Gets the specified final polygon for this deck. Note that exterior polygons are at the beginning of this list. The return value fromGetNumFinalDiaphragms (plCount) determines how many of these polygons are exterior polygons. The first plCount polygons in this listare the exterior ones.
Parameters lStoryUID The story ID of the story for which to get the polygon.lIndex Index of the polygon to get.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 50/450
plCount Pointer to IPoints collection that represents the vertices of the specified polygon.
GetFinalShells ([in] LONG lStoryUID, [out] IShells **ppIShells)
Gets the collection of shells (quads) that make up this deck.
Parameters lStoryUID The story ID of the story for which to get the shells.
ppIShells Pointer to IShells collection that represents the shells of the deck.
GetNumFinalDiaphragms ([in] LONG lStoryUID, [out,retval] LONG* plCount)
Gets the number of final exterior polygons needed to specify the outline of this deck.
Parameters lStoryUID The story ID of the story for which to get the polygon count.plCount Number of final exterior polygons.
GetNumFinalPolygons ([in] LONG lStoryUID, [out,retval] LONG* plCount)
Gets the number of final polygons needed to specify the outline of this deck. Note that this number includes both the interior and exteriorpolygons. Interior polygons specify holes in the deck.
Parameters lStoryUID The story ID of the story for which to get the polygon count.plCount Number of final polygons.
GetPoints ([out, retval] IPoints** ppIPoints)
Gets the list of points, or vertices, that define the deck polygon. Changing these points does not affect the deck unless SetPoints() issubsequently called.
Parameters ppIPoints Pointer to IPoints collection that represents the vertices of the deck polygon. Note that these are the points in the
logical deck polygon, prior to being intersected with slab edges or having overlying deck areas subtracted. Additionally, the Z values are not populated with valid data.
SetPoints ([in] IPoints* pIPoints, [out, retval] long* plRetval)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 51/450
Sets the list of points, or vertices, that define the deck polygon. The number of vertices cannot change. The first and last point must beidentical.
Parameters pIPoints Pointer to IPoints collection that represents the vertices of the deck polygon.plRetval 0 if successful
Properties
Type Property Get Set DescriptionBOOL bDropCap X Flag indicating whether or not this deck was modeled as a drop cap.
double dAngle X X Orientation of deck
EDeckType eDeckPropType X Type of deck, either composite, non-composite or concrete
ESlabActions eSlabAction X X The slab action for this deck (one-way or two-way).
long lDropCapColumnID X The unique ID of the column associated with the drop cap
long lPropID X Unique ID of the deck property
long lUID X Unique ID of deck polygon
IDecksThis interface represents a collection of all decks on a floor type.
Add ([in] long lDeckPropID, [in] long lNumPoints, [out, retval] IDeck** ppIDeck)
Adds a new deck to the collection of decks for the model.
Parameters lDeckPropID Unique ID of deck property used by this decklNumPoints Number of points in the deck polygon. The first and last points of the polygon must be the same point, so the
number of points should be the actual number in the polygon plus one.ppIDeck Pointer to an IDeck interface that represents the new deck, or NULL if Add fails
AddDropCap ([in] long lDeckPropID, [in] long lNumPoints, [in] lColumnID, [out, retval] IDeck** ppIDeck)
Adds a new deck to the collection of decks for the model.
Parameters lDeckPropID Unique ID of deck property used by this decklNumPoints 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 52/450
lColumnID Unique ID of the column associated with the drop capppIDeck Pointer to an IDeck interface that represents the new deck, or NULL if Add fails
Delete ([in] long lDeckUID, [out, retval] LONG *plRetval)
Deletes the deck with the given unique ID from the collection.
Parameters
lDeckUID Unique ID of the deck to deleteplRetval If deletion fails (lDeckUID not found) this is set to a value less than zero. Otherwise, it is set to 0.
DeleteAt ([in] long lIndex, [out, retval] LONG *plRetval)
Deletes the deck at the given index from the collection.
Parameters lIndex Index in the collection of the deck to delete
Filter ([in] EDeckFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
Filters the collection of decks based on given criteria.
Parameters eFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IDeck** ppIDeck)
Gets an interface for a specific deck by unique ID.
Parameters lUID The unique ID of the requested deckppIDeck Pointer to an IDeck interface that represents the requested deck, or NULL if no deck is found in the collection with
the given unique ID. If the collection is filtered, only the decks in the filtered collection are considered.
GetAt ([in] long lIndex, [out, retval] IDeck** ppIDeck)
G t i t f f ifi d k b i d
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 53/450
Gets an interface for a specific deck by index.
Parameters lIndex The index into the collection of the requested deckppIDeck Pointer to an IDeck interface that represents the requested deck, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of decks in the collection. When the collection is filtered, this function returns the number in the filtered collection, not thetotal number of decks on the floor type. When the collection is unfiltered, this function returns the total number of decks on a floor type.
Parameters plCount Number of decks in the collection
IDeckTableEntries
This interface is used to hold a collection of IDeckTableEntry objects.
GetAt ([in] long lIndex, [out, retval] IDeckTableEntry** ppIDeckTableEntry)
Gets the IDeckTableEntry object at the specified index.
Parameters lIndex The index of the specified deck table entry.ppIDeckTableEntry The IDeckTableEntry object at the specified index.
GetCount ([out,retval] long** plCount)
Gets number of IDeckTableEntry objects in the collection.
Parameters plCount The number of IDeckTableEntry objects in the collection.
IDeckTableEntry
This interface is used represent an entry in the model’s composite decking table. Refer to the RAM Manager manual for a more detailed description of the properties.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 54/450
PropertiesType Property Get Set Description
DOUBLE dABD X Area of concrete in the rib per unit deck width
DOUBLE dRSpac X Rib spacing
DOUBLE dTD X Nominal rib height
DOUBLE dWR X Average rib width
DOUBLE dYBar2 X Distance from the bottom of the deck to the centroid of the concrete area dABD
BSTR strDeckName X The name of the decking.
IDiaphragm
This interface represents a single diaphragm. The diaphragm is defined by the slab edge and is a construct utilized in RAM Frameand RAM Concrete to enforce nodal constraint for all nodes within the diaphragm.
GetPointLoads ([in] EAnalysisResultType eAnalysisType, [in] long lLoadCaseID, [out,retval] IPointLoads** ppIPointLoads)
Gets the collection of point loads on this diaphragm.
Parameters eAnalysisType The analysis type (As of v10 only RAMFRAMEResultType is supported)lLoadCaseID Unique ID for the load case the diaphragm applied loads are associated with.ppIPointLoads Pointer to an IPointLoads collection interface that represents the point loads on the diaphragm.
Collection will return a collection of 1 for typical generated story force on rigid diaphragm.
GetShells ([in] EAnalysisResultType eAnalysisType, [out, retval] IShells** ppIShells)
Gets the collection of shells (quads) for this diaphragm.
Parameters eAnalysisType The analysis type (As of v10 only RAMFRAMEResultType is supported)lLoadCaseID Unique ID for the load case the diaphragm applied loads are associated with.ppIPointLoads Pointer to an IPointLoads collection interface that represents the point loads on the diaphragm.
Collection will return a collection of 1 for typical generated story force on rigid diaphragm.
PropertiesType Property Get Set Description
BOOL bSkipSurfaceLoad X X Skip surface load polygon edges as constraints while meshing
T P t G t S t D i ti
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 55/450
Type Property Get Set Description
double dAdvMeshShapeQualValue X X This parameter controls the trade-off between shape optimization andsize optimization. It is the weight of the shape quality in the measureof the global quality of an element. The default value (0.6) gives aslight preference to the shape quality over the size quality.
double dAdvMeshSizeRatio X X This ratio is used to get a coarser mesh (for ratio > 1) or a finer mesh(for ratio < 1) than what the mesher would normally produce. Defaultvalue is 1.0.
double dAdvNormEdgeLengthRatio X X This parameter is used to limit the length of the edges in the
generated mesh (normalized length). This is not a strict enforcementhowever. Most of the edges will be shorter than this limit, but somemay remain somewhat longer. The default value of 1.414 gives theoptimal meshes with respect to the size qualities. With this defaultvalue, the average edge length tends to be 1 (optimal edge quality onaverage). Sometimes, it can be useful to limit the length of the edgesto a shorter value (usually between 1 and 1.414), and to accept anaverage value smaller than 1 (sub-optimal edge qualities on average).
double dHardNodeDensityFactor X X Factor for mesh density around a hard node, larger is less dense,default 1.0.
double dMaxMeshLength X X It allows defining the maximum distance between two nodes along amesh edge. Note that the program may generate additional nodes
closer than user entered value, but it is never allowed to be largerthan that value.
double dMergeNodeTolerance X X Any two mesh nodes found to be smaller than this value, the programtreat these two nodes the same (only keeps one copy of the node)
double dMeshTolerance X X It is used in geometry calculation as a threshold tolerance value. Thisshould not be confused with a merge (close) node tolerance.Examples are as follows: it is used as a tolerance to check a node ison a line or to check a point is inside a polygon, etc...
EDiaphragmDeckDirTypes eContainedDeckDirections X Snapshot of the different deck directions contained in the diaphragm.
long lAdvMeshOptimizationLevel X X From value 1 on, the optimizer algorithm uses several techniques toimprove both the shape quality and the size quality of the elements,such as node smoothing, edge swapping, and node insertion. Default
value of 3 is usually a good compromise between quality and CPUcost.
long lPerimeterID X The perimeter ID of this diaphragm. Note: for diaphragms createdusing eDSModelData as the value of eSource inIStory::GetDiaphragms2, this will be the same as the unique ID.
long lUID X Unique ID of diaphragm.
IDiaphragms
This interface represents a collection of all diaphragms associated with a story.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 56/450
Get ([in] long lUID, [out, retval] IDiaphragm** ppIDiaphragm)
Gets an interface for a specific diaphragm by unique ID.
Parameters lUID The unique ID of the requested diaphragmppIDiaphragm Pointer to an IDiaphragm interface that represents the requested diaphragm, or NULL if no diaphragm is found in
the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IDiaphragm** ppIDiaphragm)
Gets an interface for a specific diaphragm by index.
Parameters lIndex The index into the collection of the requested diaphragm ( 0 to Count -1 )ppIDiaphragm Pointer to an IDiaphragm interface that represents the requested diaphragm, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of diaphragms in the collection.
Parameters plCount Number of diaphragms in the collection
IField
Internal use only.
IFields
Internal use only.
IFi lW llO i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 57/450
IFinalWallOpening
This interface represents a single final wall opening, which is an opening clipped to a specific wall.
GetOpeningVertices ([out,retval] IPoints** ppIVertexCoordinates)
Gets the vertices of the opening clipped to the wall polygon.
Parameters ppIVertexCoordinates Pointer to an IPoints collection interface which represents the locations of thevertices of the opening in 3D coordinates.
PropertiesType Property Get Set Description
long lRawOpeningUID X Unique ID of raw wall opening from which this this clipped opening originated
long lWallUID X Unique ID of wall to which this final opening is clipped
IFinalWallOpeningsThis interface represents a collection of final wall openings associated with a wall. Final openings are the collection of openings thatintersect a wall, regardless of which wall into the openings were initially modeled.
Get ([in] long lUID, [out, retval] IFinalWallOpening** ppIFinalWallOpening)
Gets an interface for a specific raw wall opening by unique ID.
Parameters lUID The unique ID of the requested wall opening
ppFinalWallOpening Pointer to an IFinalWallOpening interface that represents the requested final wall opening, or NULL if no wallopening is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IFinalWallOpening** ppIFinalWallOpening)
Gets an interface for a final wall opening by index.
Parameters lIndex The index into the collection of the requested final wall openingppIRawWallOpening Pointer to an IFinalWallOpening interface that represents the requested final wall opening, or NULL if lIndex is
invalid.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 58/450
GetCount ([out, retval] long* plCount)
Gets the number of wall openings in the collection.
Parameters plCount Number of final wall openings in the collection
IFloorType
This interface represents a single floor type in the model.
GetAllSlabEdges ([out, retval] ISlabEdges** ppISlabEdges)
Gets the collection of all slab edges for this floor-type. Unlike the edges returned from ISlabPerimeter::GetEdges, this collection is editable.
Parameters
ppISlabEdges Pointer to an ISlabEdges collection interface that represents all the edges present on this floor type.Note that some of them may not belong to any defined perimeter if they do not form complete closedshapes.
GetAllSlabOpenings ([out, retval] ISlabEdges** ppISlabOpenings)
Gets the collection of all slab opening edges for this floor-type. Unlike the opening edges returned from ISlabOpening::GetEdges, thiscollection is editable.
Parameters
ppISlabOpenings Pointer to an ISlabEdges collection interface that represents all the opening edges present on this floortype. Note that some of them may not belong to any defined opening if they do not form completeclosed shapes.
GetDecks ([out, retval] IDecks** ppIDecks)
Gets the collection of all decks for this floor type.
Parameters ppIDecks Pointer to an IDecks collection interface that represents all decks defined on this floor type
GetGridSystemIDArray ([out retval] IDAArray** ppIDAArray)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 59/450
GetGridSystemIDArray ([out, retval] IDAArray ppIDAArray)
Gets the collection of unique IDs of grid systems that are assigned to this floor type.
Parameters ppIDAArray Pointer to an IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor
type.
GetLayoutBeams ([out, retval] ILayoutBeams** ppILayoutBeams)
Gets the collection of all beams for this floor type.
Parameters ppILayoutBeams Pointer to an ILayoutBeams collection interface that represents all beams defined on this floor type
GetLayoutColumns ([out, retval] ILayoutColumns** ppILayoutColumns)
Gets the collection of all columns for this floor type.
Parameters ppILayoutColumns Pointer to an ILayoutColumns collection interface that represents all columns defined on this floor type
GetLayoutContinuousFnds ([out, retval] ILayoutContinuousFnds** ppILayoutContinuousFnds)
Gets the collection of all continuous foundations for this floor type.
Parameters ppILayoutContinuousFnds Pointer to an ILayoutContinuousFnds collection interface that represents all continuous foundations defined on
this floor type
GetLayoutHorizBraces ([out, retval] ILayoutHorizBraces** ppILayoutHorizBraces)
Gets the collection of all horizontal braces for this floor type.
Parameters ppILayoutHorizBraces Pointer to an ILayoutHorizBraces collection interface that represents all horizontal braces defined on this floor type
GetLayoutIsolatedFnds ([out, retval] ILayoutIsolatedFnds** ppILayoutIsolatedFnds)
Gets the collection of all isolated foundations for this floor type
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 60/450
Gets the collection of all isolated foundations for this floor type.
Parameters ppILayoutIsolatedFnds Pointer to an ILayoutIsolatedFnds collection interface that represents all isolated foundations defined on this floor
type
GetLayoutWalls ([out, retval] ILayoutWalls** ppILayoutWalls)
Gets the collection of all walls for this floor type.
Parameters ppILayoutWalls Pointer to an ILayoutWalls collection interface that represents all walls defined on this floor type
GetLineLoadSets (ILineLoadSets ** ppLineLoadSets )Gets the collection of all line load sets for this floor type.
Parameters ppLineLoadSets Pointer to an ILineLoadSets collection interface that represents all line load sets defined on this floor type
GetPointLoadSets (IPointLoadSets** ppPointLoadSets )
Gets the collection of all point load sets for this floor type.
Parameters ppPointLoadSets Pointer to an IPointLoadSets collection interface that represents all point load sets defined on this floor type
GetSlabOpenings ([out, retval] ISlabOpenings** ppISlabOpenings)
Gets the collection of all slab openings for this floor type.
Parameters ppISlabOpenings Pointer to an ISlabOpenings collection interface that represents all slab openings defined on this floor type
GetSlabPerimeters ([out, retval] ISlabPerimeters** ppISlabPerimeters)
Gets the collection of all slab perimeters for this floor type.
Parameters
ppISlabPerimeters Pointer to an ISlabPerimeters collection interface that represents all slab perimeters defined on this floor type
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 61/450
ppISlabPerimeters Pointer to an ISlabPerimeters collection interface that represents all slab perimeters defined on this floor type
GetSnowLoadSets ([out, retval] ISnowLoadSets **ppSnowLoadSets)Gets the collection of all snow load sets for this floor type.
Parameters ppSnowLoadSets Pointer to an ISnowLoadSets collection interface that represents all snow load sets defined on this floor type.
GetStories ([out, retval] IStories** ppIStories)
Gets the collection of all stories associated with this floor type. May be 0, 1 or many.
Parameters ppIStories Pointer to an IStories collection interface that represents all stories based on this floor type
GetSurfaceLoadSets (ISurfaceLoadSets **ppSurfaceLoadSets) Gets the collection of all surface load sets for this floor type.
Parameters ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor type.
GetSurfaceLoadSets2 ([out, retval] ISurfaceLoadSets **ppSurfaceLoadSets)Gets the collection of all surface load sets for this floor type. Note: this is the same as GetSurfaceLoadSets, but with theppSurfaceLoadSets argument set to be a retval.
Parameters
ppSurfaceLoadSets Pointer to an ISurfaceLoadSets collection interface that represents all surface load sets defined on this floor type.
SetGridSystemIDArray ([in] IDAArray * pIDAArray, [out, retval] long *plRetVal)
Sets the collection of unique IDs of grid systems that are assigned to this floor type.
Parameters pIDAArray Pointer to an IDAArray collection interface that represents the unique IDs of all grid systems assigned to this floor
type.plRetVal 0 if collection is set
PropertiesType Property Get Set Description
long lUID X Unique ID of floor type
BSTR strLabel X X Label of floor type. Maximum of 19 characters allowed.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 62/450
BSTR strLabel X X Label of floor type. Maximum of 19 characters allowed.
IFloorTypes
This interface represents a collection of all floor types for the model. It can be used to add and delete floor types.
Add([in] BSTR bstrFloorTypeName, [out, retval] IFloorType** ppFloorType)
Adds a new floor type to the collection of floor types for the model.
Parameters bstrFloorTypeName A label for the floor type. Max 19 characters allowed.ppFloorType Pointer to an IFloorType interface that represents the newly added floor type.
Copy ([in] long lSrcIndex, [in] BSTR strFloorTypeName, [in] DWORD dwWhatToCopy, [out, retval] IFloorType** ppFloorType)
Creates a duplicate copy of the specified floor type.
Parameters lScrIndex Index of the floor type to copy.bstrFloorTypeName A label for the new floor type. Max 19 characters allowed.dwWhatToCopy Bitwise OR of members of the EFloorTypeElements enumeration indicating what portions of the floor type should
be copied.ppFloorType Pointer to an IFloorType interface that represents the newly added floor type.
Copy2 ([in] long lSrcIndex, [in] BSTR strFloorTypeName, [in] LONG lWhatToCopy, [out, retval] IFloorType** ppFloorType)
Creates a duplicate copy of the specified floor type.
Parameters lScrIndex Index of the floor type to copy.bstrFloorTypeName A label for the new floor type. Max 19 characters allowed.lWhatToCopy Bitwise OR of members of the EFloorTypeElements enumeration indicating what portions of the floor type should
be copied.ppFloorType Pointer to an IFloorType interface that represents the newly added floor type.
Delete ([in] long lUID, [out, retval] long* plRetval )
Deletes a floor type from the collection. The floor type must be in the filtered collection to be deleted. Note that a floor type that is
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 63/450
e e es a oo ype o e co ec o e oo ype us be e e ed co ec o o be de e ed o e a a oo ype a sassociated with a story cannot be deleted. All stories associated with the floor type must be deleted first.
Parameters lUID Unique ID of floor type to be deletedplRetval 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 oneor more stories.
Filter ([in] EFloorTypeFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval )
Filters the collection of floor types based on given criteria.
Parameters eFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IFloorType** ppFloorType )
Gets an interface for a specific floor type by unique ID.
Parameters lUID The unique ID of the requested floor typeppFloorType Pointer to an IFloorType interface that represents the requested floor type, or NULL if no floor type is found in the
collection with the given unique ID. If the collection is filtered, only the floor types in the filtered collection are considered.
GetAt ([in] long lIndex, [out, retval] IFloorType** ppFloorType )
Gets an interface for a specific floor type by index.
Parameters lIndex The index into the collection of the requested floor typeppFloorType Pointer to an IFloorType interface that represents the requested floor type, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount )
Gets the number of floor types in the collection. When the collection is filtered, this function returns the number in the filtered collection, not
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 64/450
yp , ,the total number of floor types in the model. When the collection is unfiltered, this function returns the total number of floor types in themodel.
Parameters plCount Number of floor types in the collection
MSIWorkaround_ EFloorTypeElements _DO_NOT_CALL ()
Internal use only.
IFrameAnalysisCriteria
This interface provides access to frame analysis criteria used during an analysis in RAM Frame. Replaced by IRAMFrameCriteria.
PropertiesType Property Get Set Description
BOOL bConsiderAdvancedMeshCriteria X X Indicates whether to consider advanced wall meshing criteria. If it is False, default meshcriteria values are used.
BOOL bConsiderPDelta X X TRUE if PDelta effect should be considered during analysis, FALSE if notBOOL bOutputForcesAtFace X X Same as option in RAM Frame Analysis Criteria Dialog. Indicates whether forces should
be provided at the face of the column/beam or at the centerline nodedouble dMeshMaxDistBetweenNodes X X Maximum allowed distance between wall mesh nodes between nodes on walls when
walls are meshed. It controls the wall mesh density (ie., how coarse or fine the mesh is).double dMeshShapeQualityRatio X X Advanced wall mesh shape quality ratio (between 0.1 and 1). The Default is 0.6.
double dPDeltaFactor X X Scale factor (between 0 and 10) to magnify the effect of PDelta during the analysis. TheDefault is 1.
EDiaphragm eDiaphragmType X X Type of diaphragms in model. Will be eNoDiaphragm if no stories have diaphragms. Will
be eRigidDiaphragm if some stories have rigid diaphragmslong lMeshOptimizationLevel X X Advanced wall mesh optimization level (between 1 and 10). The Default is 3.
IGridSystem
This interface represents a single grid system.
GetGrids ([out, retval] IModelGrids ** ppIGrids)
Gets the collection of grid lines for the grid system.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 65/450
g g y
Parameters ppIGrids Pointer to an IModelGrids interface that represents the collection of grids for the grid system.
PropertiesType Property Get Set Description
double dRotation X X Rotation angle of grid system.
double dXoffset X X Offset of grid system from 0, along x-axis.double dYoffset X X Offset of grid system from 0, along y-axis.
SGridSysType eOrientationType X X Orientation type of grid system.
long lUID X Unique ID of grid system.
BSTR strLabel X X Label of grid system.
IGridSystems
This interface represents the collection of all grid systems defined in the model. Grid systems are defined once and then assigned toone or more floor types.
Add ([in] BSTR bstGridSystemLabel, [out, retval] IGridSystem** ppIGridSystem )
Adds a grid system to the collection of grid systems for the model.
Parameters bstGridSystemLabel Label for this grid systemppIGridSystem Pointer to an IGridSystem interface that represents the newly added grid system.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the grid system with the given unique ID. Note that a grid system cannot be deleted if it is currently assigned to a floor type.
Parameters lUID Unique ID of grid system to deleteplRetval 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 66/450
Parameters eGridSystemFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IGridSystem** ppIGridSystem)
Gets an interface for a specific grid system by unique ID.
Parameters lUID The unique ID of the requested grid systemppIGridSystem Pointer to an IGridSystem interface that represents the requested grid system, or NULL if no grid system is found in
the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IGridSystem** ppIGridSystem)
Gets an interface for a specific grid system by index.
Parameters lIndex The index into the collection of the requested grid systemppIGridSystem Pointer to an IGridSystem interface that represents the requested grid system, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of grid systems in the collection. When the collection is filtered, this function returns the number in the filtered collection,not the total number of layout grid systems in the model. When the collection is unfiltered, this function returns the total number of gridsystems in the model.
Parameters plCount Number of grid systems in the collection
IHorizBrace
This interface represents a single horizontal brace. This is a horizontal brace associated with a story, rather than a floor type. Thisinterface can be used to read data for a horizontal brace at a story. To change coordinates, use the ILayoutHorizBrace interface.
GetEndCoordinates ([out] SCoordinate* pStartPoint, [out] SCoordinate* pEndPoint, [out, retval] long* plRetval)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 67/450
Gets the end coordinates for the horizontal brace.
Parameters pStartPoint SCoordinate corresponding to the start of the horizontal bracepEndPoint SCoordinate corresponding to the end of the horizontal braceplRetval 0 if successful
-1 if coordinates cannot be retrieved
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
PropertiesNote that some properties of horizontal braces cannot be changed through the IHorizBrace interface. Any properties which cannot
vary story-to-story when a floor type is used by multiple stories must be set through the ILayoutHorizBrace interface.
Type Property Get Set Description
BOOL bDblAngleLLBacktoBack X X Applies to a steel horizontal brace that has been assigned a double angle section.If TRUE, long legs of double angle are back to back. If FALSE, short legs areback to back.
BOOL bDblAngleSnugTightBolt X X Applies to a steel horizontal brace that has been assigned a double angle section.TRUE indicates that only a snug tight connector will be used.
BOOL bMajAxisBendFixEnd X X Major axis bending release at end of horizontal brace (j-end).
BOOL bMajAxisBendFixStart X X Major axis bending release at start of horizontal brace (i-end).
BOOL bMinAxisBendFixedEnd X X Minor axis bending release at end of horizontal brace (j-end).
BOOL bMinAxisBendFixedStart X X Minor axis bending release at start of horizontal brace (i-end).
Type Property Get Set Description
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 68/450
BOOL bSglAngleLLHorizontal X X Applies to a steel horizontal brace that has been assigned a single angle section.TRUE indicates that the long leg of the angle is horizontal. FALSE indicates thatthe long leg is vertical.
BOOL bTorFixedEnd X X Torsion release at end of horizontal brace (j-end).
BOOL bTorFixedStart X X Torsion release at start of horizontal brace (i-end).
double dDblAngleBackSpacing X X Spacing distance between angles of double angle section. Applies to a steelhorizontal brace that has been assigned a double angle section.
double dUnbracedLengthAxialX X X Strong axis unbraced length for axial compression
double dUnbracedLengthAxialY X X Weak axis unbraced length for axial compressiondouble dUnbracedLengthFlexuralY X X Unbraced length for lateral torsional buckling
ETensionCompressionMemType eAnalysisType X X Indicates whether horizontal brace takes tension, compression, or both
EMATERIALTYPES eMaterial X Material type of horizontal brace. Valid options for horizontal braces areESteelMat, EConcreteMat, or EOtherMat.
long lFlangeBracing X X Flange bracing flags. Sum the appropriate flags to determine the appropriatevalue for the settings.0 – All global1 – Override global2 – Top flange braced4 – Bot flange braced
long lFrameNumber X X Frame number assigned
long lLabel X Numeric label of horizontal brace used for on-screen display in RAM StructuralSystem. It is unique per floor type.
long lMaterialID X Unique ID of material properties for this horizontal brace. Must correspond totype of material. See section Getting material properties for a member for moreinformation.
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this horizontal brace. See Assigning section properties to concrete members and Assigning sectionproperties to ‘Other’ members for more information.
long lUID X Unique ID of horizontal brace.
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriatevalue for the settings.0 – All global
1 – Override global UnbracedLengthAxialLX2 – Override global UnbracedLengthAxialLY4 – User defined UnbracedLengthAxialLX8 – User defined UnbracedLengthAxialLY32 – Override global UnbracedLengthFlexLY128 – User defined UnbracedLengthFlexLY
BSTR strSectionLabel X X Label of the size or section property for this horizontal brace. Limited to 15characters. See Assigning sizes to steel members, Assigning section propertiesto concrete members, and Assigning section properties to ‘Other’ members formore information.
IHorizBraces
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 69/450
This interface represents a collection of horizontal braces associated with a story. This collection can be used to read data forhorizontal braces at a story. To add or delete horizontal braces, use the ILayoutHorizBraces interface associated with a floor type.
Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout horizontal braces based on given criteria.
Parameters eFilter Indicates the type of filter to use on the collectionvarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IHorizBrace** ppIHorizBrace)
Gets an interface for a specific horizontal brace by unique ID.
Parameters lUID The unique ID of the requested layout horizontal braceppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace, or NULL if no horizontal brace is
found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IHorizBrace** ppIHorizBrace)
Gets an interface for a specific horizontal brace by index.
Parameters lIndex The index into the collection of the requested horizontal braceppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of horizontal braces in the collection. When the collection is filtered, this function returns the number in the filteredcollection, not the total number of horizontal braces on the story. When the collection is unfiltered, this function returns the total number ofhorizontal braces on the story.
Parameters plCount Number of horizontal braces in the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 70/450
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with thismember type
IIsolatedFnd
This interface represents a single isolated foundation. This is an isolated foundation associated with a story, rather than a floor type.This interface can be used to read data for an isolated foundation at a story. To change coordinates, use the ILayoutIsolatedFnd interface.
GetCoordinate ([out] SCoordinate* pCenterPoint, [out, retval] long* plRetval)
Gets the coordinate of the isolated foundation.
Parameters pCenterPoint SCoordinate corresponding to the center point of the isolated foundationplRetval 0 if successful
-1 if coordinate cannot be retrieved
GetPileLocations ([out, retval] IPoints** ppIPoints)
Applies to pile cap foundations. Gets a collection of points that represent the location of the piles relative to the center point of the footing.
Parameters ppIPoints Pointer to an IPoints interface that represents the location of the piles in the pile cap.
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user( t t i l t d)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 71/450
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetReinforcement ([in] EFndReinfLoc eLoc, [out, retval] SFND_ISO_REINF* pVal)
Gets isolated foundation reinforcement for location.
Parameters eLoc Location of reinforcement. See EFndReinfLoc.pVal Structure containing reinforcement information. See SFND_ISO_REINF.
GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)
Gets additional reinforcement information.
Parameters pVal Structure for additional reinforcement information. See SFND_REINF_OTHER_DATA.
PropertiesType Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge of footing when footing major axis is parallelto global X-axis
double dLeft X X Dimension from center of foundation to left edge of footing when footing major axis is parallel toglobal X-axis
double dOrientation X X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge of footing when footing major axis is parallel toglobal X-axis
double dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge of footing when footing major axis is parallel toglobal X-axis
EIsolatedFndType eType X X Type of isolated foundation (i.e. spread footing, pile cap)
Type Property Get Set Description
long lLabel X Numeric label of foundation used for on screen display in RAM Structural System It is unique per
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 72/450
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique perfloor type.
long lMaterialID X Unique ID of material properties for this isolated foundation. Foundation is always concrete. Seesection Getting material properties for a member for more information.
long lPileConfigurationID X X ID of pile configuration assigned to this foundation; only applies if eType is EFndPileCap. Fromthe IModel interface, call GetPileConfiguration() using this ID to get the interface for the pileconfiguration associated with this pile cap footing.
long lPileID X X ID of pile type assigned to this foundation; only applies if eType is EFndPileCap. From the IModel
interface, call GetPile() using this ID to get the interface for the pile definition associated with thispile cap footing.
long lUID X Unique ID of isolated foundation.
IIsolatedFnds
This interface represents a collection of isolated foundations (foundations that sit under a single column) associated with a story.While isolated foundations are added to the ILayoutIsolatedFnds interface (which is associated with a floor type), they only areconsidered 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 willyield an empty IIsolatedFnds collection, but from the IStory associated with the bottom story, the IIsolatedFnds collection willrepresent all the isolated foundations at that story.
Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of isolated foundations based on given criteria.
Parameters eIsolatedFndFilter Indicates the type of filter to use on the collectionvarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IIsolatedFnd** ppIIsolatedFnd)
Gets an interface for a specific isolated foundation by unique ID.
Parameters lUID The unique ID of the requested isolated foundationppIIsolatedFnd 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 73/450
GetAt ([in] long lIndex, [out, retval] IIsolatedFnd** ppIIsolatedFnd)
Gets an interface for a specific isolated foundation by index.
Parameters lIndex The index into the collection of the requested isolated foundation
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the requested isolated foundation, or NULL if lIndex isinvalid.
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 filteredcollection, not the total number of isolated foundations on the story. When the collection is unfiltered, this function returns the total numberof isolated foundations on the story.
Parameters plCount Number of isolated foundations in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
ILayoutBeam
This interface represents a single layout beam. A layout beam is a beam associated with a floor type. Since a floor type can beassociated with one or more stories, a layout beam may actually represent one or more beams. This interface can be used to modifythe coordinates and properties of a layout beam.
GetAssociatedStoryBeams ([out, retval] IBeams** ppIBeams)
Gets an interface for a collection of story beams associated with this layout beam. Collection may be empty if no stories are associatedwith the floor type the layout beam is on
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 74/450
with the floor type the layout beam is on.
Parameters ppIBeams Pointer to an IBeams interface that represents the collection of story beams associated with this layout beam.
GetEndRigidLink ([out] double *pdX, [out] *double pdY, [out] long *plMemberID)
Gets the support unique ID and coordinates for the rigid link at the end of the beam.
Parameters pdX X coordinate of the end of the rigid link on the supporting member at the end of the beam. Matches beam end
X coordinate if there is no rigid link.pdY Y coordinate of the end of the rigid link on the supporting member at the end of the beam. Matches beam end
Y coordinate if there is no rigid link.plMemberID Unique ID of the member that supports the rigid link at the end of the beam.
GetLayoutCoordinates ([out] double *pdStartSupportX, [out] double *pdStartSupportY, [out] double *pdStartSupportZOffset, [out]double *pdEndSupportX, [out] double *pdEndSupportY, [out]double *pdEndSupportZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout beam. Note that it returns the coordinates of the support points of the beam. For the actual endcoordinates, use the IBeam interface.
Parameters pdStartSupportX X coordinate of the support point at the start of the beam (i-end).pdStartSupportY Y coordinate of the support point at the start of the beam (i-end).pdStartSupportZOffset Z offset value from the story elevation for the support point at the start of the beam (i-end).pdEndSupportX X coordinate of the support point at the end of the beam (j-end).pdEndSupportY Y coordinate of the support point at the end of the beam (j-end).pdEndSupportZOffset Z offset value from the story elevation for the support point at the end of the beam (j-end).
plRetval 0 if successful-1 if coordinates cannot be retrieved
GetStartRigidLink ([out] double *pdX, [out] *double pdY, [out] long *plMemberID)
Gets the support unique ID and coordinates for the rigid link at the start of the beam.
Parameters pdX X coordinate of the end of the rigid link on the supporting member at the start of the beam. Matches beam start
X coordinate if there is no rigid link.pdY Y coordinate of the end of the rigid link on the supporting member at the start of the beam. Matches beam start
Y coordinate if there is no rigid link.plMemberID Unique ID of the member that supports the rigid link at the start of the beam
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 75/450
plMemberID Unique ID of the member that supports the rigid link at the start of the beam.
GetStubCantileverCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZOffset, [out] double*pdEndtX, [out] double *pdEndY, [out] double *pdEndZOffset)
Gets the end coordinates of a stub cantilever layout beam. 1.
Parameters pdStartX X coordinate of the supported stub cantilever end.pdStartY Y coordinate of the supported stub cantilever end.pdStartZOffset Z offset value from the story elevation of the supported stub cantilever end.pdEndX X coordinate of the free stub cantilever end.pdEndY Y coordinate of the free stub cantilever end.pdEndZOffset Z offset value from the story elevation of the free stub cantilever end.
GetWebOpenings ([out, retval] IWebOpenings** ppIWebOpenings )
Gets an interface for a collection of web openings associated with this layout beam. Collection may be empty if no web openings are
defined on this beam.
Parameters ppIWebOpenings Pointer to an IWebOpenings interface that represents the collection of web openings defined on this layout beam.
IsStubCantilever ([out, retval] BOOL* bStubCantilever)
Determine if the layout beam is a stub cantilever or not. 1
Parameters bStubCantilever Returns 1 if the layout beam is a stub cantilever, 0 if not.
SetEndRigidLink ([in] double dX, [in] double dY)
Sets the end coordinates for the rigid link at the end of the beam. A support must exist before the link can be added.
Parameters dX X coordinate of the end of the rigid link on the supporting member at the end of the beam.dY Y coordinate of the end of the rigid link on the supporting member at the end of the beam.
SetLayoutCoordinates ([in] double dStartSupportX, [in] double dStartSupportY, [in] double dStartSupportZOffset, [in] doubledEndSupportX [in] double dEndSupportY [in] double dEndSupportZOffset [out retval] long* plRetval)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 76/450
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 bedefined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, theywill be reversed.
Parameters
dStartSupportX X coordinate of the support point at the start of the beam (i-end).dStartSupportY Y coordinate of the support point at the start of the beam (i-end).dStartSupportZOffset Z offset value from the story elevation for the support point at the start of the beam (i-end).dEndSupportX X coordinate of the support point at the end of the beam (j-end).dEndSupportY Y coordinate of the support point at the end of the beam (j-end).dEndSupportZOffset Z offset value from the story elevation for the support point at the end of the beam (j-end).plRetval 0 if successful
-1 if coordinates cannot be set
SetStartRigidLink ([in] double dX, [in] double dY)
Sets the end coordinates for the rigid link at the start of the beam. A support must exist before the link can be added.
Parameters dX X coordinate of the end of the rigid link on the supporting member at the start of the beam.dY Y coordinate of the end of the rigid link on the supporting member at the start of the beam.
SetStubCantileverCoordinates ([in] double dStartX, [in] double dStartY, [in] double dStartZOffset, [in] double dEndtX, [in] doubledEndY, [in] double dEndZOffset)
Sets the end coordinates of a stub cantilever layout beam. 1.
Parameters dStartX X coordinate of the supported stub cantilever end.dStartY Y coordinate of the supported stub cantilever end.dStartZOffset Z offset value from the story elevation of the supported stub cantilever end.dEndX X coordinate of the free stub cantilever end.dEndY Y coordinate of the free stub cantilever end.dEndZOffset Z offset value from the story elevation of the free stub cantilever end.
Properties
Note that some properties that can be set through the ILayoutBeam interface cannot be retrieved. Any property of a beam that canvary story-to-story (such as the section label which corresponds to the beam size) cannot be retrieved through this interface
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 77/450
vary story-to-story (such as the section label, which corresponds to the beam size) cannot be retrieved through this interfacebecause the ILayoutBeam interface may represent more than one beam, not all of which will have the same assigned size. Forexample, if a floor type is associated with 3 stories, the corresponding beams on those stories may have 3 different assigned sizes.So the section label is one property that cannot be retrieved through the ILayoutBeam interface. To get the section label for a beam,use the IBeam interface.
When a property is set through the ILayoutBeam interface, all beams represented by this interface will be updated.
Type Property Get Set Description
BOOL bComposite X X If TRUE, beam is composite. If FALSE, beam is non-composite.
BOOL bMajAxisBendFixedEnd X Major axis bending release at end of beam (j-end).
BOOL bMajAxisBendFixedStart X Major axis bending release at start of beam (i-end).
BOOL bMinAxisBendFixedEnd X Minor axis bending release at end of beam (j-end).
BOOL bMinAxisBendFixedStart X Minor axis bending release at start of beam (i-end).
BOOL bTorFixedEnd X Torsion release at end of beam (j-end).
BOOL bTorFixedStart X Torsion release at start of beam (i-end).
double dCastellatedBottomDt X X
double dCastellatedDt X X ‘dt’ is the distance from the top of the beam to the top of a castellated beam opening.
double dCastellatedE X X ‘e’ is the dimension of the top of the castellated opening, and the spacing between openings.This is the maximum dimension in the case that a range was specified by the design.
double dCastellatedMaxE X X Minimum space between holes in castellated beams.
double dCastellatedMinE X X Maximum space between holes in castellated beams.
double dCastellatedPhiBot X X Angle off the horizontal of the slant of the bottom two slanted portions of the holes incastellated beams.
double dCastellatedPhiTop X X Angle off the horizontal of the slant of the top two slanted portions of the holes in castellatedbeams.
double dCastellatedTopDt X X Vertical distance from flange to hole for castellated beams.
double dCellularDo X X ‘Do’ is the hole diameter for cellular beams.
double dCellularMaxS X X Minimum center-to-center spacing of holes in cellular beams.
double dCellularMinS X X Maximum center-to-center spacing of holes in cellular beams.
double dCellularS X X ‘S’ is the spacing between openings for cellular beams. This is the maximum dimension in thecase that a range was specified by the design.
double dEndCantilever X X Length of cantilever at end of beam (j-end)
double dManufacturerSelfWeight X X Self weight supplied by a custom beam manufacturer, used in place of self-weight calculationfor calculating reactions on other members – only used in Ram Structural System iflManufacturerID has been set. This value should be in pounds per linear foot.
double dStartCantilever X X Length of cantilever at start of beam (i-end)
EAnalyzeFlag eAnalyzeFlag X X Whether beam will be optimized or analyzed during design
EFRAMETYPE eFramingType X X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X Material type of beam. Valid options for beams are ESteelMat, ESteelJoistMat,ESmartbeamBeamMat, EConcreteMat, or EOtherMat.
EJoistType eMemberJoistType X X Type of joist (if beam material type is ESteelJoistMat)
Type Property Get Set Description
ESMARTBEAMTYPE eSmartBeamSubType X X Whether the beam is a castellated or cellular smartbeam. Only applicable if eMaterial is
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 78/450
yp y ppESmartbeamBeamMat.
EDefaultOrAlternate eSteelTable X X Whether beam size will be found in default or alternate steel beam design table
long lBeamLineNumber X Beam line that beam is part of (applicable only if this is a concrete beam).
long lDeckUID X Deck unique id on the “left” or “right” of the beam.
long lFrameNumber X Frame number for lateral members. It must be positive number.
long lLabel X Numeric label of beam used for on-screen display in RAM Structural System. It is unique perfloor type.
long lManufacturerID X X 0 if none assigned. Custom beam manufacturers may obtain a manufacturer ID from RAMInternational. When set on a beam, the beam will be ignored during the Design All commandin RAM Steel Beam.
long lMaterialID X Unique ID of material properties for this beam. Must correspond to type of material. Seesection Getting material properties for a member for more information.
long lSectionID X Unique ID of concrete or ‘Other’ section assigned to this beam. See Assigning sectionproperties to concrete members and Assigning section properties to ‘Other’ members for moreinformation.
long lUID X Unique ID of layout beam. This unique ID corresponds to the beam on the top storyassociated with this floor type, if any.
BSTR strSectionLabel X Label of the size or section property for this beam. Limited to 15 characters. See Assigningsizes to steel members, Assigning section properties to concrete members, and Assigning
section properties to ‘Other’ members for more information.
ILayoutBeams
This interface represents a collection of beams associated with a floor type. This collection is used to add or delete beams on a floortype. (Beams cannot be added or deleted for a story through the IBeams interface, so this is the only interface through which beamscan be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dStartSupportX, [in] double dStartSupportY, [in]double dZOffset1, [in]double
dEndSupportX, [in]double dEndSupportY, [in]double dZOffset2, [out, retval] ILayoutBeam** ppILayoutBeam)
Adds a new layout beam to the collection of layout beams for the floor type. A beam is defined by its support points, not its end points.Beams must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAMStructural System, they will be reversed. If a beam is cantilevered, the cantilever length is added as a property of the ILayoutBeaminterface.
Parameters eMat Material type of beam to add (Valid options are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat,
or EOtherMat)dStartSupportX X coordinate of the support point at the start of the beam (i-end).
dStartSupportY Y coordinate of the support point at the start of the beam (i-end).dZOffset1 Z offset value from the story elevation for the support point at the start of the beam (i-end).
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 79/450
dZOffset1 Z offset value from the story elevation for the support point at the start of the beam (i end).dEndSupportX X coordinate of the support point at the end of the beam (j-end).dEndSupportY Y coordinate of the support point at the end of the beam (j-end).dZOffset2 Z offset value from the story elevation for the support point at the end of the beam (j-end).ppILayoutBeam Pointer to an ILayoutBeam interface that represents the newly added layout beam.
AddStubCantilever ([in] EMATERIALTYPES eMat, [in]double dStartX, [in] double dStartY, [in]double dZOffset1, [in]double dEndX,
[in]double dEndY, [in]double dZOffset2, [out, retval] ILayoutBeam** ppILayoutBeam)
Adds a new stub cantilever layout beam to the collection of layout beams for the floor type. 1
Parameters eMat Material type of beam to add (Valid options are ESteelMat, ESteelJoistMat, ESmartbeamBeamMat, EConcreteMat,
or EOtherMat)dStartX X coordinate of the supported stub cantilever end.dStartY Y coordinate of the supported stub cantilever end.dZOffset1 Z offset value from the story elevation of the supported stub cantilever end.dEndX X coordinate of the free stub cantilever end.
dEndY Y coordinate of the free stub cantilever end.dZOffset2 Z offset value from the story elevation of the free stub cantilever end.ppILayoutBeam Pointer to an ILayoutBeam interface that represents the newly added layout beam.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the layout beam with the given unique ID, as well as all corresponding beams on stories associated with the floor type that thelayout beam is on.
Parameters lUID Unique ID of layout beam to delete
plRetval 0 if layout beam is deleted successfully-1 if unique ID is not found in filtered list of layout beams
Filter ([in] EBeamFilter eFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout beams based on given criteria.
Parameters eFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful-1 if collection could not be filtered
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 80/450
Get ([in] long lUID, [out, retval] ILayoutBeam** ppILayoutBeam)
Gets an interface for a specific layout beam by unique ID.
Parameters
lUID The unique ID of the requested layout beamppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam, or NULL if no layout beam is foundin the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILayoutBeam** ppILayoutBeam)
Gets an interface for a specific layout beam by index.
Parameters lIndex The index into the collection of the requested layout beamppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of layout beams in the collection. When the collection is filtered, this function returns the number in the filtered collection,not the total number of layout beams on the floor type. When the collection is unfiltered, this function returns the total number of layoutbeams on the floor type.
Parameters plCount Number of layout beams in the collection
ILayoutColumn
This interface represents a single layout column. A layout column is a column associated with a floor type. Since a floor type can beassociated with one or more stories, a layout column may actually represent one or more columns. This interface can be used tomodify the coordinates and properties of a layout column.
GetAssociatedStoryColumns ([out, retval] IColumns** ppIColumns)
Gets an interface for a collection of story columns associated with this layout column. Collection may be empty if no stories are associatedwith the floor type the layout column is on.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 81/450
yp y
Parameters ppIColumns Pointer to an IColumns interface that represents the collection of story columns associated with this layout
column.
GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *pdZ1Offset, [out]double *pdZ2, [out, retval] long*
plRetval)
Gets the coordinates of the top of the layout column.
Parameters pdX X coordinate of the columnpdY Y coordinate of the columnpdZ1Offset Z offset value from the story elevation. This is the top of the standard
columns and the bottom of hanging columns.pdZ2Offset Z offset value from the story elevation. This is the bottom of the standard
columns and the top of hanging columns.
plRetval 0 if successful-1 if coordinates cannot be retrieved
GetLayoutCoordinates2 ([out] double *pdX1, [out] double *pdY1, [out] double *pdZ1Offset, [out] double *pdX2, [out] double*pdY2, [out]double *pdZ2Offset)
Gets the coordinates of the layout column.
Parameters pdX1 X coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.pdY1 Y coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.pdZ1Offset Z offset value from the story elevation. This is the top of standard columns
and the bottom of hanging columns.pdX2 X coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.pdY2 Y coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.pdZ2Offset Z offset value from the story elevation. This is the bottom of standard
columns and the top of hanging columns.
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZ1Offset, [in] double dZ2Offset, [out, retval] long* plRetval)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 82/450
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZ1Offset, [in] double dZ2Offset, [out, retval] long plRetval)
Sets the coordinates of the layout column.
Parameters dX X coordinate of the columndY Y coordinate of the column
dZTopOffset Z offset value from the story elevation. This is the top of the standardcolumns and the bottom of hanging columns.dZBotOffset Z offset value from the story elevation. This is the bottom of the standard
columns and the top of hanging columns.plRetval 0 if successful
-1 if coordinates cannot be set
SetLayoutCoordinates2 ([in] double dX1, [in] double dY1, [in] double dZ1Offset, [in] double dX2, [in] double dY2, [in] doubledZ2Offset)
Sets the coordinates of the layout column.
Parameters dX1 X coordinate of the column. This is the top of standard columns and bottom of
hanging columns.dY1 Y coordinate of the column. This is the top of standard columns and the
bottom of hanging columns.dZ1Offset Z offset value from the story elevation. This is the top of standard columns
and the bottom of hanging columns.dX2 X coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.dY2 Y coordinate of the column. This is the bottom of standard columns and the
top of hanging columns.dZ2Offset Z offset value from the story elevation. This is the bottom of standard
columns and the top of hanging columns.
PropertiesNote that some properties that can be set through the ILayoutColumn interface cannot be retrieved. Any property of a column thatcan vary story-to-story (such as the section label, which corresponds to the column size) cannot be retrieved through this interfacebecause the ILayoutColumn interface may represent more than one column, not all of which will have the same assigned size. Forexample, 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 acolumn, use the IColumn interface.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 83/450
,
When a property is set through the ILayoutColumn interface, all columns represented by this interface will be updated.
Type Property Get Set Description
BOOL bDblAngleLLBackToBack X X True if double angles have long leg back to back
BOOL bDblAngleSnugTightBolt X X True if double angles are using the snug tight bolts for intermediate connectors
BOOL bHanger X X True if layout column is a hanging column
BOOL bMajAxisBendFixedBot X Major axis bending release at bottom of column (j-end)
BOOL bMajAxisBendFixTop X Major axis bending release at top of column (i-end)
BOOL bMinAxisBendFixedBot X Minor axis bending release at bottom of column (j-end).
BOOL bMinAxisBendFixedTop X Minor axis bending release at top of column (i-end).
BOOL bSglAngleMirrored True if single angle layout column is mirrored.
BOOL bTorFixedBot X Torsion release at bottom of column (j-end).
BOOL bTorFixedTop X Torsion release at top of column (i-end).
double dDblAngleBackSpacing The back to back spacing between angles in the double angle section
double dOrientation X X Orientation of column in degrees. Angle measured between web of column and x-axis.
EFRAMETYPE eFramingType X X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X Material type of column. Valid options for columns are ESteelMat, EConcreteMat, or EOtherMat.
long lFrameNumber X Frame number for lateral members. Must be positive number.long lLabel X Numeric label of column used for on-screen display in RAM Structural System. It is unique per
floor type.
long lMaterialID X Unique ID of material properties for this column. Must correspond to type of material. Seesection Getting material properties for a member for more information.
long lSectionID X Unique ID of concrete or ‘Other’ section assigned to this column. See Assigning sectionproperties to concrete members and Assigning section properties to ‘Other’ members for moreinformation.
long lUID X Unique ID of layout column. This unique ID corresponds to the column on the top storyassociated with this floor type, if any.
BSTR strSectionLabel X Label of the size or section property for this column. Limited to 15 characters. See Assigningsizes to steel members, Assigning section properties to concrete members, and Assigning
section properties to ‘Other’ members for more information.
ILayoutColumns
This interface represents a collection of columns associated with a floor type. This collection is used to add or delete columns on afloor type. (Columns cannot be added or deleted for a story through the IColumns interface, so this is the only interface throughwhich columns can be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dX, [in] double dY, [in]double dZ1Offset, [in]double dZ2Offset, [out, retval]ILayoutColumn** ppILayoutColumn)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 84/450
y pp y )
Adds a new (vertical) layout column to the collection of layout columns for the floor type. Since sloped columns are currently not handled inthe RAM Structural System, only one set of x,y coordinates are used in the definition of a new column.
Parameters eMat Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)
dX X coordinate of the columndY Y coordinate of the columndZTopOffset Z offset value from the story elevation. This is the top of standard columns and the bottom of hanging columns.dZBotOffset Z offset value from the story elevation. This is the bottom of standard columns and the top of hanging columns.ppILayoutColumn Pointer to an ILayoutColumn interface that represents the newly added layout column.
Add2 ([in] EMATERIALTYPES eMat, [in]double dX1, [in]double dY1, [in]double dX2, [in] double dY2, [in]double dZ1Offset,[in]double dZ2Offset, [out, retval] ILayoutColumn** ppILayoutColumn)
Adds a new (possibly sloping) layout column to the collection of layout columns for the floor type.
Parameters eMat Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)dX1 X coordinate of the column. This is the top of standard columns.dY1 Y coordinate of the column. This is the top of standard columns.dX2 X coordinate of the column. This is the bottom of standard columns.dY2 Y coordinate of the column. This is the bottom of standard columns.dZ1Offset Z offset value from the story elevation. This is the top of standard columns.dZ2Offset Z offset value from the story elevation. This is the bottom of standard columns.ppILayoutColumn Pointer to an ILayoutColumn interface that represents the newly added layout column.
Add3 ([in] EMATERIALTYPES eMat, [in]double dX1, [in]double dY1, [in]double dX2, [in] double dY2, [in]double dZ1Offset,[in]double dZ2Offset, [in] BOOL bHanger, [out, retval] ILayoutColumn** ppILayoutColumn)
Adds a new (possibly sloping) layout column (standard or hanging) to the collection of layout columns for the floor type.
Parameters eMat Material type of column to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)dX1 X coordinate of the column. This is the top of standard columns and the bottom of hanging columns.dY1 Y coordinate of the column. This is the top of standard columns and the bottom of hanging columns.dX2 X coordinate of the column. This is the bottom of standard columns and the top of hanging columns.dY2 Y coordinate of the column. This is the bottom of standard columns and the top of hanging columns.
dZ1Offset Z offset value from the story elevation. This is the top of standard columns and the bottom of hanging columns.dZ2Offset Z offset value from the story elevation. This is the bottom of standard columns and the top of hanging columns.
f f
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 85/450
bHanger Enter 1 if the column is a hanger and 0 if it is not.ppILayoutColumn Pointer to an ILayoutColumn interface that represents the newly added layout column.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the layout column with the given unique ID, as well as all corresponding columns on stories associated with the floor type that the
layout column is on.
Parameters lUID Unique ID of layout column to deleteplRetval 0 if layout column is deleted successfully
-1 if unique ID is not found in filtered list of layout columns
Filter ([in] EColumnFilter eColumnFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout columns based on given criteria.
Parameters eColumnFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] ILayoutColumn** ppILayoutColumn)
Gets an interface for a specific layout column by unique ID.
Parameters lUID The unique ID of the requested layout columnppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if no layout column is
found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILayoutColumn** ppILayoutColumn)
Gets an interface for a specific layout column by index.
Parameters lIndex The index into the collection of the requested layout column
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column, or NULL if lIndex is invalid.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 86/450
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 filteredcollection, not the total number of layout columns on the floor type. When the collection is unfiltered, this function returns the total numberof layout columns on the floor type.
Parameters plCount Number of layout columns in the collection
ILayoutCont inuousFnd
This interface represents a single layout continuous foundation. A layout continuous foundation is a continuous foundationassociated with a floor type. The continuous foundation will exist in the 3D model at the lowest story used by the floor type, unlessthere is something below the foundation. If a column or wall is sitting below the continuous foundation, the foundation will be ignoredin the 3D model. This interface can be used to modify the coordinates and properties of a layout continuous foundation.
GetContinuousFnd ([out, retval] IContinuousFnd** ppIContinuousFnd)
Gets an interface for the continuous foundation associated with this layout continuous foundation.
Parameters ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the continuous foundation at the lowest story associated
with this layout continuous foundation. If no stories are defined for the floor type associated with the layoutcontinuous foundation, this pointer will be NULL.
GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out] double*pdZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout continuous foundation.
Parameters pdStartX X coordinate of the center of the start of the footingpdStartY Y coordinate of the center of the start of the footingpdEndX X coordinate of the center of the end of the footingpdEndY Y coordinate of the center of the end of the footingpdZOffset Z offset value from the story elevation for the top of the footing applied to both the start and end of the footing
plRetval 0 if successful-1 if coordinates cannot be retrieved
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 87/450
GetReinforcement ([out, retval] SFND_CONT_REINF* pVal)
Gets reinforcement information for continuous foundation.
Parameters
pVal Structure for continuous foundation reinforcement information. See SFND_CONT_REINF.
GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)
Gets additional reinforcement information for continuous foundation.
Parameters pVal Structure for additional reinforcement information. See SFND_REINF_OTHER_DATA.
SetLayoutCoordinates ([in]double dStartX, [in] double dStartY, [in]double dEndX, [in] double dEndY, [in]double dZOffset, [out,retval] long* plRetval)
Sets the coordinates of the layout continuous foundation.
Parameters dStartX X coordinate of the center of the start of the footingdStartY Y coordinate of the center of the start of the footingdEndX X coordinate of the center of the end of the footingdEndY Y coordinate of the center of the end of the footingdZOffset Z offset value from the story elevation for the top of the footing applied to both the start and end of the footingplRetval 0 if successful
-1 if coordinates cannot be set
PropertiesType Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge defined when footing major axis is parallel to global X-axis
double dLeft X X Dimension from center of foundation to left edge defined when footing major axis is parallel to global X-axis
double dOrientation X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge defined when footing major axis is parallel to global X-axis
double dThickness X X Thickness of foundation
Type Property Get Set Description
double dTop X X Dimension from center of foundation to top edge defined when footing major axis is parallel to global X-axis
long lLabel X Numeric label of foundation used for on screen display in RAM Structural System It is unique per floor type
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 88/450
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique per floor type.
long lMaterialID X Unique ID of material properties for this continuous foundation. Foundations are always concrete. Seesection Getting material properties for a member for more information.
long lUID X Unique ID of layout continuous foundation.
ILayoutCont inuousFndsThis interface represents a collection of continuous foundations associated with a floor type. This collection is used to add or deletecontinuous foundations on a floor type. (Foundations cannot be added or deleted for a story through the IContinuousFnds interface,so this is the only interface through which continuous foundations can be added or deleted from the model.)
Add ([in]double dStartX, [in] double dStartY, [in]double dEndX, [in] double dEndY, [in]double dZOffset, [out, retval]ILayoutContinuousFnd** ppILayoutContinuousFnd)
Adds a new layout continuous foundation to the collection of layout continuous foundations for the floor type.
Parameters dStartX X coordinate of the center of the start of the footingdStartY Y coordinate of the center of the start of the footingdEndX X coordinate of the center of the end of the footingdEndY Y coordinate of the center of the end of the footingdZOffset Z offset value from the story elevation for the top of the footing applied to both the start and end of the footingppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the newly added layout isolated foundation.
Delete ([in] long lUID, [out, retval] long* plRetval )
Deletes the layout continuous foundation with the given unique ID.
Parameters lUID Unique ID of layout continuous foundation to deleteplRetval 0 if layout continuous foundation is deleted successfully
-1 if unique ID is not found in filtered list of layout continuous foundations
Get ([in] long lUID, [out, retval] ILayoutContinuousFnd** ppILayoutContinuousFnd)
Gets an interface for a specific layout continuous foundation by unique ID.
Parameters lUID The unique ID of the requested layout continuous foundationppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation or
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 89/450
ppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation, orNULL if no layout continuous foundation is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILayoutContinuousFnd** ppILayoutContinuousFnd)
Gets an interface for a specific layout continuous foundation by index.
Parameters lIndex The index into the collection of the requested layout continuous foundationppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation, or
NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of layout continuous foundations in the collection.
Parameters
plCount Number of layout continuous foundations in the collection
ILayoutHorizBrace
This interface represents a single layout horizontal brace. A layout horizontal brace is a horizontal brace associated with a floor type.Since a floor type can be associated with one or more stories, a layout horizontal brace may actually represent one or morehorizontal braces. This interface can be used to modify the coordinates and properties of a layout horizontal brace.
GetAssociatedStoryHorizontalBraces ([out, retval] IHorizBraces** ppIHorizBraces)
Gets an interface for a collection of story horizontal braces associated with this layout horizontal brace. Collection may be empty if nostories are associated with the floor type the layout horizontal brace is on.
Parameters ppIHorizBraces Pointer to an IHorizBraces interface that represents the collection of story horizontal braces associated with this
layout horizontal brace.
GetLayoutCoordinates ([out] double *pdStartSupportX, [out] double *pdStartSupportY, [out] double *pdStartSupportZOffset, [out]double *pdEndSupportX, [out] double *pdEndSupportY, [out] double *pdEndSupportZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout horizontal brace.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 90/450
Parameters pdStartSupportX X coordinate of the support point at the start of the beam (i-end).pdStartSupportY Y coordinate of the support point at the start of the beam (i-end).pdStartSupportZOffset Z offset value from the story elevation for the support point at the start of the beam (i-end).pdEndSupportX X coordinate of the support point at the end of the beam (j-end).pdEndSupportY Y coordinate of the support point at the end of the beam (j-end).pdEndSupportZOffset Z offset value from the story elevation for the support point at the end of the beam (j-end).plRetval 0 if successful
-1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dStartSupportX, [in] double dStartSupportY, [in] double dStartSupportZOffset, [in] doubledEndSupportX, [in] double dEndSupportY, [in] double dEndSupportZOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout horizontal brace. Horizontal braces must be defined from left-to-right, top-to-bottom. If the coordinatesare sent in opposite of the convention used by the RAM Structural System, they will be reversed.
Parameters dStartSupportX X coordinate of the support point at the start of the horizontal brace (i-end).dStartSupportY Y coordinate of the support point at the start of the horizontal brace (i-end).dStartSupportZOffset Z offset value from the story elevation for the support point at the start of the horizontal brace (i-end).dEndSupportX X coordinate of the support point at the end of the horizontal brace(j-end).dEndSupportY Y coordinate of the support point at the end of the horizontal brace (j-end).dEndSupportZOffset Z offset value from the story elevation for the support point at the end of the horizontal brace (j-end).plRetval 0 if successful
-1 if coordinates cannot be set
Properties
Note that some properties that can be set through the ILayoutHorizBrace interface cannot be retrieved. Any property of a horizontalbrace that can vary story-to-story (such as the section label, which corresponds to the brace size) cannot be retrieved through thisinterface because the ILayoutHorizBrace interface may represent more than one horizontal brace, not all of which will have the sameassigned size. For example, if a floor type is associated with 3 stories, the corresponding horizontal braces on those stories mayhave 3 different assigned sizes. So the section label is one property that cannot be retrieved through the ILayoutHorizBrace interface. To get the section label for a horizontal brace, use the IHorizBrace interface.
When a property is set through the ILayoutHorizBrace interface, all horizontal braces represented by this interface will be updated.
Type Property Get Set Description
Type Property Get Set Description
BOOL bDblAngleLLBacktoBack X Applies to a steel horizontal brace that has been assigned a double anglesection If TRUE long legs of double angle are back to back If FALSE short
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 91/450
section. If TRUE, long legs of double angle are back to back. If FALSE, shortlegs are back to back.
BOOL bDblAngleSnugTightBolt X Applies to a steel horizontal brace that has been assigned a double anglesection. TRUE indicates that only a snug tight connector will be used.
BOOL bMajAxisBendFixEnd X Major axis bending release at end of horizontal brace (j-end).
BOOL bMajAxisBendFixStart X Major axis bending release at start of horizontal brace (i-end).
BOOL bMinAxisBendFixedEnd X Minor axis bending release at end of horizontal brace (j-end).
BOOL bMinAxisBendFixedStart X Minor axis bending release at start of horizontal brace (i-end).
BOOL bSglAngleLongLegHorizontal Applies to a steel horizontal brace that has been assigned a single anglesection. TRUE indicates that the long leg of the angle is horizontal. FALSEindicates that the long leg is vertical.
BOOL bTorFixedEnd X Torsion release at end of horizontal brace (j-end).
BOOL bTorFixedStart X Torsion release at start of horizontal brace (i-end).
double dDblAngleBackSpacing Spacing distance between angles of double angle section. Applies to a steelhorizontal brace that has been assigned a double angle section.
ETensionCompressionMemType eAnalysisType X Indicates whether horizontal brace takes tension, compression, or both
EMATERIALTYPES eMaterial X X Material type of horizontal brace. Valid options for horizontal braces areESteelMat, EConcreteMat, or EOtherMat.
long lLabel X Numeric label of horizontal brace used for on-screen display in RAMStructural System. It is unique per floor type.
long lMaterialID X Unique ID of material properties for this horizontal brace. Must correspond totype of material. See section Getting material properties for a member formore information.
long lSectionID X Unique ID of concrete or ‘Other’ section assigned to this horizontal brace.See Assigning section properties to concrete members and Assigning sectionproperties to ‘Other’ members for more information.
long lUID X Unique ID of layout horizontal brace. This unique ID corresponds to the beamon the top story associated with this floor type, if any.
BSTR strSectionLabel X Label of the size or section property for this horizontal brace. Limited to 15characters. See Assigning sizes to steel members, Assigning sectionproperties to concrete members, and Assigning section properties to ‘Other’members for more information.
ILayoutHorizBraces
This interface represents a collection of horizontal braces associated with a floor type. This collection is used to add or deletehorizontal braces on a floor type. (Horizontal braces cannot be added or deleted for a story through the IHorizBraces interface, sothis is the only interface through which horizontal braces can be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dStartSupportX, [in] double dStartSupportY, [in]double dStartSupportZOffset,[i ]d bl dE dS tX [i ]d bl dE dS tY [i ]d bl dE dS tZOff t [ t t l] IL tH i B **
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 92/450
[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 fromleft-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they will bereversed.
Parameters eMat Material type of horizontal brace to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat)dStartSupportX X coordinate of the support point at the start of the horizontal brace (i-end).dStartSupportY Y coordinate of the support point at the start of the horizontal brace (i-end).dStartSupportZOffset Z offset value from the story elevation for the support point at the start of the horizontal brace (i-end).dEndSupportX X coordinate of the support point at the end of the horizontal brace (j-end).dEndSupportY Y coordinate of the support point at the end of the horizontal brace (j-end).dEndSupportZOffset Z offset value from the story elevation for the support point at the end of the horizontal brace (j-end).ppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the newly added layout horizontal brace.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the layout horizontal brace with the given unique ID, as well as all corresponding horizontal braces on stories associated with thefloor type that the layout horizontal brace is on.
Parameters lUID Unique ID of layout horizontal brace to deleteplRetval 0 if layout horizontal brace is deleted successfully
-1 if unique ID is not found in filtered list of layout horizontal braces
Filter ([in] EHorizBraceFilter eHorizBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout horizontal braces based on given criteria.
Parameters eFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] ILayoutHorizBrace** ppILayoutHorizBrace)
Gets an interface for a specific layout horizontal brace by unique ID.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 93/450
Parameters lUID The unique ID of the requested layout horizontal braceppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace, or NULL if no
layout horizontal brace is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILayoutHorizBrace** ppILayoutHorizBrace)
Gets an interface for a specific layout horizontal brace by index.
Parameters lIndex The index into the collection of the requested layout horizontal braceppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of layout horizontal braces in the collection. When the collection is filtered, this function returns the number in the filteredcollection, not the total number of layout horizontal braces on the floor type. When the collection is unfiltered, this function returns the totalnumber of layout horizontal braces on the floor type.
Parameters plCount Number of layout horizontal braces in the collection
ILayoutIsolatedFnd
This interface represents a single layout isolated foundation. A layout isolated foundation is an isolated foundation associated with afloor type. The isolated foundation will exist in the 3D model at the lowest story used by the floor type, unless there is somethingbelow the foundation. If a column or wall is sitting below the isolated foundation, the foundation will be ignored in the 3D model.This interface can be used to modify the coordinates and properties of a layout isolated foundation.
GetIsolatedFnd ([out, retval] IIsolatedFnd** ppIIsolatedFnd)
Gets an interface for the isolated foundation associated with this layout isolated foundation.
Parameters
ppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the isolated foundation at the lowest story associated with thislayout isolated foundation. If no stories are defined for the floor type associated with the layout isolatedfoundation this pointer will be NULL
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 94/450
foundation, this pointer will be NULL.
GetLayoutCoordinates ([out] double *pdX, [out] double *pdY, [out] double *pdZOffset, [out, retval] long* plRetval)
Gets the coordinates of the layout isolated foundation.
Parameters pdX X coordinate of the center of the footingpdY Y coordinate of the center of the footingpdZTopOffset Z offset value from the story elevation for the top of the footingplRetval 0 if successful
-1 if coordinates cannot be retrieved
GetReinforcement ([out, retval] SFND_ISO_REINF* pVal)
Gets reinforcement information for isolated footing.
Parameters pVal Structure for islolated footing information. See SFND_ISO_REINF.
GetReinforcementOtherData ([out, retval] SFND_REINF_OTHER_DATA* pVal)
Information for isolated foundation reinforment.
Parameters pVal Structure for additional reinforment information. See SFND_REINF_OTHER_DATA.
SetLayoutCoordinates ([in] double dX, [in] double dY, [in] double dZOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout isolated foundation.
Parameters dX X coordinate of the center of the footingdY Y coordinate of the center of the footingdZTopOffset Z offset value from the story elevation for the top of the footingplRetval 0 if successful
-1 if coordinates cannot be set
PropertiesType Property Get Set Description
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 95/450
BOOL bDimensionsFromDesign X Indicates whether or not the dimensions returned for the footing are from the design or not
double dBottom X X Dimension from center of foundation to bottom edge of footing when footing major axis is parallelto global X-axis
double dLeft X X Dimension from center of foundation to left edge of footing when footing major axis is parallel toglobal X-axis
double dOrientation X X Orientation of foundation
double dRight X X Dimension from center of foundation to right edge of footing when footing major axis is parallel to
global X-axisdouble dThickness X X Thickness of foundation
double dTop X X Dimension from center of foundation to top edge of footing when footing major axis is parallel toglobal X-axis
EIsolatedFndType eType X X Type of isolated foundation (i.e. spread footing, pile cap)
long lLabel X Numeric label of foundation used for on-screen display in RAM Structural System. It is unique perfloor type.
long lMaterialID X Unique ID of material properties for this isolated foundation. Foundations are always concrete.See section Getting material properties for a member for more information.
long lPileConfigurationID X X ID of pile configuration assigned to this foundation; only applies if eType is EFndPileCap. Fromthe IModel interface, call GetPileConfiguration() using this ID to get the interface for the pileconfiguration associated with this pile cap footing.
long lPileID X X ID of pile type assigned to this foundation; only applies if eType is EFndPileCap. From the IModelinterface, call GetPile() using this ID to get the interface for the pile definition associated with thispile cap footing.
long lUID X Unique ID of layout foundation.
ILayoutIsolatedFnds
This interface represents a collection of isolated foundations (foundations that sit under a single column) associated with a floor type.This collection is used to add or delete isolated foundations on a floor type. (Foundations cannot be added or deleted for a story
through the IIsolatedFnds interface, so this is the only interface through which isolated foundations can be added or deleted from themodel.)
Add ([in] EIsolatedFndType eType, [in] double dX, [in] double dY, [in] double dZOffset, [out, retval] ILayoutIsolatedFnd**ppILayoutIsolatedFnd)
Adds a new layout isolated foundation to the collection of layout isolated foundations for the floor type.
Parameters eType Type of isolated foundation (i.e. spread footing, pile cap)dX X coordinate of the center of the footing
dY Y coordinate of the center of the footingdZOffset Z offset value from the story elevation for the top of the footingppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the newly added layout isolated foundation.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 96/450
pp y y p y y
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the layout isolated foundation with the given unique ID.
Parameters lUID Unique ID of layout isolated foundation to deleteplRetval 0 if layout isolated foundation is deleted successfully
-1 if unique ID is not found in filtered list of layout isolated foundations
Filter ([in] EIsolatedFndFilter eIsolatedFndFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout isolated foundations based on given criteria.
Parameters eIsolatedFndFilter Indicates the type of filter to use on the collection (see table below for filter types)
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] ILayoutIsolatedFnd** ppILayoutIsolatedFnd)
Gets an interface for a specific layout isolated foundation by unique ID.
Parameters lUID The unique ID of the requested layout isolated foundationppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation, or NULL if no
layout isolated foundation is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILayoutIsolatedFnd** ppILayoutIsolatedFnd)
Gets an interface for a specific layout isolated foundation by index.
Parameters lIndex The index into the collection of the requested layout isolated foundationppILayoutIsolatedFnd Pointer to an ILayoutIsolatedFnd interface that represents the requested layout isolated foundation, or NULL if
lIndex is invalid.
GetCount ([out, retval] long* plCount)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 97/450
Gets the number of layout isolated foundations in the collection. When the collection is filtered, this function returns the number in thefiltered collection, not the total number of layout isolated foundations on the floor type. When the collection is unfiltered, this functionreturns the total number of layout isolated foundations on the floor type.
Parameters plCount Number of layout isolated foundations in the collection
ILayoutMatFndPerim
Future interface.
ILayoutMatFndPropPoly
Future interface.
ILayoutWall
This interface represents a single layout wall. A layout wall is a wall associated with a floor type. Since a floor type can beassociated with one or more stories, a layout wall may actually represent one or more walls. This interface can be used to modifythe coordinates and properties of a layout wall.
GetAssociatedStoryWalls ([out, retval] IWalls** ppIWalls)
Gets an interface for a collection of story walls associated with this layout wall. Collection may be empty if no stories are associated withthe floor type the layout wall is on.
Parameters ppIWalls Pointer to an IWalls interface that represents the collection of story walls associated with this layout wall.
GetLayoutCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdStartZTopOffset, [out]double*pdStartZBotOffset, [out] double *pdEndX, [out] double *pdEndY, [out] double *pdEndZTopOffset, [out]double *pdEndZBotOffset,[out, retval] long* plRetval)
Gets the coordinates of the layout wall.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 98/450
Parameters pdStartX X coordinate of start of the wall (i-end).pdStartY Y coordinate of start of the wall (i-end).pdStartZTopOffset Z offset value from the story elevation for start of wall at top (i-end).pdStartZBotOffset Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story
below).
pdEndX X coordinate of end of the wall (j-end).pdEndY Y coordinate of end of the wall (j-end).pdEndZTopOffset Z offset value from the story elevation for the end of the wall at top (j-end).pdEndZBotOffset Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the
story below).plRetval 0 if successful
-1 if coordinates cannot be retrieved
SetLayoutCoordinates ([in] double dStartX, [in] double dStartY, [in] double dStartZTopOffset, [in] double dStartZBotOffset, [in]double dEndX, [in] double dEndY, [in] double dEndZTopOffset, [in] double dEndZBotOffset, [out, retval] long* plRetval)
Sets the coordinates of the layout wall. Walls must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of theconvention used by the RAM Structural System, they will be reversed.
Parameters dStartX X coordinate of start of the wall (i-end).dStartY Y coordinate of start of the wall (i-end).dStartZTopOffset Z offset value from the story elevation for start of wall at top (i-end).dStartZBotOffset Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story
below).dEndX X coordinate of end of the wall (j-end).dEndY Y coordinate of end of the wall (j-end).dEndZTopOffset Z offset value from the story elevation for the end of the wall at top (j-end).dEndZBotOffset Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the
story below).plRetval 0 if successful
-1 if coordinates cannot be set
PropertiesWhen a property is set through the ILayoutWall interface, all columns represented by this interface will be updated.
Type Property Get Set Description
Type Property Get Set Description
double dCrackedFactor X Membrane cracked factor. Applies if wall is concrete.
double dCrackedFactorForBending X X Out-of-plane bending cracked factor. Applies if wall is concrete.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 99/450
double dThickness X Thickness of wall.
EFRAMETYPE eFramingType X X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X Material type of wall. Valid options for walls are EWallPropConcreteMat orEWallPropOtherMat.
long lFrameNumber X Frame number for lateral members. Must be positive number.
long lLabel X Numeric label of wall used for on-screen display in RAM Structural System. It is unique perfloor type.
long lMaterialID X Unique ID of material properties for this wall. Must correspond to type of material. Seesection Getting material properties for a member for more information.
long lUID X Unique ID of layout wall. This unique ID corresponds to the wall on the top story associatedwith this floor type, if any.
ILayoutWalls
This interface represents a collection of walls associated with a floor type. This collection is used to add or delete walls on a floortype. (Walls cannot be added or deleted for a story through the IWalls interface, so this is the only interface through which walls can
be added or deleted from the model.)
Add ([in] EMATERIALTYPES eMat, [in]double dStartX, [in] double dStartY, [in]double dStartZTopOffset, [in]doubledStartZBotOffset, [in]double dEndX, [in]double dEndY, [in]double dEndZTopOffset, [in]double dEndZBotOffset, [in]doubledThickness, [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 StructuralSystem, only one set of x,y coordinates are used in the definition of each end of the wall. Walls must be defined from left-to-right, top-to-bottom. If the coordinates are sent in opposite of the convention used by the RAM Structural System, they will be reversed.
Parameters eMat Material type of wall to add. (Valid options are EWallPropConcreteMat or EWallPropOtherMat).dStartX X coordinate of start of the wall (i-end).dStartY Y coordinate of start of the wall (i-end).dStartZTopOffset Z offset value from the story elevation for start of wall at top (i-end).dStartZBotOffset Z offset value from the story elevation for start of wall at bottom (i-end) (measured from the elevation of the story
below).dEndX X coordinate of end of the wall (j-end).dEndY Y coordinate of end of the wall (j-end).dEndZTopOffset Z offset value from the story elevation for the end of the wall at top (j-end).dEndZBotOffset Z offset value from the story elevation for the end of the wall at bottom (j-end) (measured from the elevation of the
story below).dThickness Thickness of the wallppILayoutWall Pointer to an ILayoutWall interface that represents the newly added layout wall.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 100/450
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 layoutwall is on.
Parameters lUID Unique ID of layout wall to deleteplRetval 0 if layout wall is deleted successfully
-1 if unique ID is not found in filtered list of layout walls
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of layout walls based on given criteria.
Parameters
eWallFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] ILayoutWall** ppILayoutWall)
Gets an interface for a specific layout wall by unique ID.
Parameters lUID The unique ID of the requested layout wall
ppILayoutWall Pointer to an ILayoutWall interface that represents the requested layout wall, or NULL if no layout wall is found inthe collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILayoutWall** ppILayoutWall)
Gets an interface for a specific layout wall by index.
Parameters lIndex The index into the collection of the requested layout wallppILayoutWall Pointer to an ILayoutWall interface that represents the requested layout wall, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 101/450
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 wallson the floor type.
Parameters plCount Number of layout walls in the collection
ILineLoadPropertySet
This interface represents a single line load property set as defined in the RAM Modeler.
PropertiesType Property Get Set Description
double dConstDeadLoad X X Construction Dead load (positive is down)
double dConstLiveLoad X X Construction Liveload (positive is down)
double dDeadLoad X X Dead load magnitude (positive is down)double dLiveLoad X X Live load magnitude (positive is down)
double dMassDeadLoad X X Mass dead load magnitude (positive is down)
double dPartitionLoad X X Partion load magnitude (positive is down)
ELoadCaseType eLiveLoadType X X The live load case type (MUST BE A LIVE LOAD TYPE)
long lUID X Unique ID of property set
BSTR strLabel X X Label of the property set. Limited to 19 characters.
ILineLoadPropertySets
This interface represents all the line load property sets as defined in the RAM Modeler.
Add ([in] BSTR bstrLabel, [out,retval] ILineLoadPropertySet** ppILineLoadPropSet )
Adds a new line load property set to the collection.
Parameters bstrLabel Unique label for the line load property set. Limited to 19 characters. ppILineLoadPropSet A pointer to an ILineLoadPropertySet that represents the newly added line load property set
Delete ([in] long lUID, [out, retval] long* plRetval)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 102/450
Deletes a line load property set.
Parameters lUID Unique ID of line load property set to delete
plRetVal 0 if line load property set is deleted successfully-1 if failed. Delete will fail if member is not found or if the line load property set is in use by a l ine load set.
Get ([in] long lUID, [out, retval] ILineLoadPropertySet** ppILineLoadPropSet)
Gets an interface for a specific line load property set by unique ID.
Parameters lUID Unique ID of the requested line load property setppILineLoadPropSet Pointer to an ILineLoadPropertySet interface that represents the requested line load property set, or NULL if no
line load property set is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILineLoadPropertySet** ppILineLoadPropSet)
Gets an interface for a specific line load property set by index.
Parameters lIndex Index of the requested line load property setppILineLoadPropSet Pointer to an ILineLoadPropertySet interface that represents the requested line load property set, or NULL if
lIndex is invalid.
GetCount([out, retval] long *plCount)
Gets the number of line load property sets in the collection.
Parameters plCount Number of line load property sets in the collection
ILineLoadSet
This interface represents a single line load set associated with a floor type. Since a floor type can be associated with one or morestories a line load set may actually represent load sets on multiple stories This interface can be used to modify the location and
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 103/450
stories, a line load set may actually represent load sets on multiple stories. This interface can be used to modify the location andproperties of a line load set.
PropertiesType Property Get Set Description
long lPropertySetUID X X The UID of the LineLoadPropertySet associated with the line load set
long lUID X Unique ID of the Line Load SetSCoordinate sCoordinateEnd X X Location of end of the line load (only X and Y are used)
SCoordinate sCoordinateStart X X Location of start of the line load (only X and Y are used)
ILineLoadSets
This interface represents a collection of line load sets associated with a floor type. This collection is used to add or delete line loadsets 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 inRAM Modeler.
Add ([in] long lPropSetID, [in]double dStartX, [in] double dStartY, [in]double dEndX, [in]double dEndY, [out,retval] ILineLoadSet**ppILineLoadSet )
Adds a new line load set to the collection of line load sets for the floor type.
Parameters lPropSetID Unique ID of point load property set associated with this point load setdStartX X coordinate of the start of the line load setdStartY Y coordinate of the start of the line load setdEndX X coordinate of the end of the line load set
dEndY Y coordinate of the end of the line load setppILineLoadSet Pointer to an ILineLoadSet interface that represents the newly added line load set.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the line load set with the given unique ID.
Parameters lUID Unique ID of line load set to deleteplRetval 0 if line load set is deleted successfully
-1 if unique ID is not found in list of point load sets
Get ([in] long lUID, [out, retval] ILineLoadSet** ppILineLoadSet);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 104/450
Gets an interface for a specific point load set by index.
Parameters lUID Unique ID of the requested line load setppILineLoadSet Pointer to an ILineLoadSet interface that represents the requested line load set, or NULL if no line load set is found in
the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ILineLoadSet** ppILineLoadSet);
Gets an interface for a specific line load set by index.
Parameters lIndex The index into the collection of the requested line load setppILineLoadSet Pointer to an ILineLoadSet interface that represents the requested line load set, or NULL if lIndex is invalid.
GetCount([out, retval] long *plCount)
Gets the number of line load sets in the collection.
Parameters plCount Number of line load sets in the collection
ILoadCase
This interface represents a single load case definition.
GetPrimaryLoadCases ([out,retval] ILoadCases** ppILoadCases)
Gets the collection of load cases that comprise this load case.
Parameters ppILoadCases Pointer to an ILoadCases collection interface that represents the load cases that comprise this load case.
Properties
Type Property Get Set Description
BOOL bConcShearWallSelected X X Whether the load case selected for use in concrete shear wall loadcombinations. TRUE = selected.
BOOL bReadOnly X Whether the properties of this load case can be modified
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 105/450
BOOL bReadOnly X Whether the properties of this load case can be modified
double dDirCoeffX X Directional coefficient of load case for x component of the force associatedwith the load case. This is used by the load combo generator.1.0 = force in the positive x direction.0.0 = no force in the x direction.-1.0 = force in the negative x direction.
double dDirCoeffY X Directional coefficient of load case for y component of the force associated
with the load case. This is used by the load combo generator.1.0 = force in the positive y direction.0.0 = no force in the y direction.-1.0 = force in the negative y direction.
double dLoadCaseAngle X Angle of the shear force at the base level of the structure. This angle is usedto calculate the components of the notional load case when used incombination in the direction of other lateral load cases.
double dRhomax X r max associated with controlling rho double dUBCRho X Redundancy factor calculated for the load case. This is only relevant for
seismic load cases.
EStateStatus eAnalyzedState X Whether Load Case is analyzed/current
ECompoundLoadCaseState eCompoundState X Whether this is merged/compound load case (made up of other load cases)
EMergeState eLdCaseMergeState X Flag describing the merged state of the load case (single, merged orincluded in a merged case).
ELoadCaseType eLoadType X One of main load types: Gravity, Wind, Seismic, Dynamic Hyperstatic,Virtual, Other
ELoadCaseType eNotionalLoadType X Notional load case type
ESubLoadCaseType eSubLoadType X Depending on load type defines more details of the actual type of load case.
long lAnalyzeNo X
long lDirCoeffX X
long lDirCoeffY X
long lLoadType X
long lSubLoadType X
long lUID X Unique ID of load caseBSTR strLoadCaseGroupLabel X X The label assigned to the load case at the top of the load case generatordialog, applies to one or more load cases. Limited to 15 characters.
BSTR strSymbol X The load case symbol (1-3chars) for reports/combos
BSTR strTypeLabel X The generated name for the specific load case depending on user optionsduring generation. When used together with strLoadCaseGroupLabel ituniquely identifies this load case.
ILoadCases
This interface represents a collection of load cases.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 106/450
Filter ([in] ELoadCaseFilter eLoadCaseFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria.
Parameters
eLoadCaseFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] ILoadCase** ppILoadCase)
Gets an interface for a specific load case by unique ID.
Parameters lUID Unique ID of requested load case
ppILoadCase Pointer to an ILoadCase interface that represents the requested load case, or NULL if no load case with givenunique ID is found in the collection.
GetAt ([in] long lIndex, [out, retval] ILoadCase** ppILoadCase)
Gets an interface for a specific load case by index.
Parameters lIndex The index into the collection of the requested load caseppILoadCase Pointer to an ILoadCase interface that represents the requested load case, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of load cases in the collection.
Parameters plCount Number of load cases in the collection
ILoadCombinat ion
This interface represents a single load combination definition.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 107/450
CalculateForce ([in] IMemberForces *pILoadCaseForces, [out,retval] IMemberForce** ppIMemberForce)
Calculates the combined force based on the terms in the receiving load combination and the given list of load case forces.
Parameters
pILoadCaseForces The list of load case force to combine based on the terms of the receiver.ppIMemberForce The calculated combined member force.
GetLoadCombinationTerms ([out,retval] ILoadCombinationTerms** ppILoadComboTerms)
Gets the collection of load combination terms for the load combination.
Parameters ppILoadComboTerms Pointer to an ILoadCombinationTerms collection interface that represents the load combination terms for this load
combination.
PropertiesType Property Get Set Description
BOOL bReadOnly X Whether this load combination can be modified or not
BOOL bSelected X X User has selected this load combination to be considered
EStateStatus eStatus X Combination is valid (all load cases/factors exist in analyzed state)
ECombinationSourceType eType X Custom or Generated
long lLabelNo X The label of the load combination as shown in the load combo dialog
BSTR strDisplayString X The combination string formatted for display
ILoadCombinat ionParam
This interface provides access to the parameters used to generate a specific set of load combinations.
GetParamsForControl1 ([out,retval] ILoadComboParamsCntrl1** ppIParamsCntrl1)
Returns a pointer to an ILoadComboParamsCntrl1 interface.
Parameters ppIParamsCntrl1 Pointer to an ILoadComboParamsCntrl1 interface that contains the control 1 parameters used to generate a specific
set of load combinations.
GetParamsForControl3 ([out,retval] ILoadComboParamsCntrl3** ppIParamsCntrl3)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 108/450
Returns a pointer to an ILoadComboParamsCntrl1 interface.
Parameters ppIParamsCntrl3 Pointer to an ILoadComboParamsCntrl3 interface that contains the control 3 parameters used to generate a specific
set of load combinations.
PropertiesType Property Get Set Description
BOOL bCntl4LCaseSpcSetting X The radio button selection for control 4. TRUE = “Use Calculated”
BOOL bCntl4UseOnly X Indicates whether the selected code has calculated values associated with it. If thisbCntrl4UseOnly = FALSE, the “Use Calculated” radio button selection is grayed out.
double dCntl4LCaseSpc1 X First value associated with control 4.
double dCntl4LCaseSpc2 X Second value associated with control 4.
COMBO_MATERIAL_TYPE eCombinationType X The type of combination parameters are requested for. Note that parameters are onlysaved for code generated combinations.
long nComboBox2Index X Index of the selection for control 2 (drop-down combo box)
long nComboBox5Index X Index of the selection for control 5 (drop-down combo box)long nNumVarsFor2 X Number of possible variables associated with each drop-down selection in control 2.
long nNumVarsFor5 X Number of possible variables associated with each drop-down selection in control 5.
BSTR strComboTemplateName X Name of the template for which combinations were generated. This string must matchthe NAME: entry in the combo template.
ILoadCombinat ionParams
This interface represents a collection of ILoadCombinationParam objects.
Add ([in] BSTR bstrTemplateName, [in] long nComboBox2Index, [in] long nNumVarsFor2, [in] long nComboBox5Index, [in] longnNumVarsFor5, [in] BOOL bCntl4UseOnly, [in] BOOL bCntl4LCaseSpcSetting, [in] double dCntl4LCaseSpc1, [in] doubledCntl4LCaseSpc2, [out,retval] ILoadCombinationParam** ppIComboParams)
Adds a new load combination param to the receiver.
Parameters bstrTemplateName Name of the template for which combinations were generated. This string must match the NAME: entry in
the combo template.
nComboBox2Index Index of the selection for control 2 (drop-down combo box)nNumVarsFor2 Number of possible variables associated with each drop-down selection in control 2.nComboBox5Index Index of the selection for control 5 (drop-down combo box)nNumVarsFor5 Number of possible variables associated with each drop-down selection in control 5
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 109/450
nNumVarsFor5 Number of possible variables associated with each drop down selection in control 5.bCntl4UseOnly Indicates whether the selected code has calculated values associated with it. If this bCntrl4UseOnly =
FALSE, the “Use Calculated” radio button selection is grayed out.bCntl4LCaseSpcSetting The radio button selection for control 4. TRUE = “Use Calculated” dCntl4LCaseSpc1 First value associated with control 4.dCntl4LCaseSpc2 Second value associated with control 4.
ppIComboParams Pointer to an ILoadCombinationParam interface that represents the newly added load combinationparam.
Clear ()
Deletes all load combination params from the collection.
Delete ([in] long lUID)
Delete a load combination param from the collection for the specified unique ID.
Parameters lUID Unique ID of the laod combination param being deleted
Get ([in] COMBO_MATERIAL_TYPE eCombinationType, [out,retval] ILoadCombinationParam** ppIComboParams)
Gets an interface for a specific load combination param by combination type.
Parameters eCombinationType The combination type of the requested load combination param.ppIComboParams Pointer to an ILoadCombinationParam interface that represents the requested load combination param, or NULL if
no load combination param is found in the collection with the given combination type.
GetAt ([in] long lIndex, [out, retval] ILoadCombinationParam ** ppIComboParams)
Gets an interface for a specific load combination param by index.
Parameters lIndex The index in the collection the requested load combination param.ppIComboParams Pointer to an ILoadCombinationParam interface that represents the requested load combination param, or
NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
G t th b f l d bi ti i th i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 110/450
Gets the number of load combination params in the receiver.
Parameters plCount The number of ILoadCombinationParam objects in the collection.
ILoadCombinat ions
This interface represents a collection of load combinations.
Add ( [out, retval] ILoadCombination** ppILoadCombination)
Adds a new load combination to the end of the collection.
Parameters ppILoadCombination A pointer to an ILoadCombination that represents the newly added load combination
Clear ()
Deletes all load combinations in the collection.
DeleteAt ([in] long lIndex, [out, retval] long *plRetVal)
Deletes a load combination in the collection at the specified index.
Parameters lIndex Index at which to delete term
plRetVal 0 if deleted successfully
Filter ([in] ELoadCombinationFilter eLoadCombinationFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of load combinations based on given criteria.
Parameters eLoadCombinationFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.
plRetval 0 if successful-1 if collection could not be filtered
GetAt ([in] long lIndex [out retval] ILoadCombination** ppILoadCombination)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 111/450
GetAt ([in] long lIndex, [out, retval] ILoadCombination ppILoadCombination)
Gets an interface for a specific load combination by index.
Parameters lIndex The index into the collection of the requested load combinationppILoadCombination Pointer to an ILoadCombination interface that represents the requested load combination, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of load combinations in the collection.
Parameters plCount Number of load combinations in the collection
MSIWorkaround_ ILoadComboInternal _DO_NOT_CALL ()
Internal use only.
ILoadCombinat ionTerm
This interface represents a single load combination term.
PropertiesType Property Get Set Descriptiondouble dFactor X Factor to apply to the load case
long lLoadCaseID X The Unique ID of the load case
long lLoadCaseIndex X Index of the load case into the load case array.
ILoadCombinat ionTerms
This interface represents a collection of load combination terms for a single load combination. The load combination string is limitedto 254 characters. Hence, the maximum number of terms in a load combination can vary.
Add ([in] double dFactor, [in] long lLoadCaseUID, [out, retval] ILoadCombinationTerm** ppILoadCombinationTerm)
Adds a new load combination term to the end of the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 112/450
Adds a new load combination term to the end of the collection.
Parameters dFactor Factor to apply to the load case lLoadCaseUID The Unique ID of the load case for this load combination term ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term
AddWithIndex ([in] double dFactor, [in] long lLoadCaseUID, [in] long lLoadCaseIndex, [out, retval] ILoadCombinationTerm**ppILoadCombinationTerm)
Adds a new load combination term with the given load case index to the end of the collection.
Parameters dFactor Factor to apply to the load case lLoadCaseUID The Unique ID of the load case for this load combination term ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term
DeleteAt ([in] long lIndex, [out, retval] long *plRetVal)
Deletes a load combination term in the collection at the specified index.
Parameters lIndex Index at which to delete term
plRetVal 0 if deleted successfully
GetAt ([in] long lIndex, [out, retval] ILoadCombinationTerm** ppILoadCombinationTerm)
Gets an interface for a specific load combination term by index.
Parameters lIndex The index into the collection of the requested load combination termppILoadCombinationTerm Pointer to an ILoadCombinationTerm interface that represents the requested load combination term, or NULL if
lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of load combination terms in the collection.
Parameters plCount Number of load combination terms in the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 113/450
p
InsertAt ([in] long lIndex, [in] double dFactor, [in] long lLoadCaseUID, [out, retval] ILoadCombinationTerm**ppILoadCombinationTerm)
Adds a new load combination term to the collection at the specified index.
Parameters lIndex Index at which to add new term
dFactor Factor to apply to the load case lLoadCaseUID The Unique ID of the load case for this load combination term ppILoadCombinationTerm A pointer to an ILoadCombinationTerm that represents the newly added load combination term
ILoadComboInternal
Internal use only.
ILoadComboParamCntr l1
Variable names and values associated with control 1 of the load combination generator. At this time, any set of generated loadcombinations can have at most 10 control 1 parameters.
PropertiesType Property Get Set Description
double dVarValue X Value of the parameter.long lParamID X ID that associates the control 1 parameter back to the ILoadCombinationParam
BSTR strVarName X Variable name associated with this parameter value. This is the variable displayed by the load combo generator in thecontrol 1 grid.
ILoadComboParamCntr l3
Display strings and check box states associated with control 3 of the load combination generator. At this time, any set of generatedload combinations can have at most 10 control 3 parameters.
PropertiesType Property Get Set Description
BOOL bVarValue X X State of the check box. TRUE = Checked.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 114/450
BOOL bVarValue X X State of the check box. TRUE Checked.
long lParamID X ID that associates the control 1 parameter back to the ILoadCombinationParam
BSTR strVarName X X String displayed beside the check box in the load combo generator control 3 grid.
ILoadComboParamsCntr l1
This interface represents a collection of ILoadComboParamCntrl1 objects.
Add ([in]BSTR bstrVarName, [in]double dVarValue, [out, retval] ILoadComboParamCntrl1 **ppIParamCntrl1)
Adds a new control 1 load combination param to the receiver.
Parameters bstrVarName Variable name associated with this parameter value. This is the variable displayed by the load combo
generator in the control 1 grid.
dVarValue Value of the parameter.ppIParamCntrl1 Pointer to an ILoadComboParamCntrl1 interface that represents the newly added control 1 load
combination param.
Clear ()
Deletes all control 1 load combination params from the collection.
Delete ([in] long lIndex)
Deletes a control 1 load combination param from the collection at the specified index.
Parameters lIndex The index in the collection for the requested control 1 load combination param.
GetAt ([in] long lIndex, [out, retval] ILoadComboParamCntrl1** ppIParamCntrl1)
Gets an interface for a specific control 1 load combination param by index.
Parameters
lIndex The index in the collection the requested control 1 load combination param.ppIParamCntrl1 Pointer to an ILoadComboParamCntrl1 interface that represents the requested control 1 load combination
param, or NULL if lIndex is invalid.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 115/450
GetCount ([out, retval] long *plCount)
Gets the number of control 1 load combination params in the receiver.
Parameters
plCount The number of ILoadComboParamCntrl1 objects in the collection.
ILoadComboParamsCntr l3
This interface represents a collection of ILoadComboParamCntrl3 objects.
Add ([in]BSTR bstrVarName, [in] BOOL bVarValue, [out, retval] ILoadComboParamCntrl3** ppIParamCntrl3)
Adds a new control 3 load combination param to the receiver.
Parameters bstrVarName String displayed beside the check box in the load combo generator control 3 grid.bVarValue State of the check box. TRUE = Checked.ppIParamCntrl3 Pointer to an ILoadComboParamCntrl3 interface that represents the newly added control 3 load
combination param.
Clear ()
Deletes all control 3 load combination params from the collection.
Delete ([in] long lIndex)
Deletes a control 3 load combination param from the collection at the specified index.
Parameters lIndex The index in the collection for the requested control 3 load combination param.
GetAt ([in] long lIndex, [out, retval] ILoadComboParamCntrl3** ppIParamCntrl3)
Gets an interface for a specific control 3 load combination param by index.
Parameters lIndex The index in the collection the requested control 1 load combination param.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 116/450
ppIParamCntrl3 Pointer to an ILoadComboParamCntrl3 interface that represents the requested control 3 load combinationparam, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of control 3 load combination params in the receiver.
Parameters plCount The number of ILoadComboParamCntrl3 objects in the collection.
IMatFndPerim
Future interface.
IMatFndPropPoly
Future interface.
IMemberForce
This interface represents a single member force.
PropertiesType Property Get Set Description
double dAxial X Axial force (kip) – Positive is compression. FZ for reactions.
double dLocation X Normalized location along member (0.0-1.0) where force is applied (N/A for section cuts andreactions).
double dMomentMajor X Moment about the minor axis (in direction of major axis)*. MXX for global reactions.
double dMomentMinor X Moment about the major axis (in direction of minor axis)*. MYY for global reactions.
double dShearMajor X Shear in direction of Major axis of member*. FX for reactions.
double dShearMinor X Shear in direction of Minor axis of member*. FY for reactions.
double dTorsion X Torsion about the longitudinal axis of the member*. MZZ for reactions.
Type Property Get Set Description
long lLoadCaseID X Unique ID analysis load case responsible for this force
* For sign convention refer to the RAM SS manual or the documentation for IForces later in this document.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 117/450
IMemberForces
This interface represents the collection of forces in a member.
Get ([in] long lLoadCaseID, [out, retval] IMemberForce** ppIMemberForce)
Gets an interface for a specific member force by load case ID.
Parameters lLoadCaseID The load case ID of the requested member force (0 to Count -1 )ppIMemberForce Pointer to an IMemberForce interface that represents the requested member force, or NULL if lIndex is
invalid.
GetAt ([in] long lIndex, [out, retval] IMemberForces** ppIMemberForces)
Gets an interface for a specific member force by index.
Parameters lIndex The index into the collection of the requested member force (0 to Count -1 )ppIMemberForce Pointer to an IMemberForce interface that represents the requested member force, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of member forces in the collection.
Parameters plCount Number of member forces in the collection
IModel
The IModel interface is the highest level in the hierarchy of interfaces. It represents the RAM Structural System model. Entities suchas section definitions and floor types that are global to the model can be accessed through this interface. Other entities, such asdecks or beams which belong to a specific floor type can be accessed through this interface using the entity’s unique ID
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 118/450
decks or beams, which belong to a specific floor type, can be accessed through this interface using the entity s unique ID.
ClearOldSWResults ([in] BOOL bClearForces, [in] BOOL bClearResults)
Deletes Shear Wall results. This is designed to be used after a model is converted, and is called automatically by RAM Structural System; it
should not be called by external programs.
Parameters bClearForces Flag that indicates whether Shear Wall forces should be cleared.bClearResults Flag that indicates whether other Shear Wall results should be clear.
ClearSWData ([in] BOOL bIncludeSettings)
Clear all RAM Concrete Shear Wall-releated data from the model. You must call this (with bIncludeSettings set to FALSE) any time youmodify the geometry of the model using RAM Data Access. (This requirement will go away in a future release.)
Parameters bIncludeSettings Flag that indicates whether settings (criteria) should also be cleared.
GetBeam ([in] long lUID, [out, retval] IBeam** ppIBeam )
Gets an interface for a beam.
Parameters lUID Unique ID of beam to retrieveppIBeam Pointer to an IBeam interface that represents the requested beam
GetColumn ([in] long lUID, [out, retval] IColumn** ppIColumn )
Gets an interface for a column.
Parameters lUID Unique ID of column to retrieveppIColumn Pointer to an IColumn interface that represents the requested column
GetColumnStack ([in] long lColumnID, [out, retval] IColumnStack** ppIColumnStack)
Gets an interface for a column stack given the unique ID of any column in the stack.
Parameters lC l ID U i ID f l f hi h t t i l t k
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 119/450
lColumnID Unique ID of column for which to retrieve column stackppIColumnStack Pointer to an IColumnStack interface that represents the requested column stack
GetCompositeDeckProp ([in] long lUID, [out, retval] ICompDeckProp** ppICompDeckProp)
Gets an interface for a specific composite deck property.
Parameters lUID Unique ID of composite deck property to retrieveppICompDeckProp Pointer to an ICompDeckProp interface that represents the requested composite deck property
GetCompositeDeckProps ([out, retval] ICompDeckProps** ppICompDeckProps)
Gets the collection of all composite deck properties defined for this model.
Parameters ppICompDeckProps Pointer to an ICompDeckProps collection interface that represents all composite deck properties defined in the
model
GetConcreteCriteria ([out, retval] IConcreteCriteria** ppIConcreteCriteria )
Gets an interface for the concrete criteria applied to the model.
Parameters ppIConcreteCriteria Pointer to an IConcreteCriteria interface that represents all concrete criteria for the model
GetConcreteMaterial ([in] long lUID, [out, retval] IConcreteMaterial** ppIConcreteMaterial)
Gets an interface for a specific concrete material property set.
Parameters lUID Unique ID of concrete material property set to retrieveppIConcreteMaterial Pointer to an IConcreteMaterial interface that represents the requested concrete material property set
GetConcreteSectionProp ([in] long lUID, [out, retval] IConcSectProp** ppIConcSectProp)
Gets an interface for a specific concrete section property.
Parameters lUID Unique ID of concrete section property to retrieveppIConcSectProp Pointer to an IConcSectProp interface that represents the requested concrete section property
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 120/450
GetConcreteSectionProps ([out, retval] IConcSectProps** ppIConcSectProps)
Gets the collection of all concrete section properties for this model.
Parameters ppIConcSectProps Pointer to an IConcSectProps collection interface that represents all concrete section properties defined in the model
GetConcreteSlabProp ([in] long lUID, [out, retval] IConcSlabProp** ppIConcSlabProp)
Gets an interface for a specific concrete slab property.
Parameters lUID Unique ID of concrete deck property to retrieveppIConcSlabProp Pointer to an IConcSlabProp interface that represents the requested concrete slab property
GetConcreteSlabProps ([out, retval] IConcSlabProps** ppIConcreteSlabProps) Gets the collection of all concrete slab properties defined for this model.
Parameters ppIConcSlabProps Pointer to an IConcSlabProps collection interface that represents all concrete slab properties defined in the model
GetConcShearWallCriteria ([out,retval] IConcShearWallCriteria** ppIConcShearWallCriteria)
Gets an interface for Shear Wall criteria in the model.
Parameters ppIConcShearWallCriteria Pointer to an IConcShearWallCriteria interface that represents the RAM Concrete Shear Wall criteria for themodel.
GetContinuousFnd ([in] long lUID, [out, retval] IContinuousFnd** ppIContinuousFnd )
Gets an interface for a continuous foundation.
Parameters lUID Unique ID of continuous foundation to retrieve
ppIContinuousFnd Pointer to an IContinuousFnd interface that represents the requested continuous foundation
GetCouplingBeamCriteria ([out, retval] ICouplingBeamCriteria** ppICouplingBeamCriteria)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 121/450
Gets an interface to the the global coupling beam criteria.
Parameters ppICouplingBeamCriteria Pointer to an ICouplingBeamCriteria interface that represents the global coupling beam criteria.
GetDeck ([in] long lUID, [out, retval] IDeck** ppIDeck)
Gets an interface for a deck definition.
Parameters lUID Unique ID of deck definition to retrieveppIDeck Pointer to an IDeck interface that represents the requested deck definition
GetFloorType ([in] long lUID, [out, retval] IFloortype** ppIFloorType)
Gets an interface for a specific floor type.
Parameters lUID Unique ID of floor type to retrieveppIFloorType Pointer to an IFloortype interface that represents requested floor type
GetFloorTypes ([out, retval] IFloorTypes** ppIFloorTypes)
Gets the collection of all floor types in the model, even those that may not be used by any stories.
Parameters ppIFloorTypes Pointer to an IFloorTypes collection interface that represents all floor types in the model
GetFrameAnalysisCriteria ([out, retval] IFrameAnalysisCriteria** ppIFrameAnalysisCriteria)
Gets an interface for the frame analysis criteria applied to the model.
Parameters ppIFrameAnalysisCriteria Pointer to an IFrameAnalysisCriteria interface that represents the frame analysis criteria for the model
GetFrameAnalysisNodes ([out, retval] INodes** ppINodes)
Gets an interface for the frame analysis nodes in the model.
Parameters ppINodes Pointer to an INodes interface that represents the frame analysis nodes for the model
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 122/450
ppINodes Pointer to an INodes interface that represents the frame analysis nodes for the model
GetGenericTable ([in] BSTR bstrTableName, [out, retval] ITable **ppITable)
Gets an interface to a generic data table. Generic tables can be used to hold any arbitrary data.
Parameters bstrTableName The name of the data table.ppITable Pointer to an ITable interface that represents the generic table.
GetGridSystem ([in] long lUID, [out, retval] IGridSystem** ppIGridSystem )
Gets an interface for a grid system.
Parameters lUID Unique ID of grid system to retrieveppIGridSystem Pointer to an IGridSystem interface that represents the requested grid system
GetGridSystems ([out, retval] IGridSystems** ppIGridSystems)
Gets the collection of all grid systems defined for this model.
Parameters ppIGridSystems Pointer to an IGridSystems collection interface that represents all grid systems defined in the model
GetHorizBrace ([in] long lUID, [out, retval] IHorizBrace** ppIHorizBrace)
Gets an interface for a horizontal brace.
Parameters lUID Unique ID of horizontal brace to retrieveppIHorizBrace Pointer to an IHorizBrace interface that represents the requested horizontal brace
GetIsolatedFnd ([in] long lUID, [out, retval] IIsolatedFnd** ppIIsolatedFnd )
Gets an interface for an isolated foundation.
Parameters lUID Unique ID of isolated foundation to retrieveppIIsolatedFnd Pointer to an IIsolatedFnd interface that represents the requested isolated foundation
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 123/450
GetLayoutBeam ([in] long lUID, [out, retval] ILayoutBeam** ppILayoutBeam )
Gets an interface for a layout beam.
Parameters lUID Unique ID of layout beam to retrieveppILayoutBeam Pointer to an ILayoutBeam interface that represents the requested layout beam
GetLayoutColumn ([in] long lUID, [out, retval] ILayoutColumn** ppILayoutColumn)
Gets an interface for a layout column.
Parameters lUID Unique ID of layout column to retrieve
ppILayoutColumn Pointer to an ILayoutColumn interface that represents the requested layout column
GetLayoutContinuousFnd ([in] long lUID, [out, retval] ILayoutContinuousFnd** ppILayoutContinuousFnd)
Gets an interface for a layout continuous foundation.
Parameters lUID Unique ID of layout continuous foundation to retrieveppILayoutContinuousFnd Pointer to an ILayoutContinuousFnd interface that represents the requested layout continuous foundation
GetLayoutHorizBrace ([in] long lUID, [out, retval] ILayoutHorizBrace** ppILayoutHorizBrace)
Gets an interface for a layout horizontal brace.
Parameters lUID Unique ID of layout horizontal brace to retrieveppILayoutHorizBrace Pointer to an ILayoutHorizBrace interface that represents the requested layout horizontal brace
GetLayoutIsolatedFnd ([in] long lUID, [out, retval] ILayoutIsolatedFnd** ppILayoutIsolatedFnd)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 124/450
GetLoadCases ([in] EAnalysisResultType eAnalysisType, [out, retval] ILoadCases** ppILoadCases)
Gets a collection interface of all load cases for a specific analysis type.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 125/450
eAnalysisType Type of anlaysis for which to get load cases. As of v10.0, only implemented for RAMFrameResultTypeppILoadCases Pointer to an ILoadCases collection interface that represents load cases for specified analysis type
GetLoadCombinations ([in] COMBO_MATERIAL_TYPE eCombinationsType, [out, retval] ILoadCombinations**
ppILoadCombinations) Gets a collection interface of all load combinations for a specific load combo type.
Parameters eCombinationsType Type of load combinations to getppILoadCombinations Pointer to an ILoadCombinations collection interface that represents load combinations for specified combo type
GetLoadComboParameters [in] COMBO_MATERIAL_TYPE eCombinationsType, [out,retval] ILoadCombinationParams**ppILoadComboParams)
Gets an interface load combination parameters in the model.
Parameters eCombinationsType Indicates the load combination type (generated soil, custom concrete…). See COMBO_MATERIAL_TYPE for list
of options.ppILoadComboParams Pointer to an ILoadCombinationParams interface that represents the load combinations parameters for the model.
GetMatFndPerimeter ([in] long lUID, [out, retval] IMatFndPerim** ppIMatFndPerim)
Gets an interface for a mat foundation perimeter.
Parameters lUID Unique ID of the mat foundation perimeter to retrieveppIMatFndPerim Pointer to an IMatFndPerim interface that represents the requested mat foundation perimeter
GetMatFndPropPolygon ([in] long lUID, [out, retval] IMatFndPropPolygon** ppIMatFndPropPolygon)
Gets an interface for a layout mat foundation property polygon.
Parameters lUID Unique ID of the mat foundation property polygon to retrieve
ppItMatFndPropPolygon Pointer to an IMatFndPropPolygon interface that represents the requested mat foundationproperty polygon
GetNonCompDeckProp ([in] long lUID, [out, retval] INonCompDeckProp** ppINonCompDeckProps)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 126/450
Gets an interface for a specific non-composite deck property.
Parameters lUID Unique ID of non-composite deck property to retrieveppINonCompDeckProps Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property
GetNonCompDeckProps ([out, retval] INonCompDeckProps** ppINonCompDeckProps)
Gets the collection of all non-composite deck properties defined for this model.
Parameters ppINonCompDeckProps Pointer to an INonCompDeckProps collection interface that represents all non-composite deck properties defined
in the model
GetOldSWResultsDeletedFlag ()
Internal use only.
GetOtherMaterial ([in] long lUID, [out, retval] IOtherMaterial** ppIOtherMaterial)
Gets an interface for a specific ‘Other’ material property set.
Parameters lUID Unique ID of ‘Other’ material property set to retrieve ppIOtherMaterial Pointer to an IOtherMaterial interface that represents the requested ‘Other’ material property set
GetOtherSectionProp ([in] long lUID, [out, retval] IOtherSectProp** ppIOtherSectProp)
Gets an interface for a specific ‘Other’ section property.
Parameters lUID Unique ID of ‘Other’ section property to retrieve ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section property
GetOtherSectionProps ([out, retval] IOtherSecProps** ppIOtherSectProps)
Gets the collection of all section properties of material type ‘Other’ for this model.
Parameters ppIOtherSectProps Pointer to an IOtherSectionProps collection interface that represents all ‘Other’ section properties defined in the model
GetPile ([in] long lUID [out retval] IPile** ppIPile)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 127/450
GetPile ([in] long lUID, [out, retval] IPile ppIPile)
Gets an interface for a pile definition.
Parameters
lUID Unique ID of pile definition to retrieveppIPile Pointer to an IPile interface that represents the requested pile
GetPileConfiguration ([in] long lUID, [out, retval] IPileConfiguration** ppIPileConfiguration)
Gets an interface for a pile configuration definition.
Parameters lUID Unique ID of pile configuration definition to retrieveppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration
GetPileConfigurations ([out, retval] IPileConfigurations** ppIPileConfigurations)
Gets the collection of all pile configuration definitions for this model. Pile configurations can be associated with pile caps.
Parameters ppIPileConfigurations Pointer to an IPileConfigurations collection interface that represents all pile configurations defined in the model
GetPiles ([out, retval] IPiles** ppIPiles)
Gets the collection of all pile definitions for this model. Piles can be associated with pile caps.
Parameters ppIPiles Pointer to an IPiles collection interface that represents all piles defined in the model
GetPointLoadPropertySets ([out,retval] IPointLoadPropertySets** ppPointLoadPropertySets)
Gets the collection of all point load property sets for this model. Point load property sets are associated with point load sets.
Parameters ppPointLoadPropertySets Pointer to an IPointLoadPropertySets collection interface that represents all point load property sets defined in
the model
GetRAMFrameCriteria ([out,retval] IRAMFrameCriteria** ppIRAMFrameCriteria)
Gets the RAM Frame criteria for the model. 5.03.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 128/450
Parameters ppIRAMFrameCritieria Pointer to an IRAMFrameCriteria interface that represents the RAM Frame criteria defined in the model
GetRawWallOpening ([in] long lUID, [out, retval] IRawWallOpening** ppIRawWallOpening)
Gets an interface for a raw wall opening.
Parameters lUID Unique ID of wall opening to retrieveppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested wall opening
GetRawWallSectionCut ([in] long lUID, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)
Gets an interface for a raw wall section cut.
Parameters lUID Unique ID of wall section cut to retrieveppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested wall section cut
GetRawWallSectionCuts ([out, retval] IRawWallSectionCuts** ppIRawWallSectionCuts)
Gets a collection interface of all raw wall section cuts for the model, not just for an individual wall.
Parameters ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all raw wall section cuts in the model.
GetSlabOpening ([in] long lUID, [out, retval] ISlabOpening** ppISlabOpening)
Gets an interface for a slab opening.
Parameters lUID Unique ID of slab opening to retrieveppISlabOpening Pointer to an ISlabOpening interface that represents the requested slab opening
GetSlabPerimeter ([in] long lUID, [out, retval] ISlabPerimeter ** ppISlabPerimeter)
Gets an interface for a slab perimeter.
Parameters lUID Unique ID of slab perimeter to retrieve
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 129/450
lUID Unique ID of slab perimeter to retrieveppISlabPerimeter Pointer to an ISlabPerimeter interface that represents the requested slab perimeter
GetSnowLoadPropertySet ([in] LONG lUID, [out, retval] ISnowLoadPropertySet **ppISnowLoadPropertySet)
Gets an interface to the collection of steel column trial groups.
Parameters lUID Unique ID for the snow load propertyppISnowLoadPropertySet Pointer to an ISnowLoadPropertySet interface that represents the snow load property
GetSnowLoadPropertySets [out, retval] ISnowLoadPropertySets **ppISnowLoadPropertySets)
Gets an interface to the collection of snow load property sets in the model.
Parameters ppISnowLoadPropertySets Pointer to an ISnowLoadPropertySets interface that represents the snow load property
sets in the model.
GetSteelColumnTrialGroups ([in] BOOL bHangingColumn, [out, retval] ITrialGroups** ppITrialGroups)
Gets an interface to the collection of steel column trial groups.
Parameters bHangingColumn 1 for hanging column trial groups and 0 for standard columnsppILoadComboParams Pointer to an ITrialGroups interface that represents the steel column trial groups in the model.
GetSteelCriteria ([out, retval] ISteelCriteria** ppISteelCriteria )
Gets an interface for the steel criteria applied to the model.
Parameters ppISteelCriteria Pointer to an ISteelCriteria interface that represents all steel criteria for the model
GetSteelMaterial ([in] long lUID, [out, retval] ISteelMaterial** ppISteelMaterial)
Gets an interface for a specific steel material property set.
Parameters lUID Unique ID of steel material property set to retrieveppISteelMaterial Pointer to an ISteelMaterial interface that represents the requested steel material property set
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 130/450
pp p q p p y
GetStories ([out, retval] IStories** ppIStories)
Gets the collection of all stories in the model.
Parameters ppIStories Pointer to an IStories collection interface that represents all stories in the model
GetStory ([in] long lUID, [out, retval] IStory** ppIStory)
Gets an interface for a specific story.
Parameters lUID Unique ID of story to retrieveppIStory Pointer to an IStory interface that represents requested story
GetSurfaceLoadPropertySets ([out,retval] ISurfaceLoadPropertySets **ppSurfaceLoadPropertySets)
Gets an interface to the surface load property sets in the model. These are the surface load properties defined in RAM Modeler.Parameters ppSurfaceLoadPropertySets Pointer to an ISurfaceLoadPropertySets interface that represents the surface load property sets for the
model.
GetVerticalBrace ([in] long lUID, [out, retval] IVerticalBrace** ppIVerticalBrace)
Gets an interface for a vertical brace.
Parameters lUID Unique ID of vertical brace to retrieveppIVerticalBrace Pointer to an IVerticalBrace interface that represents the requested vertical brace
GetVerticalBraces ([out, retval] IVerticalBraces** ppIVerticalBraces)
Gets the collection of all vertical braces in the model.
Parameters ppIVerticalBraces Pointer to an IVerticalBraces collection interface that represents all vertical braces in the model
GetWall ([in] long lUID, [out, retval] IWall** ppIWall )
Gets an interface for a wall.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 131/450
Parameters lUID Unique ID of wall to retrieveppIWall Pointer to an IWall interface that represents the requested wall
GetWallBarPatternTemplates ( [out, retval] WallBarPatternTemplates** ppWallBarPatternTempaltes )
Gets an interface for the collection of wall bar pattern templates.
Parameters ppWallBarPatternTemplates Pointer to a WallBarPatternTemplates interface that represents the
collection of wall bar patterns in the model
GetWallDesignGroups ([out,retval] IWallDesignGroups** ppIWallDesignGroups)
Gets a collection of all Wall Design Groups in the model.
Parameters ppIWallDesignGroups Pointer to an IWallDesignGroups interface that represents the wall design groups for the model.
MSIWorkaround_ IStringValue _DO_NO_CALL ()
Internal use only.
SetOrigin ([in] dX, [in] dY, [in] dZ)
Alternate mechanism for setting the sOrigin property, for use in languages that cannot set that property directly. 1
Parameters dX X CoordinatedY Y CoordinatedZ Z Coordinate
PropertiesType Property Get Set Description
BOOL bCombineLoads X If TRUE, loads on beams were combined during gravity analysis.
Type Property Get Set Description
BOOL bIncludeBeamSelfWeight X X Beam self weight will automatically be considered if TRUE
BOOL bIncludeColSelfWeight X X Column self weight will automatically be considered if TRUE
BOOL bIncludeSlabSelfWeight X X Slab and deck self weight will automatically be considered if TRUE
BOOL bIncludeWallSelfWeight X X Wall self weight will automatically be considered if TRUE
BOOL bLLR dSt i I lR f X X If TRUE f l l ill b i l d d h d t i i b f t i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 132/450
BOOL bLLRedStoriesInclRoof X X If TRUE, roof levels will be included when determining number of stories
BOOL bLLRedStoriesInclStorLevels X X If TRUE, storage levels will be included when determining number of stories
BOOL bLLRedStoriesInclUnredLevels X X If TRUE, unreducible levels will be included when determining number of stories
BOOL bSkipMeshInGE X X Flag that determines whether or not to skip loading of the deck and slab mesheswhen loading the model into RAM Container. Setting this to TRUE will cause these
meshes not to be loaded during startup, and consequently will hide them.BOOL bSkipMeshInGEAsked X X Flag that indicates whether or not the user has been asked if mesh loading should
be skipped.
double dOriginAngle X X Property designed to be used purely by 3rd
-party import/export routines to recordthe model’s origin rotation angle. This value is not used by the RAM StructuralSystem, but is stored with the model.
double dVersion X Version of the Ram Structural System model
ECANImportanceCategory eCANImpCategory X X Importance Category for Live Load Reduction when NBC of Canada is selected asthe Live Load Reduction code.
EBuildingCode eCodeSelection X X Building code by which Live Load Reduction will be calculated
EUnits eDisplayUnits X X Units (English, SI or Metric) to use when displaying model data in the RAMStructural System. All values passed through interfaces are assumed to be English
units. This is only to set units for display.ERoofLLType eRoofLiveLoadType X X Indicates whether roof live loads are reducible or whether they are snow
EStateStatus eStatusConcGravForces X Status of the Concrete analysis
EStateStatus eStatusDataCheck X Status of data check
EStateStatus eStatusGravForces X Status of RAM Gravity
EStateStatus eStatusLatForces X Status of the Frame analysis
long lDataTimeStamp X Time stamp
long lGroundLevel X X Unique ID of story that is at ground level,
SCoordinate sOrigin X X Property designed to be used purely by 3r
-party import/export routines to recordthe model’s origin point. This value is not used by the RAM Structural System, butis stored with the model.
BSTR strJobName X X Text description of model that can be up to 71 characters
IModelGrid
This interface represents a single grid line.
PropertiesType Property Get Set Description
BOOL bApplyMaxLimit X X If TRUE, this grid maximum will be drawn limited to user coordinate.
Type Property Get Set Description
BOOL bApplyMinLimit X X If TRUE, this grid minimum will be drawn limited to user coordinate.
BOOL bDisplayLabelAtI X X If TRUE, the grid label bubble will be displayed at the I-end of the grid line.
BOOL bDisplayLabelAtJ X X If TRUE, the grid label bubble will be displayed at the J-end of the grid line.
double dCoordinate_Angle X X The grid coordinate or angle.
double dMaxLimitValue X X If bApplyMaxLimit is TRUE this is the maximum limit specified by user to which grid line will be drawn
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 133/450
double dMaxLimitValue X X If bApplyMaxLimit is TRUE, this is the maximum limit specified by user to which grid line will be drawn.If bApplyMaxLimit is FALSE, this property will return -1.
double dMinLimitValue X X If bApplyMinLimit is TRUE, this is the minimum limit specified by user to which grid line will be drawn.If bApplyMinLimit is FALSE, this property will return -1.
EGridAxis eAxis X The grid axis (X/Radial or Y/Circular).
long lUID X Unique ID of grid line.BSTR strLabel X X Grid label.
IModelGrids
This interface represents a collection of grid lines from a grid system.
Add ([in]BSTR bstGridLabel, [in] EGridAxis eGridAxis, [in] double dGridCoord_Angle, [out, retval] IModelGrid** ppIGrid)
Adds a grid to the collection of grids for a grid system.
Parameters bstGridLabel Label for this grideGridAxis The grid axis (i.e. x or y for an orthogonal grid system, Radial or Circular for radial grid systems)dGridCoord_Angle The grid coordinate or grid angle (for radial grid system)ppIGrid Pointer to an IModelGrid interface that represents the newly added grid.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the grid with the given unique ID.
Parameters lUID Unique ID of grid to deleteplRetval 0 if grid is deleted successfully
-1 if unique ID is not found in filtered list of grids
Filter ([in] EGridFilter eGridFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of grids based on given criteria.
Parameters eGridFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
f f
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 134/450
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IModelGrid ** ppIGrid)
Gets an interface for a specific grid by unique ID.
Parameters lUID The unique ID of the requested grid lineppIGrid Pointer to an IModelGrid interface that represents the requested grid, or NULL if no grid is found in the collection
with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IModelGrid ** ppIGrid)
Gets an interface for a specific grid by index.
Parameters lIndex The index into the collection of the requested gridppIGrid Pointer to an IModelGrid interface that represents the requested grid, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of grids in the collection. When the collection is filtered, this function returns the number in the filtered collection, not thetotal number of grids in the grid system. When the collection is unfiltered, this function returns the total number of grids in the grid system.
Parameters
plCount Number of grids in the collection
INode
This interface is used represent a finite element node.
PropertiesType Property Get Set Description
Type Property Get Set Description
LONG lIndex X The index of the node in the global node list.
LONG lUniqueID X The unique ID for the node.
SCoordinate sLocation X The location of the node in global model coordinates.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 135/450
INodes
This interface is used to hold a collection of INode objects.
GetCount ([out,retval] long** plCount)
Gets number of INode objects in the collection.
Parameters plCount The number of INode objects in the collection.
GetAt ([in] long lIndex, [out, retval] INode** ppINode)
Gets the INode object at the specified index.
Parameters lIndex The index of the specified Wall FE.ppINode The INode object at the specified index.
INonCompDeckProp
This interface represents a single non-composite deck property.
PropertiesType Property Get Set Description
double dEffectiveThickness X X The effective thickness of the deck
double dElasticModulus X X The elastic modulus of the deck
double dPoissonsRatio X X The Poisson’s Ratio of the deck
double dSelfWeight X X The self-weight of the deck
long lUid X The unique ID of the deck.
BSTR strLabel X X The label of the deck
INonCompDeckProps
This interface represents a collection of non-composite deck properties defined in the model.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 136/450
Add ([in] BSTR strLabel, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)
Creates a new non-composite deck property, adds it to the collection, and returns an interface to the newly created property.
Parameters strLable The label for the new non-composite deck propertyppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the newly added non-composite deck property.
Get ([in] long lUID, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)
Gets an interface for a specific non-composite deck property by unique ID.
Parameters lUID The unique ID of the requested non-composite deck property
ppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property, or NULLif no non-composite deck property is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] INonCompDeckProp ** ppINonCompdeckProp)
Gets an interface for a specific non-composite deck property by index.
Parameters lIndex The index into the collection of the requested non-composite deck propertyppINonCompdeckProp Pointer to an INonCompDeckProp interface that represents the requested non-composite deck property, or NULL
if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of non-composite deck properties in the collection.
Parameters plCount Number of non-composite deck properties in the collection
IOtherMaterial
This interface represents a single ‘Other’ material property set. A member’s ‘Other’ material properties can be read and set throughthis interface.
Properties
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 137/450
PropertiesType Property Get Set Description
double dE X X Young’s modulus, modulus of elasticity (E).
double dPoissonsRatio X X Poisson’s Ratio.
double dSelfWeight X X Self weight of member.
IOtherSectProp
This interface represents a single ‘Other’ section. Note that the type of member (beam, column, or brace) to which it can be assigned cannot be changed after a section is defined.
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
PropertiesType Property Get Set Description
double dArea X X Area of section.
double dDepth X X Depth of section measured in direction of major axis.
double dMomInertiaMajor X X Moment of inertia in major direction (Ix).
Type Property Get Set Description
double dMomInertiaMinor X X Moment of inertia in minor direction (Iy).
double dShearAreaMajor X X Shear area in major direction.
double dShearAreaMinor X X Shear area in minor direction.
double dTorsionConstant X X Torsion Constant (J).
double dWidth X X Width of section
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 138/450
double dWidth X X Width of section.
EUniqueMemberTypeID eMemType X Type of member to which this section can be assigned.
long lUID X Unique ID of ‘Other’ section.
BSTR strLabel X X A label for this ‘Other’ section. Limited to 15 characters.
IOtherSectProps
This interface represents a collection of ‘Other’ section properties defined in the model. ‘Other’ section properties are defined usingthis 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, andlikewise for column and brace ‘Other’ sections.
Add ([in] BSTR bstName, [in] EUniqueMemberTypeID eMemType, [in] double dWidth, [in] double dDepth, [in] double dArea, [in]double dMomInertiaMajor, [in] double dMomInertiaMinor, [in] double dTorsionConstant, [in] double dMajorShearArea, [in] doubledMinorShearArea, [out, retval] IOtherSectProp** ppIOtherSectProp)
Adds a new ‘Other’ section.
Parameters bstName Label of ‘Other’ section. Limited to 15 characters.eMemType Must specify if this is a section for a beam, column or bracedWidth Total width of sectiondDepth Depth of sectiondArea Area of section
dMomInertiaMajor Moment of inertia in major direction (Ix).dMomInertiaMinor Moment of inertia in minor direction (Iy).dTorsionConstant Torsion Constant (J).dMajorShearArea Shear area in major direction.dMinorShearArea Shear area in minor direction.ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the newly added ‘Other’ section.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the ‘Other’ section with the given unique ID. A section that is currently assigned to a member cannot be deleted.
Parameters lUID Unique ID of ‘Other’ section to deleteplRetval 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
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 139/450
Filter ([in] EOtherSectPropsFilter eOtherSectPropsFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of concrete sections based on given criteria.
Parameters eOtherSectPropsFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IOtherSectProp** ppIOtherSectProp)
Gets an interface for a specific ‘Other’ section property by unique ID.
Parameters lUID The unique ID of the requested ‘Other’ section ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section, or NULL if no ‘Other’ section is
found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IOtherSectProp** ppIOtherSectProp)
Gets an interface for a specific ‘Other’ section property by index.
Parameters
lIndex The index into the collection of the requested ‘Other’ section ppIOtherSectProp Pointer to an IOtherSectProp interface that represents the requested ‘Other’ section, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of ‘Other’ sections in the collection. When the collection is filtered, this function returns the number in the filteredcollection, not the total number of ‘Other’ sections in the model. When the collection is unfiltered, this function returns the total number of‘Other’ sections in the model.
Parameters
plCount Number of ‘Other’ sections in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 140/450
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with thismember type
IPile
This interface represents a single pile.
PropertiesType Property Get Set Description
double dCompressionCap X X Compression capacity of piledouble dDiameter X X Diameter of pile
double dShearCap X X Shear capacity of pile
double dTensionCap X X Tension capacity of pile
long lUID X Unique ID of pile.
BSTR strLabel X X Label for this pile
IPi leConfigurat ion
This interface represents a single pile configuration.
PropertiesType Property Get Set Description
EPileConfiguration eConfiguration X X Configuration of pile group
long lNumHorizRows X X Number of rows of pile running parallel to the major axis of the footing. Applies to rectangular pileconfigurations
long lNumVertRows X X Number of rows of pile running perpendicular to the major axis of the footing. Applies to rectangular pileconfigurations
long lUID X Unique ID of pile configuration.
BSTR strLabel X X Label for this pile configuration
IPi leConfigurat ions
This interface represents a collection of all pile configurations defined in the model. Pile configurations are assigned to pile cap
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 141/450
p p g g g p pfoundations (a type of isolated foundation).
AddRectangular ([in] BSTR bstrName, [in] long lNumVertRows, [in] long lNumHorizRows, [out, retval] IPileConfiguration**
ppIPileConfiguration)
Adds a new rectangular pile configuration to the collection of pile configurations for the model.
Parameters bstrName A label for the pile configurationlNumVertRows Number of rows of piles perpendicular to the major axislNumHorizRows Number of rows of piles parallel to the major axisppIPileConfiguration Pointer to an IPileConfiguration interface that represents the newly added pile configuration.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes a pile configuration with the given unique ID from the collection.
Parameters lUID Unique ID of pile configuration to deleteplRetval 0 if pile configuration is deleted successfully
-1 if unique ID is not found in collection of pile configuration
Get ([in] long lUID, [out, retval] IPileConfiguration** ppIPileConfiguration)
Gets an interface for a specific pile configuration by unique ID.
Parameters lUID The unique ID of the requested pile configurationppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration, or NULL if no pile
configuration is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IPileConfiguration** ppIPileConfiguration)
Gets an interface for a specific pile configuration by index.
Parameters lIndex The index into the collection of the requested pile configurationppIPileConfiguration Pointer to an IPileConfiguration interface that represents the requested pile configuration, or NULL if lIndex is
invalid.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 142/450
GetCount ([out, retval] long* plCount)
Gets the number of pile configurations in the collection.
Parameters plCount Number of pile configurations in the collection
IPiles
This interface represents a collection of all piles defined for the model.
Add ([in] BSTR bstrName, [in] double dDiameter, [in] double dCompressionCap, [in] double dTensionCap, [in] double dShearCap,
[out, retval] IPile** ppIPile)
Adds a new pile definition to the collection of piles for the model.
Parameters bstrName A label for the piledDiameter The diameter of the piledCompressionCap The compression capacity of the piledTensionCap The tension capacity of the piledShearCap The shear capacity of the pileppIPile Pointer to an IPile interface that represents the newly added pile.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes a pile with the given unique ID from the collection.
Parameters lUID Unique ID of pile to deleteplRetval 0 if pile is deleted successfully
-1 if unique ID is not found in collection of pile
Get ([in] long lUID, [out, retval] IPile** ppIPile)
Gets an interface for a specific pile by unique ID.
P
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 143/450
Parameters lUID The unique ID of the requested pileppIPile Pointer to an IPile interface that represents the requested pile, or NULL if no pile is found in the collection with the
given unique ID.
GetAt ([in] long lIndex, [out, retval] IPile** ppIPile)
Gets an interface for a specific pile by index.
Parameters lIndex The index into the collection of the requested pileppIPile Pointer to an IPile interface that represents the requested pile, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of piles in the collection.
Parameters plCount Number of piles in the collection
IPoint
This interface represents a single point.
GetCoordinate ([out] SCoordinate *pPoint, [out, retval] long *plRetval)
Gets the coordinate of the point.
Parameters pPoint The coordinate of the pointplRetval 0 if coordinate is retrieved successfully
SetCoordinate ([in] SCoordinate Point, [out, retval] long *plRetval)
Sets the coordinate of the point.
Parameters Point The coordinate of the pointplRetval 0 if coordinate is set successfully
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 144/450
plRetval 0 if coordinate is set successfully
SetCoordinate2 ([in] double dX, [in] double dY, [in] double dZ, [out, retval] long *plRetval)
Sets the coordinate of the point. (Note: this was added because SetCoordinate isn’t compatible with Visual Basic.)
Parameters dX The X coordinate of the pointdY The Y coordinate of the pointdZ The Z coordinate of the pointplRetval 0 if coordinate is set successfully
IPointLoad
This interface represents a single point load.
GetCoordinate ([out] SCoordinate* pLocation, [out, retval] long* plRetval)
Gets the number of point loads in the collection.
Parameters pLocation Location of the point load in global X,Y,Z coordinatesplRetval Error code
PropertiesSign of force is positive in direction of global axes and right hand rule for moments (thumb in global axis direction). Coordinatesystem is based on context in which the force is obtained (default is global coordinate system).
Type Property Get Set Description
double dFx X Horizontal force magnitude (kip) in X axis
double dFy X Horizontal force magnitude (kip) in Y axis
double dFz X Vertical force magnitude (kip) in Z axis
double dMxx X Moment about the XX axis
double dMyy X Moment about the YY axis
Type Property Get Set Description
double dMzz X Moment about the ZZ Axis
IPointLoadPropertySet
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 145/450
IPointLoadPropertySet
This interface represents a single point load property set as defined in the modeler.
PropertiesType Property Get Set Description
double dConstDeadLoad X X Construction Dead load (positive is down)
double dConstLiveLoad X X Construction Live load (positive is down)
double dDeadLoad X X Dead load magnitude (positive is down)
double dLiveLoad X X Live load magnitude (positive is down)
double dMassDeadLoad X X Mass dead load magnitude (positive is down)
double dPartitionLoad X X Partion load magnitude (positive is down)
ELoadCaseType eLiveLoadType X X The live load case type (MUST BE A LIVE LOAD TYPE)
long lUID X Unique ID of the property set
BSTR strLabel X X Label of the property set. Limited to 19 characters.
IPointLoadPropertySets
This interface represents all the point load property sets as defined in the RAM Modeler.
Add ([in] BSTR bstrLabel, [out,retval] IPointLoadPropertySet**ppIPointLoadPropSet);
Adds a new point load property set to the collection.
Parameters
bstrLabel Unique label for the line load property set. Limited to 19 characters. ppIPointLoadPropSet A pointer to an IPointLoadPropertySet that represents the newly added point load property set
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes a point load property set.
Parameters lUID Unique ID of point load property set to delete
plRetVal 0 if point load property set is deleted successfully
-1 if failed. Delete will fail if member is not found or if the point load property set is in use by a point load set.
Get ([in] long lUID, [out, retval] IPointLoadPropertySet** ppIPointLoadPropSet);
Gets an interface for a specific point load property set by unique ID.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 146/450
Parameters lUID Unique ID of the requested point load property setppIPointLoadPropSet Pointer to an IPointLoadPropertySet interface that represents the requested point load property set, or NULL if no
line load property set is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IPointLoadPropertySet**ppIPointLoadPropSet);
Gets an interface for a specific point load property set by index.
Parameters lIndex Index of the requested point load property setppIPointLoadPropSet Pointer to an IPointLoadPropertySet interface that represents the requested point load property set, or NULL if
lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of point load property sets in the collection.
Parameters plCount Number of point load property sets in the collection
IPointLoads
This interface represents a collection of individual point load objects.
GetAt ([in] long lIndex, [out, retval] IPointLoad** ppIPointLoad)
Gets an interface for a specific point load by index (zero based).
Parameters lIndex The index into the collection of the requested point load (0 to Count-1)ppIPointLoad Pointer to an IPointLoad interface that represents the requested point load, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of point loads in the collection.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 147/450
Parameters plCount Number of point loads in the collection
IPointLoadSet
This interface represents a single point load set associated with a floor type. Since a floor type can be associated with one or morestories, a point load set may actually represent load sets on multiple stories. This interface can be used to modify the location andproperties of a point load set.
PropertiesType Property Get Set Description
long lPropertySetUID X X The UID of the PointLoadPropertySet associated with the point load
long lUID X Unique ID of the Point Load Set
SCoordinate sCoordinate X X Location of the point load (only X and Y are used)
IPointLoadSets
This interface represents a collection of point load sets associated with a floor type. This collection is used to add or delete pointload sets on a floor type. A point load set consists of a location and a point load property set. This corresponds to a modeled pointload in RAM Modeler.
Add ([in] long lPropSetID, [in] double dX, [in] double dY, [out,retval] IPointLoadSet** ppIPointLoadSet )
Adds a new point load set to the collection of point load sets for the floor type.
Parameters lPropSetID Unique ID of point load property set associated with this point load setdX X coordinate of the point load setdY Y coordinate of the point load setppIPointLoadSet Pointer to an IPointLoadSet interface that represents the newly added point load set.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the point load set with the given unique ID.
Parameters lUID Unique ID of point load set to deleteplRetval 0 if point load set is deleted successfully
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 148/450
-1 if unique ID is not found in list of point load sets
Get ([in] long lUID, [out, retval] IPointLoadSet** ppIPointLoadSet)
Gets an interface for a specific point load set by index.
Parameters lUID Unique ID of the requested point load setppIPointLoadSet Pointer to an IPointLoadSet interface that represents the requested point load set, or NULL if no point load set is found
in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IPointLoadSet** ppIPointLoadSet)
Gets an interface for a specific point load set by index.
Parameters lIndex The index into the collection of the requested point load setppIPointLoadSet Pointer to an IPointLoadSet interface that represents the requested point load set, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of point load sets in the collection.
Parameters plCount Number of point load sets in the collection
IPoints
This interface represents a collection of points.
Add ([in] SCoordinate Point, [out, retval] IPoint** ppIPoint)
Adds a point to the collection.
Parameters Point Coordinate of this pointppIPoint Pointer to an IPoint interface that represents the newly added point.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 149/450
Add2 ([in] double dX, [in] double dY, [in] double dZ, [out, retval] IPoint** ppIPoint)
Adds a point to the collection. (Note: this was added because Add isn’t compatible with Visual Basic.)
Parameters dX The X coordinate of the pointdY The Y coordinate of the pointdZ The Z coordinate of the pointppIPoint Pointer to an IPoint interface that represents the newly added point.
Delete ([in] long lIndex, [out, retval] long* plRetval)
Deletes the point at the given index.
Parameters lIndex Index of point to delete.plRetval 0 if point is deleted successfully
-1 if index is invalid
GetAt ([in] long lIndex, [out, retval] IPoint** ppIPoint)
Gets an interface for a specific point by index.
Parameters
lIndex The index into the collection of the requested pointppIPoint Pointer to an IPoint interface that represents the requested point, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of points in the collection.
Parameters plCount Number of points in the collection
InsertAt ([in] long lIndex, [in] SCoordinate Point, [out, retval] IPoint** ppIPoint)
Adds a point to the collection at the given index, growing the list of points if needed. This function is provided for when the order of thepoints in the collection matters, such as for the definition of a polygon.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 150/450
lIndex The index at which to add the pointPoint Coordinate of this pointppIPoint Pointer to an IPoint interface that represents the newly added point.
InsertAt2 ([in] long lIndex, [in] double dX, [in] double dY, [in] double dZ, [out, retval] IPoint** ppIPoint)
Adds a point to the collection at the given index, growing the list of points if needed. This function is provided for when the order of thepoints in the collection matters, such as for the definition of a polygon. (Note: this was added because InsertAt isn’t compatible with VisualBasic.)
Parameters lIndex The index at which to add the pointdX The X coordinate of the point
dY The Y coordinate of the pointdZ The Z coordinate of the pointppIPoint Pointer to an IPoint interface that represents the newly added point.
IProperties
This interface represents a collection of properties associated with a member. This collection is used to add or delete properties to amember.
Get ([in] BSTR bstrPropName, [out, retval], IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetAt ([in] long lIndex, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by index.
GetCount ([out, retval] long* plCount)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 151/450
Gets the number of properties in the collection.
Parameters
plCount Number of properties in the collection
Parameters lIndex The index into the collection of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if lIndex is invalid.
IProperty
This interface represents a single property for a member.
GetValueAsBool ([out] BOOL *pbValue, [out, retval] long* plRetval)
Gets the value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.
Parameters pbValue Value of the propertyplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
GetValueAsDouble ([out] double *pdValue, [out, retval] long* plRetval)
Gets the value of the property as a double. An error is returned if this is not the appropriate type for this property.
Parameters pdValue Value of the propertyplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
GetValueAsLong ([out] long *plValue, [out, retval] long* plRetval)
Gets the value of the property as a long. An error is returned if this is not the appropriate type for this property.
Parameters plValue Value of the property
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 152/450
yplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
GetValueAsString ([out] BSTR *pstrValue, [out, retval] long* plRetval)
Gets the value of the property as a string. This function works for any data type.
Parameters pstrValue Value of the propertyplRetval Should always be zero since any data type can be
returned as a string.
SetValueAsBool ([in] BOOL bValue, [out, retval] long* plRetval)
Sets the value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.
Parameters bValue Value of the propertyplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
SetValueAsDouble ([in] double dValue, [out, retval] long* plRetval)
Sets the value of the property as a double. An error is returned if this is not the appropriate type for this property.
Parameters dValue Value of the propertyplRetval 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 153/450
plRetval 0 if value retrieved successfully-1 if no appropriate type for this property.
GetDefaultAsLong ([out] long *plDefault, [out, retval] long* plRetval)
Gets the default value of the property as a long. An error is returned if this is not the appropriate type for this property.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 154/450
p p y g pp p yp p p y
Parameters plDefault Default value for the property
plRetval 0 if value retrieved successfully-1 if no appropriate type for this property.
GetDefaultAsString ([out] BSTR *pstrDefault, [out, retval] long* plRetval)
Gets the default value of the property as a string. An error is returned if this is not the appropriate type for this property.
Parameters pstrDefault Default value for the propertyplRetval Should always be zero since any data type can be
returned as a string.
SetDefaultAsBool ([in] BOOL bDefault, [out, retval] long* plRetval)
Sets the default value of the property as a BOOL. An error is returned if this is not the appropriate type for this property.
Parameters bDefault Default value for the propertyplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
SetDefaultAsDouble ([in] double dDefault, [out, retval] long* plRetval)
Sets the default value for this property as a double. An error is returned if this is not the appropriate type for this property.
Parameters dDefault Default value for the propertyplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
SetDefaultAsLong ([in] long lDefault, [out, retval] long* plRetval)
Sets the default value of the property as a long. An error is returned if this is not the appropriate type for this property.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 155/450
lDefault Default value for the propertyplRetval 0 if value retrieved successfully
-1 if no appropriate type for this property.
SetDefaultAsString ([in] BSTR strDefault, [out, retval] long* plRetval)
Sets the default value of the property as a string. An error is returned if this is not the appropriate type for this property.
Parameters strDefault Default value for the propertyplRetval Should always be zero since any data type can be
returned as a string.
PropertiesType Property Get Set Description
EDBFieldType eType X The type of value for this property
BSTR strPropDescription X X Description of the property
BSTR strPropName X X Case insensitive name of property
IPropertyDefini t ions
This interface represents a collection of property definitions associated with a type of member. This collection is used to add ordelete properties associated with a member type.
AddPropBool ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BOOL bDefaultValue, [out, retval]IPropertyDefinition** ppIPropertyDef)
Adds a new property to the collection of properties for the member.
Parameters bstrPropName Name of the propertybstrPropDescription Description of the property (can be left blank)
bDefaultValue Default value for this property when not set for a memberppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.
AddPropDouble ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] double dDefaultValue, [out, retval]IPropertyDefinition** ppIPropertyDef)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 156/450
Adds a new property definition to the collection of property definitions for the member type.
Parameters
bstrPropName Name of the propertybstrPropDescription Description of the property (can be left blank)dDefaultValue Default value for this property when not set for a memberppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.
AddPropLong ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] long lDefaultValue, [out, retval] IPropertyDefinition**ppIPropertyDef)
Adds a new property to the collection of properties for the member.
Parameters bstrPropName Name of the propertybstrPropDescription Description of the property (can be left blank)lDefaultValue Default value for this property when not set for a memberppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.
AddPropString ([in] BSTR bstrPropName, [in] BSTR bstrPropDescription, [in] BSTR strDefaultValue, [out, retval]IPropertyDefinition** ppIPropertyDef)
Adds a new property to the collection of properties for the member.
Parameters bstrPropName Name of the propertybstrPropDescription Description of the property (can be left blank)strDefaultValue Default value for this property when not set for a memberppIPropertyDef Pointer to an IPropertyDefinition interface that represents the newly added property definition.
Delete ([in] BSTR bstrPropName, [out, retval] long* plRetval)
Deletes the property definition with the given name. Use with caution as this will delete the value for each instance of the member type.
Parameters bstrPropName Name of property to deleteplRetval 0 if property is deleted successfully
-1 if no property is found with given name
G t ([i ] BSTR b t P N [ t t l] IP t D fi iti ** IP t D f)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 157/450
Get ([in] BSTR bstrPropName, [out, retval], IPropertyDefinition** ppIPropertyDef)
Gets an interface for a specific property definition by property name.
Parameters bstrPropName The name of the requested propertyppIPropertyDef Pointer to an IPropertyDefinition interface that represents the requested property definition, or NULL if no property
is found with given name.
GetAt ([in] long lIndex, [out, retval] IPropertyDefinition** ppIPropertyDef)
Gets an interface for a specific property definition by index.
Parameters
lIndex The index into the collection of the requested property definitionppIPropertyDef Pointer to an IPropertyDefinition interface that represents the requested property definition, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of property definitions in the collection.
Parameters plCount Number of property definitions in the collection
IRAMFrameCriteria
This interface represents the criteria in RAM Frame. 5.03.
GetFrame_SolverSettings ( [out] BOOL* pbDirectSolver, [out] BOOL* pbInCore, [out] BOOL* pbUseSingleCPU )
Gets solver settings in RAM Frame – Criteria - General. 5.03.
Parameters pbDirectSolver 1 if the Direct Solver is selectedpbInCore 1 if In Core is selectedpbUseSingleCPU 1 if Use Single CPU is selected
S tF S l S tti ( [i ] BOOL bDi tS l [i ] BOOL bI C [i ] BOOL bU Si l CPU )
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 158/450
SetFrame_SolverSettings ( [in] BOOL bDirectSolver, [in] BOOL bInCore, [in] BOOL bUseSingleCPU )
Sets solver settings in RAM Frame – Criteria - General. 5.03.
Parameters bDirectSolver 1 if the Direct Solver is selectedbInCore 1 if In Core is selectedbUseSingleCPU 1 if Use Single CPU is selected
PropertiesType Property Get Set Description
BOOL bAISC360_UseReducedStiff X 1 if Use Reduced Stiffness is selectedBOOL bAISC360_UseTau1 X 1 if Tau = 1.0 is selected
BOOL bMemberForceOutputAtFaceOfJoint X 1 if member force output at joint face is selected
BOOL bPDelta X 1 if P Delta is set to YesBOOL bPDelta_UseMassLoad X 1 if P Delta Use Mass is selected
BOOL bResponseSpectra_ConsiderSign X 1 if Consider Sign is selected
BOOL bResponseSpectra_IncludeMassinZDir X 1 if Include Z Mass is selected
BOOL bRigidEndZones_IgnoreEffects X 1 if Ignore Effects is selected
BOOL bSidePlate_HighSeismicDesign X 1 if High Seismic Design is selected
BOOL bWallElement_IncludeOOPStif X 1 if include out of plane stiffness is selected
BOOL bWallElement_ReleaseRotFixity X 1 if release rotational fixity is selected
BOOL bWallElement_StoreStress X 1 if store wall stresses is selected
double dAISC360_UserEnteredTau X Value of the user defined Tau
double dAnalyticalModel_GeometryTol X Geometric tolerance
double dAnalyticalModel_MaxDistance X Maximum distance between nodes
double dAnalyticalModel_MergeTol X Merge node tolerancedouble dPDelta_DeadLoadScaleFactor X P Delta scale factor
double dPDelta_LiveLoadScaleFactor X P Delta scale factor
double dPDelta_MassLoadScaleFactor X P Delta scale factor
double dPDelta_RoofLoadScaleFactor X P Delta scale factor
double dPDelta_SnowLoadScaleFactor X P Delta scale factor
double dRigidEndZones_Reduction X Rigid end zone reduction percentage
long lGroundLevel X Index to the ground level story. -1 if base.
IRawWallOpening
This interface represents a single raw wall opening.
GetOpeningVertices ([out,retval] IPoints** ppIVertexCoordinates)
Gets the vertices of the opening.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 159/450
Gets the vertices of the opening.
Parameters ppIVertexCoordinates Pointer to an IPoints collection interface which represents the locations of the
vertices of the opening in 3D coordinates.
PropertiesType Property Get Set Description
double dHorizontalLoc X X Horizontal location along wall, measured from eWallRefCorner
double dOpeningHeight X X Height of opening
double dOpeningWidth X X Width of opening
double dVerticalLoc X X Vertical location along wall, measured from eWallRefCorner
EDA_MEMBER_LOC eWallRefCorner X X Reference corner from which opening location is measured
long lLabel X Generated label for display of wall opening
long lUID X Unique ID of wall opening
long lWallUID X Unique id of wall that opening was modeled in
IRawWallOpenings
This interface represents a collection of raw wall openings associated with a wall.
Add ([in] EDA_MEMBER_LOC eRefCorner, [in] double dHorizontalLoc, [in] double dVerticalLoc, [in] double dOpeningWidth, [in]double dOpeningHeight, [out, retval] IRawWallOpening** ppIRawWallOpening)
Adds a raw wall opening to the collection of openings for the wall.
Parameters eRefCorner Indicates the reference corner of the wall from which the opening location is measureddHorizontalLoc Horizontal location along the wall, measured from eRefCornerdVerticalLoc Vertical location along the wall, measured from eRefCornerdOpeningWidth Width of openingdOpeningHeight Height of openingppIRawWallOpening Pointer to an IRawWallOpening interface that represents the newly added raw wall opening
Delete ([in] long lUID, [out, retval] long* plRetval )
Deletes the raw wall opening with the given unique ID.
Parameters lUID Unique ID of raw wall opening to delete
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 160/450
lUID Unique ID of raw wall opening to deleteplRetval 0 if opening is deleted successfully
-1 if lIndex is invalid
Get ([in] long lUID, [out, retval] IRawWallOpening** ppIRawWallOpening)
Gets an interface for a specific raw wall opening by unique ID.
Parameters lUID The unique ID of the requested wall openingppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested raw wall opening, or NULL if no wall
opening is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IRawWallOpening** ppIRawWallOpening)
Gets an interface for a raw wall opening by index.
Parameters lIndex The index into the collection of the requested raw wall openingppIRawWallOpening Pointer to an IRawWallOpening interface that represents the requested raw wall opening, or NULL if lIndex is
invalid.
GetCount ([out, retval] long* plCount)
Gets the number of wall openings in the collection.
Parameters plCount Number of raw wall openings in the collection
IRawWallSectionCut
This interface represents a single raw wall section cut. Raw indicates it may span over multiple walls.
ClearComboForceSets ()
Deletes all load combination-based force sets in the collection.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 161/450
ClearForceSets ()
Deletes all force sets in the collection.
GetCoordinates ([out] SCoordinate *pStartPoint, [out] SCoordinate *pEndPoint, [out, retval] long* plRetval)
Gets the section cut ends, global coordinates.
Parameters pStartPoint Start coordinate of section cutpEndPoint End coordinate of section cut
GetCutBars ([in] BOOL bCompound, [out,retval] IWallBarPlacements** ppIWallBarPlacements)
Gets an array of bar placements cut by this section cut.
Parameters bCompound If TRUE, and the section cut is part of a compound section cut, this will return the bar placements for all cuts in the
compound section cut.If FALSE, only returns the bar placements for the current raw section cut.
ppIWallBarPlacements The bars cut by this section cut.
GetCutMembers ([out, retval] IDAArray** ppICutMembersArray)
Gets an array of members cut by this section cut.
Parameters ppICutMembersArray Array of unique IDs of walls, beams, columns, that are cut by this section cut
GetForce ([in] EAnalysisResultType eAnalysisType, [in] long lAnalysisLoadCaseID, [out,retval] IMemberForce** ppIMemberForce)
Gets the force at this section cut for the given analysis type and load case ID.
Parameters eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)lAnalysisLoadCaseID Analysis load case ID for which to get forceppIMemberForce Pointer to an IMemberForce interface that represents the force at this section cut.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 162/450
GetForces ([in] EAnalysisResultType eAnalysisType, [out, retval] IMemberForces** ppIMemberForces)
Gets the force at this section cut for the given analysis type.
Parameters eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)ppIMemberForces Pointer to an IMemberForces collection interface that represents the forces at this section cut.
GetForceSets ([out, retval] IWallSectionDsnCutForceSets ** ppIWallSectionDsnCutForceSets)
Gets the collection force sets for the section cut.
Parameters
ppIWallSectionDsnCutForceSets Pointer to an IWallSectionDsnCutForceSets collection interface that represents all force sets in the wallsection design cut.
GetForcesForLoadCases ([in] EAnalysisResultType eAnalysisType, [in] DAArray aAnalysisLoadCaseIDs, [out, retval]IMemberForces** ppIMemberForces)
Gets the force at this section cut for the given analysis type and load case ID.
Parameters eAnalysisType Type of analysis for which to get force (As of v10, only RAMFrameResultType supported)
aAnalysisLoadCaseIDs Array of analysis load case IDs for which to get forceppIMemberForces Pointer to an IMemberForces collection interface that represents the forces at this section cut for the given load
case IDs.
GetForcesOnHorizontalPlane ([in] long lLoadCaseUID, [in] long lNumWallUIDs, [in] long* palWallUIDs, [in] longlNumBeamUIDs, [in] long* palBeamUIDs, [in] long lNumColumnUIDs, [in] long* palColumnUIDs, [in] double dCutStartX, [in] doubledCutStartY, [in] double dCutEndX, [in] double dCutEndY, [in] double dCutZ, [out] double* pdFX_g, [out] double* pdFY_g, [out]double* pdFZ_g, [out] double* pdMX_g, [out] double* pdMY_g, [out] double* pdMZ_g, [out] double* pdCenterX, [out] double*pdCenterY, [out] double* pdCenterZ, [out, retval] long *plRetVal)
Returns the resultant force on a horizontal plane through the specified members.
Parameters lLoadCaseUID Unique id of the load case for which forces are requested.lNumWallUIDs Number of wall unique ids in the palWallUIDs array.palWallUIDs Array of wall unique ids for which forces are requested.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 163/450
p y q qlNumBeamUIDs Number of beam unique ids in the palBeamUIDs array.palBeamUIDs Array of beam unique ids for which forces are requested.lNumColumnUIDs Number of column unique ids in the palColumnUIDs array.
palColumnUIDs Array of column unique ids for which forces are requested.dCutStartX Global X coordinate of start point of section cut.dCutStartY Global Y coordinate of start point of section cut.dCutEndX Global X coordinate of end point of section cut.dCutEndY Global Y coordinate of end point of section cut.dCutZ Global Z coordinate of section cut.pdFX_g Resultant force in X directionpdFY_g Resultant force in Y directionpdFZ_g Resultant force in Z directionpdMX_g Resultant moment about X axispdMY_g Resultant moment about Y axis
pdMZ_g Resultant moment about Z axispdCenterX X coordinate of point where resultant force is acting on combined memberspdCenterY Y coordinate of point where resultant force is acting on combined memberspdCenterZ Z coordinate of point where resultant force is acting on combined membersplRetVal 0 if successful
-1 failed
GetForcesOnVerticalPlane ([in] long lLoadCaseUID, [in] long lWallUID, [in] double dX1, [in] double dY1, [in] double dZ1, [in]double dX2, [in] double dY2, [in] double dZ2, [out] double* pdFX, [out] double* pdFY, [out] double* pdFZ, [out] double* pdMX, [out]double* pdMY, [out] double* pdMZ, [out, retval] long *plRetVal)
Gets resultant force on a vertical cut (plane) across the thickness of the give wall member. The cut is defined by a line throught the mid-plane of the wall.
Parameters lLoadCaseUID Unique id of the load case for which forces are requested.lWallUID Unique id of the wall for which forces are requested.dX1 X coordinate of start point of section cut.dY1 Y coordinate of start point of section cut.dZ1 Z coordinate of start point of section cut.
dX2 X coordinate of end point of section cut.dY2 Y coordinate of end point of section cut.dZ2 Z coordinate of end point of section cut.pdFX Resultant force in X direction.pdFY Resultant force in Y direction.pdFZ Resultant force in Z direction.pdMX Resultant moment about X axis.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 164/450
pdMY Resultant moment about Y axis.pdMZ Resultant moment about Z axis.plRetVal 0 if successful
-1 failed
GetPolygonPoints ([in] BOOL bCompound, [out, retval] IPoints** ppIPoints)
Gets a collection of points that form the polygon of the section cut in 3D space.
Parameters
bCompound If TRUE, and the section cut is part of a compound section cut, this will return the points for the polygon formed byall cuts in the compound section cut.If FALSE, only returns the polygon for the current raw section cut.
ppIWallBarPlacements Collection of points that make up the 3D polygon for this section cut.
PropertiesType Property Get Set Description
BOOL bAutoGenerated X X Indicates whether the section cut was autocreated by the module
BOOL bFullModule X X Indicates whether the section cut was created in the full shear wall module
BOOL bIncBoundaryElements X X Indicates whether or not to include the forces from the boundary elements (such as a columnattached to a wall) when getting the forces for the section cut
double dEndOffset X X Offset from bottom of wall or opening at which section cut terminates
double dStartOffset X X Offset from bottom of wall or opening from which section cut originates
EMemberOrientation eOrientation X X Orientation of section cut
EStatusState eStatus X Section cut design status
long lEndEdgeIndex X X Index of edge of wall or opening at which section cut terminates, 0 being the bottom edge andcontinuing counter-clockwise (0-3 only valid indices at this time)
long lEndMemberUID X X Unique ID of wall or wall opening at which section cut terminates
long lSectionCutWDGID X X Section Cut Group ID within the Wall Design Group
long lStartEdgeIndex X X Index of edge of wall or opening from which section cut originates, 0 being the bottom edge andcontinuing counter-clockwise (0-3 only valid indices at this time)
long lStartMemberOwnerUID X X If the start member is an opening, this contains the member ID of the wall that the opening is in.If the start member is a wall, this is the same as lStartMemberUID.
long lStartMemberUID X X Unique ID of wall or wall opening from which section cut originates
long lUID X Unique ID of section cut
Type Property Get Set Description
long lWallDesignGroup X X Wall Design Group number this section cut is part of or -1
BSTR strLabel X X User-defined label for section cut
IRawWallSectionCuts
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 165/450
This interface represents a collection of raw wall section cuts associated with a wall.
Add ([in] BSTR bstrLabel, [in] ESectionCutOrientation eOrientation, [in] long lStartMemberUID, [in] long lStartEdgeIndex, [in] doubledStartOffset, [in] long lEndMemberUID, [in] long lEndEdgeIndex, [in] double dEndOffset, [out, retval] ] IRawWallSectionCut**ppIRawWallSectionCut)
Adds a raw section cut to the collection of section cuts for the wall.
Parameters bstrLabel Display label for the section cuteOrientation Orienation of section cutlStartMemberUID Unique ID of member at which section cut starts (will be a wall or wall opening)lStartEdgeIndex Index of edge of wall or opening at which section cut starts
dStartOffset Offset from start member edgelEndMemberUID Unique ID of member at which section cut terminates (wioll be a wall or wall opening)lEndEdgeIndex Index of edge of wall or opening at which section cut terminatesdEndOffset Offset from end member edge
AddRaw ([in] SCoordinate sStartPoint, [in] SCoordinate sEndPoint, [out, retval] ] IRawWallSectionCut** ppIRawWallSectionCut)
Adds a raw section cut to the collection of section cuts.
Parameters
sStartPoint Start coordinates of the raw section cutsEndPoint End coordinates of the raw section cuts
Clear ([in] BOOL bClearAutoGenOnly)
Deletes raw wall section cuts in the receiver’s collection.
Parameters bClearAutoGenOnly 1: Only delete auto-generated section cuts from collection.
0: Delete all section cuts from collection.
Delete ([in] long lUID, [out, retval] long* plRetval )
Deletes the raw wall section cut with the given unique ID.
Parameters lUID Unique ID of raw wall section cut to delete
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 166/450
lUID Unique ID of raw wall section cut to deleteplRetval 0 if opening is deleted successfully
-1 if lIndex is invalid
Filter ([in] ERawWallSectionCutFilter eSectionCutFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of raw wall section cuts based on given criteria.
Parameters eSectionCutFilter Indicates the type of filter to use on the collectionvarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)
Gets an interface for a specific raw wall section cut by unique ID.
Parameters lUID The unique ID of the requested wall section cutppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested raw wall section cut, or NULL if no wall
section cut is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IRawWallSectionCut** ppIRawWallSectionCut)
Gets an interface for a raw wall section cut by index.
Parameters lIndex The index into the collection of the requested raw wall section cutppIRawWallSectionCut Pointer to an IRawWallSectionCut interface that represents the requested raw wall section cut, or NULL if
lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of wall section cuts in the collection.
Parameters plCount Number of raw wall section cuts in the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 167/450
IRBSPropertySetInterface with reduced beam property set values. Obtained from a specific IBeam.
PropertiesType Property Get Set Description
double d_a X The distance from the column face to the start of the RBS.
double d_b X The length of the reduced beam section.
double d_c X The amount of flange removed on each side of the beam.
IReactionNode
This interface represents a single reaction node.
GetMembersAtReactionNode ([out,retval] DAArray** ppDAArray)
Gets an array of members at the reaction node.
Parameters ppDAArray Pointer to an DAArray interface that represents the members at this reaction node.
GetReaction ([in] EFrameMemberForceSource eFrameMemForceSource, [in] long lAnalysisCaseID, [out, retval] IPointLoad**ppIPointLoad)
Gets an IPointLoad interface for a reaction at a node.
Parameters eFrameMemForceSource EFrameMemberForceSourcelAnalysisCaseID Unique ID of the analysis caseppIPointLoad Pointer to an IPointLoad interface
GetReactions ([in] EFrameMemberForceSource eFrameMemForceSource, [out, retval] IPointLoads** ppIPointLoads)
Gets an IPointLoads interface for a collection of reactions at a node.
Parameters eFrameMemForceSource EFrameMemberForceSource
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 168/450
ppIPointLoads Pointer to an IPointLoads interface
PropertiesType Property Get Set Description
SCoordinate SCoordinate X The coordinates of the reaction node.
IReactionNodes
This interface represents a collection of reaction nodes.
Filter ([in] EReactionNodeFilter EReactionNodeFilter , [in] VARIANT varFilterCriteria, [out, retval] long* plCount)
Gets the number of wall section cuts in the collection.
Parameters EReactionNodeFilter EReationNodeFiltervarFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases,
this parameter is not applicableplCount Number reaction nodes in the filtered collection
GetAt ([in] long lIndex, [out, retval] IReactionNode** ppIReactionNode)
Gets an interface for a reaction node by index.
Parameters lIndex The index into the collection of the requested raw wall section cutppIReactionNode Pointer to an IReactionNode interface that represents the requested reaction node, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of reaction nodes in the collection.
Parameters plCount Number of reaction nodes in the collection
IRecord
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 169/450
This interface is used in conjunction with ITable to represent the data in a single record in a generic table. Please note: unlike mostproperties in RAM Data Access, all properties in this table are indexed by the field name. In languages that support it, this field name
is specified in the same way as an array offset.
IRecord PropertiesType Property Get Set Description
BOOL bValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTBool.
double dValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTDouble.
long lValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTLong.
BSTR strValue X X The value of the field specified by bstrName. The specified field must have an eType setting of eFTString.
VARIANT varValue X X The value of the field specified by bstrName. The type of data returned depends on the eType setting of the specifiedfield.
IRecords
This interface is use to represent the records in a generic table.
Add ([out,retval] IRecord **ppINewRecord)
Adds a new long field to the receiver.
Parameters
ppINewRecord Pointer to an IRecord interface that represents the newly added record.
DeleteAt (long lIndex)
Deletes the record at the given index.
Parameters lIndex The index of the record to be deleted.
GetAt ([in] long lIndex, [out,retval] IRecord **ppIRecord)
Gets an interface for a specific record by index. Note: while the order of the records in an IRecords instance will not change, the order isnot recorded, so subsequent loading of the records could result in the records being returned in a different order.
Parameters lIndex The index in the collection the requested record.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 170/450
ppIRecord Pointer to an IRecord interface that represents the requested record, or NULL if lIndex is invalid.
PropertiesType Property Get Set Description
long lCount X The number of records in the collection.
IShell
This interface is used represent a finite element shell element (quad).
GetNodeResolvedAppliedLoads ([in] ELoadCaseType eLoadcaseType, [out, retval] IPointLoads** ppIPointLoads)
This method gets the resolved point load at the shell nodes due to surface, line and point load on the shell for a given load case type.
Parameters eLoadcaseType Load case typeppIPointLoads Resolved point loads at the
nodes of the shell
GetPoints ([out,retval] IPoints** ppIPoints)
Gets the collection of points for this shell.
Parameters ppIPoints Pointer to an IPoints interface that represents the points in the shell.
PropertiesType Property Get Set Description
EUniqueMemberTypeID eMemberType X The member type of the member this shell was calculated from.
LONG lMemberID X The member ID of the member this shell was calculated from. This could be a wall ID or a deck ID.
LONG lUID X The unique ID for this shell.
IShells
This interface is used to hold a collection of IShell objects.
GetAt ([in] long lIndex [out retval] IShell** ppIShell)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 171/450
GetAt ([in] long lIndex, [out, retval] IShell ppIShell)
Gets the IShell object at the specified index.
Parameters lIndex The index of the specified shell.ppIShell The IShell object at the specified index.
GetCount ([out,retval] long** plCount)
Gets number of IShell objects in the collection.
Parameters
plCount The number of IShell objects in the collection.
ISlabEdge
This interface represents a specific slab edge corresponding to a slab perimeter or slab opening.
GetCoordinates ([out] double *pdStartX, [out] double *pdStartY, [out] double *pdEndX, [out] double *pdEndY, [out, retval] long*plRetval)
Gets the coordinates for the slab edge in 2-dimensions.
Parameters pdStartX The x coordinate at the start of the slab edgepdStartY The y coordinate at the start of the slab edgepdEndX The x coordinate at the end of the slab edgepdEndY The y coordinate at the end of the slab edgeplRetval 0 if successful, -1 if coordinates cannot be retrieved
SetCoordinates ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [out, retval] long* plRetval)
Gets the coordinates for the slab edge in 2-dimensions.
Parameters dStartX The x coordinate at the start of the slab edgedStartY The y coordinate at the start of the slab edgedEndX The x coordinate at the end of the slab edgedEndY The y coordinate at the end of the slab edge
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 172/450
dEndY The y coordinate at the end of the slab edgeplRetval 0 if successful, -1 if coordinates cannot be set
PropertiesType Property Get Set Description
double dOffset X X Offset of slab edge from centerline of beam. In the RAM Structural System, slab edges are laid out along beams.The coordinates along the beams are saved along with the offset from the beam to the edge of the slab.
ISlabEdges
This interface represents a collection of slab edges. Slab edges are associated with either a slab perimeter or a slab opening.
Add ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [in] double dOffset, [out, retval] ISlabEdge**ppISlabEdge)
Adds a new slab edge or opening edge to the collection. Only works if the receiver was created using IFloorType::GetAllSlabEdges orIFloorType::GetAllSlabOpenings.
Parameters double dStartX The X coordinate of the beginning of the slab/opening edge.double dStartY The Y coordinate of the beginning of the slab/opening edge.double dEndX The X coordinate of the end of the slab/opening edge.double dEndX The X coordinate of the end of the slab/opening edge.double dOffset The offset of the actual edge from the given points.ppISlabEdge Pointer to an ISlabEdge interface that represents the requested slab edge, or NULL if lIndex is invalid.
Delete ([in] long lIndex, [out, retval] long *plRetval)
Deletes the given slab edge or opening edge from the collection. Only works if the receiver was created usingIFloorType::GetAllSlabEdges or IFloorType::GetAllSlabOpenings.
Parameters
lIndex The index into the collection of the requested slab/opening edgeplRetval If less than zero, the deletion failed. Otherwise, the deletion was successful.
GetAt ([in] long lIndex, [out, retval] ISlabEdge** ppISlabEdge)
Gets an interface for a specific slab edge by index.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 173/450
Parameters lIndex The index into the collection of the requested slab edgeppISlabEdge Pointer to an ISlabEdge interface that represents the requested slab edge, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of slab edges in the collection.
Parameters plCount Number of slab edges in the collection
ISlabOpening
This interface represents a specific slab opening on a floor type.
GetEdges ([out, retval] ISlabEdges** ppISlabEdges)
Gets the collection of edges for this slab opening.
Parameters ppISlabEdges Pointer to an ISlabEdges collection interface that represents the edges that define this slab opening.
GetOpeningVertices ([out, retval] IPoints** ppIVertexCoordinates)
Gets the collection of vertices for this slab opening.
Parameters ppIVertexCoordinats Pointer to an IPoints collection interface that represents the vertices that define this slab opening.
PropertiesType Property Get Set Description
Type Property Get Set Description
long lUID X Unique ID of slab opening
ISlabOpenings
This interface represents a collection of all slab openings on a floor type.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 174/450
p p g yp
Add (not implemented)
Delete (not implemented)
Get ([in] long lUID, [out, retval] ISlabOpening** ppISlabOpening)
Gets an interface for a specific slab opening by unique ID.
Parameters lUID The unique ID of the requested slab perimeterppISlabOpening Pointer to an ppISlabOpening interface that represents the requested slab opening, or NULL if no slab opening is
found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ISlabOpening** ppISlabOpening)
Gets an interface for a specific slab opening by index.
Parameters lIndex The index into the collection of the requested slab openingppISlabOpening Pointer to an ISlabOpening interface that represents the requested slab opening, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of slab openings in the collection.
Parameters plCount Number of slab openings in the collection
ISlabPerimeter
This interface represents a specific slab perimeter on a floor type.
GetEdges ([out, retval] ISlabEdges** ppISlabEdges)
Gets the collection of edges for this slab perimeter.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 175/450
Parameters ppISlabEdges Pointer to an ISlabEdges collection interface that represents the edges that define this slab perimeter.
GetPerimeterVertices ([out, retval] IPoints **ppIVertexCoordinates)
Gets the collection of vertices for this slab perimeter.
Parameters ppIVertexCoordinates Pointer to an IPoints collection interface that represents the vertices for this slab perimeter.
PropertiesType Property Get Set Description
long lUID X Unique ID of slab perimeter
ISlabPerimeters
This interface represents the collection of slab perimeters on a floor type.
Add (not implemented)
Delete (not implemented)
Get ([in] long lUID, [out, retval] ISlabPerimeter ** ppISlabPerimeter)
Gets an interface for a specific slab perimeter by unique ID.
Parameters lUID The unique ID of the requested slab perimeterppISlabPerimeter 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
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 176/450
Adds a new snow load property set to the receiver.
Parameters bstrLabel The label for the new surface load set.ppISurfaceLoadPropSet Pointer to an ISnowLoadPropertySet interface that represents the newly added surface load set.
Delete ([in] long lUID)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 177/450
Delete ([in] long lUID)
Deletes a snow load property set from the collection. Returns 0 if the snow load set was deleted successfully or -1 if the unique ID was notfound in the receiver.
Parameters lUID Unique ID of snow load property to be deleted
Get ([in] long lUID, [out, retval] ISnowLoadPropertySet **ppISnowLoadProperySet)
Gets an interface for a specific snow load property load set by unique ID.
Parameters
lUID The unique ID of the requested snow load property setppISnowLoadPropertySet Pointer to an ISnowLoadPropertySet interface that represents the requested snow load set or NULL if no snow
load property set is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ISnowLoadPropertySet **ppISnowLoadPropertySet)
Gets an interface for a specific surface load set by index.
Parameters lIndex The index into the collection of the requested snow load property setppISnowLoadPropertySetSet Pointer to an ISnowLoadPropertySet that represents the requested snow load property set or NULL if lIndex
is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of surface load sets in the receiver.
Parameters plCount The number of ISnowLoadPropertySet objects in the collection.
ISnowLoadSet
This interface defines the points of the polygon that define the limits in which a single ISnowLoadPropertySet is applied.
GetControlPointIndex ([in] long IWhichPoint , [out, retval] long* plIndex)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 178/450
Gets the index for the polygon point associated with the drift control point.
Parameters IWhichPoint Point 1, 2, or 3 which is associated with drift magnitude 1, 2, or 3.plIndex Index of the drift control point in the polygon.
GetPoints ([out,retval] IPoints **ppIPoints)
Gets an interface for the collection of points in the receiver.
Parameters ppIPoints Pointer to an IPoints interface for the points in the receiver.
SetControlPointIndex ([in] long IWhichPoint , [in] long lIndex)
Sets the index for the polygon point associated with the drift control point.
Parameters IWhichPoint Point 1, 2, or 3 which is associated with drift magnitude 1, 2, or 3.lIndex Index of the drift control point in the polygon.
SetPoints ([in] IPoints *pIPoints , [out, retval] long* plRetval)
Sets an interface for the collection of points in the receiver.
Parameters pIPoints An IPoints interface to assign to the receiver.plRetVal 0 if points were assigned successfully.
-1 if assignment failed.
PropertiesType Property Get Set Description
Type Property Get Set Description
long lPropertySetUID X X Unique ID of the snow load property set assigned to this surface load set.
long lUID X Unique ID of this snow load set.
ISnowLoadSets
This interface provides a collection of ISnowLoadSets obtained from a single Floor Layout type typically
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 179/450
This interface provides a collection of ISnowLoadSets, obtained from a single Floor Layout type typically.
Add ([in] BSTR bstrLabel, [out,retval] ISnowLoadSet **ppISnowLoadSet)
Adds a new snow load set to the receiver.
Parameters bstrLabel The label for the new snow load set.ppISnowLoadSet Pointer to an ISnowLoadSet interface that represents the newly added snow load set.
Delete ([in] long lUID)
Deletes a snow load set from the collection. Returns 0 if the snow load set was deleted successfully or -1 if the unique ID was not found in
the receiver.
Parameters lUID Unique ID of snow load set to be deleted
Get ([in] long lUID, [out, retval] ISnowLoadSet **ppISnowLoadSet)
Gets an interface for a specific snow load set by unique ID.
Parameters
lUID The unique ID of the requested snow load set.ppISurfaceLoadPropSet Pointer to an ISnowLoadSet interface that represents the requested snow load set, or NULL if no surface loadset is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ISnowLoadSet **ppISnowLoadSet)
Gets an interface for a specific snow load set by index.
Parameters
lIndex The index into the collection of the requested snow load setppISnowLoadSet Pointer to an ISnowLoadSet interface that represents the requested snow load set, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of snow load sets in the receiver.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 180/450
Parameters plCount The number of ISnowLoadSet objects in the collection.
ISteelBeamDesignResult
This interface represents the steel beam design results for an individual steel beam.
GetNumStudsInSegments ([out, retval] DAArray** ppaINumStudsinSegments)
Gets the collection of stud segments for the steel beam as an array of longs. Use the size of the array to determine the number of studsegments. Each value in the array represents the number of studs in that segment.
Parameters ppaINumStudsDAArray Array of longs that represent the number of studs in each segmentplRetval 0 if successful, -1 if failed to set studs
SetNumStudsInSegments ([in] DAArray* paINumStudsInSegments, [out, retval] long* plRetval)
Sets the collection of stud segments for the steel beam as an array of longs. Each value in the array represents the number of studs in thatsegment. Note that the number of stud segments for the beam is determined at design time. The number of segments should not bechanged unless to change it to uniformly distributed studs (1 stud segment).
Parameters paINumStudsDAArray Array of longs that represent the number of studs in each segmentplRetval 0 if successful, -1 if failed to set studs
ISteelCriteria
This interface provides access to all steel design criteria, including the names of the steel design tables used during the design.Note that all tables must be located in the Tables directory on the target computer.
GetDeckTableEntries ([out, retval] IDeckTableEntries** ppIDeckTableEntries)
Gets the deck table entries.
Parameters ppIDeckTableEntries Pointer to an IDeckTableEntries interface that represents the entries in the model’s deck table.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 181/450
Properties
Type Property Get Set DescriptionBOOL bUseModelAltBeamSteelTable X Whether the alternate beam design table used by the model is stored with themodel (TRUE), rather than from the Tables directory (FALSE). No longerapplicable in v14.06.00 and later.
BOOL bUseModelMasterTable X Whether the master table used by the model is stored with the model (TRUE),rather than from the Tables directory (FALSE). No longer applicable in v14.06.00and later.
BOOL bWOAllowStiffenerOneSide X X Allow stiffeners on one side of web (used during design of steel beams whenstiffeners are required for web openings)
BOOL bWOAllowStiffenerTwoSide X X Allow stiffeners on both sides of web (used during design of steel beams whenstiffeners are required for web openings)
double dJstAllowableStressRatio X X Allowable stress ratio for joists
double dJstDefMaxConcentratedLoads X X Maximum concentrated loads in kips (default criteria, applies wheneStlJstNonUniUseEquivalentMethod is specified foreJstDefNonUniformLoadOption)
double dJstDefUniformTolerance X X Tolerance for variation for uniform load (0-100%) (Default criteria for joists withuniform load, when eStlJstUniSelectFromStdTable is specified foreJstDefUniformLoadOption)
double dJstDefVariationTolerance X X Tolerance for variation of loads (default criteria, applies wheneStlJstNonUniUseEquivalentMethod is specified foreJstDefNonUniformLoadOption)
double dWOStiffenerFy X X Fy of stiffeners for web openings
double dWOStiffenerLengthInc X X Increment for stiffener length (used during design of steel beams when stiffenersare required for web openings)
double dWOStiffenerMinThickness X X Minimum thickness of stiffeners (used during design of steel beams whenstiffeners are required for web openings)
double dWOStiffenerMinWidth X X Minimum width of stiffeners (used during design of steel beams when stiffenersare required for web openings)
double dWOStiffenerThicknessInc X X Increment for stiffener thickness (used during design of steel beams whenstiffeners are required for web openings)
double dWOStiffenerWidthInc X X Increment for stiffener width (used during design of steel beams when stiffenersare required for web openings)
ESteelDesignCode eBasePlateDesignCode X X Design code to use for design of base plates
EJstNonUniformLoadOption eJstDefNonUniformLoadOption X X Default criteria for joists with non-uniform load
Type Property Get Set Description
EJstUniformLoadOption eJstDefUniformLoadOption X X Default criteria for joists with uniform load
ESteelDesignCode eSteelBeamDesignCode X X Design code to use for design of steel beams
ESteelDesignCode eSteelColumnDesignCode X X Design code to use for design of steel columns
BSTR strAltCastellatedTable X X Alternate castellated beam section table to use when designing cellular beams.File must have a .cas extension. Maximum 39 characters allowed.
BSTR strAltCellularTable X X Alternate cellular beam section table to use when designing cellular beams. Filemust have a .cel extension. Maximum 39 characters allowed.
BSTR strAltSteelBeamTable X X Alternate section table to use when designing steel beams File must have a bms
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 182/450
BSTR strAltSteelBeamTable X X Alternate section table to use when designing steel beams. File must have a .bmsextension. Maximum 32 characters allowed.
BSTR strDeckTable X X Deck table to use for composite deck properties. File must have a .dck extension.
Maximum 32 characters allowed.
BSTR strDefCastellatedTable X X Default castellated beam section table to use when designing cellular beams. Filemust have a .cas extension. Maximum 39 characters allowed.
BSTR strDefCellularTable X X Default cellular beam section table to use when designing cellular beams. Filemust have a .cel extension. Maximum 39 characters allowed.
BSTR strDefSteelBeamTable X X Default section table to use when designing steel beams. File must have a .bmsextension. Maximum 32 characters allowed.
BSTR strJstDefCustomLabel X X Custom label for joists with uniform loads (default criteria, applies ifeStlJstUniUseCustomLabel is specified for eJstDefUniformLoadOption). Max 4characters allowed.
BSTR strJstDefNonUniCSJstTable X X Default constant shear table to use when designing joists with non-uniform loads(applies if eStlJstNonUniSelectFromCSTable is specified for
eJstDefNonUniformLoadOption). File must have a .csj extension. Maximum 32characters allowed.
BSTR strJstDefUniformCSJstTable X X Default constant shear table to use when designing joists with uniform loads(applies if eStlJstUniSelectFromCSTable is specified foreJstDefUniformLoadOption). File must have a .csj extension. Maximum 32characters allowed.
BSTR strJstDefUniformStdJstTable X X Default standard joist table to use when designing joists with uniform loads(applies if eStlJstUniSelectFromStdTable is specified foreJstDefUniformLoadOption). File must have a .jst extension. Maximum 32characters allowed.
BSTR strMasterSteelTable X X Master section table that lists all sections to be used during design. File musthave a .tab extension. Maximum 32 characters allowed.
BSTR strSteelColumnTable X X Section table to use when designing steel columns. File must have a .colextension. Maximum 32 characters allowed.
ISteelMaterial
This interface represents a single steel material property set. A member’s steel material properties can be read and set thr ough thisinterface.
PropertiesType Property Get Set Description
double dFy X X Yield strength (Fy) of the steel.
IStories
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 183/450
IStories
This interface represents a collection of all stories in the model. It can be used to add and delete stories.
Add ([in] long lFlrTypeID, [in] BSTR bstrStoryName, [in] double dFloorHeight, [out, retval] IStory** ppIStory)
Adds a new story to the collection of stories for the model.
Parameters lFlrTypeID The unique ID of the floor type to associate with this storybstrStoryName A label for the story. Limited to 19 characters.dFloorHeight The height of this story (not the elevation, but the distance from floor to ceiling)ppIStory Pointer to an IStory interface that represents the newly added story.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes a story with the given unique ID from the collection.
Parameters lUID Unique ID of story to deleteplRetval 0 if story is deleted successfully
-1 if unique ID is not found in collection of story
Get ([in] long lUID, [out, retval] IStory** ppIStory)
Gets an interface for a specific story by unique ID.
Parameters lUID The unique ID of the requested storyppIStory Pointer to an IStory interface that represents the requested story, or NULL if no story is found in the collection with
the given unique ID.
GetAt ([in] long lIndex, [out, retval] IStory** ppIStory)
Gets an interface for a specific story by index.
Parameters lIndex The index into the collection of the requested storyppIStory Pointer to an IStory interface that represents the requested story, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 184/450
([ , ] g p )
Gets the number of stories in the collection.
Parameters plCount Number of stories in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for stories.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with
stories
InsertAt ([in] long lIndex, [in] long lFlrTypeID, BSTR bstrStoryName, [in] double dFloorHeight, [out, retval] IStory** ppIStory)
Inserts a story at the specified index. For example, if 0 is the new story index, a new story is added at the lowest level and all other storiesare pushed up one level.
Parameters lIndex Index where the story is added
lFlrTypeID Unique ID of the floor typedFloorHeight Story height between the inserted story and the story (or base) belowppIStory Pointer to an IStory interface that represents the inserted story.
IStory
This interface represents a single story in the model.
DeleteVerticalBrace ([in] long lBraceID, [out, retval] long* plRetval)
Deletes the vertical brace with the given unique ID.
Parameters lBraceID Unique ID of vertical brace to deleteplRetval 0 if vertical brace is deleted successfully
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 185/450
p y-1 if unique ID is not found in list of vertical braces on this story
GetBeams ([out, retval] IBeams** ppIBeams)
Gets the collection of all beams for this story.
Parameters ppIBeams Pointer to an IBeams collection interface that represents all beams associated with this story
GetColumns ([out, retval] IColumns** ppIColumns)
Gets the collection of all columns for this story.
Parameters ppIColumns Pointer to an IColumns collection interface that represents all columns associated with this story
GetContinuousFnds ([out, retval] IContinuousFnds** ppIContinuousFnds)
Gets the collection of all continuous foundations for this story.
Parameters ppIContinuousFnds Pointer to an IContinuousFnds collection interface that represents all continuous foundations associated with this
story
GetDiaphragms ([out, retval] IDiaphragms** ppIDiaphragms)
Gets the collection of all diaphragms for this story. Note that this is equivalent to calling GetDiaphragms2 with eSource set toeDSFrameAnalysis.
Parameters ppIDiaphragms Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story
GetDiaphragms2 ([in] EDiaphragmSource eSource, [out, retval] IDiaphragms** ppIDiaphragms)
Gets the collection of all diaphragms for this story from the given source.
Parameters eSource The source from which to fetch the diaphragm data. Note that the behavior of the IDiaphragms object is affected
by the source from which it was loaded.ppIDiaphragms Pointer to an IDiaphragms collection interface that represents all diaphragms associated with this story, populated
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 186/450
from the given source.
GetFloorType ([out, retval] IFloorType** ppIFloorType)
Gets the floor type associated with this story.
Parameters ppIFloorType Pointer to an IFloorType interface that represents the floor type associated with this story
GetHorizontalBraces ([out, retval] IHorizBraces** ppIHorizBraces)
Gets the collection of all horizontal braces for this story.
Parameters ppIHorizBraces Pointer to an IHorizBraces collection interface that represents all horizontal braces associated with this story
GetIsolatedFnds ([out, retval] IIsolatedFnds** ppIIsolatedFnds)
Gets the collection of all isolated foundations for this story.
Parameters ppIIsolatedFnds Pointer to an IIsolatedFnds collection interface that represents all isolated foundations associated with this story
GetMemberReactionNodesFromFloorBelow ([out, retval] IReactionNodes** ppIReactionNodes)
Gets the collection of nodes at the bottom of the story in the concrete analysis finite element model.
Parameters ppIReactionNodes Pointer to an IReactionNodes interface that represents a collection of reaction nodes for this member
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the story.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
G tP t ( S ** )
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 187/450
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetTimeStamp ([in] ETimeStampAction eAction, [in] long lObjectID, [in] ETimeStampProperty eProperty, [out] long *plTimestamp,[out, retval] long *plRetval)
Gets the time stamp of the last update to this story, for the given action and property.
Parameters eAction The action for which the timestamp was recorded (see enum for action types)lObjectID The Unique ID of the object type, can be any member ID (Note that the timestamp is not for the specific member
identified but the type, i.e. if a beam unique id is used the timestamp will be for the most recent action for amember of that type).
eProperty For some objects the property that changed may be of importance as well. For example, to find the most recenttime that a beam size was changed you would pass in the eTSSize property along with a beam unique ID and anaction.
plTimestamp The time in seconds since Jan 1, 1969
plRetval 0 if time stamp retrieved successfully
GetVerticalBraces ([out, retval] IVerticalBraces** ppIVerticalBraces)
Gets the collection of all vertical braces whose top node attaches to this story.
Parameters ppIVerticalBraces Pointer to an IVerticalBraces collection interface that represents all vertical braces at this story
GetWalls ([out, retval] IWalls** ppIWalls)
Gets the collection of all walls for this story.
Parameters ppIWalls Pointer to an IWalls collection interface that represents all walls associated with this story
GetZForPoint ([in] double dX, [in] double dY, [out, retval] double *pdZ)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 188/450
([ ] , [ ] , [ , ] p )
Gets the elevation of a point inside the slab edge on a story. The method will fail if the point is outside of the slab edge.
Parameters dX X coordinate of the pointdY Y coordinate of the pointpdZ Z coordinate on the story cooresponding to the X and Y coordinates
IsolateFloorType ()
If there are any other stories using the floor type referenced by the story, a copy of the floor type is made and assigned to the other stories.
PropertiesType Property Get Set Description
BOOL bStySpliceAtSty X X If TRUE, all columns will be spliced at this story
double dElevation X The elevation of the story from ground level to the bottom of the story
double dFlrHeight X X The height of this story (not the elevation, but the distance from floor to ceiling)
long lLevel X The level of the story, with 1 being the lowest story
long lUID X Unique ID of story.
BSTR strLabel X X Label of story. Limited to 19 characters.
IStress
This interface is used represent a single stress. Refer to the RAM Concrete Shear Wall manual for sign convention.
PropertiesType Property Get Set Description
DOUBLE dS11 X In plane normal stress.
DOUBLE dS12 X In plane shear stress along an edge.
Type Property Get Set Description
DOUBLE dS13 X Transverse shear stress.
DOUBLE dS22 X In plane normal stress.
DOUBLE dS23 X Transverse shear stress.
DOUBLE dS33 X Transverse direct stress.
DOUBLE dSAvgMax X Average stress.
DOUBLE dSMax X Maximum in plane principal stress
DOUBLE dSMin X Minimum in plane principal stress
DOUBLE dSVMax X Maximum shear stress.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 189/450
IStresses
This interface is used to hold a collection of IStress objects.
GetAt ([in] long lIndex, [out, retval] IStress** ppIStress)
Gets the IStress object at the specified index.
Parameters lIndex The index of the specified stress.ppIStress The IStress object at the specified index.
GetCount ([out,retval] long** plCount)
Gets number of IStress objects in the collection.
Parameters plCount The number of INode objects in the collection.
IStringValue
Internal use only.
ISurfaceLoadPropertySet
This interface provides the properties of a surface load as defined in the RAM Modeler. These properties are typically associatedwith ISurfaceLoadSets which define the extents (polygon) in which these properties are to be applied.
PropertiesType Property Get Set Description
double dConstDeadLoad X X Magnitude of construction dead load entered for this surface load.
double dConstLiveLoad X X Magnitude of construction live load entered for this surface load.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 190/450
double dConstLiveLoad X X Magnitude of construction live load entered for this surface load.
double dDeadLoad X X Magnitude of dead load entered for this surface load.
double dLiveLoad X X Magnitude of live load entered for this surface load.
double dMassDeadLoad X X Mass dead load magnitude (positive is down)
double dPartitionLoad X X Madgnitude of partition load entered for theis surface load
ELoadCaseType eLiveLoadType X X Flag describing the type of live load defined by this surface loadproperty set. While ELoadCaseType enumerates all possible loadcase types, only the live load type is returned in this parameter. Thepossible return values are: LiveReducibleLCa, LiveStorageLCa,LiveUnReducibleLCa, and LiveRoofLCa.
long lUID X Unique ID of surface load property set.
BSTR strLabel X X Label of surface load property set.
ISurfaceLoadPropertySets
This interface represents a collection of ISurfaceLoadPropertySet objects.
Add ([in] BSTR bstrLabel, [out,retval] ISurfaceLoadPropertySet **ppISurfaceLoadPropSet)
Adds a new surface load property set to the receiver.
Parameters bstrLabel The label for the new surface load property set.
ppISurfaceLoadPropSet Pointer to an ISurfaceLoadPropertySet interface that represents the newly added surface load property set.
Delete ([in] long lUID, [out, retval] long *plRetval)
Deletes a surface load property set from the collection.
Parameters lUID Unique ID of floor type to be deletedplRetval 0 if surface load property set is deleted successfully
-1 if the unique ID was not found in the receiver.
Get ([in] long lUID, [out, retval] ISurfaceLoadPropertySet **ppISurfaceLoadPropSet)
Gets an interface for a specific surface load property set by unique ID.
Parameters lUID The unique ID of the requested surface load property set.
Fl T P i t t IS f L dP t S t i t f th t t th t d f l d t t NULL if
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 191/450
ppFloorType Pointer to an ISurfaceLoadPropertySet interface that represents the requested surface load property set, or NULL if nosurface load property set is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ISurfaceLoadPropertySet **ppISurfaceLoadPropSet)
Gets an interface for a specific surface load property set by index.
Parameters lIndex The index into the collection of the requested surface load property setppISurfaceLoadPropSet Pointer to an ISurfaceLoadPropertySet interface that represents the requested surface load property set, or
NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of surface load property sets in the receiver.
Parameters plCount The number of ISurfaceLoadPropertySet objects in the collection.
ISurfaceLoadSet
This interface defines the points of the polygon that define the limits in which a single SurfacePropertyLoadSet is applied.
GetPoints ([out,retval] IPoints **ppIPoints)
Gets an interface for the collection of points in the receiver.
Parameters ppIPoints Pointer to an IPoints interface for the points in the receiver.
SetPoints ([in] IPoints *pIPoints , [out, retval] long* plRetval)
Sets an interface for the collection of points in the receiver.
Parameters pIPoints An IPoints interface to assign to the receiver.plRetVal 0 if points were assigned successfully.
-1 if assignment failed.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 192/450
ISurfaceLoadSet PropertiesType Property Get Set Descriptionlong lPropertySetUID X X Unique ID of the surface load property set to which this surface load set belongs.
long lUID X Unique ID of this surface load set.
ISurfaceLoadSets
This interface provides a collection of ISurfaceLoadSets, obtained from a single Floor Layout type typically.
Add ([in] BSTR bstrLabel, [out,retval] ISurfaceLoadSet **ppISurfaceLoadPropSet)
Adds a new surface load set to the receiver.
Parameters bstrLabel The label for the new surface load set.ppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the newly added surface load set.
Delete ([in] long lUID, [out, retval] long *plRetval)
Deletes a surface load set from the collection.
Parameters lUID Unique ID of surface load set to be deletedplRetval 0 if surface load set is deleted successfully
-1 if the unique ID was not found in the receiver.
Get ([in] long lUID, [out, retval] ISurfaceLoadSet **ppISurfaceLoadPropSet)
Gets an interface for a specific surface load set by unique ID.
Parameters lUID The unique ID of the requested surface load set.ppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the requested surface load set, or NULL if no surface
load set is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] ISurfaceLoadSet **ppISurfaceLoadPropSet)
G t i t f f ifi f l d t b i d
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 193/450
Gets an interface for a specific surface load set by index.
Parameters lIndex The index into the collection of the requested surface load setppISurfaceLoadPropSet Pointer to an ISurfaceLoadSet interface that represents the requested surface load set, or NULL if lIndex is
invalid.
GetCount ([out, retval] long *plCount)
Gets the number of surface load sets in the receiver.
Parameters
plCount The number of ISurfaceLoadSet objects in the collection.
ITable
This interface is used represent a generic database table.
DeleteRecord ([in] BSTR bstrFieldName, [in] long lFieldValue)
Deletes a record by field value. The specified field must be a field that was created with bIndexed set to 1.
Parameters bstrFieldName The name of the field to match lFieldValue with.lFieldValue The value in the field named bstrFieldName. The record that has the given value for the given field will be
deleted.
GetRecord ([in] BSTR bstrFieldName, [in] long lFieldValue, [out,retval] IRecord** ppIRecord)
Gets an interface for a specific record by field value. The specified field must be a field that was created with bIndexed set to 1.
Parameters bstrFieldName The name of the field to match lFieldValue with.lFieldValue The value in the field named bstrFieldName.ppIRecord Pointer to an IRecord interface that represents the requested record, or NULL if no records have the given
value in the given field.
PropertiesType Property Get Set Description
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 194/450
Type Property Get Set Description
IFields pIFields X The fields in the table.
IRecords pIRecords X The records in the table.BSTR strName X The name of the table.
ITrialGroup
This interface represents a steel column trial group.
GetGroupName ([in] ESteelShapes peShape, [out, retval] BSTR bstrGroupName)
Gets the name of the trial group for the section type (W12, HSS8X8, etc.).
Parameters peShape Steel section shape typebstrGroupName Trial group name for the section type (W12, HSS8X8, etc)
GetShapeName ([in] ESteelShapes peShape, [out, retval] BSTR bstrShapeName)
Gets the description of the section type (I section, Rectangular HS, etc).
Parameters
peShape Steel section shape typebstrShapeName Description of the section type (I section, Rectangular HS, etc)
SetGroupName ([in] ESteelShapes peShape, [in] BSTR bstrGroupName)
Sets the name of the trial group for the section type (W12, HSS8X8, etc).
Parameters peShape Steel section shape type
bstrGroupName Trial group name for the section type (W12, HSS8X8, etc)
PropertiesType Property Get Set Description
BOOL bEnabled X X Indicates whether or not this trial group is selected.
ITr ialGroups
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 195/450
ITr ialGroups
This interface represents a collection of ITrialGroup objects.
GetAt ([in] long lIndex, [out, retval] ITrialGroup ** ppITrialGroup)
Gets an interface for a specific trial group by index.
Parameters lIndex The index into the collection of the requested trial group.ppITrialGroup Pointer to an ITrialGroup interface that represents the requested trial group, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of trial groups in the receiver.
Parameters plCount The number of ITrialGroup objects in the collection.
IVerticalBrace
This interface represents a single vertical brace. This interface can be used to modify the location of the brace or to change its
properties.
GetConnectionForces ([in] ECOMBOTYPES eComboType, [in, out] SForce* psForceTop, [in, out] SForce* psForceBot, [out,retval] long* plRetval)
Gets the brace connection forces by material combo.
Parameters eComboType Combination type.
psForceTop SForce at the top end of the bracepsForceBot SForce at the bottom end of the braceplRetval 0 if successful, -1 if forces cannot be retrieved
GetEndCoordinates ([out] SCoordinate* pTopPoint, [out] SCoordinate* pBottomPoint, [out, retval] long* plRetval)
Gets the end coordinates for the vertical brace.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 196/450
Parameters pTopPoint SCoordinate corresponding to the top of the brace
pBottomPoint SCoordinate corresponding to the bottom of the braceplRetval 0 if successful
-1 if coordinates cannot be retrieved
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
SetEndCoordinates ([in] long lTopStoryID, [in] double dTopX, [in] double dTopY, [in] double dTopZOffset, [in] long lBotStoryID,[in] double dBotX, [in] double dBotY, [in] double dBotZOffset, [out, retval] long* plRetval)
Gets the end coordinates for the vertical brace.
Parameters lTopStoryID Unique ID of story that top node of brace frames intodTopX X coordinate of top of the brace.
dTopY Y coordinate of top of the bracedTopZOffset Z offset value from the story elevation for top of bracelBotStoryID Unique ID of story that bottom node of brace frames intodBotX X coordinate of end of the wall (j-end).dBotY Y coordinate of end of the wall (j-end).dBotZOffset Z offset value from the story elevation for the bottom of the brace (measured from the elevation of the story
indicated by lBotStoryID).plRetval 0 if successful
-1 if coordinates cannot be set
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 197/450
PropertiesType Property Get Set Description
BOOL bBucklingRestrained X X True if the braced is a buckling restrainted brace.
BOOL bCoreBraceOverStrengthUseCalculated X X True if CoreBrace overstrength parameters set to Use Calculated
BOOL bCoreBraceUseAssigned X X True if CoreBrace dialog set to Use, False if Use Global
BOOL bDblAngleLLBacktoBack X X Applies to a steel vertical brace that has been assigned a doubleangle section. If TRUE, long legs of double angle are back to back.If FALSE, short legs are back to back.
BOOL bDblAngleSnugTightBolt X X Applies to a steel vertical brace that has been assigned a doubleangle section. TRUE indicates that only a snug tight connector willbe used.
BOOL bMajAxisBendFixedBot X X Major axis bending release at bottom of vertical brace.
BOOL bMajAxisBendFixedTop X X Major axis bending release at top of vertical brace.BOOL bMinAxisBendFixedBot X X Minor axis bending release at bottom of vertical brace.
BOOL bMinAxisBendFixedTop X X Minor axis bending release at top of vertical brace.
BOOL bSglAngleLLHorizontal X X Applies to a steel vertical brace that has been assigned a singleangle section. TRUE indicates that the long leg of the angle ishorizontal. FALSE indicates that the long leg is vertical.
BOOL bStarSeismicOverStrengthUseCalculated X X True if the Star Seismic overstrength set to use calculated
BOOL bStarSeismicUseAssigned X X TRUE if use assigned is toggled
BOOL bTorFixedBot X X Torsion release at bottom of vertical brace.
BOOL bTorFixedTop X X Torsion release at top of vertical brace.
BOOL bWildcatBRB X X Wildcat buckling restrained bracedouble dBRBFAxialStiffMultiplier X X Buckling restrained brace axial stiffness multiplier used in analysis
double dDblAngleBackSpacing X X Spacing distance between angles of double angle section. Appliesto a steel vertical brace that has been assigned a double anglesection.
double dCoreBraceBoltedClearanceBot X X CoreBrace clearance for lower bolted
double dCoreBraceBoltedClearanceTop X X CoreBrace clearance for upper bolted
double dCoreBraceCustomClearanceBot X X CoreBrace clearance for lower custom
double dCoreBraceCustomClearanceTop X X CoreBrace clearance for upper custom
double dCoreBraceFyMax X X CoreBrace maximum yield strength
Type Property Get Set Description
double dCoreBraceFyMin X X CoreBrace minimum yield strength
double dCoreBraceOverStrengthBeta X X Beta value for CoreBrace overstrength
double dCoreBraceOverStrengthOmega X X Omega value for CoreBrace overstrength
double dCoreBracePinnedClearanceBot X X CoreBrace clearance for lower pinned
double dCoreBracePinnedClearanceTop X X CoreBrace clearance for upper pinned
double dCoreBraceSplicePlateClearanceBot X X CoreBrace clearance for lower sideplate
double dCoreBraceSplicePlateClearanceTop X X CoreBrace clearance for upper bolted
double dCoreBraceStiffModUseOrFactorValue X X CoreBrace stiffness modifier factor or explicit value
double dCoreBraceWeldedClearanceBot X X CoreBrace clearance for lower welded
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 198/450
double dCoreBraceWeldedClearanceBot X X CoreBrace clearance for lower welded
double dCoreBraceWeldedClearanceTop X X CoreBrace clearance for upper welded
double dStarSeismicFyMax X X Maximum yield strength of Star Seismic BRBdouble dStarSeismicFyMin X X Minimum yield strength of Star Seismic BRB
double dStarSeismicLowerFromBeam X X Minimum clearance from lower beam
double dStarSeismicLowerFromColumn X X Minimum clearance from lower column
double dStarSeismicOverStrengthBeta X X Beta value for Star Seismic overstrength
double dStarSeismicOverStrengthOmega X X Omega value for Star Seismic overstrength
double dStarSeismicStiffModUseVal X X User assigned stiffness modifier if bStarSeismicUseAssigned isTRUE
double dStarSeismicUpperFromBeam X X Minimum clearance from upper beam
double dStarSeismicUpperFromColumn X X Minimum clearance from upper column
double dUnbracedLengthAxialLX X X Axial unbraced length for buckling about the X axis
double dUnbracedLengthAxialLY X X Axial unbraced length for buckling about the Y axis
double dUnbracedLengthFlexLY X X Flexural unbraced length for lateral torisional buckling
ETensionCompressionMemType eAnalysisType X X Indicates whether vertical brace takes tension, compression, orboth
ECoreBraceType eCoreBraceConnectionType X X CoreBrace connection type
EMATERIALTYPES eMaterial X X Material type of vertical brace. Valid options for vertical braces areESteelMat, EConcreteMat, or EOtherMat.
ESeismicProvFrameType eSeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame,etc).
long lCoreBraceCheckBoxes X X CoreBrace flags. Sum the individual flags to determine theappropriate value for the setting.1 – Yield Strength
2 – Stiffness Modifier4 – Overstrength Parameters8 – Minimum Clearance
long lCoreBraceUseCalcStiffMod X X CoreBrace Stiffness Modifier option toggle0 – Use Calculated1 – Use Calculated Factored By2 – Use
long lFrameNumber X X Frame number for lateral members. It must be positive number.
long lLabel X Numeric label of vertical brace used for on-screen display in RAMStructural System.
Type Property Get Set Description
long lMaterialID X Unique ID of material properties for this vertical brace. Mustcorrespond to type of material. See section Getting materialproperties for a member for more information.
long lSectionID X X Unique ID of concrete or ‘Other’ section assigned to this verticalbrace. See Assigning section properties to concrete members and
Assigning section properties to ‘Other’ members for moreinformation.
long lStarSeismicCheckBoxes X X Unbraced length flags. Sum the appropriate flags to determine theappropriate value for the settings.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 199/450
pp p g0 – Use Global
1 – Yield Strength checked2 – Minimum Clearance checked4 – Stiffness Modifier checked
long lStoryAtBotID X Unique ID of story into which bottom of brace frames
Long lStarSeismicUseCalcStiffMod X X StarSeismic Brace Stiffness Modifier option toggle0 – Use Calculated1 – Use Calculated Factored By2 – Use
long lStoryAtTopID X Unique ID of story into which top of brace frames
long lUID X Unique ID of vertical brace.
long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine theappropriate value for the settings.
0 – All global1 – Override global UnbracedLengthAxialLX2 – Override global UnbracedLengthAxialLY4 – User defined UnbracedLengthAxialLX8 – User defined UnbracedLengthAxialLY32 – Override global UnbracedLengthFlexLY128 – User defined UnbracedLengthFlexLY
ESeismicProvFrameType SeismicFrameType X The Seismic Frame Type of the member (Special Moment Frame,etc)
BSTR strSectionLabel X X Label of the size or section property for this vertical brace. Limitedto 15 characters. See Assigning sizes to steel members, Assigningsection properties to concrete members, and Assigning section
properties to ‘Other’ members for more information.
IVerticalBraces
This interface represents a collection of vertical braces. When it is obtained from the IModel interface, it will represent all verticalbraces in the model. When it is obtained from the IStory interface, it will represent the collection of all vertical braces whose topnodes 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 bracesfrom the model.
Add ([in] EMATERIALTYPES eMat, [in] long lTopStoryID, [in] double dTopX, [in] double dTopY, [in] double dTopZOffset, [in] longlBotStoryID, [in] double dBotX, [in] double dBotY, [in] double dBotZOffset [out, retval] IVerticalBrace** ppIVerticalBrace)
Adds a new vertical brace to the collection of vertical braces.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 200/450
Parameters eMat Material type of vertical brace to add. (Valid options are ESteelMat, EConcreteMat, or EOtherMat).
lTopStoryID Unique ID of story that top node of brace frames intodTopX X coordinate of top of the brace.dTopY Y coordinate of top of the bracedTopZOffset Z offset value from the story elevation for top of bracelBotStoryID Unique ID of story that bottom node of brace frames into, or -1 if at ground leveldBotX X coordinate of end of the wall (j-end).dBotY Y coordinate of end of the wall (j-end).dBotZOffset Z offset value from the story elevation for the bottom of the brace (measured from the elevation of the story
indicated by lBotStoryID).ppIVerticalBrace Pointer to an IVerticalBrace interface that represents the newly added vertical brace.
Delete ([in] long lUID, [out, retval] long* plRetval)
Deletes the vertical brace with the given unique ID.
Parameters lUID Unique ID of vertical brace to deleteplRetval 0 if vertical brace is deleted successfully
-1 if unique ID is not found in filtered list of vertical braces
Filter ([in] EVerticalBraceFilter eVertBraceFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of vertical braces based on given criteria.
Parameters eVertBraceFilter Indicates the type of filter to use on the collection (see table below for filter types)varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IVerticalBrace** ppIVerticalBrace)
Gets an interface for a specific vertical brace by unique ID.
Parameters lUID The unique ID of the requested vertical braceppIVerticalBrace 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 201/450
GetAt ([in] long lIndex, [out, retval] IVerticalBrace** ppIVerticalBrace)
Gets an interface for a specific vertical brace by index.
Parameters lIndex The index into the collection of the requested vertical braceppIVerticalBrace Pointer to an IVerticalBrace interface that represents the requested vertical brace, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of vertical braces in the collection. When the collection is filtered, this function returns the number in the filtered collection.
Parameters plCount Number of vertical braces in the collection
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)
ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with thismember 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 usedto read data for a wall at a story. To change coordinates, use the ILayoutWall interface.
GetDisplacementForLoadCombo ([in] ILoadCombination *pILoadCombination, [out, retval] SCoordinate *pDisplacement)
Gets the average relative displacements associated with this wall for the given load combo. Average displacements at top and bottom edgeof the wall is first calculated and then difference between the top average and bottom average is returned.
Parameters pILoadCombination The load combination to use in the displacement calculation.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 202/450
p ppDisplacement Relative average displacements in global X, Y and Z directions
GetEndCoordinates ([out] SCoordinate* pTopStartPoint, [out] SCoordinate* pTopEndPoint, [out] SCoordinate* pBotStartPoint,[out] SCoordinate* pBotEndPoint [out, retval] long* plRetval)
Gets the coordinates for the wall.
Parameters pTopStartPoint SCoordinate corresponding to the start of the wall at the toppTopEndPoint SCoordinate corresponding to the end of the wall at the toppBotStartPoint SCoordinate corresponding to the start of the wall at the bottom
pBotEndPoint SCoordinate corresponding to the end of the wall at the bottomplRetval 0 if successful-1 if coordinates cannot be retrieved
GetFinalOpenings ([out, retval] IFinalWallOpenings** ppIFinalWallOpenings)
Gets the final wall openings associated with this wall. Final openings are all openings that fall at least partially on this wall, and are clippedto the wall polygon.
Parameters ppIFinalWallOpenings Pointer to an IFinalWallOpenings collection interface that represents the raw openings in the wall.
GetNodeForcesAtEdge ([in] EAnalysisResultType eAnalysisType, [in] long lAnalysisLoadCaseID, [in] EEdge edge, [out,retval]IPointLoads** ppINodeForces)
Gets a collection of all the nodes and their corresponding force for a given analysis type, load case ID and wall edge. Node forces will bewith respect to the global axis.
Parameters eAnalysisType Type of analysis for which to get force (Currently, only RAMFrameResultType supported)
lAnalysisLoadCaseID Analysis load case ID for which to get forceedge The edge along which node forces are to be provided.ppINodeForces Pointer to an IPointLoads interface that represents the collection of forces at the given edge for the given load
case.
GetProperties ([in] BSTR strCustomProps, [out, retval] IProperties** ppIProperties)
Gets a collection of user-defined properties for the member.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 203/450
Parameters
strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user(not yet implemented)
ppIProperties Pointer to an IProperties interface that represents a collection of properties for this member
GetProperty ([in] BSTR bstrPropName, [out, retval] IProperty** ppIProperty)
Gets an interface for a specific property by property name.
Parameters bstrPropName The name of the requested propertyppIProperty Pointer to an IProperty interface that represents the requested property, or NULL if no property is found with given
name.
GetRawOpenings ([out, retval] IRawWallOpenings** ppIRawWallOpenings)
Gets the raw wall openings associated with this wall. Raw openings are the openings that were modeled in a wall. Depending on how theopenings 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 allopenings that fall within this wall since some openings modeled in adjacent walls may fall within this wall. To get all openings that intersectthis wall, use the GetFinalOpenings() method.
Parameters ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.
GetRawSectionCuts ([out, retval] IRawWallSectionCuts** ppIRawWallSectionCuts)
Gets the raw wall section cuts associated with this wall. Raw openings are the section cuts that start in a wall. Depending on how theopenings were modeled, the openings may span multiple walls. Note that this collection of section cuts may not include all openings thatfall within this wall since some section cuts modeled in adjacent walls may fall within this wall.
Parameters ppIRawWallOpenings Pointer to an IRawWallOpenings collection interface that represents the raw openings in the wall.
GetTotalDisplacementForLoadCombo ([in] ILoadCombination *pILoadCombination, [in] BOOL bTopOfStory, [out, retval]SCoordinate *pDisplacement)
Gets the average displacements associated with this wall for the given load combo at the top or bottom of the wall. If the top of the wallrequested (bTopOfStory=TRUE), average displacements at top edge of the wall is returned. If the bottom of the wall requested(bTopOfStory=FALSE), average displacements at bottom edge of the wall is returned.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 204/450
( p y ), g p g
Parameters pILoadCombination The load combination to use in the displacement calculation.bTopOfStory If TRUE, the displacements returned for the top of the wall (or at the top story)pDisplacement Average displacements at top of bottom of the wall in global X, Y and Z directions
GetWallFEs ([in] EAnalysisResultType eAnalysisType, [out, retval] IWallFEs** ppIWallFEs)
Gets the wall FE collection associated with this wall.
Parameters ppIWallFEs Pointer to an IWallFEs collection interface that represents the wall FEs for the wall.
PropertiesType Property Get Set Description
double dCrackedFactor X X Cracked factor for membrane. Applies if wall is concrete.
double dCrackedFactorForBending X X Cracked factor for out-of-plane bending. Applies if wall is concrete.
double dEndZBotOffset X X Bottom z offset from story below elevation (or foundation) for end of wall. This is madeavailable because the offset at the bottom of the wall (at the transition between floortypes or atthe foundation) may differ from that at the other stories that use the floortype. This is true if themember a wall sits on is lowered or raised.
double dStartZBotOffset X X Bottom z offset from story below elevation (or foundation) for start of wall. This is madeavailable because the offset at the bottom of the wall (at the transition between floortypes or atthe foundation) may differ from that at the other stories that use the floortype. This is true if themember a wall sits on is lowered or raised.
double dThickness X X Thickness of wall
EFRAMETYPE eFramingType X Whether member is lateral or gravity
EMATERIALTYPES eMaterial X X Material type of wall. Valid options for walls are EWallPropConcreteMat orEWallPropOtherMat.
Type Property Get Set Description
long eSharingLoadType X X Returns sharing load type:-1: None0: Entirely two-way1: Entirely one-way2: One-way and two-way
long lDxfElevNumber X X DXF elevation number
long lFrameNumber X X Frame number for lateral members. Must be positive number.
lLabel X Numeric label of wall used for on-screen display in RAM Structural System. It is unique perfloor type.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 205/450
long lMaterialID X Unique ID of material properties for this wall. Must correspond to type of material. See
section Getting material properties for a member for more information.long lUID X Unique ID of wall.
long lWallGroupNumber X X Wall group number assigned in RAM Frame
IWal lBarLayout
Concrete wall bar layout information.
GetHorizBarPattern ([out,retval] IWallBarPattern** ppIWallBarPattern)
Gets the receiver’s horizontal bar pattern.
Parameters ppIWallBarPattern Pointer to an IWallBarPattern interface that contains the the receiver’s horizontal bar pattern.
GetMyWallPanel ([out,retval] IWallPanel **ppIWallPanel)
Gets a pointer to the interface of the wall panel the receiver belongs to.
Parameters ppIWallPanel Pointer to an IWallPanel interface for the wall panel that the receiver belongs to.
GetVertBarPattern ([out,retval] IWallBarPattern** ppIWallBarPattern)
Gets the receiver’s vertical bar pattern.
Parameters ppIWallBarPattern Pointer to an IWallBarPattern interface that contains the the receiver’s vertical bar pattern.
GetWallBarSets ([out,retval] IWallBarSets **ppIWallBarSets)
Gets the collection of wall bar sets in the receiver.
Parameters ppIWallBarSets Pointer to an IWallBarSets interface that contains the wall bar sets in the receiver.
Properties
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 206/450
pType Property Get Set Description
BOOL bUserDef X X Indicates whether or not this wall bar layout contains any user-defined bars. long lUID X The unique ID of this wall bar layout.
IWal lBarLayouts
This interface represents a collection of IWallBarLayout objects.
Add ([in] long lHorizBarPatternID, [in] long lVertBarPatternID, [in] BOOL bUserDefinedBars, [out,retval] IWallBarLayout **ppIWallBarLayout)
Adds a new wall bar layout to the receiver.
Parameters lHorizBarPatternID The bar pattern ID of the horizontal bars in the new wall bar layout.lVertBarPatternID The bar pattern ID of the vertical bars in the new wall bar layout.bUserDefinedBars Indicates whether or not the new wall bar layout contains any user-defined bars.ppIWallBarLayout Pointer to an IWallBarLayout interface that represents the newly added wall bar layout.
Clear ()
Deletes all wall bar layouts from the collection.
Delete ([in] long lUID)
Deletes a wall bar layout from the collection.
Parameters lUID Unique ID of the wall bar layout to delete.
Get ([in] long lUID, [out, retval] IWallBarLayout ** ppIWallBarLayout)
Gets an interface for a specific wall bar layout by unique ID.
Parameters lUID The unique ID of the requested wall bar layout.ppIWallBarLayout Pointer to an IWallBarLayout interface that represents the requested wall bar layout, or NULL if no wall bar layout is
found in the collection with the given unique ID.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 207/450
GetAt ([in] long lIndex, [out, retval] IWallBarLayout ** ppIWallBarLayout)
Gets an interface for a specific wall bar layout by index.
Parameters lIndex The index into the collection of the requested wall bar layout.ppIWallBarLayout Pointer to an IWallBarLayout interface that represents the requested wall bar layout, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall bar layouts in the receiver.
Parameters plCount The number of IWallBarLayout objects in the collection.
IWallBarPattern
This interface represents a particular bar pattern. They are generated based on the settings in a wall bar pattern template. One wallbar pattern is generated for every possible combination of values in a bar pattern template.
GetMyWallPatternTemplate ([out,retval] WallBarPatternTemplate** ppWallBarPatternTemplate)
Gets an interface for the receiver’s wall bar pattern template.
Parameters ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface for the receiver’s wall bar pattern template.
Properties
Type Property Get Set Description
double dDiameter X The diameter (in inches) of the bars in the pattern.
double dSpacing X The spacing between bars in the pattern.
long lBarPatternTemplateID X The unique ID of the WallBarPatternTemplate to which this wall bar pattern belongs.
long lUID X The unique ID of this wall bar pattern.
BSTR strBarSize X The name (from the concrete table) of the size of the bars in the pattern.
IWallBarPatterns
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 208/450
IWallBarPatterns
This interface represents a collection of wall bar patterns.
Get ([in] long lUID, [out, retval] IWallBarPattern ** ppIWallBarPattern)
Gets an interface for a specific wall bar pattern by unique ID.
Parameters lUID The unique ID of the requested wall bar pattern.ppIWallBarPattern Pointer to an IWallBarPattern interface that represents the requested wall bar pattern, or NULL if no wall bar pattern
is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallBarPattern ** ppIWallBarPattern)
Gets an interface for a specific wall bar pattern by index.
Parameters lIndex The index into the collection of the requested wall bar patternppIWallBarPattern Pointer to an IWallBarPattern interface that represents the requested wall bar pattern, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall bar patterns in the receiver.
Parameters plCount The number of IWallBarPattern objects in the collection.
Add ([in] BSTR bstrBarSize, [in] double dSpacing, [in] double dDiameter, [out,retval] IWallBarPattern** ppIWallBarPattern)
Adds a new wall bar pattern to the receiver.
Parameters bstrBarSize The bar size name of the new wall bar pattern. This must be a valid bar size from the concrete table.dSpacing The spacing between bars in the new wall bar pattern.dDiameter The diameter of bars in the new wall bar pattern. This must be the appropriate number for the given bstrBarSize
value.ppIWallBarPattern Pointer to an IWallBarPattern interface that represents the newly added wall bar pattern.
Clear ()
Deletes all wall bar patterns from the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 209/450
Deletes all wall bar patterns from the collection.
DeleteAt ([in] long lIndex)
Deletes a wall bar pattern from the collection at the specified index.
Parameters lIndex Index in the collection of the wall bar pattern to delete.
IWallBarPlacementConcrete wall bar placement information.
GetMyWallBarSet ([out,retval] IWallBarSet** ppIWallBarSet)
Gets a pointer to the interface of the wall bar layout the receiver belongs to.
Parameters ppIWallBarSet Pointer to an IWallBarSet interface for the wall bar set that the receiver belongs to.
PropertiesType Property Get Set Description
BOOL bUserDefined X User defined flag
double dDiameter X Bar diameter
EBarEndCondition eConditionEnd X End condition
EBarEndCondition eConditionStart X Start condition
long lNumCurtains X Number of reinforcing curtains
SCoordinate sCoordinateEnd X End coordinates
SCoordinate sCoordinateStart X Start coordinates
BSTR strBarName X Bar name
IWallBarPlacements
This interface represents a collection of IWallBarPlacement objects.
Add ([in] double dStartX, [in] double dStartY, [in] double dEndX, [in] double dEndY, [in] EBarEndCondition eStartCondition, [in]EBarEndCondition eEndCondition, [in] BOOL bUserDefined, [in] BSTR strBarName, [in] double dDiameter, [in] long lNumCurtains,[out retval] IWallBarPlacement** ppIWallBarPlacement)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 210/450
[out,retval] IWallBarPlacement ppIWallBarPlacement)
Adds a new wall bar placement to the receiver.
Parameters dStartX Start X coordinatedStartY Start Y coordinatedEndX End X coordinatedEndY End Y coordinateeStartCondition Start conditioneEndCondition End conditionbUserDefined User defined flag
strBarName Bar namedDiameter Bar diameterlNumCurtains Number of reinforcing curtainsppIWallBarPlacement Pointer to an IWallBarPlacement interface that represents the newly added wall bar placement.
Clear ()
Deletes all wall bar placements from the collection.
DeleteAt ([in] long lIndex)
Deletes a wall bar placement from the collection by index.
Parameters lIndex Index in the collection of the wall bar placement to delete.
GetAt ([in] long lIndex, [out, retval] IWallBarPlacement ** ppIWallBarPlacement)
Gets an interface for a specific wall bar placement by index.
Parameters lIndex The index into the collection of the requested wall bar placement.ppIWallBarPlacement Pointer to an IWallBarPlacement interface that represents the requested wall bar placement, or NULL if lIndex is
invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall bar placements in the receiver.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 211/450
Parameters plCount The number of IWallBarPlacement objects in the collection.
IWallBarSet
Concrete wall bar set information.
GetWallBarPlacements ([out,retval] IWallBarPlacements** ppIWallBarPlacements)
Gets the collection of wall bar placements in the receiver.
Parameters ppIWallBarPlacements Pointer to an IWallBarPlacements interface that contains the wall bar sets in the receiver.
GetMyWallBarLayout ([out,retval] IWallBarLayout** ppIWallBarLayout)
Gets a pointer to the interface of the wall bar layout the receiver belongs to.
Parameters
ppIWallBarLayout Pointer to an IWallBarLayout interface for the wall bar layout that the receiver belongs to.
PropertiesType Property Get Set Description
long lUID X The unique ID of this wall bar set.
IWallBarSets
This interface represents a collection of IWallBarSet objects.
Add ([out,retval] IWallBarSet** ppIWallBarSet)
Adds a new wall bar set to the receiver.
Parameters ppIWallBarSet Pointer to an IWallBarSet interface that represents the newly added wall bar set.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 212/450
pp p y
Clear ()
Deletes all wall bar sets from the collection.
Delete ([in] long lUID)
Deletes a wall bar set from the collection.
Parameters lUID Unique ID of the wall bar set to delete.
Get ([in] long lUID, [out, retval] IWallBarSet ** ppIWallBarSet)
Gets an interface for a specific wall bar set by unique ID.
Parameters lUID The unique ID of the requested wall bar set.ppIWallBarSet Pointer to an IWallBarSet interface that represents the requested wall bar set, or NULL if no wall bar set is found in
the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallBarSet ** ppIWallBarSet)
Gets an interface for a specific wall bar set by index.
Parameters lIndex The index into the collection of the requested wall bar set.ppIWallBarSet Pointer to an IWallBarSet interface that represents the requested wall bar set, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall bar sets in the receiver.
Parameters plCount The number of IWallBarSet objects in the collection.
IWallCodeMessage
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 213/450
IWallCodeMessage
Represents a design code message related to a particular limit check. The message is what is returned to the user as a verbosedescription of the success or failure of a particular limit check.
PropertiesType Property Get Set Description
long iTypeIndex X A type code that qualifies the severity of this message:0: None1: Informative only2: Warning (non-failing)3: Failure
BSTR lElementUID X The unique ID of the element (member) related to this message.
long lID X The unique ID of this wall code message.long lLimitCheckID X The unique ID of the limit check with which this code message is related.
long strMessage X The design message describing the status of the limit check.
IWallCodeMessages
This interface represents a collection of IWallCodeMessage objects.
Add ([in] long iTypeIndex, [in] BSTR strMessage, [in] long lElementUID, [out,retval] IWallCodeMessage** ppIWallCodeMessage)
Adds a new wall code message to the receiver.
Parameters iTypeIndex A type code that qualifies the severity of the message. Refer to IWallCodeMessage properties for
possible values.strMessage The design message describing the status of the limit check.lElementUID The unique ID of the element (member) related to this message.ppIWallCodeMessage Pointer to an IWallCodeMessage interface that represents the newly added wall code message.
Clear ()
Deletes all wall code messages from the collection.
Delete ([in] long lID)
Deletes a wall code message from the collection.
P t
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 214/450
Parameters
lID Unique ID of the wall code message to delete.
Get ([in] long lID, [out, retval] IWallCodeMessage ** ppIWallCodeMessage)
Gets an interface for a specific wall code message by unique ID.
Parameters lID The unique ID of the requested wall code message.ppIWallCodeMessage Pointer to an IWallCodeMessage interface that represents the requested wall code message, or NULL if no wall
code message is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallCodeMessage ** ppIWallCodeMessage)
Gets an interface for a specific wall code message by index.
Parameters lIndex The index into the collection of the requested wall code message.ppIWallCodeMessage Pointer to an IWallCodeMessage interface that represents the requested wall code message, or NULL if lIndex is
invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall code messages in the receiver.
Parameters plCount The number of IWallCodeMessage objects in the collection.
IWallCodeResult
Represents the result of the analysis of a certain section cut with a certain load case or combination.
GetWallLimitChecks ([out, retval] IWallLimitChecks** ppIWallLimitChecks)
Gets a the collection of wall limit checks for this wall code result.
Parameters ppIWallLimitChecks Pointer to an IWallLimitChecks interface that contains the wall limit checks in the receiver.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 215/450
PropertiesType Property Get Set Description
BOOL bLoadCombo X Flag: The results are of a load combination (not a load case).
long lHintFlags X In the case where one or more limit checks contained in this code result has failed, this property is a flag that theanalysis engine provides as a hint that might enable a subsequent analysis run to pass. Possible values for thisproperty can be found in Appendix F.
long lID X The unique ID of this wall code result.
long lLoadConditionUID X The load case or combination unique ID. long lSectionCutUID X The unique ID of the section cut to which the results belong.
IWallCodeResults
This interface represents a collection of IWallCodeResult objects.
Add ([in] BOOL bLoadCombo, [in] long lLoadConditionUID, [in] long lHintFlags, [out,retval] IWallCodeResult** ppIWallCodeResult)
Adds a new wall code result to the receiver.
Parameters bLoadCombo Flag: The wall code result is the result of a load combination (not a load case)lLoadConditionUID The load case or load combination UIDlHintFlags In the case where one or more limit checks contained in this code result has failed, this property is a flag
that the analysis engine provides as a hint that might enable a subsequent analysis run to pass. Possiblevalues for this property can be found in Appendix F.
ppIWallCodeResult Pointer to an IWallCodeResult interface that represents the newly added wall code result.
Clear ()
Deletes all wall code results from the collection.
Delete ([in] long lID)
Deletes a wall code result from the collection.
Parameters lID Unique ID of the wall code result to delete.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 216/450
Get ([in] long lID, [out, retval] IWallCodeResult ** ppIWallCodeResult)
Gets an interface for a specific wall code result by unique ID.
Parameters lID The unique ID of the requested wall code result.ppIWallCodeResult Pointer to an IWallCodeResult interface that represents the requested wall code result, or NULL if no wall code
result is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallCodeResult ** ppIWallCodeResult)
Gets an interface for a specific wall code result by index.
Parameters lIndex The index into the collection of the requested wall code result.ppIWallCodeResult Pointer to an IWallCodeResult interface that represents the requested wall code result, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall code results in the receiver.
Parameters plCount The number of IWallCodeResult objects in the collection.
IWal lDesignGroup
This interface represents a Wall Design Group. The purpose of a Wall Design Group is to divide the wall system in the RAM modelinto a number of individual wall groups, cores, or stacks that can be designed separately from one another. The Wall Design Group
can be thought of as any collection of walls for which the reinforcement can be completely designed and all code checks performedindependently of any other wall in the building.
AddColumnID ([in] long lColumnID)
Not implemented; do not call.
AddMemberID ([in] long lMemberID)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 217/450
Not implemented; do not call.
AddWallID ([in] long lWallID)
Adds a wall to the receiver.
Parameters lWallID The unique ID of the wall being added.
GetColumns ([out,retval] IColumns** ppIColumns)
Not implemented; do not call.
GetCouplingBeams ([out,retval] ICouplingBeams** ppICouplingBeams)
Gets the collection of all couplings beams in the wall design group.
Parameters
ppICouplingBeams Pointer to an ICouplingBeams collection interface that represents all coupling beams in the wall design group.
GetSectionCuts ([out,retval] IRawWallSectionCuts** ppISectionCuts)
Gets the collection of all section cuts from all walls in the wall design group.
Parameters
ppISectionCuts Pointer to an IRawWallSectionCuts collection interface that represents all section cuts in the wall design group.
GetWallPanels ([out,retval] IWallPanels** ppIWallPanels)
Gets the collection of all wall panels in the wall design group.
Parameters
ppIWallPanels Pointer to an IWallPanels collection interface that represents all wall panels in the wall design group.
GetWalls ([out, retval] IWalls** ppIWalls)
Gets the collection of all walls in the wall design group.
Parameters ppIWalls Pointer to an IWalls collection interface that represents all walls in the wall design group.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 218/450
GetWallSectionDsnCuts ([out,retval] IWallSectionDsnCuts** ppIWallSectionDsnCuts)
Gets the collection of all wall section design cuts in the wall design group.
Parameters
ppIWallSectionDsnCuts Pointer to an IWallSectionDsnCuts collection interface that represents all wall section design cuts in the walldesign group.
RemoveColumnID ([in] long lColumnID, [out,retval] long* plNumRemaining)
Not implemented; do not call.
RemoveMemberID ([in] long lMemberID)
Not implemented; do not call.
RemoveWallID ([in] long lWallID, [out,retval] long* plNumRemaining)
Removes a wall from the receiver.
Parameters lWallID The unique ID of the wall being removed.plNumRemaining The number of walls in the wall design group after removing the specified wall.
PropertiesType Property Get Set Description
double dCutOffset X X The offset between auto-generated cuts and the features they are next to (wall edges and opening edges).This is used as a guide to initialize the values in the dialog; section cuts cannot be auto-generated usingRAM Data Access.
Type Property Get Set Description
double dMaxHorCutSpcg X X The maximum space between horizontal cuts to use when auto-generating section cuts. 0.0 means cutscan be any distance apart. This is used as a guide to initialize the values in the dialog; section cuts cannotbe auto-generated using RAM Data Access.
double dMaxVertCutSpcg X X The maximum space between vertical cuts to use when auto-generating section cuts. 0.0 means cuts canbe any distance apart. This is used as a guide to initialize the values in the dialog; section cuts cannot beauto-generated using RAM Data Access.
long lCutLocationMask X X Mask that determines where auto-generated cuts should be placed. This is used as a guide to initialize thevalues in the dialog; section cuts cannot be auto-generated using RAM Data Access.
long lWallBarPatternTemplateID X X The ID of the WallBarPatternTemplate used by the wall design group.
long lWallDesignGroupNumber X The wall design group number for this wall design group. This is the unique key.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 219/450
IWal lDesignGroups
This interface represents a collection of wall design groups.
Add ([in] long lWallDesignGrpNum, [out,retval] IWallDesignGroup** ppIWallDesignGroup)
Adds a new wall design group to the receiver.
Parameters lWallDesignGrpNum The wall design group number of the new wall design group.ppIWallDesignGroup Pointer to an IWallDesignGroup interface that represents the newly added wall design group.
Clear ()
Deletes all wall design groups from the collection.
ClearResults ([in] long bDeleteForces)
Clears the results with option to remove forces.
Parameters bDeleteForces 1 if forces should be deleted as well
Delete ([in] long lWallDesignGrpNum)
Deletes a wall design group from the collection.
Parameters lWallDesignGrpNum Wall design group number of the wall design group to delete.
Get ([in] long lWallDesignGrpNum, [out, retval] IWallDesignGroup ** ppIWallDesignGroup)
Gets an interface for a specific wall design group by wall design group number.
Parameters lWallDesignGrpNum The wall design group number of the requested wall design group.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 220/450
lWallDesignGrpNum The wall design group number of the requested wall design group.
ppIWallDesignGroup Pointer to an IWallDesignGroup interface that represents the requested wall design group, or NULL if no wall designgroup is found in the collection with the given wall design group number.
GetAt ([in] long lIndex, [out, retval] IWallDesignGroup ** ppIWallDesignGroup)
Gets an interface for a specific wall design group by index.
Parameters lIndex The index into the collection of the requested wall design groupppIWallDesignGroup Pointer to an IWallDesignGroup interface that represents the requested wall design group, or NULL if lIndex is
invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall design groups in the receiver.
Parameters plCount The number of IWallDesignGroup objects in the collection.
SaveResults ()
Saves results for all wall design groups from the collection.
IWallFailedMember
Represents a member that has failed a limit check.
Properties
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 221/450
Gets an interface for a specific wall failed member by unique ID. Note: this function will be deprecated in v12.1.
Parameters lID The unique ID of the requested wall failed member.ppIWallFailedMember Pointer to an IWallFailedMember interface that represents the requested wall failed member, or NULL if no wall
failed member is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallFailedMember ** ppIWallFailedMember)
Gets an interface for a specific wall failed member by index.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 222/450
Parameters lIndex The index into the collection of the requested wall failed member.ppIWallFailedMember Pointer to an IWallFailedMember interface that represents the requested wall failed member, or NULL if lIndex is
invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall failed members in the receiver.
Parameters
plCount The number of IWallFailedMember objects in the collection.
IWallFE
This interface is used represent a finite element entry for a wall.
GetComboStresses ([in] ILoadCombination *pILoadCombo, [in] BOOL bSmooth, [out, retval] IStresses** ppIStresses)
Gets the stresses associated with the given load combination for this Wall FE.
Parameters pILoadCombo The load combination to retreive the stresses for. Note that the stresses for all of the terms in the load
combination are internally loaded and then summed up based on the load combination factors.bSmooth Boolean indicating whether or not the stresses should be averaged with surrounding Wall FEs.ppIStresses Pointer to an IStresses interface that represents the stresses for the given load case for this Wall FE.
GetNodes ([out,retval] INodes** ppINodes)
Gets the collection of nodes for this Wall FE.
Parameters ppINodes Pointer to an INodes interface that represents the nodes in the Wall FE.
GetStresses ([in] long lLoadCaseID, [in] BOOL bSmooth, [out, retval] IStresses** ppIStresses)
Gets the stresses associated with the given load case ID for this Wall FE.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 223/450
lLoadCaseID The load case ID to retreive the stresses for.bSmooth Boolean indicating whether or not the stresses should be averaged with surrounding Wall FEs.ppIStresses Pointer to an IStresses interface that represents the stresses for the given load case for this Wall FE.
IWallFE PropertiesType Property Get Set Description
BOOL bHaveStresses X TRUE if the receiving Wall FE has stresses available. Stresses are only available if RAM Frame is configured to storethem, and RAM Frame has calculated them.
double dThickness X The thickness of the wall.
IWallFEs
This interface is used to hold a collection of IWallFE objects.
GetAt ([in] long lIndex, [out, retval] IWallFE** ppIWallFE)
Gets the IWallFE object at the specified index.
Parameters lIndex The index of the specified Wall FE.
ppIWallFE The IWallFE object at the specified index.
GetCount ([out,retval] long** plCount)
Gets number of IWallFE objects in the collection.
Parameters plCount The number of IWallFE objects in the collection.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 224/450
Add ([in] long eGeneralType, [in] long eSpecificType, [in] BSTR strLimitName, [in] double dValue, [in] double dLimit, [in] double dUF,[in] BOOL bCheckPasses, [in] BSTR strCodeSection, [out,retval] IWallLimitCheck** ppIWallLimitCheck)
Adds a new wall limit check to the receiver. Note: the interface for this function will be changing in v12.1.
Parameters eGeneralType An integer specifying the general classification of this limit check. Refer to Appendix F.eSpecificType An integer specifying the specific classification of this limit check. Refer to Appendix F.strLimitName A string describing the limit check that is being tested.dValue The value (result) of this limit check.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 225/450
dLimit The limiting value of this limit check.dUF The unity factor for this limit check.bCheckPasses A boolean flag denoting whether this limit check has passed or not.strCodeSection A reference to a design code clause that applies to this limit check.ppIWallLimitCheck Pointer to an IWallLimitCheck interface that represents the newly added wall limit check.
Clear ()
Deletes all wall limit checks from the collection.
Delete ([in] long lID)
Deletes a wall limit check from the collection.
Parameters lID Unique ID of the wall limit check to delete.
Get ([in] long lID, [out, retval] IWallLimitCheck ** ppIWallLimitCheck)
Gets an interface for a specific wall limit check by unique ID.
Parameters lID The unique ID of the requested wall limit check.ppIWallLimitCheck Pointer to an IWallLimitCheck interface that represents the requested wall limit check, or NULL if no wall limit check
is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallLimitCheck ** ppIWallLimitCheck)
Gets an interface for a specific wall limit check by index.
Parameters lIndex The index into the collection of the requested wall limit check.ppIWallLimitCheck Pointer to an IWallLimitCheck interface that represents the requested wall limit check, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall limit checks in the receiver.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 226/450
Parameters plCount The number of IWallLimitCheck objects in the collection.
IWallPanel
This interface represents a wall panel. A Wall Panel is a planar, contiguous collection of one or more walls of the same thickness ata single Story, all in the same wall design group.
AddColumnUID ([in] long lColumnUID)
DO NOT USE. Not implemented.
Parameters lColumnUID Unique ID of the column being added.
AddMemberUID ([in] long lWallUID)
DO NOT USE. Not implemented.
Parameters lMemberUID Unique ID of the member being added.
AddWallUID ([in] long lWallUID)
Adds a wall to the collection of walls in the receiver.
Parameters lWallUID Unique ID of the wall being added.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 227/450
DO NOT USE. Not implemented.
Parameters lColumnUID Unique ID of the column being removed.
RemoveMemberUID ([in] long lMemberUID)
DO NOT USE. Not Implemented.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 228/450
lMemberUID Unique ID of the member being removed.
RemoveWallUID ([in] long lWallUID)
Removes a wall from the collection of walls in the receiver.
Parameters lWallUID Unique ID of the wall being removed.
PropertiesType Property Get Set Description
BOOL bFrozen X Indicates whether or not this panel has been frozen by the user. long lPriority X Priority of the wall panel
long lUID X The unique ID of this wall panel.
SCoordinate sCoordinateEnd X The end coordinate of the panel. SCoordinate sCoordinateStart X The start coordinate of the panel. BSTR strBarPatternName X The name of the panel’s bar pattern, if the panel has manual reinforcement. NULL otherwise.
IWallPanelReinfZone
This interface represents a wall panel reinforcing zone associated with manual reinforcment.
PropertiesType Property Get Set Description
double dBarSpacing X X The bar spacing for this zone.
double dStartOffset X X The start offset of this zone.
EBoundaryFlags eBoundary X X Indicates how this zone is to be handled with respect to boundary element design. long lNumCurtains X X The number of curtains in this zone.
BSTR strBarSize X X The bar size for this zone.
IWallPanelReinfZones
This interface represents a collection of IWallPanelReinfZone objects.
Add ([out, retval] IWallPanelReinfZone ** ppIWallPanelReinfZone)
Adds a new zone to the receiver.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 229/450
Parameters ppIWallPanelReinfZone Pointer to an IWallPanelReinfZone interface that represents the newly added zone.
Clear ()
Deletes all zones from the collection.
DeleteAt ([in] long lIndex)
Deletes a zone from the collection by index.
Parameters lIndex Index of the zone to delete.
GetAt ([in] long lIndex, [out, retval] IWallPanelReinfZone ** ppIWallPanelReinfZone)
Gets an interface for a specific zone by index.
Parameters lIndex The index into the collection of the requested zone.
ppIWallPanelReinfZone Pointer to an IWallPanelReinfZone interface that represents the requested zone, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of zones in the receiver.
Parameters plCount The number of IWallPanelReinfZone objects in the collection.
IWallPanels
This interface represents a collection of IWallPanel objects.
Add ([out,retval] IWallPanel** ppIWallPanel)
Adds a new wall panel to the receiver.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 230/450
ppIWallPanel Pointer to an IWallPanel interface that represents the newly added wall panel.
Clear ()
Deletes all wall panels from the collection.
Delete ([in] long lPanelID)
Deletes a wall panel from the collection.
Parameters lPanelID Unique ID of the wall panel to delete.
Get ([in] long lPanelID, [out, retval] IWallPanel ** ppIWallPanel)
Gets an interface for a specific wall panel by unique ID.
Parameters lPanelID The unique ID of the requested wall panel.ppIWallPanel Pointer to an IWallPanel interface that represents the requested wall panel, or NULL if no wall panel is found in the
collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallPanel ** ppIWallPanel)
Gets an interface for a specific wall panel by index.
Parameters lIndex The index into the collection of the requested wall panel.ppIWallPanel Pointer to an IWallPanel interface that represents the requested wall panel, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall panels in the receiver.
Parameters plCount The number of IWallPanel objects in the collection.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 231/450
IWallsThis interface represents a collection of walls associated with a story. This collection can be used to read data for walls at a story.To add or delete walls, use the ILayoutWalls interface associated with a floor type.
Filter ([in] EWallFilter eWallFilter, [in] VARIANT varFilterCriteria, [out, retval] long* plRetval)
Filters the collection of walls based on given criteria.
Parameters eWallFilter Indicates the type of filter to use on the collection
varFilterCriteria Criteria used to filter the collection, based on the filter type. In some cases, this parameter is not applicable.plRetval 0 if successful
-1 if collection could not be filtered
Get ([in] long lUID, [out, retval] IWall** ppIWall)
Gets an interface for a specific wall by unique ID.
Parameters lUID The unique ID of the requested wallppIWall Pointer to an IWall interface that represents the requested wall, or NULL if no wall is found in the collection with the
given unique ID.
GetAt ([in] long lIndex, [out, retval] IWall** ppIWall)
Gets an interface for a specific wall by index.
Parameters lIndex The index into the collection of the requested wall
ppIWall Pointer to an IWall interface that represents the requested wall, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount)
Gets the number of walls in the collection. When the collection is filtered, this function returns the number in the filtered collection, not thetotal number of walls on the story. When the collection is unfiltered, this function returns the total number of walls on the story.
Parameters plCount Number of walls in the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 232/450
GetPropertyDefinitions ([in] BSTR strCustomProps, [out, retval] IPropertyDefinitions** ppIPropertyDefs)
Gets a collection of user-defined property definitions for this member type.
Parameters strCustomProps Leave blank for public properties, or enter a valid user ID to get properties for this beam defined by a specific user
(not yet implemented)ppIPropertyDefs Pointer to an IPropertyDefinitions interface that represents a collection of properties that can be associated with this
member type
IWal lSect ionDsnCut
This interface represents the design information for a section cut. Unlike IRawWallSectionCut, the information in a design cut canrepresent multiple section cut segments.
DeleteWallSectionDsnCutPolygons ()
Deletes all polygons from the receiver.
GetRawWallSectionCuts ([out, retval] IRawWallSectionCuts **ppIRawWallSectionCuts)
Get the raw wall section cuts for the design cut.
Parameters ppIRawWallSectionCuts Pointer to an IRawWallSectionCuts interface
GetUBPolygonIndex ([out,retval] long *plUBPolygonIndex)
Gets the index of the last polygon (polygon count – 1) in the receiver.
Parameters
plUBPolygonIndex The index of the last polygon in the wall section design cut.
GetWallCodeResults ([out, retval] IWallCodeResults** ppIWallCodeResults)
Gets the collection of IWallCodeResult objects in the receiver.
Parameters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 233/450
GetWallSectionDsnCutForceSets ([out, retval] IWallSectionDsnCutForceSets** ppIWallSectionDsnCutForceSets)
Gets the collection of IWallSectionDsnCutForceSet objects in the receiver.
Parameters ppIWallSectionDsnCutForceSets Pointer to an IWallSectionDsnCutForceSets interface that represents all wall section design cut force
sets in the section design cut.
GetWallSectionDsnCutPolygon ([in] BOOL bLocal, [in] long lPolyIndex, [out, retval] IPoints **pIPoints)
Gets the specified polygon. (Refer to “SaveWallSectionDsnCutPolygon” for further info on section cut polygons).
Parameters bLocal Whether or not the fetched polygon is in local coordinates.lPolyIndex The index of the desired polygon.pIPoints Pointer to an IPoints interface that represents the requested polygon, or NULL if lPolyIndex is invalid.
ppIWallCodeResults Pointer to an IWallCodeResults interface that represents all wall code results in the section design cut.
SaveWallSectionDsnCutPolygon ([in] long iPolyIndex, [in] long iPoints, [in] double *pdGlobalX, [in] double *pdGlobalY, [in]double *pdGlobalZ, [in] double *pdLocalX, [in] double *pdLocalY)
Add a polygon to the list of polygons defining the geometry of the cross-section exposed by a cut. A polygon added with iPolyIndex=0 isassumed to be an outer solid polygon. Any other polygons added with iPolyIndex>0 are assumed to be negative polygons (holes) within thesolid. Two sets of polygons are defined in the global and local coordinate systems. The global coordinate system is the model coordinatesystem. The local coordinate system is the planar coordinate system assumed for design of the cross section.
Parameters iPolyIndex Index of polygon to be added.
iPoints Number of points in polygon.pdGlobalX Array of X coordinates describing polygon in global coordinate system.pdGlobalY Array of Y coordinates describing polygon in global coordinate system.pdGlobalZ Array of Z coordinates describing polygon in global coordinate system.pdLocalX Array of X coordinates describing polygon in local coordinate system.pdLocalY Array of Y coordinates describing polygon in local coordinate system.
PropertiesType Property Get Set Description
BOOL bDoBoundaryCheck X Flag: boundary check required for this section cut (certain design codes only).
double dArea X The area of this wall section design cut.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 234/450
double dInertiaX X The inertia in X of this wall section design cut. double dInertiaY X The inertia in Y of this wall section design cut. double dMaxFlexureUF X The maximum unity factor in flexure at this cross-section (determined during a design run).
double dMaxShearUF X The maximum unity factor in shear at this cross-section (determined during a design run).
double dOffset X The offset of the position of a vertical section cut along the wall length, relative to the wall or opening towhich it is defined (see lRelativeMemberUID) (vertical section cuts only).
double dWallAngle X The orientation of the wall relative to the global model coordinate system (vertical cuts only).
double dZ X The Z coordinate of this wall section design cut.
long eDesignState X Code denoting current design status for this section cut:0: not ready (no forces available)1: not designed
2: design error3: design failed4: design passed
long eOrientation X Orientation of the section cut.0 = Vertical cut1 = Horizontal cut
long eRelativeCorner X The wall or opening corner index relative to which a vertical cut is defined (vertical cuts only).
long iCriticalFlexureCombo X The UID of the load combination that produces the maximum unity factor in flexure.
long iCriticalShearCombo X The UID of the load combination that produces the maximum unity factor in shear.
long lFinalSegmentCount X The number of wall segments that make up this section cut.
long lMaterialUID X The UID of the material of the cross-section (wall).
long lRelativeMemberUID X The wall UID or opening UID relative to which a vertical cut is defined (vertical cuts only).
long lSectionCutWDGID X This section design cut’s unique ID in its wall design group. long lUID X The unique ID of this wall section design cut.
long lWallDesignGrp X The wall design group to which this section design cut belongs.
SCoordinate sCentroid X The centroid of this wall section design cut.
IWallSectionDsnCutForceSet
Represents a result force set for a particular section cut and load case/combo UID.
Properties Type Property Get Set Description
BOOL bLoadCombo X Flag: The force set is a result of a load combination (not a load case)
long lID X The unique ID of this wall section design cut force set.
long lLoadConditionIndex X Load case or combo index.
long lLoadConditionUID X Load case or combo UID.
long lSectionCutUID X The unique ID of the section cut to which this force set belongs.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 235/450
SForce3D sForce3DF X Force components in the X,Y,Z directions.SForce3D sForce3DM X Moment components about the X,Y,Z directions.
IWallSectionDsnCutForceSets
This interface represents a collection of IWallSectionDsnCutForceSet objects.
Add ([in] BOOL bLoadCombo, [in] long lLoadConditionUID, [in] long lLoadConditionIndex, [in] SForce3D sForce3DF, [in] SForce3D sForce3DM, [out,retval] IWallSectionDsnCutForceSet** ppIWallSectionDsnCutForceSet)
Adds a new wall section design cut force set to the receiver.
Parameters bLoadCombo Flag: The force set is a result of a load combination (not a load case)lLoadConditionUID Load case or combo UID.lLoadConditionIndex Load case or combo index.sForce3DF Force components in the X,Y,Z directions.sForce3DM Moment components about the X,Y,Z directions.ppIWallSectionDsnCutForceSet Pointer to an IWallSectionDsnCutForceSet interface that represents the newly added wall section design
cut force set.
Clear ()
Deletes all wall section design cut force sets from the collection.
ClearCombos ()
Deletes all load combination-based wall section design cut force sets from the collection.
Delete ([in] long lID)
Deletes a wall section design cut force set from the collection.
Parameters lID Unique ID of the wall section design cut force set to delete.
Get ([in] long lID, [out, retval] IWallSectionDsnCutForceSet ** ppIWallSectionDsnCutForceSet)
G t i t f f ifi ll ti d i t b i ID
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 236/450
Gets an interface for a specific wall section design cut by unique ID.
Parameters lID The unique ID of the requested wall section design cut force set.ppIWallSectionDsnCutForceSet Pointer to an IWallSectionDsnCutForceSet interface that represents the requested wall section design cut
force set, or NULL if no wall section design cut force set is found in the collection with the given uniqueID.
GetAt ([in] long lIndex, [out, retval] IWallSectionDsnCutForceSet ** ppIWallSectionDsnCutForceSet)
Gets an interface for a specific wall section design cut force set by index.
Parameters lIndex The index into the collection of the requested wall section design cut force set.ppIWallSectionDsnCutForceSet Pointer to an IWallSectionDsnCutForceSet interface that represents the requested wall section design cut
force set, or NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall section design cut force sets in the receiver.
Parameters plCount The number of IWallSectionDsnCutForceSet objects in the collection.
IWal lSect ionDsnCuts
This interface represents a collection of IWallSectionDsnCut objects.
Add ([in] double dArea, [in] double dCentroidX, [in] double dCentroidY, [in] double dZ, [in] double dInertiaX, [in] double dInertiaY, [in]long eOrientation, [in] double dWallAngle, [in] long lMaterialUID, [in] double dMaxFlexureUF, [in] double dMaxShearUF, [in] longiCriticalFlexureCombo, [in] long iCriticalShearCombo, [in] long eDesignStatus, [in] long lSectionCutWDGID, [in] longlFinalSegmentCount, [in] long lRelativeMemberUID, [in] long eRelativeCorner, [in] double dOffset, [out,retval] IWallSectionDsnCut**ppIWallSectionDsnCut)
Adds a new wall section design cut to the collection.
Parameters dArea Cross-sectional area of wall generated by cut.
dC t idX X di t f t id f ti
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 237/450
dCentroidX X coordinate of centroid of cross-section.dCentroidY Y coordinate of centroid of cross-section.dZ Z coordinate of section cut.dInertiaX X component of moment of inertia of cross-section.dInertiaY Y component of moment of intertia of cross-section.eOrientation Code denoting orientation of section cut (0=horizontal, 1=vertical).dWallAngle The orientation of the wall relative to the global model coordinate system (vertical cuts only).lMaterialUID The UID of the material of the cross-section (wall).dMaxFlexureUF The maximum unity factor in flexure at this cross-section (determined during a design run).dMaxShearUF The maximum unity factor in shear at this cross-section (determined during a design run).iCriticalFlexureCombo The UID of the load combination that produces the maximum unity factor in flexure.
iCriticalShearCombo The UID of the load combination that produces the maximum unity factor in shear.eDesignStatus Code denoting current design status for this section cut:
0: not ready (no forces available)1: not designed2: design error3: design failed4: design passed
lSectionCutWDGID Index (ID) of this section cut within the wall design group. Unique only within wall design group.lFinalSegmentCount The number of wall segments that make up this section cut.lRelativeMemberUID The wall UID or opening UID relative to which a vertical cut is defined (vertical cuts only).eRelativeCorner The wall or opening corner index relative to which a vertical cut is defined (vertical cuts only).
dOffset The offset of the position of a vertical section cut along the wall length, relative to the wall or opening to which it isdefined (see lRelativeMemberUID) (vertical section cuts only).
ppIWallSectionDsnCut Pointer to an IWallSectionDsnCut interface that represents the newly added wall section design cut.
Clear ()
Deletes all wall section design cuts from the collection.
Delete ([in] long lUID)
Deletes a wall section design cut from the collection.
Parameters lUID Unique ID of the wall section design cut to delete.
DeleteAt ([in] long lIndex)
Deletes a wall section design cut from the collection at the specified index.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 238/450
Parameters lUID Index of the wall section design cut to delete.
Get ([in] long lUID, [out, retval] IWallSectionDsnCut ** ppIWallSectionDsnCut)
Gets an interface for a specific wall section design cut by unique ID.
Parameters lUID The unique ID of the requested wall section design cut.ppIWallSectionDsnCut Pointer to an IWallSectionDsnCut interface that represents the requested wall section design cut, or NULL if no
wall section design cut is found in the collection with the given unique ID.
GetAt ([in] long lIndex, [out, retval] IWallSectionDsnCut ** ppIWallSectionDsnCut)
Gets an interface for a specific wall section design cut by index.
Parameters lIndex The index into the collection of the requested wall section design cutppIWallSectionDsnCut Pointer to an IWallSectionDsnCut interface that represents the requested wall section design cut, or NULL if lIndex
is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall section design cuts in the receiver.
Parameters plCount The number of IWallSectionDsnCut objects in the collection.
IWebOpening
This interface represents a specific web opening in a beam. This interface can be used to read and modify the geometry andproperties of the web opening.
PropertiesType Property Get Set Description
BOOL bPassed X Whether the design of the web opening passed or failed.
double dBotStiffX X X coordinate (in beam local coordinates) of bottom stiffener.
double dBotStiffY X Y coordinate (in beam local coordinates) of bottom stiffener
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 239/450
double dBotStiffY X Y coordinate (in beam local coordinates) of bottom stiffener.double dDistFromStartOfBeam X X Distance from start of beam to center of web opening
double dDistFromTop X X Offset to web opening. The offset is from the top of the beam to the top, center or bottom of theopening (as indicated by eWOPositionInWeb)
double dHeightOrDiam X X Height (H) of web opening if shape is rectangular, or diameter of opening if circular
double dStiffenerLength X Length of top stiffener, if required.
double dStiffenerLengthBot X Length of bottom stiffener, if required.
double dStiffenerThickness X Thickness of top stiffener, if required.
double dStiffenerThicknessBot X Thickness of bottom stiffener, if required.
double dStiffenerWidth X Width of top stiffener, if required.
double dStiffenerWidthBot X Width of bottom stiffener, if required.
double dTopStiffX X X coordinate (in beam local coordinates) of top stiffener.double dTopStiffY X Y coordinate (in beam local coordinates) of top stiffener.
double dWeldSize X Size of weld for stiffener, if required.
double dWidth X X Width (B) of web opening if shape is rectangular
EWebOpenPosition ePositionInWeb X X Position of web opening in beam web. If not centered, an offset must be provided.
EWebOpenShape eShape X X Shape of the web opening
long lNumStiffeners X Indicates if top stiffeners are required on 0, 1 or 2 sides of the opening (determined during steelbeam design)
long lNumStiffenersBot X Indicates if bottom stiffeners are required on 0, 1 or 2 sides of the opening (determined during steelbeam design)
long lPenID X The ID of this opening in the collection of openings for a particular beam (not unique within themodel)
IWebOpenings
This interface represents a collection of web openings on a beam. It may be empty to start with if no web openings have beendefined on a beam. Through this interface, web openings can be added and deleted.
Add ([in]double dDistFromStartOfBeam, [in] EWebOpenShape eShape, [in] double dHOrDiam, [in] double dB, [out, retval]IWebOpening** ppIWebOpening)
Adds a web opening to the collection of web openings for the layout beam.
Parameters dDistFromStartOfBeam Distance from start of beam to center of web openingeShape Shape of web openingdHOrDiam Height of rectangular opening, or diameter of circular openingdB Width of rectangular openingppIWebOpening Pointer to an IWebOpening interface that represents the newly added web opening.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 240/450
Delete ([in] long lIndex, [out, retval] long* plRetval )
Deletes the web opening at the given index.
Parameters lIndex Index of web opening to deleteplRetval 0 if web opening is deleted successfully
-1 if lIndex is invalid
GetAt ([in] long lIndex, [out, retval] IWebOpening** ppIWebOpening)
Gets an interface for a specific web opening by index.
Parameters lIndex The index into the collection of the requested web opening.ppIWebOpening Pointer to an IWebOpening interface that represents the requested web opening, or NULL if lIndex is invalid.
GetCount ([out, retval] long* plCount )
Gets the number of web openings in the collection.
Parameters plCount Number of web openings in the collection
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 241/450
WallBarPatternTemplates
This interface represents a collection of WallBarPatternTemplate objects.
Add ([in] BSTR strLabel, [in] long lNumCurtains, [in] BSTR strMinVerticalBarSize, [in] BSTR strMaxVerticalBarSize, [in] doubledMinVerticalBarSpacing, [in] double dMaxVerticalBarSpacing, double dVerticalSpacingIncrement, [in] BSTRstrMinHorizontalBarSize, [in] BSTR strMaxHorizontalBarSize, [in] double dMinHorizontalBarSpacing, [in] doubledMaxHorizontalBarSpacing, [in] double dHorizontalSpacingIncrement, [out,retval] WallBarPatternTemplate**ppWallBarPatternTemplate)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 242/450
Adds a new wall bar pattern template to the receiver.
Parameters strLabel The name of the new template.lNumCurtains The number of bar curtains in the new template. (Must be 1, 2, or 3.)strMinVerticalBarSize The name of the minimum vertical bar size in the new template.strMaxVerticalBarSize The name of the maximum vertical bar size in the new template.dMinVerticalBarSpacing The minimum vertical bar spacing (in inches) in the new template.dMaxVerticalBarSpacing The maximum vertical bar spacing (in inches) in the new template.
dVerticalSpacingIncrement The vertical spacing increment for the new template.strMinHorizontalBarSize The name of the minimum horizontal bar size in the new template.strMaxHorizontalBarSize The name of the maximum horizontal bar size in the new template.dMinHorizontalBarSpacing The minimum horizontal bar spacing (in inches) in the new template.dMaxHorizontalBarSpacing The maximum horizontal bar spacing (in inches) in the new template.dHorizontalSpacingIncrement The horizontal spacing increment for the new template.ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface that represents the newly added wall bar pattern
template.
Delete ([in] long lUID)
Deletes a wall bar pattern template from the collection by unique ID.
Parameters lUID The unique ID of the wall bar pattern template to delete.
Clear ()
Deletes all wall bar pattern templates from the collection.
Get ([in] long lUID, [out, retval] WallBarPatternTemplate ** ppWallBarPatternTemplate)
Gets an interface for a specific wall bar pattern template by unique ID.
Parameters lUID The unique ID of the requested wall bar pattern template.ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface that represents the requested wall bar pattern template, or
NULL if no wall bar pattern template is found in the collection with the given unique ID.
GetAt ([in] long lIndex [out retval] WallBarPatternTemplate ** ppWallBarPatternTemplate)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 243/450
GetAt ([in] long lIndex, [out, retval] WallBarPatternTemplate ppWallBarPatternTemplate)
Gets an interface for a specific wall bar pattern template by index.
Parameters lIndex The index into the collection of the requested wall bar pattern template.ppWallBarPatternTemplate Pointer to an WallBarPatternTemplate interface that represents the requested wall bar pattern template, or
NULL if lIndex is invalid.
GetCount ([out, retval] long *plCount)
Gets the number of wall bar pattern templates in the receiver.
Parameters plCount The number of WallBarPatternTemplate objects in the collection.
Original DataAccess InterfacesThe following interfaces are based on the original architecture for RAM DataAccess. They can be used interchangeably with theObject Model interfaces. For any functionality that is available in the new Object Model interfaces, those interfaces/functions arepreferred. The original DA interfaces should only be used for functionality that is not yet in the Object Model interfaces.
IConcAnalysis1
Philosophy: To retrieve the results from the Concrete Analysis
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 244/450
Philosophy: To retrieve the results from the Concrete Analysis.
GetBeamAnalysisInertia ( [in] long lBeamID, [out] double * pdIAnalysis, [in, out] long * lResult);Purpose Get the moment of inertia used for the analysis.Parameters lBeamID The unique beam ID
pdIAnalysis The moment of inertia of the beam used in the analysislResult Error code. If value is non zero then check GetLastError
GetBeamCantlDeflectionMoments ( [in] long lBeamID, [in] EBeamSpanType eSpan, [out] double* pdMDL, [out] double* pdMLLposdefl, [out]double* pdMLLnegdefl, [in, out] long* plResult);
Purpose Get the moments that are associated with a particular cantilever for calculation of the IEfffor concrete deflection consideration.
Parameters lBeamID The unique beam IDeSpanpdMDL The DL moment at the cantilever supportpdMLLposdefl The cumulative, max LL pos moment at the cantilever supportpdMLLnegdefl The cumulative, max LL neg moment at the cantilever supportplResult Error code. If value is non zero then check GetLastError
GetBeamDeflectionMoments ([in] long lBeamID, [out] double* pdMDLlt, [out] double* pdMDLmid, [out] double* pdMDLrt, [out] double*pdMLLltneg, [out] double* pdMLLltpos, [out] double* pdMLLmidneg, [out] double* pdMLLmidpos, [out] double* pdMLLrtneg, [out] double*pdMLLrtpos, [out, retval] long* plResult);
Purpose Get the moments that are associated with a particular beam ends and mid point forcalculation of the IEff for concrete deflection consideration.
Parameters lBeamID The unique beam IDpdMDLlt The DL moment at the left end of the beampdMDLmid The DL moment at the mid of the beampdMDLrt The DL moment at the rt end of the beampdMLLltneg The cumulative, max LL neg moment at the left end of the
beampdMLLltpos The cumulative, max LL pos moment at the left end of the
beampdMLLmidneg The cumulative, max LL neg moment at the mid of the beam
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 245/450
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 246/450
Purpose The default settings for the Assign – Columns – Sidesway dialog.Parameters nSelectMajor 0 if global, 1 if braced, 2 if unbraced
nSelectMinor 0 if global, 1 if braced, 2 if unbracedpbstrGlobalMajor String defining the global major axis settingpbstrGlobalMinor String defining the global minor axis setting
GetBalancedLoadExistsFlag ([out] long* plBalLoad);Purpose Determine if a balanced load case exists in the linked Concept file.Parameters plBalLoad 1 if the balanced case exists.
GetColForceSource ( [out] long* plUseConceptForces, [out,retval] long* lRetval);Purpose In the Column Forces Criteria dialog the user can specify if they would like to consider the
Concept forces or only use the RAM SS forces. That setting is provided here.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 247/450
Concept forces or only use the RAM SS forces. That setting is provided here.Parameters plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story
GetConceptSelectionAtStory ([in] long lStoryID, [out] long* plUseConceptForces, [out,retval] long* lRetval);Purpose In the Column Forces Criteria dialog the user can specify for each story whether to
consider/use the concept forces at that story or the RAM forces at that story. That settingis provided here.
Parameters lStoryID Unique Story IDplUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this storylRetVal Error code. If value is non zero then check GetLastError
GetCriteriaAnalysis ([out] long* plNumStations, [out] double* pdMaxSpc, [out] long* plREZ_RadioState, [out] double* pdREZPerc, [out] double*pdTorConstRed, [out] long* pbSkipLoadBL, [out] long* pbSkipLoadNOBl, [out] long* pbLLR, [out] long* pbColSlend, [out] long* pbPin,[out] long* pbConstrainRigidDiapSloped);
Purpose Obtain the concrete analysis criteria specified by the user in RAM Concrete Gravity Analysis Module. See Dialog Box from command Criteria – Analysis.
Parameters plNumStations The minimum number of stations to consider per beam. Astation is a location on the beam where member forcesare calculated.
pdMaxSpc The maximum spacing between any two stations along
the beam.plREZ_RadioState 0 = Ignore rigid end zone effects, 1=consider rigid endzone effects
pdREZPerc If plREZ_RadioState is 1 then this vontains the%reduction to be considered
pdTorConstRed Concrete beam torsional constant reduction
pbSkipLoadBLTrue = Skip load live load on beams with beam linenumbers
pbSkipLoadNOBl True = Skip load live load on beams with no beam linenumbers
pbLLR True = consider live load reduction when calculating
forcespbColSlend True = Consider column slenderness when calculationg
column forcespbPin True = release (pin) the base of concrete gravity columns
at the foundationpbConstrainRigidDiapSloped True = Do not consider rigid diaphragm on floors that are
sloped.
GetCriteriaAnalysis_HangingColConvTol ([out] BOOL* pbHangConvTol);Purpose Get concrete analysis criteria.Parameters pbHangConvTol Tolerance for convergence of hanging column forces during iterative analyis
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 248/450
GetCriteriaAnalysis_IncludeOutOfPlaneForHybrid ([out] BOOL* pbIncludeOutOfPlaneForHybrid);Purpose Get concrete analysis criteria.Parameters pbIncludeOutOfPlaneForHybrid 1 if including out of plane stiffness for walls, 0 if not
GetCriteriaAnalysis_Part3 ([out] double* pdDistBetweenNodes, [out] double* pdMeshTol, [out] double* pdHardNodeDenFac,[out] long* plSolverType);
Purpose Get concrete analysis criteria.Parameters pdDistBetweenNodes Maximum distance between nodes for mesh control.
pdMeshTol Geometric tolerance for mesh controlpdHardNodeDenFac Hard node density factor for mesh controlplSolverType Solver type index
GetCriteriaAnalysis_Part4 ([out] BOOL* pbConsiderLoadPolys, [out] BOOL* pbIgnoreWallStiff);Purpose Get concrete analysis criteria.Parameters pbConsiderLoadPolys 1 if considering load polygons for skip loading on two way slabs,
0 if notpbIgnoreWallStiff 1 if ingoring wall stiffness above the story, 0 if not
GetCriteriaAnalysis_Part5 ([out] double* pdMergeNodeTol);Purpose Get concrete analysis criteria.Parameters pdMergeNodeTol Merge node tolerance in the concrete finite element model
GetCriteriaAnalysis_UseAllCPUs([out] BOOL* pbUseAllCPUs);Purpose To get the flag that indicates if one or all CPUs will be used for Analysis.Parameters bUseAllCPUs 1 = use all CPUs 0 = use only one CPU
GetCriteriaBracing ([out] long* plSlabBracing, [out] double* pdBracingAngle);Purpose To get Bracing criteria.Parameters plSlabBracing 0 = Slab braces column 1 = Slab does not brace column.
pdBracingAngle Maximum angle from column axis for which beam braces column.
GetCriteriaKFactor ([out] long* pnKxSel, [out] long* pnKySel, [in, out] double* pdKx, [out] double* pdKy);Purpose To get the global K Factor criteria.Parameters pnKxSel 0 = use nomograph 1 = use this value
pnKySel 0 = use nomograph 1 = use this valuepdKx If “use” is selected, this variable contains the value entered pdKy If “use” is selected, this variable contains the value entered
GetCriteriaSidesway ([out] long* pnSelection, [out] BOOL* pbGlobalX, [out] BOOL* pbGlobalY, [out] double* pdDegX, [out] double* pdDegY);Purpose To get the global sidesway criteria.Parameters pnSelection 0 = Unbraced, 1 = Braced, 2 = Partially Braced
pbGlobalX True if Partially Braced Global X is selectedpbGlobalY True if Partially Braced Global Y is selected
pdDegX Angle in degrees for partially braced global X
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 249/450
p g g g p y gpdDegY Angle in degrees for partially braced global Y
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetMoreCriteriaAnalysis ([out] BOOL* pbPinTransferMembers, [out] BOOL* pbPinTop, [out] BOOL* pbOOC, [out] long* pnBeamTorStiff);Purpose Get concrete analysis criteria,Parameters pbPinTransferMember True if pin base of concrete gravity columns on transfer member
is selectedpbPinTop True if pin top of concrete gravity columns is selected
pbOOC 1 if Out of Core solver is selected, 1 if In CorepnBeamTorStiff 0 = Use Assigned Torsional Cracked Section Factor, 1 = User
Defined Torsional Stiffness Reduction Percentage
Reset ();Purpose Internal use only.
SetAssignKFactor ([in] long* pnSelectMajor, [in] long* pnSelectMinor, [in] long* pdKx, [in] long* pdKy,);Purpose The default settings for the Assign – Columns – K factor dialog.
Parameters pnSelectMajor 0 if global, 1 if nomograph, 2 if user definedpnSelectMinor 0 if global, 1 if nomograph, 2 if user definedpdKx Default Kx value in the user defined boxpdKy Default Ky value in the user defined box
SetAssignSidesway ([in] long* pnSelectMajor, [in] long pnSelectMinor);Purpose The default settings for the Assign – Columns – Sidesway dialog.Parameters pnSelectMajor 0 if global, 1 if braced, 2 if unbraced
pnSelectMinor 0 if global, 1 if braced, 2 if unbraced
SetColForceSource ( [in] long* plUseConceptForces, [out,retval] long* lRetval);Purpose In the Column Forces Criteria dialog the user can specify if they would like to consider the
Concept forces or only use the RAM SS forces. That setting is provided here.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 250/450
p y g pParameters plUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this story
SetConceptSelectionAtStory ([in] long lStoryID, [in] long* plUseConceptForces, [out,retval] long* lRetval);Purpose In the Column Forces Criteria dialog the user can specify for each story whether to
consider/use the concept forces at that story or the RAM forces at that story. That settingis provided here.
Parameters lStoryID Unique Story IDplUseConceptForces 1 = Use concept forces for this story,
0 = Use RAMSS forces for this storylRetVal Error code. If value is non zero then check GetLastError
SetCriteriaAnalysis ([in] long* plNumStations, [in] double* pdMaxSpc, [in] long* plREZ_RadioState, [in] double* pdREZPerc, [in] double*pdTorConstRed, [in] long* pbSkipLoadBL, [in] long* pbSkipLoadNOBl, [in] long* pbLLR, [in] long* pbColSlend, [in] long* pbPin, [in] long*pbConstrainRigidDiapSloped);
Purpose Obtain the concrete analysis criteria specified by the user in RAM Concrete Gravity Analysis Module. See Dialog Box from command Criteria – Analysis.
Parameters plNumStations The minimum number of stations to consider per beam. Astation is a location on the beam where member forcesare calculated.
pdMaxSpc The maximum spacing between any two stations alongthe beam.
plREZ_RadioState 0 = Ignore rigid end zone effects, 1=consider rigid endzone effectspdREZPerc If plREZ_RadioState is 1 then this vontains the
%reduction to be consideredpdTorConstRed Concrete beam torsional constant reduction
pbSkipLoadBLTrue = Skip load live load on beams with beam linenumbers
pbSkipLoadNOBl True = Skip load live load on beams with no beam linenumbers
pbLLR True = consider live load reduction when calculating
forcespbColSlend True = Consider column slenderness when calculationg
column forcespbPin True = release (pin) the base of concrete gravity columns
at the foundationpbConstrainRigidDiapSloped True = Do not consider rigid diaphragm on floors that are
sloped.
SetCriteriaAnalysis_HangingColConvTol ([in] BOOL bHangConvTol);Purpose Set concrete analysis criteria.Parameters bHangConvTol Tolerance for convergence of hanging column forces during iterative analyis
SetCriteriaAnalysis IncludeOutOfPlaneForHybrid ([in] BOOL bIncludeOutOfPlaneForHybrid);P S l i i i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 251/450
y _ y ([ ] y );Purpose Set concrete analysis criteria.Parameters bIncludeOutOfPlaneForHybrid 1 if including out of plane stiffness for walls, 0 if not
SetCriteriaAnalysis_Part3 ([in] double dDistBetweenNodes, [in] double dMeshTol, [in] double dHardNodeDenFac,[in] long lSolverType);
Purpose Set concrete analysis criteria.Parameters dDistBetweenNodes Maximum distance between nodes for mesh control.
dMeshTol Geometric tolerance for mesh controldHardNodeDenFac Hard node density factor for mesh controllSolverType Solver type index
SetCriteriaAnalysis_Part4 ([in] BOOL bConsiderLoadPolys, [in] BOOL bIgnoreWallStiff);Purpose Set concrete analysis criteria.Parameters bConsiderLoadPolys 1 if considering load polygons for skip loading on two way slabs, 0
if notbIgnoreWallStiff 1 if ingoring wall stiffness above the story, 0 if not
SetCriteriaAnalysis_Part5 ([in] double dMergeNodeTol);Purpose Set concrete analysis criteria.Parameters dMergeNodeTol Merge node tolerance in the concrete finite element model
SetCriteriaAnalysis_UseAllCPUs([in] BOOL bUseAllCPUs);
Purpose To set the flag that indicates if one or all CPUs will be used for Analysis.Parameters bUseAllCPUs 1 = use all CPUs 0 = use only one CPU
SetCriteriaBracing ([in] long* plSlabBracing, [in] double* pdBracingAngle);Purpose To get Bracing criteria.Parameters plSlabBracing 0 = Slab braces column 1 = Slab does not brace column.
pdBracingAngle Maximum angle from column axis for which beam braces column.
SetCriteriaKFactor ([in] long* pnKxSel, [in] long* pnKySel, [in] double* pdKx, [in] double* pdKy);
Purpose To get the global K Factor criteria.Parameters pnKxSel 0 = use nomograph 1 = use this value
pnKySel 0 = use nomograph 1 = use this valuepdKx If “use” is selected, this variable contains the value enteredpdKy If “use” is selected, this variable contains the value entered
SetCriteriaSidesway ([in] long* pnSelection, [in] BOOL* pbGlobalX, [in] BOOL* pbGlobalY, [in] double* pdDegX, [in] double* pdDegY);Purpose To get the global sidesway criteria.Parameters pnSelection 0 = Unbraced, 1 = Braced, 2 = Partially Braced
pbGlobalX True if Partially Braced Global X is selectedpbGlobalY True if Partially Braced Global Y is selectedpdDegX Angle in degrees for partially braced global X
pdDegY Angle in degrees for partially braced global Y
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 252/450
SetMoreCriteriaAnalysis ([in] BOOL* pbPinTransferMembers, [in] BOOL* pbPinTop, [in] BOOL* pbOOC, [in] long* pnBeamTorStiff);Purpose Get concrete analysis criteria. .Parameters pbPinTransferMember True if pin base of concrete gravity columns on transfer member
is selectedpbPinTop True if pin top of concrete gravity columns is selectedpbOCC 1 if Out of Core solver is selected, 1 if In CorepnBeamTorStiff 0 = Use Assigned Torsional Cracked Section Factor, 1 = User
Defined Torsional Stiffness Reduction Percentage
SetRAMConcLdCaseFlags ();Purpose Internal use only.
IConcBeamState1
Philosophy: This interface is for maintaining the state of the concrete beam module.
ClearBeamResults ();Purpose Internal use only.
GetBeamBarSets ([in] long lStory, [in] long lBeamLineID, [out] SBM_BAR_SET** ppaShearBarSet, [out] SBM_BAR_SET _BSTR**ppaShearBarSetBstr, [out] long* plSizeShear, [out] SBM_BAR_SET** ppaTopFlxBarSet, [out] SBM_BAR_SET _BSTR** ppaTopFlxBarSetBstr, [out] long* plSizeTopFlx, [out] SBM_BAR_SET** ppaBotFlxBarSet, [out] SBM_BAR_SET _BSTR**ppaBotFlxBarSetBstr, [out] long* plSizeBotFlx);
Purpose Get all the reinforcement located in all the spans in the beam line.Parameters lStory Story where beam line is located
lBeamLineID Beam line ID numberppaShearBarSet Shear reinforcement bar set data
ppaShearBarSetBstr Shear reinforcement bar set stringsplSizeShear Number of shear bar sets. Defines size of pShearBarSet and
pShearBarSetBstrppaTopFlxBarSet Top longitudinal reinforcement bar set datappaTopFlxBarSetBstr Top longitudinal reinforcement bar set stringsplSizeTopFlx Number of Top longitudinal bar sets. Defines size of
pTopFlxBarSet and pTopFlxBarSetBstrppaBotFlxBarSet Bottom longitudinal reinforcement bar set datappaBotFlxBarSetBstr Bottom longitudinal reinforcement bar set stringsplSizeBotFlx Number of Botttom longitudinal bar sets. Defines size of
pBotFlxBarSet and pBotFlxBarSetBstrComments 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 thecantilever If the first span does not have a cantilever then the origin of the bar sets is the
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 253/450
cantilever. If the first span does not have a cantilever then the origin of the bar sets is thecenter of the first span support.
GetBeamEnvelopes ([in] long lStory, [in] long lBeamLineID, [out] SENVELOPE** ppaReqMomMaj, [out] long* plSizeReqMom, [out]SDIAGRAM** ppaReqShrMaj, [out] long* plSizeReqShr, [out] SDIAGRAM** ppaReqTorsion, [out] long* plSizeReqTor, [out]SENVELOPE** ppaPrvMomMaj, [out] long* plSizePrvMom, [out] SDIAGRAM** ppaPrvShrMaj, [out] long* plSizePrvShr, [out]SDIAGRAM** ppaPrvTorsion, [out] long* plSizePrvTor, [out] SENVELOPE** ppaReqPosFlxReinArea, [out] long* plSizePosRein, [out]SENVELOPE** ppaReqNegFlxReinArea, [out] long* plSizeNegRein, [out] SENVELOPE** ppaReqShrReinArea, [out] long*plSizeShrRein);
Purpose Get the analysis and design capacity envelopes.Parameters lStory Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) levellBeamLineID Beam line index numberppaReqMomMaj Array of Required moment envelope pointsplSizeReqMom Size of haReqMomMajppaReqShrMaj Array of Required shear envelope pointsplSizeReqShr Size of haReqShrMajppaReqTorsion Array of Required torsion envelope pointsplSizeReqTor Size of haReqTorsionppaPrvMomMaj Array of Provided moment envelope pointsplSizePrvMom Size of haPrvMomMajppaPrvShrMaj Array of Provided shear envelope pointsplSizePrvShr Size of haPrvShrMaj
ppaPrvTorsion Array of Provided torsion envelope pointsplSizePrvTor Size of haPrvTorsionppaReqPosFlxReinArea Array of Provided flexural reinforcement area pointsplSizePosRein Size of haReqPosFlxReinAreappaReqNegFlxReinArea Array of Negative flexural reinforcement area pointsplSizeNegRein Size of haReqNegFlxReinAreappaReqShrReinArea Array of Shear reinforcement area pointsplSizeShrRein Size of haReqShrReinArea
GetBeamEnvelopes2 ([in] long lStory, [in] long lBeamLineID, [out] SENVELOPE** ppaReqMomMaj, [out] long* plSizeReqMom, [out]SENVELOPE** ppaReqShrMaj, [out] long* plSizeReqShr, [out] SENVELOPE** ppaReqTorsion, [out] long* plSizeReqTor, [out]SENVELOPE** ppaPrvMomMaj, [out] long* plSizePrvMom, [out] SENVELOPE** ppaPrvShrMaj, [out] long* plSizePrvShr, [out]SENVELOPE** ppaPrvTorsion, [out] long* plSizePrvTor, [out] SENVELOPE** ppaReqPosFlxReinArea, [out] long* plSizePosRein, [out]SENVELOPE** ppaReqNegFlxReinArea, [out] long* plSizeNegRein, [out] SENVELOPE** ppaReqShrReinArea, [out] long*plSizeShrRein);
Purpose Get the analysis and design capacity envelopes.Parameters lStory Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) levellBeamLineID Beam line index numberppaReqMomMaj Array of Required moment envelope pointsplSizeReqMom Size of haReqMomMajppaReqShrMaj Array of Required shear envelope points
lSi R Sh Si f h R Sh M j
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 254/450
plSizeReqShr Size of haReqShrMajppaReqTorsion Array of Required torsion envelope pointsplSizeReqTor Size of haReqTorsionppaPrvMomMaj Array of Provided moment envelope pointsplSizePrvMom Size of haPrvMomMajppaPrvShrMaj Array of Provided shear envelope pointsplSizePrvShr Size of haPrvShrMajppaPrvTorsion Array of Provided torsion envelope pointsplSizePrvTor Size of haPrvTorsionppaReqPosFlxReinArea Array of Provided flexural reinforcement area pointsplSizePosRein Size of haReqPosFlxReinArea
ppaReqNegFlxReinArea Array of Negative flexural reinforcement area pointsplSizeNegRein Size of haReqNegFlxReinAreappaReqShrReinArea Array of Shear reinforcement area pointsplSizeShrRein Size of haReqShrReinArea
GetBeamResults ([in] long lStory, [in] long lBeamLineID, [out] long *plNumSpans, [out] SBML_RES** haBeamLine, [out] SBM_RES**haBeamResults, [out] SBM_RES _ BSTR** haBeamResultsBstr);
Purpose Get concrete beam design results.Parameters lStory Story number starting with 0 for the first story
lBeamLineID Beam line ID number
plNumSpans Total number of spans in beam linehaBeamLine Beam line resultshaBeamResults Individual beam span resultshaBeamResultsBstr Individual beam span result strings
GetCriteriaBarDia ([out] double* pdMaxConcBeamLongDiam, [out] double* pdMinConcBeamLongDiam, [out] double*pdMaxConcBeamTransDiam, [out] double* pdMinConcBeamTransDiam);
Purpose Get concrete beam bar diagmeter criteria.Parameters pdMaxConcBeamLongDiam Maximum longitudinal
pdMinConcBeamLongDiam Minimum longitudinal
pdMaxConcBeamTransDiam Maximum transversepdMinConcBeamTransDiam Minimum transverse
GetCriteriaBarSelectionData ([out] long* plMinTopBars, [out] long* plMinBotBars, [out] long* plBarLayerSame, [out] long* plSizeChange, [out]double* pdSegSpaceInc, [out] double* pdShearBarSpaceInc, [out] long* plBarSelMethod, [out] long* plBarSizeBias, [out] long*plBiasLimit);
Purpose Get Criteria Beam Design Bar Selection Defaults.Parameters plMinTopBars Min Number of Top Longitudinal bars
plMinBotBars Min Number of Bottom Longitudinal barsplBarLayerSame Keep all bars in layer the same size: 0 = FALSE, 1 = TRUEplSizeChange Number of sizes adjacent bars may differ bypdSegSpaceInc Trans bar spacing segment increment
pdShearBarSpaceInc Trans bar spacing shear bar spacing increment (0 = based onminimum required steel 1 = based on maximum spacing controlling
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 255/450
minimum required steel, 1 = based on maximum spacing controllingover minimum rebar area, 2 = based on minimum spacingcontrolling minimum rebar area)
plBarSelMethod rebar selection methodplBarSizeBias Bar Selection Bias for Bar Size (0 = small, 1 = medium, 2 = large)plBiasLimit Amount of bias (0 = low, 1 = medium, 2 = high)
GetCriteriaDetailingGravBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long*plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans.
pdTransBarStartEndDistance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpanDistance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative tosupport face at ends of beam line
pdBotBarExtentSpan Cut-off location for bottom reinforcement relative tosupport face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice typeplEndCond Bottom longitudinal reinforcement end conditionplStirrupType Type of Stirrup
GetCriteriaDetailingGravJoistData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long*plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Joist Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEnd
Distance from support to 1st shear reinforcement at
beam endDistance from support to shear reinforcement at interior
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 256/450
pdTransBarStartSpanDistance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative tosupport face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to supportface at interior supports
plBotMinContinuous Min. # of bottom bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice typeplEndCond Bottom longitudinal reinforcement end conditionplStirrupType Type of Stirrup
GetCriteriaDetailingLatBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plNumStirrupLegs, [out] long* plSpliceType, [out] long*plEndCond, [out] long* plStirrupType);
Purpose Get Lateral Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of
beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior
support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement along
interior spanspdTransBarStartEnd Distance from support to 1st shear reinforcement at beam endpdTransBarStartSpan Distance from support to shear reinforcement at interior
supportspdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face
at ends of beam linepdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at
interior supportsplBotMinContinuous Min. # of bottom bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joists
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 257/450
GetCriteriaReinLRRData ([out] long* plLRRMax, [out] double* pdLRRMax, [out] long* plLRRMin, [out] double* pdLRRMin);
Purpose Get Criteria Reinforcement Longitudinal Reinf. Ratio Defaults.Parameters plLRRMax Long. Rein Ratio Max option (0 = Code, 1 = user defined)
pdLRRMax Long. Rein Ratio Max ValueplLRRMin Long. Rein Ratio Min option (0 = Code, 1 = user defined)pdLRRMin Long. Rein Ratio Min Value
SetBeamBarSets ([in] long lStory, [in] long lBeamLineID, [in] SBM_BAR_SET** ppaShearBarSet, [in] SBM_BAR_SET _BSTR**ppaShearBarSetBstr, [in] long* plSizeShear, [in] SBM_BAR_SET** ppaTopFlxBarSet, [in] SBM_BAR_SET _BSTR** ppaTopFlxBarSetBstr, [in] long* plSizeTopFlx, [in] SBM_BAR_SET** ppaBotFlxBarSet, [in] SBM_BAR_SET _BSTR**ppaBotFlxBarSetBstr, [in] long* plSizeBotFlx);
P S t ll th i f t l t d i ll th i th b li
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 258/450
Purpose Set all the reinforcement located in all the spans in the beam line.Parameters lStory Story where beam line is located
lBeamLineID Beam line ID numberppaShearBarSet Shear reinforcement bar set datappaShearBarSetBstr Shear reinforcement bar set stringsplSizeShear Number of shear bar sets. Defines size of pShearBarSet and
pShearBarSetBstrppaTopFlxBarSet Top longitudinal reinforcement bar set datappaTopFlxBarSetBstr Top longitudinal reinforcement bar set stringsplSizeTopFlx Number of Top longitudinal bar sets. Defines size of
pTopFlxBarSet and pTopFlxBarSetBstrppaBotFlxBarSet Bottom longitudinal reinforcement bar set datappaBotFlxBarSetBstr Bottom longitudinal reinforcement bar set stringsplSizeBotFlx Number of Botttom longitudinal bar sets. Defines size of
pBotFlxBarSet and pBotFlxBarSetBstrComments 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 thecantilever. If the first span does not have a cantilever then the origin of the bar sets is thecenter of the first span support.
SetBeamEnvelopes ();Purpose Internal use only.
SetBeamResults ([in] long lStory, [in] long lBeamLineID, [in] long *plNumSpans, [in] SBML_RES** haBeamLine, [in] SBM_RES**haBeamResults, [in] SBM_RES _BSTR** haBeamResultsBstr);
Purpose Set concrete beam design results.Parameters lStory Story number starting with 0 for the first story
lBeamLineID Beam line ID numberplNumSpans Total number of spans in beam linehaBeamLine Beam line resultshaBeamResults Individual beam span resultshaBeamResultsBstr Individual beam span result strings
SetCriteriaBarSelectionData ([in] long* plMinTopBars, [in] long* plMinBotBars, [in] long* plBarLayerSame, [in] long* plSizeChange, [in] double*
pdSegSpaceInc, [in] double* pdShearBarSpaceInc, [in] long* plBarSelMethod, [in] long* plBarSizeBias, [in] long* plBiasLimit);Purpose Set Criteria Beam Design Bar Selection Defaults.Parameters plMinTopBars Min Number of Top Longitudinal bars
plMinBotBars Min Number of Bottom Longitudinal barsplBarLayerSame Keep all bars in layer the same size: 0 = FALSE, 1 = TRUEplSizeChange Number of sizes adjacent bars may differ bypdSegSpaceInc Trans bar spacing segment incrementpdShearBarSpaceInc Trans bar spacing shear bar spacing increment (0 = based on
minimum required steel, 1 = based on maximum spacing controllingover minimum rebar area, 2 = based on minimum spacing
controlling minimum rebar area)plBarSelMethod rebar selection method
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 259/450
pplBarSizeBias Bar Selection Bias for Bar Size (0 = small, 1 = medium, 2 = large)plBiasLimit Amount of bias (0 = low, 1 = medium, 2 = high)
SetCriteriaDetailingGravBeamData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,[in] long* plStirrupType);
Purpose Set Gravity Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans.
pdTransBarStartEndDistance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpanDistance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative tosupport face at ends of beam line
pdBotBarExtentSpan Cut-off location for bottom reinforcement relative tosupport face at interior supports
plBotMinContinuous Min. # of bottom bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice typeplEndCond Bottom longitudinal reinforcement end conditionplStirrupType Type of Stirrup
SetCriteriaDetailingGravJoistData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]
double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,[in] long* plStirrupType);
Purpose Set Gravity Joist Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spans
pdTransBarStartEndDistance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpan
Distance from support to shear reinforcement at interior
supportspdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 260/450
support face at ends of beam linepdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supportsplBotMinContinuous Min. # of bottom bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice typeplEndCond Bottom longitudinal reinforcement end conditionplStirrupType Type of Stirrup
SetCriteriaDetailingLatBeamData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*
pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plNumStirrupLegs, [in] long* plSpliceType, [in] long* plEndCond,[in] long* plStirrupType);
Purpose Set Lateral Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at ends of
beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at interior
support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement along
interior spanspdTransBarStartEnd Distance from support to 1st shear reinforcement at beam endpdTransBarStartSpan Distance from support to shear reinforcement at interior
supportspdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to support face
at ends of beam linepdBotBarExtentSpan Cut-off location for tom reinforcement relative to support face at
interior supportsplBotMinContinuous Min. # of bottom bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice type (0 = ACI Class A, 1 =
ACI Class B)
plEndCond Bottom longitudinal reinforcement end condition (0 = Straight, 1= Splice, 2 = Hook 90, 3 = Hook 135, 4 = Closed, 5 = U, 6 =Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)
SetCriteriaReinCBCData ([in] long* plTop, [in] double* pdTop, [in] long* plSide, [in] double* pdSide, [in] long* plBot, [in] double* pdBot);Purpose Set Criteria Reinforcement Clear Bar Cover Defaults.
Parameters plTop Clear Bar Cover Top option (0 = Code, 1 = user defined)
pdTop Clear Bar Cover Top Value
plSide Clear Bar Cover Side option (0 = Code, 1 = user defined)
pdSide Clear Bar Cover Side Value
plBot Clear Bar Cover Bottom option (0 = Code, 1 = user defined)
pdBot Clear Bar Cover Bottom Value
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 261/450
SetCriteriaReinCBSFlexure ([in] long* plFlexMax, [in] double* pdFlexMax, [in] long* plFlexMin, [in] double* pdFlexMin);Purpose Set Criteria Reinforcement Clear Bar Spacing Flexure Defaults.Parameters plFlexMax Clear Bar Spacing Flexure Max option (0 = Code, 1 = user defined)
pdFlexMax Clear Bar Spacing Flexure Max ValueplFlexMin Clear Bar Spacing Flexure Min option (0 = Code, 1 = user defined)pdFlexMin Clear Bar Spacing Flexure Min Value
SetCriteriaReinCBSShear ( [in] long* plShearMax, [in] double* pdShearMax, [in] long* plShearMin, [in] double* pdShearMin);Purpose Set Criteria Reinforcement Clear Bar Spacing Shear Defaults.Parameters plShearMax Clear Bar Spacing Shear Max option (0 = Code, 1 = user defined)
pdShearMax Clear Bar Spacing Shear Max ValueplShearMin Clear Bar Spacing Shear Min option (0 = Code, 1 = user defined)pdShearMin Clear Bar Spacing Shear Min Value
SetCriteriaReinCCBData ( [in] long* plAllow2Layers, [in] double* pdGravTopLayer1, [in] double* pdGravTopLayer2, [in] double*pdGravBotLayer1, [in] double* pdGravBotLayer2, [in] double* pdLatTopLayer1, [in] double* pdLatTopLayer2, [in] double*pdLatBotLayer1, [in] double* pdLatBotLayer2);
Purpose Criteria definitions for location from concrete tension surface to effective center of longitudinaltension reinforcement for 1 and 2 layers of bars..
Parameters plAllow2Layers 1 = Allow 2 layers, 0 = don’t allow 2 layers pdGravTopLayer1 Cover to Center of Bars Grav Beams Top 1 Layer
pdGravTopLayer2 Cover to Center of Bars Grav Beams Top 2 LayerpdGravBotLayer1 Cover to Center of Bars Grav Beams Bottom 1 LayerpdGravBotLayer2 Cover to Center of Bars Grav Beams Bottom 2 LayerpdLatTopLayer1 Cover to Center of Bars Lat Beams Top 1 LayerpdLatTopLayer2 Cover to Center of Bars Lat Beams Top 2 LayerpdLatBotLayer1 Cover to Center of Bars Lat Beams Bottom 1 LayerpdLatBotLayer2 Cover to Center of Bars Lat Beams Bottom 2 Layer
SetCriteriaReinLRRData ([in] long* plLRRMax, [in] double* pdLRRMax, [in] long* plLRRMin, [in] double* pdLRRMin);
Purpose Set Criteria Reinforcement Longitudinal Reinf. Ratio Defaults.Parameters plLRRMax Long. Rein Ratio Max option (0 = Code, 1 = user defined)pdLRRMax Long. Rein Ratio Max ValueplLRRMin Long. Rein Ratio Min option (0 = Code, 1 = user defined)pdLRRMin Long. Rein Ratio Min Value
IConcBeamState2
Philosophy: This interface is for maintaining the state of the concrete beam module.
GetBSBarSelData ( [out] long* plSideBar, [out] long* plMinLongSize, [out] long* plMaxLongSize, [out] long* plTransSize);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 262/450
( [ ] g p , [ ] g p g , [ ] g p g , [ ] g p );Purpose BS 8110 Beam Design Defaults.Parameters plSideBar Index to the side bar minimum size
plMinLongSize Minimum longitudinal bar sizeplMaxLongSize Index to the maximum longitudinal bar sizeplTransSize Index to the shear bar size
GetBSDesignCheckData ( [out] long* plDesignShear, [out] BOOL* pbUseEnhanced);Purpose BS 8110 Beam Design Defaults.Parameters plDesignShear 0 = center line of support, 1 = column face
pbUseEnhanced True if Use Enhanced Shear Effects option is selected
GetBSShearDesignCriteria ( [out] double* pdShearSpacing, [out] long* plNumLegs, [out] long* plLinkType);Purpose BS 8110 Beam Design Defaults.Parameters pdShearSpacing Minimum spacing
plNumLegs Index to the number of shear legsplLinkType 0 = Open, 1 = Closed
GetCamberCriteria ( [out] long *plDontCamber, [out] double *pdMinSpanLength, [out] double *pdDLforCamber, [out] double *pdCamberInc, [out]double *pdMinCamber, [out] double * pdMaxCamber);
Purpose Get Concrete camber criteria.Parameters plDontCamber 0 = camber (don't not camber), 1 = don't camber
pdMinSpanLength Minimum span length to camberpdDLforCamber % of Dead Load for camberpdCamberInc Camber incrementpdMinCamber Minimum camber valuepdMaxCamber Maximum camber value
GetCheckDeepBeam ( [out] BOOL* pbCheckDeepBeam);Purpose To get the mdf variable for whether the user wants to check deep beams.Parameters pbCheckDeepBeam TRUE = Check Deep Beams
GetCheckTorsion ( [out] BOOL* pbCheckTorsion);Purpose To get the mdf variable for whether the user wants to check torsional capacity for beams.Parameters pbCheckTorsion TRUE = Check Torsional Capacity
GetChinaShearDesignCriteria ([out] double* pdShearSpacing, [out] double* pdShearSpacingCompact, [out] long* plNumLegs, [out] long*plLinkType, [out, retval] long* plRetVal);
Purpose Get the shear design criteria for the Chinese code.Parameters pdShearSpacing Shear bar spacing in the non-compact zone
pdShearSpacingCompact Shear bar spacing in the compact zoneplNumLegs Number of linksplLinkType Link type. 0 for closed, 1 for open.
plRetVal Error code. If value is non zero then check GetLastError
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 263/450
GetConcBeamReinMinBarLayerGap ( [out] double* pdUpper, [out] double* pdLower);Purpose BS 8110 Beam Design Defaults.Parameters pdUpper Gap between upper main bar layers
pdLower Gap between lower main bar layers
GetCriteriaDetailingGravBeamData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out]long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement atends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement atinterior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcementalong interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpan Distance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam linepdBotBarExtentSpan Cut-off location for tom reinforcement relative to supportface at interior supports
plBotMinContinuous Min. # of bottom bars continuous over supportplTopMinContinuous Min. # of top bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =
Closed, 5 = U, 6 = Hoop, 7 = Mechanical)plStirrupType Type of Stirrup (same as for plEndCond)
GetCriteriaDetailingGravJoistData ( [out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out]long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Get Gravity Joist Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcementalong interior spans
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 264/450
pdTransBarStartEnd Distance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpan Distance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative tosupport face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to supportface at interior supports
plBotMinContinuous Min. # of bottom bars continuous over supportplTopMinContinuous Min. # of top bars continuous over support
plNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)
GetCriteriaDetailingLatBeamData ([out] double* pdTopBarExtentBeamEnd, [out] double* pdTopBarExtent1stSpanEnd, [out] double*pdTopBarExtentSpan, [out] double* pdTransBarStartEnd, [out] double* pdTransBarStartSpan, [out] double* pdBotBarExtent1stSpanEnd,[out] double* pdBotBarExtentSpan, [out] long* plBotMinContinuous, [out] long* plTopMinContinuous, [out] long* plNumStirrupLegs, [out]long* plSpliceType, [out] long* plEndCond, [out] long* plStirrupType);
Purpose Get Lateral Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spanspdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam end
pdTransBarStartSpan Distance from support to shear reinforcement at interiorsupportspdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam linepdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supportsplBotMinContinuous Min. # of bottom bars continuous over supportplTopMinContinuous Min. # of top bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType 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)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 265/450
plStirrupType Type of Stirrup (same as for plEndCond)
GetDeflectionAlternateCriteria ( [out] double *pdDLRatio, [out] double *pdDLAbs, [out] double *pdLLRatio, [out] double *pdLLAbs, [out] double*pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double *pdNetAbs);
Purpose Get the alternate span-to-deflection ratios/ abs values.Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load deltapdLLRatio Live Load l/dpdLLAbs Live Load deltapdLTRatio Long Term + LL l/d
pdLTAbs Long Term + LL deltapdNetRatio Net Total l/dpdNetAbs Net Total delta
GetDeflectionCriteria ([in] LONG lIndex, [out] LONG *plUniqueID, [out] BSTR *pbstrName, [out] double *pdDLRatio, [out] double pdDLAbs, [out]double *pdLLRatio, [out] double *pdLLAbs, [out] double *pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double*pdNetAbs);
Purpose Get the number of deflection criteria defined.Parameters lIndex Index of the criteria
plUnique ID Unique ID of the criteriapbstrName Label of the criteriapdDLRatio Dead Load deflection as ratio (ie 360 for L/360)
pdLAbs Dead Load deflection as absolute value (ie 1 for 1 inch)pdLLRatio LIve Load deflection as ratio (ie 360 for L/360)pdLLabs Live Load deflection as absolute value (ie 1 for 1 inch)pdLTRatio Long Term deflection as ratio (ie 360 for L/360)pdLTAbs Long Term deflection as absolute value (ie 1 for 1 inch)pdNetRatio Net deflection as ratio (ie 360 for L/360)pdNetAbs Net deflection as absolute value (ie 1 for 1 inch)
GetDeflectionCriteriaIeff ([out] long *plIeff);
Purpose User option as to whether the Ieff used for deflection is to be calculated per ACI, orwhether the user specified I (Ig x cracked factor) is to be used.Parameters plIeff Ieff value to use - 0=per ACI, 1=from Analysis
GetDeflectionCriteriaLongTerm ( [out] double *pdInitialTimeFac, [out] double *pdFinalTimeFac, [out] double *pdLLSustained);Purpose Get Long Term Deflection criteria.Parameters pdInitialTimeFac Initial time dependent factor
pdFinalTimeFac Final time dependent factorpdLLSustained % of LL sustained
GetDeflectionCriteriaMinCheckRatio ( [out] long *plDontCheck, [out] double *pdSpanDepthRatio);Purpose Get whether or not to skip deflection check for minimum span/depth ratio.
Parameters plDontCheck Don't check defl for the following ratiopdSpanDepthRatio minimum deflection check span/depth ratio
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 266/450
GetDeflectionDefaultCriteria ( [out] double *pdDLRatio, [out] double *pdDLAbs, [out] double *pdLLRatio, [out] double *pdLLAbs, [out] double*pdLTRatio, [out] double *pdLTAbs, [out] double *pdNetRatio, [out] double *pdNetAbs);
Purpose Get the default span-to-deflection ratios/ abs values.Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load deltapdLLRatio Live Load l/dpdLLAbs Live Load deltapdLTRatio Long Term + LL l/dpdLTAbs Long Term + LL delta
pdNetRatio Net Total l/dpdNetAbs Net Total delta
GetDesignJoistsAsBeams ([out] BOOL *pbDesignJstAsBeam, [out,retval] long *plRetVal);Purpose Indicates if members assigned as joist are actually designed as beams.Parameters pbDesignJstAsBeam TRUE = design joists as beams
plRetVal Error code. If value is non zero then check GetLastError
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLatBmGravForceSource ( long* plLatMemGravForceSource, [out,retval] long* plRetVal );Purpose Get the source of gravity forces on lateral conc beams.Parameters plLatMemGravForceSource 0=lat beam grav forces from ram conc, 1= from RFrame
plRetVal Error code. If value is non zero then check GetLastError
GetMemberScheduleMark ([in] long lBeamID, [out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal);Purpose Get the member concrete reinforcement schedule marks.Parameters lBeamID Beam Unique ID
pBeamScheduleMark Concrete beam schedule mark
plRetVal Error code. If value is non zero then check GetLastError
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 267/450
GetNumDeflectionCriteria ([out, retVal] long* plCount);Purpose Get the number of deflection criteria defined.Parameters plCount Number of criteria
Reset ();Purpose Internal use only.
SetBSBarSelData ( [in] long* plSideBar, [in] long* plMinLongSize, [in] long* plMaxLongSize, [in] long* plTransSize);Purpose BS 8110 Beam Design Defaults.Parameters plSideBar Index to the side bar minimum size
plMinLongSize Minimum longitudinal bar sizeplMaxLongSize Index to the maximum longitudinal bar sizeplTransSize Index to the shear bar size
SetBSDesignCheckData ( [in] long* plDesignShear, [in] BOOL* pbUseEnhanced);Purpose BS 8110 Beam Design Defaults.Parameters plDesignShear 0 = center line of support, 1 = column face
pbUseEnhanced True if Use Enhanced Shear Effects option is selected
SetBSShearDesignCriteria ( [in] double* pdShearSpacing, [in] long* plNumLegs, [in] long* plLinkType);Purpose BS 8110 Beam Design Defaults.
Parameters pdShearSpacing Minimum spacingplNumLegs Index to the number of shear legsplLinkType 0 = Open, 1 = Closed
SetCamberCriteria ( [in] long *plDontCamber, [in] double *pdMinSpanLength, [in] double *pdDLforCamber, [in] double *pdCamberInc, [in] double*pdMinCamber, [in] double * pdMaxCamber);
Purpose Get Concrete camber criteria.Parameters plDontCamber 0 = camber (don't not camber), 1 = don't camber
pdMinSpanLength Minimum span length to camber
pdDLforCamber % of Dead Load for camberpdCamberInc Camber incrementpdMinCamber Minimum camber valuepdMaxCamber Maximum camber value
SetCheckDeepBeam ( [in] BOOL* pbCheckDeepBeam);Purpose To get the mdf variable for whether the user wants to check deep beams.Parameters pbCheckDeepBeam TRUE = Check Deep Beams
SetCheckTorsion ( [in] BOOL* pbCheckTorsion);Purpose To get the mdf variable for whether the user wants to check torsional capacity for beams.Parameters pbCheckTorsion TRUE = Check Torsional Capacity
SetChinaShearDesignCriteria ([in] double dShearSpacing, [in] double dShearSpacingCompact, [in] long lNumLinks, [in] long lLinkType, [in,
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 268/450
retval] long* plRetVal);Purpose Set the shear design criteria for the Chinese code.Parameters dShearSpacing Shear bar spacing in the non-compact zone
dShearSpacingCompact Shear bar spacing in the compact zonelNumLinks Number of linkslLinkType Link type. 0 for closed, 1 for open.plRetVal Error code. If value is non zero then check GetLastError
SetConcBeamReinMinBarLayerGap ( [in] double* pdUpper, [in] double* pdLower);Purpose BS 8110 Beam Design Defaults.
Parameters pdUpper Gap between upper main bar layerspdLower Gap between lower main bar layers
SetCriteriaDetailingGravBeamData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plTopMinContinuous, [in] long* plNumStirrupLegs, [in] long*plSpliceType, [in] long* plEndCond, [in] long* plStirrupType);
Purpose Set Gravity Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcementalong interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpan Distance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative tosupport face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to supportface at interior supportsplBotMinContinuous Min. # of bottom bars continuous over supportplTopMinContinuous Min. # of top bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)
SetCriteriaDetailingGravJoistData ( [in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]double* pdBotBarExtentSpan [in] long* plBotMinContinuous [in] long* plTopMinContinuous [in] long* plNumStirrupLegs [in] long*
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 269/450
double pdBotBarExtentSpan, [in] long plBotMinContinuous, [in] long plTopMinContinuous, [in] long plNumStirrupLegs, [in] longplSpliceType, [in] long* plEndCond, [in] long* plStirrupType);
Purpose Set Gravity Joist Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement at
ends of beam linepdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement at
interior support of end spanpdTopBarExtentSpan Fractional location along span for top reinforcement
along interior spanspdTransBarStartEnd Distance from support to 1st shear reinforcement at
beam endpdTransBarStartSpan Distance from support to shear reinforcement at interior
supportspdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative to
support face at ends of beam linepdBotBarExtentSpan Cut-off location for tom reinforcement relative to support
face at interior supportsplBotMinContinuous Min. # of bottom bars continuous over supportplTopMinContinuous Min. # of top bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)
plEndCond Bottom longitudinal reinforcement end condition (0 =Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)
SetCriteriaDetailingLatBeamData ([in] double* pdTopBarExtentBeamEnd, [in] double* pdTopBarExtent1stSpanEnd, [in] double*pdTopBarExtentSpan, [in] double* pdTransBarStartEnd, [in] double* pdTransBarStartSpan, [in] double* pdBotBarExtent1stSpanEnd, [in]double* pdBotBarExtentSpan, [in] long* plBotMinContinuous, [in] long* plTopMinContinuous, [in] long* plNumStirrupLegs, [in] long*plSpliceType, [in] long* plEndCond, [in] long* plStirrupType);
Purpose Set Lateral Beam Detailing Defaults.Parameters pdTopBarExtentBeamEnd Fractional location along span for top reinforcement atends of beam line
pdTopBarExtent1stSpanEnd Fractional location along span for top reinforcement atinterior support of end span
pdTopBarExtentSpan Fractional location along span for top reinforcementalong interior spans
pdTransBarStartEnd Distance from support to 1st shear reinforcement atbeam end
pdTransBarStartSpan Distance from support to shear reinforcement at interiorsupports
pdBotBarExtent1stSpanEnd Cut-off location for bottom reinforcement relative tosupport face at ends of beam line
pdBotBarExtentSpan Cut-off location for tom reinforcement relative to supportface at interior supports
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 270/450
ppplBotMinContinuous Min. # of bottom bars continuous over supportplTopMinContinuous Min. # of top bars continuous over supportplNumStirrupLegs Number of stirrup legs for gravity joistsplSpliceType Longitudinal reinforcement Splice type (0 = ACI ClassA,
1 = ACI ClassB)plEndCond Bottom longitudinal reinforcement end condition (0 =
Straight, 1 = Splice, 2 = Hook 90, 3 = Hook 135, 4 =Closed, 5 = U, 6 = Hoop, 7 = Mechanical)
plStirrupType Type of Stirrup (same as for plEndCond)
SetDeflectionAlternateCriteria ( [in] double *pdDLRatio, [in] double *pdDLAbs, [in] double *pdLLRatio, [in] double *pdLLAbs, [in] double*pdLTRatio, [in] double *pdLTAbs, [in] double *pdNetRatio, [in] double *pdNetAbs);
Purpose Set the alternate span-to-deflection ratios/ abs values.Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load deltapdLLRatio Live Load l/dpdLLAbs Live Load deltapdLTRatio Long Term + LL l/dpdLTAbs Long Term + LL deltapdNetRatio Net Total l/dpdNetAbs Net Total delta
SetDeflectionCriteria ([in] LONG lIndex, [in] LONG lUniqueID, [in] BSTR bstrName, [in] double dDLRatio, [in] double dDLAbs, [in] doubledLLRatio, [in] double dLLAbs, [in] double dLTRatio, [in] double dLTAbs, [in] double dNetRatio, [in] double dNetAbs);
Purpose Set the number of deflection criteria defined.Parameters lIndex Index of the criteria
lUnique ID Unique ID of the criteriapbstrName Label of the criteriadDLRatio Dead Load deflection as ratio (ie 360 for L/360)dLAbs Dead Load deflection as absolute value (ie 1 for 1 inch)
dLLRatio LIve Load deflection as ratio (ie 360 for L/360)dLLabs Live Load deflection as absolute value (ie 1 for 1 inch)dLTRatio Long Term deflection as ratio (ie 360 for L/360)dLTAbs Long Term deflection as absolute value (ie 1 for 1 inch)dNetRatio Net deflection as ratio (ie 360 for L/360)dNetAbs Net deflection as absolute value (ie 1 for 1 inch)
SetDeflectionCriteriaIeff ([in] long *plIeff);Purpose User option as to whether the Ieff used for deflection is to be calculated per ACI, or
whether the user specified I (Ig x cracked factor) is to be used.Parameters plIeff Ieff value to use - 0=per ACI, 1=from Analysis
SetDeflectionCriteriaLongTerm ( [in] double *pdInitialTimeFac, [in] double *pdFinalTimeFac, [in] double *pdLLSustained);Purpose Get Long Term Deflection criteria.Parameters pdInitialTimeFac Initial time dependent factor
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 271/450
Parameters pdInitialTimeFac Initial time dependent factorpdFinalTimeFac Final time dependent factorpdLLSustained % of LL sustained
SetDeflectionCriteriaMinCheckRatio ( [in] long *plDontCheck, [in] double *pdSpanDepthRatio);Purpose Get whether or not to skip deflection check for minimum span/depth ratio.Parameters plDontCheck Don't check defl for the following ratio
pdSpanDepthRatio minimum deflection check span/depth ratio
SetDeflectionDefaultCriteria ( [in] double *pdDLRatio, [in] double *pdDLAbs, [in] double *pdLLRatio, [in] double *pdLLAbs, [in] double *pdLTRatio,
[in] double *pdLTAbs, [in] double *pdNetRatio, [in] double *pdNetAbs);Purpose Get the default span-to-deflection ratios/ abs values.Parameters pdDLRatio Dead Load l/d
pdDLAbs Dead Load deltapdLLRatio Live Load l/dpdLLAbs Live Load deltapdLTRatio Long Term + LL l/dpdLTAbs Long Term + LL deltapdNetRatio Net Total l/dpdNetAbs Net Total delta
SetDesignJoistsAsBeams ( [out] BOOL *pbDesignJstAsBeam, [out,retval] long *plRetVal );Purpose Indicates if members assigned as joist are actually designed as beams.Parameters pbDesignJstAsBeam TRUE = design joists as beams
plRetVal Error code. If value is non zero then check GetLastError
SetLatBmGravForceSource ( [out] long* plLatMemGravForceSource, [out,retval] long* plRetVal );Purpose Get the source of gravity forces on lateral conc beams.Parameters plLatMemGravForceSource 0=lat beam grav forces from ram conc, 1= from RFrame
plRetVal Error code. If value is non zero then check GetLastError
SetMemberScheduleMark ([out] long lBeamID, [in, out] SConcScheduleMark* pBeamScheduleMark, [out,retval] long* plRetVal );Purpose Get the member concrete reinforcement schedule marks.Parameters lBeamID Beam Unique ID
pBeamScheduleMark Concrete beam schedule markplRetVal Error code. If value is non zero then check GetLastError
SetNumDeflectionCriteria ( [out] long lCount);Purpose Set the number of deflection criteria defined.Parameters lCount Number of criteria
IConcCntlrCommon1
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 272/450
Philosophy: This interface is used to access data that is common to several controllers.
ClearSPDataForBeam ();Purpose Internal use only.
GetCriteriaCode ( [out, RetVal] EDA_CONC_CODE );Purpose Get the concrete code.
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetFrameTypeCriteria ([out] long* plFrameRadioSel, [out] long* pnNum, [out] BOOL** ppabIncludeCheck);Purpose Get the type of concrete frame type the user has selected for this model.Parameters plFrameRadioSel 0 = Ordinary Moment Frame, 1 = Intermediate, 2 = Special
pnNum 0 (Not used now)ppabIncludeCheck NULL (Not used now)
GetFrameTypeUsedInDesign ([out] long *plFrameType);Purpose Get the frame type used for design. This might not be the currently selected frame type.
Parameters plFrameType 0 = ordinary, 1 = intermediate, 2 = special
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetSDCForConcrete ( [out] long* plSDC );Purpose Get the seismic design category.Parameters plSDC Index to seismic design category
GetSMFLoadComboFactors ([out] long* plSMFRadioSel, [out] double* pdDead, [out] double* pdLive, [out] double* pdSnow);
Purpose To get the load combo factors used for the selected frame type (IMF or SMF).Parameters plSMFRadioSel radio button selection in the dialog
0 = ACI 1 = UBC 2 = user defined values
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 273/450
0 ACI, 1 UBC, 2 user defined valuespdDead Dead load factor entered by the userpdLive Live load factor entered by the userpdSnow Snow load factor entered by the user
GetSpecialProvDsnEndShear ([in] long lBeamID, [out] double* pdVuORVeIEnd, [out] double* pdVuORVeJEnd, [out] double* pdVuAnalysisIEnd,[out] double* pdVuAnalysisJEnd, [out] long *plResult);
Purpose Get the required special provision end shears capacities of the mid span of a given beam.Parameters lBeamID Beam unique ID
pdVuORVeIEnd Required minimum shear capacity at I end. Vu for IMF and Ve
for SMF
pdVuORVeJEndRequired minimum shear capacity at J end. Vu for IMF and Vefor SMF
pdVuAnalysisIEnd Analysis required shear capacity at I endpdVuAnalysisJEnd Analysis required shear capacity at J endplResult Returned error code
GetSpecialProvEndMomentCap ([in] long lBeamID, [out] double* pdMnIEndPos, [out] double* pdMnIEndNeg, [out] double* pdMnJEndPos, [out]double* pdMnJEndNeg, [out] double* pdMprIEndPos, [out] double* pdMprIEndNeg, [out] double* pdMprJEndPos, [out] double*pdMprJEndNeg, [out] long *plResult);
Purpose Get the end moment capacities of the mid span of a given beam.Parameters lBeamID Beam unique ID
pdMnIEndPos Positive nominal moment at I end of beampdMnIEndNeg Negative nominal moment at I end of beampdMnJEndPos Positive nominal moment at J end of beampdMnJEndNeg Negative nominal moment at J end of beampdMprIEndPos Positive probable moment at I end of beampdMprIEndNeg Negative probable moment at I end of beampdMprJEndPos Positive probable moment at J end of beampdMprJEndNeg Negative probable moment at J end of beamplResult Returned error code
GetSpecialProvEndShears ([in] long lBeamID, [out] double* pdIEndSPShear, [out] double* pdJEndSPShear, [out] long *plResult);Purpose Get the calculated special provision minimum required end shears for beam. If not
found, set -1.0 for all values and return error code.Parameters lBeamID Beam Unique ID
pdIEndSPShear I or Start Special Provisions Shear min. required shearpdJEndSPShear J or End Special Provisions Shear min. required shearplResult Error code 0 = no error
GetSpecialProvReinAreaAtSupportFace ([in] long lBeamID, [out] double *pdStartTopReinArea, [out] double *pdStartBotReinArea, [out] double*pdEndTopReinArea, [out] double *pdEndBotReinArea, [out] long *plResult);
Purpose Get provided reinforcement area at ends of span. Used for Special provisions design.
Parameters lBeamID Beam unique IDpdStartTopReinArea Top reinforcement area at start of beampdStartBotReinArea Bottom reinforcement area at start of beam
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 274/450
pdStartBotReinArea Bottom reinforcement area at start of beampdEndTopReinArea Top reinforcement area at end of beampdEndBotReinArea Bottom reinforcement area at end of beamplResult Returned error code
Reset ();Purpose Internal use only.
SaveSPData ();Purpose Internal use only.
SetCriteriaCode ( [out, RetVal] EDA_CONC_CODE );Purpose Set the concrete code.
SetFrameTypeCriteria ([in] long* plFrameRadioSel, [in] long* pnNum, [in] BOOL** ppabIncludeCheck);Purpose Set the type of concrete frame type the user has selected for this model.Parameters plFrameRadioSel 0 = Ordinary Moment Frame, 1 = Intermediate, 2 = Special
pnNum 0 (Not used now)ppabIncludeCheck NULL (Not used now)
SetFrameTypeUsedInDesign ([in] long *plFrameType);Purpose Set the frame type used for design. This might not be the currently selected frame type.Parameters plFrameType 0 = ordinary, 1 = intermediate, 2 = special
SetSDCForConcrete ( [in] long* plSDC );Purpose Set the seismic design category.Parameters plSDC Index to seismic design category
SetSMFLoadComboFactors ([in] long* plSMFRadioSel, [in] double* pdDead, [in] double* pdLive, [in] double* pdSnow);Purpose Set the load combo factors used for the selected frame type (IMF or SMF).Parameters plSMFRadioSel radio button selection in the dialog
0 = ACI, 1 = UBC, 2 = user defined valuespdDead Dead load factor entered by the userpdLive Live load factor entered by the userpdSnow Snow load factor entered by the user
SetSpecialProvDsnEndShear ([in] long lBeamID, [in] double* pdVuORVeIEnd, [in] double* pdVuORVeJEnd, [in] double* pdVuAnalysisIEnd, [in]double* pdVuAnalysisJEnd );
Purpose Set the required special provision end shears capacities of the mid span of a given beam.Parameters lBeamID Beam unique ID
pdVuORVeIEnd Required minimum shear capacity at I end. Vu for IMF and Vefor SMFRequired minimum shear capacity at J end. Vu for IMF and Ve
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 275/450
pdVuORVeJEndRequired minimum shear capacity at J end. Vu for IMF and Vefor SMF
pdVuAnalysisIEnd Analysis required shear capacity at I endpdVuAnalysisJEnd Analysis required shear capacity at J endplResult Returned error code
SetSpecialProvEndMomentCap ([in] long lBeamID, [in] double* pdMnIEndPos, [in] double* pdMnIEndNeg, [in] double* pdMnJEndPos, [in]double* pdMnJEndNeg, [in] double* pdMprIEndPos, [in] double* pdMprIEndNeg, [in] double* pdMprJEndPos, [in] double* pdMprJEndNeg);
Purpose Set the end moment capacities of the mid span of a given beam.
Parameters lBeamID Beam unique IDpdMnIEndPos Positive nominal moment at I end of beampdMnIEndNeg Negative nominal moment at I end of beampdMnJEndPos Positive nominal moment at J end of beampdMnJEndNeg Negative nominal moment at J end of beampdMprIEndPos Positive probable moment at I end of beampdMprIEndNeg Negative probable moment at I end of beampdMprJEndPos Positive probable moment at J end of beampdMprJEndNeg Negative probable moment at J end of beamplResult Returned error code
SetSpecialProvEndShears ([in] long lBeamID, [in] double* pdIEndSPShear, [in] double* pdJEndSPShear );
Purpose Set the calculated special provision minimum required end shears for beam. If notfound, set -1.0 for all values and return error code.
Parameters lBeamID Beam Unique IDpdIEndSPShear I or Start Special Provisions Shear min. required shearpdJEndSPShear J or End Special Provisions Shear min. required shearplResult Error code 0 = no error
SetSpecialProvReinAreaAtSupportFace ([in] long lBeamID, [in] double *pdStartTopReinArea, [in] double *pdStartBotReinArea, [in] double*pdEndTopReinArea, [in] double *pdEndBotReinArea, [out] long *plResult);
Purpose Set provided reinforcement area at ends of span. Used for Special provisions design.Parameters lBeamID Beam unique ID
pdStartTopReinArea Top reinforcement area at start of beampdStartBotReinArea Bottom reinforcement area at start of beampdEndTopReinArea Top reinforcement area at end of beampdEndBotReinArea Bottom reinforcement area at end of beamplResult Returned error code
IConcColModState1
Philosophy: This interface is for maintaining the state of the concrete column module.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 276/450
ClearColumnResults ();Purpose Internal use only.
GetAssignGeometry ([out] BOOL* pbAssignSize, [out] BOOL* pbAssignLegs, [out] long* pnMajor, [out] long* pnMinor, [out] pnUserMajor, [out]pnUserMinor, [out] pnSizeIndex, [out] BSTR bstrGblMajor, [out] BSTR bstrGblMinor );
Purpose Assign menu dialog settings.Parameters pbAssignSize 1 if Assign – Size exists
pbAssignLegs 1 if Assign – Legs existspnMajor 0 = Use Global, 1 = User Defined
pnMinor 0 = Use Global, 1 = User DefinedpnUserMajor Number of legs in the major axispnUserMinor Number of Legs in the minor axispnSizeIndex Index to the selected column size in Assign - SizebstrGblMajor String for the global setting in the minor axisbstrGblMinor String for the global setting in the minor axis
GetBarGroup ([in] long nIndex, [out] BSTR* pbstrLabel, [out] BSTR* pbstrListBoxLabel, [out] BSTR* pbstrMaxBar, [out] BSTR* pbstrMinBar,[out] BSTR* pbstrTieBar, [out] long* pnGroupID, [out] long* pnNumLong, [out] long* pnNumAdd, [out] long* pnNumPatternsInGroup, [out]long* pnType, [out] long* pbUse, [out] long* pbValid);
Purpose Get the bar pattern group.Parameters nIndex Pattern group index number
pbstrLabel Label automatically generated for the grouppbstrListBoxLabel Group label that is used in list boxes (includes tab character)pbstrMaxBar Max longitudinal bar size labelpbstrMinBar Min longitudinal bar size labelpbstrTieBar Transverse bar size labelpnGroupID Unique Group ID.pnNumLong Number of longitudinal bars used at top and bottom of
rectangular patterns or total number of bars used in roundpattern layouts
pnNumAdd Additional bars on left and right side of rectangular patternspnNumPatternsInGroup Number of bar patterns generated by grouppnType Pattern type - ePATTERN_TYPEpbUse Pattern group is being usedpbValid True = pattern group is valid and can be used in design
GetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [out] SBAR_PATTERN* pBarPattern);Purpose To get a specific bar pattern group.Parameters nGroupIndex The group index
nNumPatterns The number of patterns within the group. This is used for datachecking.
pBarPattern Pointer to an array of SBAR_PATTERNs. Memory must be
allocated before the pointer is sent into DataAccess.
GetBarPatternData ([in] long* pnNextPatternID, [out] long* pnNextGroupID, [out] long* pnLastGroupSelected );
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 277/450
([ ] g p , [ ] g p p , [ ] g p p );Purpose Get additional bar pattern group data. .Parameters pnNextPatternID Unique ID of the next pattern
pnNextGroupID Unique ID of the next grouppnLastGroupSelected Index of the last selected group
GetColDesignEffLengthFactors ([in] long lColID, [out] double * pdKx, [out] double * pdKy);Purpose Return the effective length factors for a specific column (based on sway/non sway.
Column setting and the members framing into the column). Assumes fixity specified forlateral beams else assumes beams with beam line numbers are continuous else they are
considered pinned. Similarly, gravity concrete columns are assumed continuous.Parameters lColID The unique column ID to get effective length factors for
pdKx The effective length factor for major axispdKy The effective length factor for minor axis
GetColumnResults ([in] long lColID, [out] SCOL_RES** ppaColRes, [out] SCOL_PATRES** ppaPatRes, [out] SCOL_PATRES _BSTR**ppaPatResStr, [out] SCOL_TRANSRES** ppaTransBarRes, [out] SCOL_TRANSRES _BSTR** ppaTransBarResStr, [out] long* plNumPat, [out] long* plNumTrans);
Purpose Get all concrete column design data.Parameters lColID Column’s unique ID
ppaColRes Concrete Column Results datappaPatRes Bar Pattern Results data
ppaPatResStr Strings for Bar Pattern Results datappaTransBarRes Column Transverse Reinforcement Set datappaTransBarResStr Strings for Column Transverse Reinforcement Set dataplNumPat Number of bar patterns – Array size of paPatRes and
paPatResStrplNumTrans Number of Transverse bar sets Array size of paTransBarRes
and paTransBarResStrComments Method nulls pColResults, paPatternResults, paTransBarResults and redimensions
them. The memory for the arrays need to be released using CoTaskMemFree
Additional Notes:
All of the transverse bar groups for all of the bar patterns are saved consecutively starting with all of the bar sets for the first bar pattern. The variableindicates the number of transverse bar groups associated with that bar pattern. So the first set of transverse bar sets are associated with the first barpattern and the next set identified by the number of trans. bar sets belongs to the second bar set.
GetCriteriaBarSelection ([out] double*, pdSegIncr, [out] double* pdTransIncr );Purpose Get the bar selection criteria in Criteria – Column DesignParameters pdSegIncr Transverse segment spacing increment
pdTransIncr Transverse bar spacing increment
GetCriteriaBarSpacing ([out] BAR_SPACING* pBarSpacing);
Purpose Get the spacing and clear cover values from the Criteria - Design – Reinforcement page.Parameters pBarSpacing Structure of bar spacing values.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 278/450
GetCriteriaLapSplice ([out] double* pdLap1, [out] double* pdLap2, [out] long* pnNumRebar, [out] BSTR* pbstrSelSize);Purpose Lap splice information used to calculate material takeoff for longitudinal column
reinforcement.Parameters pdLap1 Bars less than or equal to pbstrSelSize use pdLap1 x bar
diameterpdLap2 Bars larger than pbstrSelSize use pdLap2 x bar diameterpnNumRebar Total number of reinforcement properties in reinforcement tablepbstrSelSize Bar size string for limiting bar size
GetCriteriaShearLegs ([out] long* plNumSLMajor, [out] long* plNumSLMinor);Purpose Get the shear leg criteria.Parameters plNumSLMajor Number of shear legs parallel to the columns major axis
plNumSLMinor Number of shear legs parallel to the columns minor axis
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetFinalBarData ([in] long lColID, [out] SBAR_PATTERN* pBarPattern, [out] long* plNumSegments, [out] EDA_SEG_SET_INFO** ppaSegInfo,[out] EDA_REIN_PLACE_SET** ppaReinPlace);
Purpose Final design reinforcement information for column.
Parameters lColID Column’s unique ID pBarPattern Bar Pattern infoplNumSegments Number of transverse segmentsppaSegInfo Bar set segment info – Array size is plNumSegmentsppaReinPlace Bar set placement info – Array size is plNumSegments
Comments This method will give all the required information for detailing the reinforcement in aconcrete column. The start and end locations in pSegInfo are relative to the bottom of thegiven column.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.
GetNumBarGroups ([out] long* pnNumGroups);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 279/450
GetNumBarGroups ([out] long pnNumGroups);Purpose Get the number of bar pattern groups.Parameters pnNumGroups Number of bar pattern groups.
GetSlendernessResults ([in] long lColID, [out] long* pbUserSelSlnd, [out] double* pdLux, [out] double* pdLuy, [out] double* pdKx, [out] double*pdKy, [out] long* pbBracedSideSwayX, [out] long* pbBracedSideSwayY);
Purpose Return the parameters associated with the calculation of slenderness for a specificcolumn.
Parameters lColID The unique column ID
pbUserSelSlnd
True (1) if user specified to consider slenderness in the RAM
Concrete Analysis modulepdLux The unbraced length of the column in major axispdLuy The unbraced length of the column in minor axispdKx The effective length factor for major axispdKy The effective length factor for minor axis
pbBracedSideSwayXTrue if user designated column is braced against sidesway inmajor axis.
pbBracedSideSwayYTrue if user designated beam is braced against sidesway inminor axis.
Reset ();Purpose Internal use only.
SetAssignGeometry ([in] BOOL* pbAssignSize, [in] BOOL* pbAssignLegs, [in] long* pnMajor, [in] long* pnMinor, [in] pnUserMajor, [in]pnUserMinor, [in] pnSizeIndex );
Purpose Assign menu dialog settings.Parameters pbAssignSize 1 if Assign – Size exists
pbAssignLegs 1 if Assign – Legs existspnMajor 0 = Use Global, 1 = User DefinedpnMinor 0 = Use Global, 1 = User Defined
pnUserMajor Number of legs in the major axispnUserMinor Number of Legs in the minor axispnSizeIndex Index to the selected column size in Assign - Size
SetBarGroup ([in] long nIndex, [in] BSTR* pbstrLabel, [in] BSTR* pbstrListBoxLabel, [in] BSTR* pbstrMaxBar, [in] BSTR* pbstrMinBar, [in]BSTR* pbstrTieBar, [in] long* pnGroupID, [in] long* pnNumLong, [in] long* pnNumAdd, [in] long* pnNumPatternsInGroup, [in] long*pnType, [in] long* pbUse, [in] long* pbValid, [in] SBAR_PATTERN pBarPattern);
Purpose Set the bar pattern group.Parameters nIndex Pattern group index number
pbstrLabel Label automatically generated for the grouppbstrListBoxLabel Group label that is used in list boxes (includes tab character)pbstrMaxBar Max longitudinal bar size label
pbstrMinBar Min longitudinal bar size labelpbstrTieBar Transverse bar size labelpnGroupID Unique Group ID.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 280/450
pnNumLong Number of longitudinal bars used at top and bottom ofrectangular patterns or total number of bars used in roundpattern layouts
pnNumAdd Additional bars on left and right side of rectangular patternspnNumPatternsInGroup Number of bar patterns generated by grouppnType Pattern type - ePATTERN_TYPEpbUse Pattern group is being usedpbValid True = pattern group is valid and can be used in designpBarPattern Bar pattern
SetBarPattern ([in] long nGroupIndex, [in] long nNumPatterns, [in] SBAR_PATTERN* pBarPattern);Purpose Set a specific bar pattern group. .Parameters nGroupIndex The group index
nNumPatterns The number of patterns within the group. This is used for datachecking.
pBarPattern Pointer to an array of SBAR_PATTERNs. Memory must beallocated before the pointer is sent into DataAccess.
SetBarPatternData ([in] long* pnNextPatternID, [in] long* pnNextGroupID, [in] long* pnLastGroupSelected );Purpose Set additional bar pattern group data. .Parameters pnNextPatternID Unique ID of the next pattern
pnNextGroupID Unique ID of the next grouppnLastGroupSelected Index of the last selected group
SetColumnResults ([in] long lColID, [in] SCOL_RES** ppaColRes, [in] SCOL_PATRES** ppaPatRes, [in] SCOL_PATRES _BSTR**ppaPatResStr, [in] SCOL_TRANSRES** ppaTransBarRes, [in] SCOL_TRANSRES _BSTR** ppaTransBarResStr, [in] long* plNumPat,[in] long* plNumTrans);
Purpose Set all concrete column design data. .Parameters lColID Column’s unique ID
ppaColRes Concrete Column Results data
ppaPatRes Bar Pattern Results datappaPatResStr Strings for Bar Pattern Results datappaTransBarRes Column Transverse Reinforcement Set datappaTransBarResStr Strings for Column Transverse Reinforcement Set dataplNumPat Number of bar patterns – Array size of paPatRes and
paPatResStrplNumTrans Number of Transverse bar sets Array size of paTransBarRes
and paTransBarResStrComments Method nulls pColResults, paPatternResults, paTransBarResults and redimensions
them. The memory for the arrays need to be released using CoTaskMemFree
Additional Notes: All of the transverse bar groups for all of the bar patterns are saved consecutively starting with all of the bar sets for the first bar pattern. The variable
indicates the number of transverse bar groups associated with that bar pattern. So the first set of transverse bar sets are associated with the first barpattern and the next set identified by the number of trans. bar sets belongs to the second bar set.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 281/450
SetCriteriaBarSelection ([in] double*, pdSegIncr, [in] double* pdTransIncr );Purpose Set the bar selection criteria in Criteria – Column DesignParameters pdSegIncr Transverse segment spacing increment
pdTransIncr Transverse bar spacing increment
SetCriteriaBarSpacing ([in] BAR_SPACING* pBarSpacing);Purpose Set the spacing and clear cover values from the Criteria - Design – Reinforcement page.Parameters pBarSpacing Structure of bar spacing values.
SetCriteriaLapSplice ([in] double* pdLap1, [in] double* pdLap2, [in] long* pnNumRebar, [in] BSTR* pbstrSelSize);Purpose Lap splice information used to calculate material takeoff for longitudinal column
reinforcement. .Parameters pdLap1 Bars less than or equal to pbstrSelSize use pdLap1 x bar
diameterpdLap2 Bars larger than pbstrSelSize use pdLap2 x bar diameterpnNumRebar Total number of reinforcement properties in reinforcement tablepbstrSelSize Bar size string for limiting bar size
SetCriteriaShearLegs ([in] long* plNumSLMajor, [in] long* plNumSLMinor);Purpose Set the shear leg criteria. .
Parameters plNumSLMajor Number of shear legs parallel to the columns major axisplNumSLMinor Number of shear legs parallel to the columns minor axis
SetSlendernessResults ([in] long lColID, [in] long* pbUserSelSlnd, [in] double* pdLux, [in] double* pdLuy, [in] double* pdKx, [in] double* pdKy,[in] long* pbBracedSideSwayX, [in] long* pbBracedSideSwayY);
Purpose Set the parameters associated with the calculation of slenderness for a specific column.Parameters lColID The unique column ID
pbUserSelSlndTrue (1) if user specified to consider slenderness in the RAMConcrete Analysis module
pdLux The unbraced length of the column in major axispdLuy The unbraced length of the column in minor axispdKx The effective length factor for major axispdKy The effective length factor for minor axis
pbBracedSideSwayXTrue if user designated column is braced against sidesway inmajor axis.
pbBracedSideSwayYTrue if user designated beam is braced against sidesway inminor axis.
SetZeroBarGroups ();Purpose Clear bar groups.
IConcColModState2
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 282/450
IConcColModState2
Philosophy: (see ConcColModState1 above)
GetCheckAxialLimit ( [out] BOOL* pbCheckAxial );Purpose To get the flag indicating whether the user wants to check max column axial load limit.Parameters pbCheckAxial TRUE = Check Max Column Axial Load Limit
GetCheckTorsion ( [out] BOOL* pbCheckTorsion );
Purpose To get the flag indicating whether the user wants to check torsional capacity for columns.Parameters pbCheckTorsion TRUE = Check Torsional Capacity
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failurepbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLatColGravForceSource ( [out] long* plLatMemGravForceSource, [out,retval] long* plRetVal );Purpose Get the forces from RAM Concept for a column. .
Parameters plLatMemGravForceSource 0 = RAM Concrete analysis, 1 = RAM Frame analysis
plRetValReturn Value. Zero if successful. Check last error ifnonzero.
GetMemberScheduleMark ( [in] long* lColID, [out] SConcScheduleMark pColumnScheduleMark, [out,retval] long* plRetVal );Purpose Get the forces from RAM Concept for a column. .Parameters lColID Unique ID of the column
pColumnScheduleMark Column schedule mark structure
plRetValReturn Value. Zero if successful. Check last error ifnonzero.
lSlendernessReductionFactor [in, out] long
Purpose The slenderness reduction factor for the BS 8110 code. .
Reset ();
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 283/450
();Purpose Internal use only.
SetCheckAxialLimit ( [in] BOOL bCheckAxial );Purpose Set the flag indicating whether the user wants to check max column axial load limit.Parameters bCheckAxial TRUE = Check Max Column Axial Load Limit
SetCheckTorsion ( [in] BOOL pCheckTorsion );Purpose Set the flag indicating whether the user wants to check torsional capacity for columns.
Parameters bCheckTorsion TRUE = Check Torsional Capacity
SetLatColGravForceSource ( [in] long lLatMemGravForceSource, [out,retval] long* plRetVal );Purpose Set the forces from RAM Concept for a column. .Parameters lLatMemGravForceSource 0 = RAM Concrete analysis, 1 = RAM Frame analysis
plRetValReturn Value. Zero if successful. Check last error ifnonzero.
SetMemberScheduleMark ( [in] long lColID, [out] SConcScheduleMark ColumnScheduleMark, [out,retval] long* plRetVal );Purpose Get the forces from RAM Concept for a column. .Parameters lColID Unique ID of the column
ColumnScheduleMark Column schedule mark structure
plRetValReturn Value. Zero if successful. Check last error ifnonzero.
IConcept
Philosophy: This interfaces is for RAM Concept intregration with RAM Structural System
ClearConceptStoryForces ( [in] long* lStoryID);Purpose Clear the forces from RAM Concept for the given story unique ID.Parameters lStoryID Unique ID of the story
GetConceptColumnForcesAtEnd ( [in] long* lColumnID, [in] EDA_MEMBER_LOC eColEnd, [in] long lAnalysisCaseID, [in]EConceptConcSkipCase eConcSkipCase, [in] BOOL bTransferLoadCase, [out] SForce* pSForce, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column.Parameters lColumnID Unique ID of the column
eColEnd eTop or eBottomlAnalysisCaseID Unique ID of the analysis caseeConcSkipCase Concept skip load casebTransferLoadCase True if transfer load casepSForce Forces structureplRetVal Return Value. Zero if successful. Check last error if nonzero.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 284/450
GetConceptExportFileInfo ( [in] long* lStoryID, [out] BSTR* pstrConceptFileNamePath, [out] long* plTimestamp, [out] long* plSourceStoryID, [out]EStateStatus* peStatus, BSTR* pstrConceptStatusReason, [out,retval] long* plRetVal );
Purpose Get the file information for a story exported to Concept.Parameters lStoryID Unique ID of the story
pstrConceptFileNamePath Path of the Concept FileplTimestamp Time stampplSourceStoryID Soure story unique IDpeStatus Current or not
pstrConceptStatusReason Reason for statusplRetVal Return Value. Zero if successful. Check last error if
nonzero.
GetConceptForcesChanged ( [out] BOOL* pbForcesChanged, [out,retval] long* plRetVal );Purpose Get the file information for a story exported to Concept.Parameters pbForcesChanged True if Concept forces have changd
plRetVal Return Value. Zero if successful. Check last error ifnonzero.
GetConceptStoryTimeStamp ( [in] long* lStoryID, [in] ECptStyTimeStampType eStyTimeStamp, [out] long* plTimestamp, [out,retval] long*plRetVal );
Purpose Get the file information for a story exported to Concept.Parameters lStoryID Unique ID of the story
eCptStyTimeStampType Type of time stampplTimestamp Time stampplRetVal Return Value. Zero if successful. Check last error if
nonzero.
GetConceptWallForce ( [in] long* lWallID, [in] long lAnalysisCaseID, [in] EConceptConcSkipCase eConcSkipCase, [in] BOOLbTransferLoadCase, [out] SForce* pSForce, [out,retval] long* plRetVal );
Purpose Get the forces from RAM Concept for a column.Parameters lWallD Unique ID of the wall
lAnalysisCaseID Unique ID of the analysis caseeConcSkipCase Concept skip load casebTransferLoadCase True if transfer load casepSForce Forces structureplRetVal Return Value. Zero if successful. Check last error if nonzero.
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 285/450
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.
GetStoryStatus ( [in] long* lStoryID, [out] EStatusState* peStatus, [out,retval] long* plRetVal );Purpose Get the status of a story story exported to Concept.Parameters lStoryID Unique ID of the story
peStatus Current or notplRetVal Return Value. Zero if successful. Check last error if
nonzero.
Reset ();Purpose Internal use only.
SetConceptColumnForcesAtEnd ();Purpose Internal use only.
SetConceptExportFileInfo ();Purpose Internal use only.
SetConceptForcesChanged ();Purpose Internal use only.
SetConceptStoryTimeStamp ();
Purpose Internal use only.
SetConceptWallForce ();Purpose Internal use only.
IDBIO1
Philosophy: This interface is for performing functions on the database as a whole. This includes Loading and Saving. It also includes changingthe database name. It does not include inquiries or specific data manipulation.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 286/450
AllowConcurrentAccess ([in] BOOL bAllow)Purpose Permits the model to be opened by multiple users simultaneously.
Parameters bAllow 1 if permitted, 0 if not
CloseDatabase();
Purpose To close the database files.Comments This method sh ould be the last cal l to Data Access.
CreateNewDatabase([in] const BSTR bstrName, EUnits eUnits, long *plRetVal);
Purpose To create a new database. This method should not be used by new applications.Parameters bstrName Model name (do not include file extension)
eUnits Which units will be used for display purposesplRetVal Return value, 0 if successful
Comments This function will fail if the model already exists.
CreateNewDatabase2([in] const BSTR bstrName, EUnits eUnits, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);
Purpose To create a new database. This is preferred over CreateNewDatabase which will be
phased out.Parameters bstrName Model name (do not include file extension)eUnits Which units will be used for display purposesbstrUserID String that identifies the calling applicationplRetVal Return value, 0 if successful
Comments This function will fail if the model already exists.
GetDatabaseVersion([in] const BSTR bstrDBName, [out] double* pdVersion);
Purpose To obtain the version number of the indicated database.
Parameters bstrDBName Model name including pathpdVersion Return variable for database version number
Comments Can be used to ensure that the database is a compatible version withDataAccess before calling LoadDataBase.
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 287/450
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetModelDir( [out] BSTR* pbstrDir );
Purpose To get the path of the model. .
Parameters pbstrDir Model patth
GetWorkingDirectory ([out] BSTR* pbstrWorkingDir)Purpose Returns the Working directory where the model files are unzipped. 3.
Parameters pbstrWorkingDir The Working Directory
IsDatabaseReadOnly ([out] BOOL* pbReadOnly)Purpose Indicates if the database is read only or not.
Parameters pbReadOnly 1 if read only, 0 if not
LoadDataBase([in] const BSTR bstrName);Purpose To Load the Database into memory. This method should not be used by new
applications.Parameters bstrName Model name including path and extensionComments This function will fail if the model is currently in use or if the database version is
incompatible with the current version of DataAccess.
LoadDatabase2 ([in] const BSTR bstrName, [in] const BSTR bstrUserID, [out, retval] long *plRetVal);
Purpose To Load the Database into memory. This method is preferred over LoadDataBase
which will be phased out.Parameters bstrName Model name including path and extension
bstrUserID String that identifies the calling applicationplRetVal Return value, 0 if successful
Database in Use: 25673Both .rss and .ram file exist for same model: 25674Model version is invalid: 25657Failed to read the .ram file: 301
CommentsThis function will fail if the model is currently in use or if the database version isincompatible with the current version of DataAccess.
ReloadDataBase ( );Purpose Internal use only
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 288/450
ReloadDataBasePartial ( );Purpose Internal use only
RenameDataBaseTo ( );Purpose Internal use only
SaveDatabase();
Purpose To save the database files.
SaveDatabaseAs ( [in] BSTR bstr NewName );
Purpose Save the database files with a new name.
SaveWorkingFiles ( );Purpose Internal use only
IForces1
Philosophy: This interface typically provides RAM Frame member forces. These methods are only available following performing an analysis inRAM Frame.
Comments 1: A number of the functions below are dependent on the model being framed and the gravity analysis being performed before validdata can be returned. If the framing and gravity analysis has not been performed the function will return an Unspecified Error. Calling theGetLastError 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 showsthe sign convention used for beams, columns and brace members, and walls, respectively. Returned values from these functions follow thesesign conventions. It should be noted that compressive axial force is defined as positive. Moments that create compression in the top flange ofbeams, columns and braces are assumed to be positive.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 289/450
Figure 1. Sign convention for Beams
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 290/450
Figure2. Sign convention for Column and Brace members
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 291/450
Figure 3. Positive Sign Convention for Walls.
GetColForcesForLCase ([in] long lColumnID, [in] long lLoadCase, [out] double *pdAxial, [out] double *pdMajMomI, [out] double *pdMinMomI,[out] double *pdMajShearI, [out] double *pdMinShearI, [out] double *pdTorsionI, [out] double *pdMajMomJ, [out] double *pdMinMomJ,[out] double *pdMajShearJ, [out] double *pdMinShearJ, [out] double *pdTorsionJ);
Purpose Get lateral column forces for a given load case.Parameters lColumnID Column unique ID
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
pdAxial Axial loadpdMajMomI Major moment at toppdMinMomI Minor moment at toppdMajShearI Major shear at toppdMinShearI Minor shear at toppdTorsionI Torsion at toppdMajMomJ Major moment at bottompdMinMomJ Minor moment at bottompdMajShearJ Major shear at bottompdMinShearJ Minor shear at bottom
pdTorsionJ Torsion at bottom
GetCriteriaEffectiveLength ([out] EKFAC_ASSIGN* peColumnMajor, [out] double* pdColumnMajorValue, [out] EKFAC_ASSIGN* peColumnMinor, [out] double* pdColumnMinorValue, [out] EKFAC_ASSIGN* peBeamMajor, [out] double* pdBeamMajorValue, [out]EKFAC_ASSIGN* peBeamMinor, [out] double* pdBeamMinorValue, [out] EKFAC_ASSIGN* peBraceMajor, [out] double*pdBraceMajorValue, [out] EKFAC_ASSIGN* peBraceMinor, [out] double* pdBraceMinorValue);
Purpose Get effective length info that is defined in RAM Frame criteria.
Parameters peColumnMajorThe assigned K factor property for column major axis (Useglobal, Use Nomograph, or Use specified value)
pdColumnMajorValueThe eff. Length factor (K) valid only if peColumnMajor isUseSpecifiedValue.
peColumnMinor
The assigned K factor property for column minor axis (Use
global, Use Nomograph, or Use specified value)
pdColumnMinorValueThe eff. Length factor (K) valid only if peColumnMinor isUseSpecifiedValue.The assigned K factor property for beam major axis (Use
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 292/450
peBeamMajorg p p y j (
global, Use Nomograph, or Use specified value)
pdBeamMajorValueThe eff. Length factor (K) valid only if peBeamMajor isUseSpecifiedValue.
peBeamMinorThe assigned K factor property for beam minor axis (Useglobal, Use Nomograph, or Use specified value)
pdBeamMinorValueThe eff. Length factor (K) valid only if peBeamMinor isUseSpecifiedValue.
peBraceMajor
The assigned K factor property for brace major axis (Use
global, Use Nomograph, or Use specified value)
pdBraceMajorValueThe eff. Length factor (K) valid only if peBraceMajor isUseSpecifiedValue.
peBraceMinorThe assigned K factor property for brace minor axis (Useglobal, Use Nomograph, or Use specified value)
pdBraceMinorValue The eff. Length factor (K) valid only if peBraceMinor isUseSpecifiedValue.
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetGravBeamForcesLeftAt ([in] long lBeamID, [in] double dLocation, [out] double *pdDeadMoment, [out] double *pdDeadShear, [out] double
*pdCDMoment, [out] double *pdCDShear, [out] double *pdCLMoment, [out] double *pdCLShear, [out] double *pdPosLiveMoment, [out]double *pdPosLiveShear, [out] double *pdNegLiveMoment, [out] double *pdNegLiveShear);
Purpose Get forces at left side of a point on a gravity beam.Parameters lBeamID Beam Unique ID
dLocation Location ratio along beam. Value range is from 0.0 at I end ofbeam to 1.0 at j end of beam
pdDeadMoment Dead load moment – includes self weightpdDeadShear Dead load shear – includes self weightpdCDMoment Construction dead load moment
pdCDShear Construction dead load shear
pdCLMoment Construction live load momentpdCLShear Construction live load shearpdPosLiveMoment Positive live load momentpdPosLiveShear Positive live load shearpdNegLiveMoment Negative live load momentpdNegLiveShear Negative live load shear
GetGrvColForcesForLCase ([in] long lColumnID, [out] double* pdDead, [out] double* pdPosLLRed, [out] double* pdPosLLNonRed, [out] double*pdPosLLStorage, [out] double* pdPosLLRoof, [out] double* pdNegLLRed, [out] double* pdNegLLNonRed, [out] double* pdNegLLStorage,[out] double* pdNegLLRoof);
Purpose Get gravity column forces.
Parameters lColumnID Column Unique IDpdDead Dead load including self weightpdPosLLRed Positive live load ReduciblepdPosLLNonRed Positive live load Non Reducible
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 293/450
pdPosLLNonRed Positive live load Non-ReduciblepdPosLLStorage Positive live load StoragepdPosLLRoof Positive live load RoofpdNegLLRed Negative live load ReduciblepdNegLLNonRed Negative live load Non-ReduciblepdNegLLStorage Negative live load StoragepdNegLLRoof Negative live load Roof
GetInterfacePointer();Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLatBeamEndDeflection( [in] long lBeamID, [in] long lLoadCase, [out] double dX_Disp_Left [out] double dY_Disp_Left, [out] doubledZ_Disp_Left, [out] double dX_Rot_Left, [out] double dY_Rot_Left, [out] double dZ_Rot_Left, [out] double dX_Disp_Right, [out] doubledY_Disp_Right, [out] double dZ_Disp_Right, [out] double dX_Rot_Right, [out] double dY_Rot_Right, [out] double dZ_Rot_Right );
Purpose Get beam end deflections.Parameters lBeamID Beam Unique ID
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dX_Disp_Left Left end X translation
dY_Disp_Left Left end Y translation
dZ_Disp_Left Left end Z translationdX_Rot_Left Left end X rotationdY_Rot_Left Left end Y rotationdZ_Rot_Left Left end Z rotationdX_Disp_Right Right end X translationdY_Disp_Right Right end Y translationdZ_Disp_Right Right end Z translationdX_Rot_Right Right end X rotationdY_Rot_Right Right end Y rotationdZ_Rot_Right Right end Z rotation
GetLatBeamForcesLeftAt ([in] long lBeamID, [in] long lLoadCase, [in] double dLocation, [out] double *pdAxial, [out] double *pdMajMom, [out]double *pdMinMom, [out] double *pdMajShear, [out] double *pdMinShear, [out] double *pdTorsion);
Purpose Get forces at left side of a point on a lateral beam for a given load case.Parameters lBeamID Beam Unique ID
C C f
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 294/450
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dLocation Location ratio along beam. Value range is from 0.0 at I end of beamto 1.0 at j end of beam
pdAxial Axial loadpdMajMom Major direction MomentpdMinMom Minor direction MomentpdMajShear Major direction ShearpdMinShear Minor direction ShearpdTorsion Torsion
GetLatBraceEndDeflection( [in] long lBraceNum, [in] long lLoadCase, [out] double dX_Disp_Top [out] double dY_Disp_Top, [out] doubledZ_Disp_Top, [out] double dX_Rot_Top, [out] double dY_Rot_Top, [out] double dZ_Rot_Top, [out] double dX_Disp_Bot, [out] doubledY_Disp_Bot, [out] double dZ_Disp_Bot, [out] double dX_Rot_Bot, [out] double dY_Rot_Bot, [out] double dZ_Rot_Bot );
Purpose Get brace end deflections.Parameters lBraceNum Brace Unique ID
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dX_Disp_Top Top end X translationdY_Disp_Top Top end Y translation
dZ_Disp_Top Top end Z translationdX_Rot_Top Top end X rotationdY_Rot_Top Top end Y rotationdZ_Rot_Top Top end Z rotationdX_Disp_Bot Bot end X translationdY_Disp_Bot Bot end Y translationdZ_Disp_Bot Bot end Z translationdX_Rot_Bot Bot end X rotationdY_Rot_Bot Bot end Y rotation
dZ_Rot_Bot Bot end Z rotation
GetLatColumnEndDeflection( [in] long lBeamID, [in] long lLoadCase, [out] double dX_Disp_Top [out] double dY_Disp_Top, [out] doubledZ_Disp_Top, [out] double dX_Rot_Top, [out] double dY_Rot_Top, [out] double dZ_Rot_Top, [out] double dX_Disp_Bot, [out] doubledY_Disp_Bot, [out] double dZ_Disp_Bot, [out] double dX_Rot_Bot, [out] double dY_Rot_Bot, [out] double dZ_Rot_Bot );
Purpose Get column end deflections.Parameters lColumnID Column Unique ID
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dX_Disp_Top Top end X translationdY_Disp_Top Top end Y translationdZ_Disp_Top Top end Z translation
dX_Rot_Top Top end X rotationdY_Rot_Top Top end Y rotationdZ_Rot_Top Top end Z rotationdX_Disp_Bot Bot end X translation
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 295/450
dY_Disp_Bot Bot end Y translationdZ_Disp_Bot Bot end Z translationdX_Rot_Bot Bot end X rotationdY_Rot_Bot Bot end Y rotationdZ_Rot_Bot Bot end Z rotation
GetLatWallForces ([in] long lWallID, [in] long lLoadCase, [out] double *dAxial, [out] double *dMajMom, [out] double *dMajShear);Purpose Get lateral wall forces for the desired wall and load case.
Parameters lWallID Wall Unique IDlLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dAxial Axial loaddMajMom Major direction momentdMajShear Minor direction moment
GetLatWallForcesAsBeam ([in] long lWallID, [in] long lLoadCase, [out[ double dAxial_IK, [out] double dMajMom_IK, [out] double dMajShear_IK,[out] double dMinMom_IK, [out] double dMinShear_IK, [out] double dTorsion_IK, [out] double dAxial_JL, [out] double dMajMom_JL, [out]double dMajShear_JL, [out] double dMinMom_JL, [out] double dMinShear_JL, [out] double dTorsion_JL );
Purpose Get wall forces as if it were a beam.
Parameters lWallID Wall Unique ID
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dAxial_IK I end axial
dMajMom_IK I end major moment
dMajShear_IK I end major shear
dMinMom_IK I end minor moment
dMinShear_IK I end minor shear
dTorsion_IK I end torsion
dAxial_JL J end axial
dMajMom_JL J end major momentdMajShear_JL J end major shear
dMinMom_JL J end minor moment
dMinShear_JL J end minor shear
dTorsion_JL J end torsion
GetLatWallGroupForces ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [in] long lLoadCase, [out] double *pdAxial, [out] double*pdMajMoment, [out] double *pdMinMoment, [out] double *pdMajShear, [out] double *pdMinShear, [out] double *pdTorsion);
Purpose Get lateral wall group forces for the desired wall and load case.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)lWallGroupIndex Wall group index number from 0 to lNumberOfWallGroups - 1lLoadCase Load Case index number from 0 to value returened by
GetNumAnalyzedFrameLoadCases - 1
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 296/450
GetNumAnalyzedFrameLoadCases - 1pdAxial Axial loadpdMajMoment Major direction momentpdMinMoment Minor direction momentpdMajShear Major direction shearpdMinShear Minor direction shearpdTorsion Torsion
GetLatWallGroupForcesAsBeam ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [in] long lLoadCase, [out[ double dAxial_IK, [out] doubledMajMom_IK, [out] double dMajShear_IK, [out] double dMinMom_IK, [out] double dMinShear_IK, [out] double dTorsion_IK, [out] doubledAxial_JL, [out] double dMajMom_JL, [out] double dMajShear_JL, [out] double dMinMom_JL, [out] double dMinShear_JL, [out] doubledTorsion_JL );
Purpose Get wall forces as if it were a beam.
Parameters lWallID Story number or unique ID
lWallGroupIndex Wall group index
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
dAxial_IK I end axial
dMajMom_IK I end major moment
dMajShear_IK I end major shear
dMinMom_IK I end minor moment
dMinShear_IK I end minor shear
dTorsion_IK I end torsion
dAxial_JL J end axial
dMajMom_JL J end major moment
dMajShear_JL J end major shear
dMinMom_JL J end minor moment
dMinShear_JL J end minor shear
dTorsion_JL J end torsion
GetMassInfo ([in] long lStoryNoOrID, [out] long lRigid, [out] double dMass, [out] double dMassMomI, [out] double dXCenterOfMass, [out] doubledYCenterOfMass, [out] double dXEcc, [out] double dYEcc, [out] long lLumpFlag);
Purpose Get lateral wall group forces for the desired wall and load case.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)lRigid 1 if rigid diaphragmdMass MassdMassMomI Mass inertiadXCenterOfMass X coordinate of the center of mass
dYCenterOfMass Y Coordinate of the center of massdXEcc X eccentricitydYEcc Y eccentricitylLumpFlag Combine to flag (0 = None)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 297/450
p g g ( )
GetWindExposure ([in] long lStoryNoOrID, [out] long lRigid, [out] double dMass, [out] double dMassMomI, [out] double dXCenterOfMass, [out]double dYCenterOfMass, [out] double dXEcc, [out] double dYEcc, [out] long lLumpFlag);
Purpose Get lateral wall group forces for the desired wall and load case.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)dMinX Minimum X coordinate for extentsdMaxX Maximum X coordinate for extents
dMinY Minimum Y coordinate for extentsdMaxY Maximum Y coordinate for extentslExposureFlag 0 = Full, 1 = NonedParapetHeight Parapet Height
Reset ( );Purpose Internal use only.
SetAnalysisResultsInvalid ( );Purpose Internal use only.
IForces2
Philosophy: This is a continuation of the IForces1 interface.
GetAnalysisCaseInfo ([in] long lAnalysisCaseID, [in] EAnalysisResultType eAnalysisReultType, [in, out] SAnalysisCaseInfo* psAnalysisCaseInfo,[out,retval] long* plRetVal);
Purpose Get analysis case info for any RAM SS analysis module. Analysis cases are defined as
the results of analyzing load cases.Parameters lAnalysisCaseID Analysis Case Unique ID
eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAMConcrete or Default which lets the program select theappropriate analysis result type
psAnalysisCaseInfo Analysis Case InfoplRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases
GetAnalysisCasesIDArray ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* palLoadCaseIDs, [out,retval] long* plRetVal);Purpose Get array of unique analysis case ID's for results from a specific module.Parameters eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM
Concrete or Default which lets the program select theappropriate analysis result type
palAnalysisCaseIDs Analysis Case unique IDsplRetVal Error code If value is non zero then check GetLastError
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 298/450
plRetVal Error code. If value is non zero then check GetLastErrorComment Analysis cases are defined as the results of analyzing load cases
GetColForcesForLCase ([in] long lColumnID, [in] long lLoadCase, [out] double *pdAxialI, [out] double *pdMajMomI, [out] double *pdMinMomI,[out] double *pdMajShearI, [out] double *pdMinShearI, [out] double *pdTorsionI, [out] double *pdAxialJ, [out] double *pdMajMomJ, [out]double *pdMinMomJ, [out] double *pdMajShearJ, [out] double *pdMinShearJ, [out] double *pdTorsionJ);
Purpose
Get lateral column forces for a given load case. This function is similar to the one of thesame 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 axialload on columns began to vary from top to bottom and this function becomes necessary.Parameters lColumnID Column unique ID
lLoadCase Load Case index number from 0 to value returned byGetNumAnalyzedFrameLoadCases - 1
pdAxialI Axial load at toppdMajMomI Major moment at toppdMinMomI Minor moment at toppdMajShearI Major shear at toppdMinShearI Minor shear at toppdTorsionI Torsion at toppdAxialJ Axial load at bottom
pdMajMomJ Major moment at bottompdMinMomJ Minor moment at bottompdMajShearJ Major shear at bottompdMinShearJ Minor shear at bottompdTorsionJ Torsion at bottom
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetGravBeamForcesLeftAt ([in] long lBeamID, [in] double dLocation, [out] double *pdDeadMoment, [out] double *pdDeadShear, [out] double
*pdCDMoment, [out] double *pdCDShear, [out] double *pdCLMoment, [out] double *pdCLShear, [out] double *pdPosLiveMoment, [out]double *pdPosLiveShear, [out] double *pdNegLiveMoment, [out] double *pdNegLiveShear, [out] double *pdPosRoofLiveMoment, [out]double *pdPosRoofLiveShear, [out] double *pdNegRoofLiveMoment, [out] double *pdNegRoofLiveShear);
Purpose Get forces at left side of a point on a gravity beam.Parameters lBeamID Beam Unique ID
dLocation Location ratio along beam. Value range is from 0.0 at I endof beam to 1.0 at j end of beam
pdDeadMoment Dead load moment – includes self weightpdDeadShear Dead load shear – includes self weightpdCDMoment Construction dead load momentpdCDShear Construction dead load shearpdCLMoment Construction live load momentpdCLShear Construction live load shearpdPosLiveMoment Positive live load momentpdPosLiveShear Positive live load shearpdNegLiveMoment Negative live load moment
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 299/450
pdNegLiveMoment Negative live load momentpdNegLiveShear Negative live load shearpdPosRoofLiveMoment Positive roof live load momentpdPosRoofLiveShear Positive roof live load shearpdNegRoofLiveMoment Negative roof live load momentpdNegRoofLiveShear Negative roof live load shear
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLatBraceForces ([in] long lBraceID, [in] long lLoadCase, [out] double *pdAxial, [out] double *pdMajMomTop, [out] double *pdMinMomTop,[out] double *pdMajShearTop, [out] double *pdMinShearTop, [out] double *pdTorsionTop, [out] double *pdMajMomBot, [out] double*pdMinMomBot, [out] double *pdMajShearBot, [out] double *pdMinShearBot, [out] double *pdTorsionBot, [out, retval] long* plResult);
Purpose Get lateral brace forces.Parameters lBraceID Brace Unique ID
lLoadCase Load Case index number from 0 to value returened byGetNumAnalyzedFrameLoadCases - 1
pdAxial Axial loadpdMajMomTop Major moment at top
pdMinMomTop Minor moment at top
pdMajShearTop Major shear at toppdMinShearTop Minor shear at toppdTorsionTop Torsion at toppdMajMomBot Major moment at bottompdMinMomBot Minor moment at bottompdMajShearBot Major shear at bottompdMinShearBot Minor shear at bottompdTorsionBot Torsion at bottomplResult Returned error code
GetMemberForces ([in] long lMemberID, [in] EDA_MEMBER_LOC eLocation, [in] long lLoadCaseID, [in] EAnalysisResultType eAnalysisReultType, [in] BOOL bApplyLLReduction, [in] SForce* psMemForces, [out,retval] long* plRetVal);
Purpose Get Member Forces at the ends of the specified member.Implemented for gravity analysis cases types only. This function can be used for retrivinganalysis results for RAM Frame, RAM Steel and RAM Concrete. However please not that notall analysis types have all the possible analysis cases
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 300/450
all analysis types have all the possible analysis cases.Parameters lMemberID Member Unique ID
eLocation Location for member forces (not used for walls, always bottomassumed)
lAnalysisCaseID Analysis Case Unique IDeAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM Concrete
or Default which lets the program select the appropriate analysisresult 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 locationplRetVal Error code. See table below.
Comment 1 Analysis cases are defined as the results of analyzing load casesIf eAnalysisResultType is Default then the following decision matrix is used to determine fromwhere the forces originate.
MemberType
Frame type Material Analysis Results
Wall Gravity any RAM Concrete (if avail) else RAMGravity
Wall Lateral any RAM Frame
Beam/HBrace Gravity steel/other RAM Gravity
Beam/HBrace Gravity concrete RAM ConcreteBeam/HBrace Lateral any RAM Frame
Column Gravity steel/other RAM Gravity
Column Gravity concrete RAM Concrete
Column Lateral any RAM Frame
Brace Lateral any RAM Frame
Comment 2 Prior to v9.0, Live Load Reduction was applied to all results from RAM Frame. Thus, for
lateral members, reduced member forces were returned by this method regardless of thevalue of bApplyLLReduction. This was corrected in v9.0 for the followingEGravAnalysisCaseIDs:
LiveReduciblePosID LiveReducibleNegID LiveReducibleSumIDLiveUnReduciblePosID LiveUnReducibleNegID LiveUnReducibleSumIDLiveStoragePosID LiveStorageNegID LiveStorageSumIDLiveRoofPosID LiveRoofNegID LiveRoofSumID
Note1: L ivePosID, LiveNegID, LiveSumID can still only be accessed as reduced.Note2: Walls do not have any reduction values associated with them
Error Codes Below is a list of the most common error codes to be returned in plRetVal. Note that prior to
v9.0 the retval contained the AnalysisType if DefaultResultType was specified as theEAnalysisResultType.
306 RAM Frame (lateral load cases) not available310 RAM G it lt t il bl
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 301/450
310 RAM Gravity results are not available311 File not found (one of the results files)312 Error reading gravity beam results file332 Concrete analysis results not available6121 Brace forces not supported6126 Beam forces not supported6127 Generic member forces not supported error6128 Load case not supported
6129 Concrete analysis column forces file is missing6130 Concrete analysis wall forces file is missing6133 Analysis case not supported9109 Unexpected memory error12105 Error loading concrete analysis column results file12106 Error loading concrete alaysis wall results file
plRetVal for the following EAnalysisResultType input
Member Type RAMGravResultType RAMFrameResultType RAMConcResultType
Gravity Col 0 = valid forces
Err = forces not avail
Err = forces are neveravailable gravity
members.
0 = valid forces
Err = forces not avail
Gravity Wall 0 or Err (see above) Err 0 or Err (see above)
Lateral Col 0 or Err (see above) 0 = valid forces
Err = forces not avail
0 or Err (see above)
Lateral Wall 0 or Err (see above) 0 or Err (see above) 0 or Err (see above)
Lateral Brace 0 with forces set to 0.0because brace forcescannot be retrieved fromRAM Gravity.
0 or Err (see above) 0 with forces set to 0.0because brace forcescannot be retrieved fromRAM Concrete analysis.
GetMemberForcesLeftAt ([in] long lMemberID, [in] double dRelativeLocation, [in] long lAnalysisCaseID, [in] EAnalysisResultType eAnalysisResultType, [in] BOOL bApplyLLReduction, [in] SForce psMemForces );
Purpose Get member forces at a location for an analysis case.Parameters lMemberID Member Unique ID
dRelativeLocation Location relative to length (0 = I end, 1 = J end)lAnalysisCaseID Analysis case uinique IDeAnalysisResultType Analysis result type
bApplyLLReduction True if live load reduction is to be appliedpsMemForces Forces structure
GetNumAnalysisCases ([in] EAnalysisResultType eAnalysisReultType, [in, out] long* plNumLoadCases, [out,retval] long* plRetVal);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 302/450
y ([ ] y yp y yp [ ] g p [ ] g p )Purpose Get the number of load cases in this module.Parameters eAnalysisReultType Analysis module’s result – RAM Frame, RAM Steel, RAM
Concrete or Default which lets the program select theappropriate analysis result type
plNumAnalysisCases Total number of analysis cases for a given analysis typeplRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases
GetValuesInNewCoordinate ([in] long lOriginalMemberID, EDA_MEMBER_LOC eLocOrigMember, [in] long lFinalMemberID,EDA_MEMBER_LOC eLocFinalMember, [in] SForce sMemberForceLocal, [in, out] SForce* psMemberForceGlobal, [out,retval] long*plRetVal);
Purpose Obtain element member forces converted to global or to a local system of anotherelement.
Parameters lOriginalMemberID Unique member ID of the original element. Note that themember forces stored in sMemberForceLocal belong to thiselement.
eLocOrigMember Indicates sMemberForceLocal is defined according to thesign definition of this end of the original member.
lFinalMemberID Unique member ID of the final element. Note that the forcesof the original element are converted into the local system ofthis element. If this variable is passed in as zero, thencalculated forces are converted only to global system.
eLocFinalMember Indicates converted values are defined according to the signdefinition of this end of the final member if lFinalMemberID isnot zero. Otherwise, the variable is not valid, and calculatedresults are returned in global system.
sMemberForceLocal Member forces of the original elementpsMemberForceGlobal Converted member forces
plRetVal Error code. If value is non zero then check GetLastError
Comment Analysis cases are defined as the results of analyzing load cases
Reset ( );Purpose Internal use only.
IGravi tyLoads1
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, loadpolygons or load properties that were defined and modeled in RAM Modeler.
GetBeamLineLoad ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 303/450
([ ] g , [ ] g , [ ] p , [ ] p , [ ] p , [ ]pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out] double*pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* dAxCDLR, [out] double* pdAxCLLL, [out]double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor);
Purpose Get beam line load info.Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads - 1pdDistL Distance from left end of beam to left end of loadpdDistR Distance from left end of beam to right end of loadpdDLL Perpendicular Dead Load at left end of loadpdDLR 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 loadpdAxDLR 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 loadpdAxLLL 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'
= storagepdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
Sign Convention: A downward acting load is positive.
GetBeamLineLoadAndSource ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out]double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out]double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* dAxCDLR, [out] double*pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out]double* pdRfactor, [out] ELINELOADSOURCE* peLineLoadSource, long* plRetval);
Purpose Get beam line load info.Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1pdDistL Distance from left end of beam to left end of loadpdDistR Distance from left end of beam to right end of loadpdDLL 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
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 304/450
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 loadpdAxDLR 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 loadpdAxLLL 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’
= storagepdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reduciblepeLineLoadSource The source of the line load (where it originated from) see enumplRetval Return value, 0 = no error else call GetLastError
Sign Convention: A downward acting load is positive.
GetBeamLineLoadAndSource2 ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out]double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* dAxCDLR, [out] double*pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out]double* pdRfactor, [out] ELINELOADSOURCE* peLineLoadSource, [out] EMemberSide *peSide, long* plRetval);
Purpose Get beam line load info.Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1pdDistL Distance from left end of beam to left end of loadpdDistR 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 loadpdAxDLR 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 loadpdAxLLL 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
dRf t Li L d R d ti F t (%) 0 5 f 50% d ibl
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 305/450
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reduciblepeLineLoadSource The source of the line load (where it originated from) see enumpeSide The side of the beam that the load is applied toplRetval Return value, 0 = no error else call GetLastError
Sign Convention: A downward acting load is positive.
GetBeamLineLoadAndSource3 ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,
[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdPLL, [out]double* pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL,[out] double* dAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] double*pdAxPLL, [out] double* pdAxPLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor, [out] ELINELOADSOURCE* peLineLoadSource, long* plRetval);
Purpose Get beam line load info.Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1pdDistL Distance from left end of beam to left end of loadpdDistR Distance from left end of beam to right end of loadpdDLL Perpendicular Dead Load at left end of loadpdDLR Perpendicular Dead Load at right end of load.pdCDLL Perpendicular Construction Dead Load at left end of load.pdCDLR Perpendicular Construction Dead Load at right end of load.pdLLL Perpendicular Unreduced Live Load at left end of load.pdLLR Perpendicular Unreduced Live Load at right end of load.pdPLL Perpendicular Partion Load at left end of load.pdPLR Perpendicular Partition Load at right end of load.pdCLLL Perpendicular Construction Live Load at left end of load.
pdCLLR Perpendicular Construction Live Load at right end of load.
pdAxDLL Axial Dead Load, in kips, at left end of loadpdAxDLR 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 loadpdAxLLL Axial Construction Live Load at left end of load.pdAxLLR Axial Construction Live Load at right end of load.pdAxPLL Axial Partition Load at left end of load.pdAxPLR Axial Partition Load at right end of load.peLoadType Type of live load: ‘RF’ = roof, ‘FL’ = floor, ‘UR’ = unreducible, ‘ST’
= storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reduciblepeLineLoadSource The source of the line load (where it originated from) see enumplRetval Return value, 0 = no error else call GetLastError
Sign Convention: A downward acting load is positive
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 306/450
Sign Convention: A downward acting load is positive.
GetBeamLinkLineLoadAndSource ([in] long lBeamID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL,[out] double* pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* dpPLL, [out]double* pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL,[out] double* dAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] double*pdAxPLL, [out] pdAxPLR, [out] EGRAVLOADTYPE* peLoadType, [out] double* pdRfactor, [out] ELINELOADSOURCE* peLineLoadSource, [in] BOOL bISupportLink);
Purpose Get beam line load info.Parameters lBeamID Beam unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads – 1pdDistL Distance from left end of beam to left end of loadpdDistR Distance from left end of beam to right end of loadpdDLL Perpendicular Dead Load at left end of loadpdDLR Perpendicular Dead Load at right end of load.pdCDLL Perpendicular Construction Dead Load at left end of load.pdCDLR Perpendicular Construction Dead Load at right end of load.pdLLL Perpendicular Unreduced Live Load at left end of load.pdLLR Perpendicular Unreduced Live Load at right end of load.
pdPLL Perpendicular Partition Load at left end of load.pdPLR Perpendicular Partition Load at right end of load.pdCLLL Perpendicular Construction Live Load at left end of load.pdCLLR Perpendicular Construction Live Load at right end of load.pdAxDLL Axial Dead Load, in kips, at left end of loadpdAxDLR Axial Dead Load, in kips, at right end of load.pdAxCDLL Axial Construction Dead Load at left end of load.dAxCDLR Axial Construction Dead Load at right end of load.
pdAxCLLL Axial Construction Live Load at left end of load.
pdAxCLLR Axial Construction Live Load at right end of loadpdAxLLL Axial Unreduced Live Load at left end of load.pdAxLLR Axial Unreduced Live Load at right end of load.pdAxPLL Axial Partition Load at left end of load.pdAxPLR Axial Partition Load at right end of load.peLoadType Type of live load: ‘RF’ = roof, ‘FL’ = floor, ‘UR’ = unreducible, ‘ST’ = storage pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reduciblepeLineLoadSource The source of the line load (where it originated from) see enumbISupoportLink True if looking for I end (start) rigid link, False if looking for J end (end) rigid link
Sign Convention: A downward acting load is positive.
GetBeamLinkPointLoad ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdAxDL,[out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 307/450
dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE* peLoadSource, [in] BOOL bISupportLink);
Purpose Get perpendicular and axial components of point loads applied to a beam.Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1pdDist Location of point load from start of beampdDL Perpendicular Dead LoadpdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live LoadpdLLNegRed Perpendicular Negative Reducible Live LoadpdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)pdLLPosStorage Perpendicular Positive Storage Live LoadpdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live LoadpdLLNegRoof Perpendicular Negative Roof Live LoadpdAxDL Axial Dead LoadpdAxCDL Axial Construction Dead LoadpdAxCLL Axial Construction Live LoadpdAxNegRedLL Axial Negative Reducible Live LoadpdAxPosRedLL Axial Positive Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.05 & v14.05.01 included partition load)pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live LoadpdAxPosRoofLL Axial Positive Roof Live LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpeLoadSource Point load sourcebISupoportLink True if looking for I end (start) rigid link, False if looking for J end (end) rigid link
GetBeamLinkPointLoad2 ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*
pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double*pdPosPL, [out] double* pdNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL,[out] double* pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out]
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 308/450
[ ] p , [ ] g , [ ] p , [ ] p g g , [ ]double* pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double*pdAxPosPL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF,[out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE* peLoadSource, [in] BOOL bISupportLink);
Purpose Get perpendicular and axial components of point loads applied to a beam. 2.Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of beampdDL Perpendicular Dead LoadpdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live LoadpdLLNegRed Perpendicular Negative Reducible Live LoadpdLLPosNonRed Perpendicular Positive Non-Reducible Live LoadpdLLNegNonRed Perpendicular Negative Non-Reducible Live LoadpdLLPosStorage Perpendicular Positive Storage Live LoadpdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live LoadpdLLNegRoof Perpendicular Negative Roof Live Load
pdPosPL Perpendicular Positive Partition LoadpdNegPL Perpendicular Negative Partition LoadpdAxDL Axial Dead LoadpdAxCDL Axial Construction Dead LoadpdAxCLL Axial Construction Live LoadpdAxNegRedLL Axial Negative Reducible Live LoadpdAxPosRedLL Axial Positive Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live LoadpdAxPosNonRedLL Axial Positive Non-Reducible Live Load
pdAxNegStorageLL Axial Negative Storage Live Load
pdAxPosStorageLL Axial Positive Storage Live LoadpdAxNegRoofLL Axial Negative Roof Live LoadpdAxPosRoofLL Axial Positive Roof Live LoadpdAxNegPL Axial Negative Partition LoadpdAxPosPL Axial Positive Partition LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpeLoadSource Point load source
bISupoportLink True if looking for I end (start) rigid link, False if looking for J end(end) rigid link
GetBeamLLRedFactor ([in] long lBeamID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double*
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 309/450
dNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);Purpose Get beam live load reduction factors.Parameters lBeamID Beam unique ID
pdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factordNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factorComment The reduction values are as a percent. To reduce a member force by the reduction value
you will need to multiply the force by the following equation (1.0 - LLRF / 100)
GetBeamPointLoad ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdAxDL,[out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE*
peLoadSource);Purpose Get perpendicular and axial components of point loads applied to a beam.Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1pdDist Location of point load from start of beampdDL Perpendicular Dead LoadpdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live Load
pdLLNegRed Perpendicular Negative Reducible Live Load
pdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLPosStorage Perpendicular Positive Storage Live LoadpdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live LoadpdLLNegRoof Perpendicular Negative Roof Live LoadpdAxDL Axial Dead LoadpdAxCDL Axial Construction Dead LoadpdAxCLL Axial Construction Live LoadpdAxNegRedLL Axial Negative Reducible Live LoadpdAxPosRedLL Axial Positive Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdAxNegStorageLL Axial Negative Storage Live LoadpdAxPosStorageLL Axial Positive Storage Live LoadpdAxNegRoofLL Axial Negative Roof Live LoadpdAxPosRoofLL Axial Positive Roof Live Load
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 310/450
pdAxPosRoofLL Axial Positive Roof Live LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpeLoadSource Point load source
GetBeamPointLoadAndSource ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out]double* pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed,[out] double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double*pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE* peLoadSource, [out] EMemberSide *peSide, long* plRetval);
Purpose Get perpendicular and axial components of point loads applied to a beam.Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1pdDist Location of point load from start of beampdDL Perpendicular Dead LoadpdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live LoadpdLLNegRed Perpendicular Negative Reducible Live LoadpdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)
pdLLPosStorage Perpendicular Positive Storage Live Load
pdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live LoadpdLLNegRoof Perpendicular Negative Roof Live LoadpdAxDL Axial Dead LoadpdAxCDL Axial Construction Dead LoadpdAxCLL Axial Construction Live LoadpdAxNegRedLL Axial Negative Reducible Live LoadpdAxPosRedLL Axial Positive Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdAxNegStorageLL Axial Negative Storage Live LoadpdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live LoadpdAxPosRoofLL Axial Positive Roof Live LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factor
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 311/450
pdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpeLoadSource Point load sourcepeSide The side of the beam that the load is applied toplRetval Return value, 0 = no error else call GetLastError
GetBeamPointLoadAndSource2 ([in] long lBeamID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out]double* pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed,[out] double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double*pdPosPL, [out] double* pNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL,[out] double* pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out]double* pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double*pdAxPosPL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF,[out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, EGRAVPTLOADSOURCE* peLoadSource, [out] EMemberSide *peSide,long* plRetval);
Purpose Get perpendicular and axial components of point loads applied to a beam. 2.
Parameters lBeamID Beam unique IDlPtLoadNo Point load index number from 0 to plNumPointLoads - 1pdDist Location of point load from start of beampdDL Perpendicular Dead LoadpdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live LoadpdLLNegRed Perpendicular Negative Reducible Live LoadpdLLPosNonRed Perpendicular Positive Non-Reducible Live Load
pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load
pdLLPosStorage Perpendicular Positive Storage Live LoadpdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live LoadpdLLNegRoof Perpendicular Negative Roof Live LoadpdPosPL Perpendicular Positive Partition LoadpdNegPL Perpendicular Negative Partition LoadpdAxDL Axial Dead LoadpdAxCDL Axial Construction Dead LoadpdAxCLL Axial Construction Live LoadpdAxNegRedLL Axial Negative Reducible Live LoadpdAxPosRedLL Axial Positive Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live Load
pdAxPosNonRedLL Axial Positive Non-Reducible Live LoadpdAxNegStorageLL Axial Negative Storage Live LoadpdAxPosStorageLL Axial Positive Storage Live LoadpdAxNegRoofLL Axial Negative Roof Live LoadpdAxPosRoofLL Axial Positive Roof Live Load
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 312/450
pdAxPosRoofLL Axial Positive Roof Live LoadpdAxNegPL Axial Negative Partition LoadpdAxPosPL Axial Positive Partition LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factorpeLoadSource Point load sourcepeSide The side of the beam that the load is applied toplRetval Return value, 0 = no error else call GetLastError
GetBeamPointLoadType ([in]long lBeamID, [in]long lPtLoadNo, [out] EGRAVPTLOADSOURCE* peLoadSource);Purpose Get point load source type.Parameters lBeamID Beam unique ID
lPtLoadNo Point load index number from 0 to lNumPointLoads - 1peLoadSource Point load source
GetColumnLLRedFactor ([in] long lColumnID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out]
double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);Purpose Get column live load reduction factors.Parameters lColumnID Column unique ID
pdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factor
pdNegRoofLLRF Negative Roof live load reduction factor
GetColumnLLRedFactorExtraInfo ( [in] long lColumnID, [in, out] double* pdAveRoofSlope, [in, out] long* plNumStoriesAddingToLLPos, [in, out]long* plNumStoriesAddingToLLNeg, [out, retval] long* plRetVal );
Purpose Get additional factor information used for calculating Live Load reduction.Parameters lColumnID unique member ID
pdAveRoofSlope Average slope of roof contributing to column roof loadplNumStoriesAddingToLLPos Number of story contributing to positive live loadplNumStoriesAddingToLLNeg Number of story contributing to negative live loadplRetVal Error code. If value is non zero then check
GetLastError
GetColumnPointLoad ([in] long lColumnID, [in] long lPtLoadNo, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL, [out] double*pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double* pdLLPosStorage,[out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosLLRF, [out] double*pdNegLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] double* pdPosStorageLLRF, [out] double*pdNegStorageLLRF);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 313/450
pdNegStorageLLRF);Purpose Get information for a user defined point load applied directly to a column.Parameters lColumnID Column unique ID
lPtLoadNo Not usedpdDL Dead LoadpdCDL Construction Dead LoadpdCLL Construction Live LoadpdLLPosRed Positive Reducible Live Load
pdLLNegRed Negative Reducible Live LoadpdLLPosNonRed Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLNegNonRed Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLPosStorage Positive Storage Live LoadpdLLNegStorage Negative Storage Live LoadpdLLPosRoof Positive Roof Live LoadpdLLNegRoof Negative Roof Live LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factor
pdNegStorageLLRF Negative Storage live load reduction factor
GetColumnPointLoad2 ([in] long lColumnID, [in] long lPtLoadNo, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL, [out] double*pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double* pdLLPosStorage,[out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosPL, [out] double* pNegPL,[out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] double*pdPosStorageLLRF, [out] double* pdNegStorageLLRF);
Purpose Get information for a user defined point load applied directly to a column. 2.
Parameters lColumnID Column unique IDlPtLoadNo Not UsedpdDL Dead LoadpdCDL Construction Dead LoadpdCLL Construction Live LoadpdLLPosRed Positive Reducible Live LoadpdLLNegRed Negative Reducible Live LoadpdLLPosNonRed Positive Non-Reducible Live LoadpdLLNegNonRed Negative Non-Reducible Live LoadpdLLPosStorage Positive Storage Live LoadpdLLNegStorage Negative Storage Live LoadpdLLPosRoof Positive Roof Live Load
pdLLNegRoof Negative Partition LoadpdPosPL Positive Partition LoadpdNegPL Negative Roof Live LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factor
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 314/450
p g gpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factor
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetGravColSideLoads ( [in] long lColumnID, [in] long lAnalysisID, [in] BOOL bApplyLLReduction, [in, out] double* pdSide1Load, [in, out] double*pdSide2Load, [in, out] double* pdSide3Load, [in, out] double* pdSide4Load, [out, retval] long* plRetVal );
Purpose Get the column side loads from the gravity analysis.Parameters lColumnID Column UID
lAnalysisID Analysis case IDbApplyLLReduction true = consider live load reductionpdSide1Load Top or Top flangepdSide2Load (Clockwise) front side / webpdSide3Load Bottom or Bottom flangepdSide4Load (Clockwise) back side / web
GetGravColTribAreas( [in] long lColumnID, [in, out] double* pdPosRedTribArea, [in, out] double* pdNegRedTribArea, [in, out] double*pdPosStorageTribArea, [in, out] double* pdNegStorageTribArea, [in, out] double* pdPosRoofTribArea, [in, out] double*pdNegRoofTribArea, [in, out] double* pdPosRedTribAreaCant, [in, out] double* pdNegRedTribAreaCant, [in, out] double*pdPosStorageTribAreaCant, [in, out] double* pdNegStorageTribAreaCant, [out, retval] long* plRetVal );
Purpose Get column tributary area based on gravity analysis assuming beams are simplysupported.
Parameters lColumnID unique member ID
peTensionCompressionType Defines type as tension only/ compression only or both
pdPosRedTribArea Positive reducible live load tributary areapdNegRedTribArea Negative reducible live load tributary areapdPosStorageTribArea Positive storage live load tributary areapdNegStorageTribArea Negative storage live load tributary areapdPosRoofTribArea Positive Roof live load tributary areapdNegRoofTribArea Negative Roof live load tributary areapdPosRedTribAreaCant Positive reducible live load tributary area from cantilever
pdNegRedTribAreaCantNegative reducible live load tributary area fromcantilever
pdPosStorageTribAreaCant Positive storage live load tributary area from cantileverpdNegStorageTribAreaCant Negative storage live load tributary area from cantileverplRetVal Error code. If value is non zero then check GetLastError
GetGravityBeamReact ([in] long lBeamID, [out] double* pdSWLeft, [out] double* pdDLLeft, [out] double* pdCDLLeft, [out] double* pdCLLLeft,[out] double* pdSWRight, [out] double* pdDLRight, [out] double* pdCDLRight, [out] double* pdCLLRight, [out] double*pdReducedPosLeft, [out] double* pdReducedNegLeft, [out] double* pdReducedPosRight, [out] double* pdReducedNegRight);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 315/450
p , [ ] p g , [ ] p g , [ ] p g g );
PurposeGet gravity beam end support reactions assuming all beams are simply supported. Thisassumption may not be valid for lateral members and non-steel members.
Parameters lBeamID Beam unique IDpdSWLeft Self-weight at start of beampdDLLeft Dead Load at start of beampdCDLLeft Construction Dead Load at start of beampdCLLLeft Construction Live Load at start of beam
pdSWRight Self-weight at end of beampdDLRight Dead Load at end of beampdCDLRight Construction Dead Load at end of beampdCLLRight Construction Live Load at end of beampdReducedPosLeft Reduced positive live load reaction at left supportpdReducedNegLeft Reduced negative live load reaction at left supportpdReducedPosRight Reduced positive live load reaction at right supportpdReducedNegRight Reduced negative live load reaction at right support
Comment Note that this function returns the support reactions due to the beam and not the actualbeam end reactions. For simply supported beams with no cantilevers the support reactionand beam end reaction will be the same. To calculate the permanent dead load on themember only use the DL loads. The SW load is already included in DL and CDL is only
imposed during construction.
GetGravityLoadFramingFlag ([out] long * plGravFraming);Purpose Get the status of the gravity framing tables.Parameters plGravFraming 0 = not framed, 1 = framed
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetMaxFactoredGravityBeamReact ([in] long lBeamID, [out] double* pdMaxReactLeft, [out] double* pdMaxReactRight, [out] double* pdSignLeft,[out] double* pdSignRight, [out, retval] long* plRetval);
The magnitude of the reaction that should be used (as is displayed in RAM Steel) is calculated by rounding the provided reaction up to the next largest wholenumber using this calculation: dLeftReaction = const_cast<int>( MaxReactLeft + SignLeft * 0.95f ))
Purpose Get the factored beam (mid-span) reactions for the current ramsteel beam design code.Parameters lBeamID Beam unique ID
M f t d ti t ‘l ft’ d f id f b L ft i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 316/450
pdMaxReactLeftMax factored reaction at ‘left’ end of midspan of beam. Left islower left end of beam when observed in plan on screen.
pdMaxReactRightMax factored reaction at ‘right’ end of midspan of beam. Right isupper right end of beam when observed in plan on screen.
pdSignLeftSign of the reaction on the left (negative means largest reactionwas upwards acting as in backspan support of a cantilever)
pdSignRightSign of the reaction on the right (negative means largest reactionwas upwards acting as in backspan support of a cantilever)
plRetval Return value, 0 = no error else call GetLastError
GetMemberSelfWeight ( [in] long lMemberID, [out] double* pdSelfWeight, [out, retval] long* plRetVal );Purpose Get wall live load reduction factors.Parameters lMemberID Member unique ID
pdSelfWeight Self weightplRetVal Return value, 0 = no error else call GetLastError
GetNumBeamLoads ([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);Purpose Get total number of line and point loads on beam.Parameters lBeamID Beam unique ID
plNumLineLoads Total number of line loadsplNumPointLoads Total number of point loads
GetNumBeamSupportLinkLoads([in] long lBeamID, [out] long* plNumLineLoads, [out] long* plNumPointLoads, [in] BOOL bISupportLink);
Purpose Returns the number of line loads and point loads the beam rigid links.Parameters lBeamID Beam unique ID
plNumLineLoads Number of line loads
plNumPointLoads Number of point loads
bISupportLink True if looking for I end (start) rigid link, False if looking for J end(end) rigid link
GetNumWallLoads ([in] long lWallID, [out] long* plNumLineLoads, [out] long* plNumPointLoads);Purpose Get number of line and point loads on a wall.Parameters lWallID Wall unique ID
plNumLineLoads Total number of line loads on wallplNumPointLoads Total number of point loads on wall
GetStoryGravityReactOnCol ([in] long lStoryNoOrID, [in] long lColNum, [out] long* plIsLoadOnColumn, [out] double* pdDL, [out] double*pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double*
pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosLLRF, [out]double* pdNegLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] double* pdPosStorageLLRF, [out]double* pdNegStorageLLRF);
Purpose Get the reaction (axial force) from ONLY gravity members on a column at a particularstory. Includes the load from gravity columns above.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 317/450
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID(unique ID is preferred)
lColNum Column indexplIsLoadOnColumn True (1) if there is a load on this column from gravity memberspdDL The dead loadpdLLPosRed The downward reducible live loadpdLLNegRed The upward reducible live load
pdLLPosNonRed The downward non-reducible live loadpdLLNegNonRed The upward non-reducible live loadpdLLPosStorage The downward storage live load
GetWallLineLoad ([in] long lWallID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdCLLL, [out] double*pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out] double* pdAxCDLR, [out] double* pdAxCLLL,[out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out] EGRAVLOADTYPE* peLoadType, [out] double *pdRfactor);
Purpose Information on line loads applied on a wall.Parameters lWallID Wall unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads - 1
pdDistL Distance from left end of wall to left end of loadpdDistR Distance from left end of wall to right end of loadpdDLL Dead Load at left end of loadpdDLR 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 loadpdAxDLR 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' = storagepdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
GetWallLineLoad2 ([in] long lWallID, [in] long nLineLoadNo, [out] double* pdDistL, [out] double* pdDistR, [out] double* pdDLL, [out] double*pdDLR, [out] double* pdCDLL, [out] double* pdCDLR, [out] double* pdLLL, [out] double* pdLLR, [out] double* pdPLL, [out] double*pdPLR, [out] double* pdCLLL, [out] double* pdCLLR, [out] double* pdAxDLL, [out] double* pdAxDLR, [out] double* pdAxCDLL, [out]double* pdAxCDLR, [out] double* pdAxCLLL, [out] double* pdAxCLLR, [out] double* pdAxLLL, [out] double* pdAxLLR, [out]EGRAVLOADTYPE* peLoadType [out] double * pdRfactor);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 318/450
EGRAVLOADTYPE* peLoadType, [out] double * pdRfactor);
Purpose Information on line loads applied on a wall.Parameters lWallID Wall unique ID
nLineLoadNo Line load index number from 0 to plNumLineLoads - 1pdDistL Distance from left end of wall to left end of loadpdDistR Distance from left end of wall to right end of loadpdDLL Dead Load at left end of loadpdDLR Dead Load at right end of load.pdCDLL Perpendicular Construction Dead Load at left end of load.pdCDLR Perpendicular Construction Dead Load at right end of load.pdLLL Perpendicular Unreduced Live Load at left end of load. (pos if dn)pdLLR Perpendicular Unreduced Live Load at right end of load. (pos if dn)pdPLL Perpendicular Partition Load at left end of load. (pos if dn)pdPLR Perpendicular Partition Load at right end of load. (pos if dn)pdCLLL Perpendicular Construction Live Load at left end of load. (pos if dn)pdCLLR Perpendicular Construction Live Load at right end of load. (pos if dn)pdAxDLL Axial Dead Load at left end of loadpdAxDLR Axial Dead Load at right end of load.pdAxCDLL Axial Construction Dead Load at left end of load.pdAxCDLR Axial Construction Dead Load at right end of load.pdAxCLLL Axial Construction Live Load at left end of load. (pos if dn)pdAxCLLR Axial Construction Live Load at right end of load. (pos if dn)pdAxLLL Axial Unreduced Live Load at left end of load. (pos if dn)pdAxLLR Axial Unreduced Live Load at right end of load. (pos if dn)pdAxPLL Axial Partiton Load at left end of load. (pos if dn)pdAxPLR Axial Partition Load at right end of load. (pos if dn)peLoadType Type of live load: 'RF' = roof, 'FL' = floor, 'UR' = unreducible, 'ST' = storage
pdRfactor Live Load Reduction Factor (%) e.g. 0.5 for 50% reducible
GetWallLLRedFactor ([in] long lWallID, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double*pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF);
Purpose Get wall live load reduction factors.Parameters lWallID Wall unique ID
pdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factor
GetWallPointLoad ([in] long lWallID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double*pdCLL, [out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out]double* pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdAxDL,[out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double* pdAxPosRedLL, [out] double*
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 319/450
dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double* pdAxPosStorageLL, [out] double*pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF,[out] double* pdNegStorageLLRF, [out] double* pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] EGRAVPTLOADSOURCE* peLoadType);
Purpose Information on the point loads applied on a wall.Parameters lWallID Wall unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1
pdDist Location of point load from start of wallpdDL Perpendicular Dead LoadpdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live LoadpdLLNegRed Perpendicular Negative Reducible Live LoadpdLLPosNonRed Perpendicular Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLNegNonRed Perpendicular Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdLLPosStorage Perpendicular Positive Storage Live LoadpdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live LoadpdLLNegRoof Perpendicular Negative Roof Live Load
pdAxDL Axial Construction Dead LoadpdAxCDL Axial Construction Live LoadpdAxCLL Axial Positive Reducible Live LoadpdAxPosRedLL Axial Negative Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdAxPosNonRedLL Axial Positive Non-Reducible Live Load (v14.03 to v14.05.01 included partition load)pdAxNegStorageLL Axial Negative Storage Live LoadpdAxPosStorageLL Axial Positive Storage Live Load
pdAxNegRoofLL Axial Negative Roof Live Load
pdAxPosRoofLL Axial Positive Roof Live LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factorpdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpeLoadType Point load source
pdLLNegStorage The upward storage live loadpdLLPosRoof The downward roof live loadpdLLNegRoof The upward roof live load
pdPosLLRF The downward live load reduction factorpdNegLLRF The upward live load reduction factorpdPosRoofLLRF The downward roof live load reduction factorpdNegRoofLLRF The upward roof live load reduction factorpdPosStorageLLRF The downward storage live load reduction factor
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 320/450
pdNegStorageLLRF The upward storage live load reduction factor
CommentsThe reduction values are as a percent. To reduce a member force by the reduction valueyou will need to multiply the force by the following equation (1.0 - LLRF / 100)
GetWallPointLoad2 ([in] long lWallID, [in] long lPtLoadNo, [out] double* pdDist, [out] double* pdDL, [out] double* pdCDL, [out] double* pdCLL,[out] double* pdLLPosRed, [out] double* pdLLNegRed, [out] double* pdLLPosNonRed, [out] double* pdLLNegNonRed, [out] double*pdLLPosStorage, [out] double* pdLLNegStorage, [out] double* pdLLPosRoof, [out] double* pdLLNegRoof, [out] double* pdPosPL, [out]
double* pdNegPL, [out] double* pdAxDL, [out] double* pdAxCDL, [out] double* pdAxCLL, [out] double* pdAxNegRedLL, [out] double*pdAxPosRedLL, [out] double* dAxNegNonRedLL, [out] double* pdAxPosNonRedLL, [out] double* pdAxNegStorageLL, [out] double*pdAxPosStorageLL, [out] double* pdAxNegRoofLL, [out] double* pdAxPosRoofLL, [out] double* pdAxNegPL, [out] double* pdAxPosPL,[out] double* pdPosLLRF, [out] double* pdNegLLRF, [out] double* pdPosStorageLLRF, [out] double* pdNegStorageLLRF, [out] double*pdPosRoofLLRF, [out] double* pdNegRoofLLRF, [out] EGRAVPTLOADSOURCE* peLoadType);
Purpose Information on the point loads applied on a wall. 2.Parameters lWallID Wall unique ID
lPtLoadNo Point load index number from 0 to plNumPointLoads - 1pdDist Location of point load from start of wallpdDL Perpendicular Dead Load
pdCDL Perpendicular Construction Dead LoadpdCLL Perpendicular Construction Live LoadpdLLPosRed Perpendicular Positive Reducible Live LoadpdLLNegRed Perpendicular Negative Reducible Live LoadpdLLPosNonRed Perpendicular Positive Non-Reducible Live LoadpdLLNegNonRed Perpendicular Negative Non-Reducible Live LoadpdLLPosStorage Perpendicular Positive Storage Live LoadpdLLNegStorage Perpendicular Negative Storage Live LoadpdLLPosRoof Perpendicular Positive Roof Live Load
pdLLNegRoof Perpendicular Negative Roof Live Load
pdPosPL Perpendicular Positive Partition LoadpdNegPL Perpendicular Negative Partition LoadpdAxDL Axial Construction Dead LoadpdAxCDL Axial Construction Live LoadpdAxCLL Axial Positive Reducible Live LoadpdAxPosRedLL Axial Negative Reducible Live LoaddAxNegNonRedLL Axial Negative Non-Reducible Live LoadpdAxPosNonRedLL Axial Positive Non-Reducible Live LoadpdAxNegStorageLL Axial Negative Storage Live LoadpdAxPosStorageLL Axial Positive Storage Live LoadpdAxNegRoofLL Axial Negative Roof Live LoadpdAxPosRoofLL Axial Positive Roof Live Load
pdAxNegPL Axial Negative Partition LoadpdAxPosPL Axial Positive Partition LoadpdPosLLRF Positive live load reduction factorpdNegLLRF Negative live load reduction factorpdPosStorageLLRF Positive Storage live load reduction factor
dN St LLRF N ti St li l d d ti f t
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 321/450
pdNegStorageLLRF Negative Storage live load reduction factorpdPosRoofLLRF Positive Roof live load reduction factorpdNegRoofLLRF Negative Roof live load reduction factorpeLoadType Point load source
Reset ();Purpose Internal use only.
IGravitySteelDesign1
Philosophy: This interface returns the results of the design process in RAM Steel Beam module. These results are only available after a designall has been performed in RAM Steel Beam.
GetBeamCamber([in] long lBeamID, [out] double* pdCamber);Purpose Get steel beam camber.Parameters lBeamID Beam Unique ID
pdCamber Camber value
GetBeamCompDisp ([in] long lBeamID, [out] double* pdInitialRight, [out] double* pdInitialCenter, [out] double* pdInitialLeft, [out] double*pdPostLiveRight, [out] double* pdPostLiveCenter, [out] double* pdPostLiveLeft, [out] double* pdPostTotalRight, [out] double*pdPostTotalCenter, [out] double* pdPostTotalLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out] double*pdNetTotalLeft);
Purpose Get the deflection values for the location where the maximum total deflection occurs on a
composite gravity beam. The deflection values recovered are identical to those provided
in the Beam Deflection report in RAM Steel Beam.Note: that the location of the deflection is not recovered or reported.
Parameters lBeamID Beam Unique IDpdInitialRight Initial deflection at right cantileverpdInitialCenter Initial deflection at center spanpdInitialLeft Initial deflection at left cantileverpdPostLiveRight Positive live load deflection at right cantileverpdPostLiveCenter Positive live load deflection at center spanpdPostLiveLeft Positive live load deflection at left cantileverpdPostTotalRight Positive total deflection at right cantileverpdPostTotalCenter Positive total deflection at center spanpdPostTotalLeft Positive total deflection at left cantilever
pdNetTotalRight Negative total deflection at right cantileverpdNetTotalCenter Negative total deflection at center spanpdNetTotalLeft Negative total deflection at left cantilever
GetBeamCompositeProperties ([in] long lBeamID, [out] long* plNumStudSegments, [in] long lSizeOfArrayOfStuds, [out] long* palNumStuds, [out]
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 322/450
long* pbShored, [out] double* pdDeckAngleLeft, [out] double* pdDeckAngleRight, [out] long* pbEdgeOnLeft, [out] long* pbEdgeOnRight,[out] double* pdSlabWidthLeft, [out] double* pdSlabWidthRight, [out] double* pdMinSlabThicknessLeft, [out] double*pdMinSlabThicknessRight);
Purpose Get the composite beam properties.Parameters lBeamID Beam Unique ID
plNumStudSegments Number of stud segments (<=5)lSizeOfArrayOfStuds Size of palNumStuds
palNumStuds Array containing the number of studs in each segment.pbShored 1 = ShoredpdDeckAngleLeft Deck angle left of beampdDeckAngleRight Deck angle right of beampbEdgeOnLeft 1 if there is an edge of slab on the left side of beampbEdgeOnRight 1 if there is an edge of slab on the right side of beampdSlabWidthLeft Width of slab on left side of beampdSlabWidthRight Width of slab on right side of beampdMinSlabThicknessLeft Min. slab thickness on left side of beampdMinSlabThicknessRight Min. slab thickness on right side of beam
GetBeamDesignDecks( [in] long lBeamID, [in, out] EDeckType* peDeckTypeLeft, [in, out] long* plDeckPropIDLeft, [in, out] EDeckType* peDeckTypeRight, [in, out] long* plDeckPropIDRight );
Purpose Get the deck types and unique IDs on either side of a beam.Parameters lBeamID Beam Unique ID
peDeckTypeLeft Type of deck on left side of beamplDeckPropIDLeft Unique ID of deck on left side of beampeDeckTypeRight Type of deck on right side of beamplDeckPropIDRight Unique ID of deck on right side of beam
GetBeamDesignMoments ([in] long lBeamID, [out] double* pdSEff_or_Mnp, [out] double* pdLeftPosMom, [out] double* pdLeftNegMom, [out]
double* pdMidSpanPosMom, [out] double* pdMidSpanNegMom, [out] double* pdRightPosMom, [out] double* pdRightNegMom);Purpose Retrieves effective section modulus Seff for ASD or Mn for LRFD and the design
moments for a given beam.Parameters lBeamID Beam Unique ID
pdSEff_or_Mnp Seff, in inches cubed or cm cubed, or Mn for compositeconstruction, or Sx or Mp for noncomposite construction.
pdLeftPosMom Maximum positive moment in left cantileverpdLeftNegMom Maximum negative moment in left cantileverpdMidSpanPosMom Maximum positive moment in mid-spanpdMidSpanNegMom Maximum negative moment in mid-spanpdRightPosMom Maximum positive moment in right cantileverpdRightNegMom Maximum negative moment in right cantilever
GetBeamNonCompDisp ([in] long lBeamID, [out] double* pdDeadRight, [out] double* pdDeadCenter, [out] double* pdDeadLeft, [out] double*pdLiveRight, [out] double* pdLiveCenter, [out] double* pdLiveLeft, [out] double* pdNetTotalRight, [out] double* pdNetTotalCenter, [out]double* pdNetTotalLeft);
Purpose Get the deflection values for the location where the maximum total deflection occurs on a
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 323/450
Purpose Get the deflection values for the location where the maximum total deflection occurs on anon-composite gravity beam. The deflection values recovered are identical to thoseprovided in the Beam Deflection report in RAM Steel Beam. Note that the location of thedeflection is not recovered or reported.
Parameters lBeamID Beam Unique IDpdDeadRight Initial deflection at right cantileverpdDeadCenter Initial deflection at center spanpdDeadLeft Initial deflection at right cantilever
pdLiveRight Positive Live load deflection at right cantileverpdLiveCenter Positive Live load deflection at center spanpdLiveLeft Positive Live load deflection at right cantileverpdNetTotalRight Positive total load deflection at right cantileverpdNetTotalCenter Positive total load deflection at center spanpdNetTotalLeft Positive total load deflection at left cantilever
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.
GetSteelDesignCode ([out] BSTR* pbstrBeamCode, [out] BSTR* pbstrColumnCode);Purpose To get the design code used by RAM Steel Beam and Column.Parameters pbstrBeamCode Beam code as a string
pbstrColumnCode Column code as a string
Reset ( );Purpose Internal use only.
ILoading1
Philosophy: This interface is used to access information about the load cases and load combinations that exist for the current model.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 324/450
GetAnalysisCaseIDFromAnalyzeNo ([in] long lAnalyzeNo, [out] long* plAnalysisCaseID, [out] long* plRetval)Purpose Get Analysis Case UniqueID from an index into the array of analyzed load cases.Parameters lAnalyzeNo Index into the array of analyzed load cases
plAnalysisCaseID The analysis case ID (unique number for the load case)plRetval The return value for errors. 0 = No Error
GetAnalyzedFrameLoadCaseInfo ([in] long nLoadCaseNum, [out] BSTR * pbstrLabel, [out] BSTR * pbstrType, [out] long * pnLoadType, [out]long * pnSubLoadType);
Purpose To get information about each of the load cases analyzed by RAM Frame.Parameters nLoadCaseNum Index into the array of ANALYZED load cases.
pbstrLabel For the lateral load cases generated in RAM Frame, this is the labelentered by the user. For those created outside of RAM Frame, thislabel is generated internally.
pbstrType String that indicates the type of load. This string is generatedinternally and cannot be modified.
pnLoadType Integer value indicating the load type:pnSubLoadType In combination with the above load type variable, this integer value
more specifically defines the load case by indicating sub categories
of each load case.
GetAvailFrameCombo ([in] ECOMBOTYPES eComboType, [in] long lComboNo,[out] long * plNumTerms, [out] long * palCaseIndex, [out] double * padFactor, [out] long * plSelected);
Purpose To get the information for a given load combination.Parameters eComboType Flag indicating the RAM Frame mode
lComboNo Index into load combination arrayplNumTerms Number of terms in the combination
palCaseIndex array of indices into the load case array. Maximum of 5 values in
this array.padFactor array of load case factors. Maximum of 5 values in this array.plSelected flag that indicates if the load combination is selected for use.
0 = false, 1 = trueNOTE: This is only implemented for RAM Frame in ILoading1
GetComboCode ([in] COMBO_MATERIAL_TYPEeType, [out] BSTR* pbstrComboCode);Purpose To get the code used to generate load combinations.Parameters eType Flag that indicates the program/mode that is requesting the code.
pbstrComboCode String representation of the code used to generate combinations.NOTE: This is only implemented for Concrete in ILoading1
GetComboParameters ([in] COMBO_MATERIAL_TYPEeType, [out] SComboParams_DA* pComboParams);Purpose To get the parameters used in Load Combination generation.Parameters eType Flag that indicates the program/mode that is requesting the
parameters.pComboParams The combination parameters used in load combination generation.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 325/450
p p gThese are associated with the controls in the combo generator.
NOTE: This is only implemented for Concrete in ILoading1
GetComboReGenFlag ([in] COMBO_MATERIAL_TYPEeType, [out] long* plReGen);Purpose To get the flag that indicates whether or not the load combinations need to be
regenerated.Parameters eType Flag that indicates the program/mode that is requesting the
regeneration flagplReGen The regeneration flag.
NOTE: This is only implemented for Concrete in ILoading1
GetCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* plNumCombos, [out] SLoadCombos_CmbGen_DA** ppaCombos);Purpose To get the list of load combinations.Parameters eType Flag that indicates the program/mode that is requesting the list.
plNumCombos Return value for the number of combinations in the listppaCombos Array of load combinations.
NOTE: This is only implemented for Concrete in ILoading1
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetGravLoadCaseLabel ([in] long lWhichCase, [out] BSTR* pbstrLabel);Purpose To get the label for the given load case.Parameters lWhichCase Index for the selected case
pbstrLabel Label generated by the program
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLineLoadSetInfo ([in] long lLineLoadSetID, [in, out] SCoordinate* pStartLoc, [in, out] SCoordinate* pEndLoc, [in, out] long* plLoadSetPropID,[out,retval] long* plRetVal);Purpose Get information on a line load set.Parameters lLineLoadSetID Line load set ID
pStartLoc Start location of linepEndLoc End location of line
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 326/450
pEndLoc End location of lineplLoadSetPropID LoadSetProp Unique IDplRetVal Error code. If value is non zero then check GetLastError
GetLoadCaseInfo ([in] long lLoadCaseID, [in, out] SLoadCaseInfo* psLoadCaseInfo, [out,retval] long* plRetVal);Purpose Get the SLoadCaseInfo for the specified load case.Parameters lLoadCaseID Load Case Unique ID
psLoadCaseInfo Load case info struct.plRetVal Error code. If value is non zero then check GetLastError
Comment Implemented for gravity loads only.
GetLoadCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* nNumCases, [out] SLoadCase_CmbGen_DA** ppaAllCases);Purpose To get the list of load cases to be used with the load combo generator.Parameters eType Flag that indicates the program/mode that is requesting the list.
nNumCases Return value for the number of cases in the listppaAllCases Array of the load cases. Memory is allocated inside DataAccess.
NOTE: This is only implemented for Concrete in ILoading1
GetLoadSetPropInfo ([in] long lLoadSetPropID, [in] BSTR* pbstrLabel, [in, out] long* plNumCaseIDsUsed, [in, out] long* palCaseIDsUsed, [in,out] long* plNumReferances, [out,retval] long* plRetVal);
Purpose Get the information on the load set properties. A load set is defined in RAM Modeler andis a group of gravity loads which include Dead, Construction Dead, Construction Live,Mass and one of the following live loads – Reducable, Unreducable, Storage or Roof.
Parameters lLoadSetPropID Prop Unique IDpbstrLabel 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 ofgravity load casesplNumReferances Number of times this prop. is used in modelplRetVal Error code. If value is non zero then check GetLastError
GetLoadSetPropLoadCaseInfoArray ([in] long lLoadSetPropID, [in] long lArraySize, [in, out] SLoad* paLoadMagnitudes, [out, retval] long*plRetVal);
Purpose Get the magnitudes for all the load cases that are defined in the LoadSetProp.Parameters lLoadSetPropID Prop Unique ID
lArraySize paLoadMagnitudes array sizepaLoadMagnitudes Array of SLoad for all load cases in load set.
paLoadMagnitudes must be sized to the total number of non-
zero values in palCaseIDsUsedplRetVal Error code. If value is non zero then check GetLastError
GetNodalLoadCaseInfo ([out] long * plNumLoadCases, [out] BSTR** ppbstrLoadCaseLabel, [out] BSTR** ppbstrLoadCaseType);Purpose Get the number of nodal load cases defined in the modeler.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 327/450
Parameters plNumLoadCases The number of nodal load cases definedppbstrLoadCaseLabel The label (user defined) of the load caseppbstrLoadCaseType The nodal load case type (wind, seismic, virtual, other)
GetNodalLoadsForLoadCase ([in] BSTR bstrNodalLoadCaseLabel, [out] long* plNumLoads, [out] SNodalLoadData** ppaNodalLoads);Purpose Get the nodal loads associated with a specific load case label.Parameters bstrNodalLoadCaseLabel The load case label (see GetNodalLoadCaseInfo)
plNumLoads The number of nodal loads in the load caseppaNodalLoads Array of nodal load data structures with applied forces
GetNumAnalyzedFrameLoadCases ([out] long * plNumAnalyzedLoadCases);Purpose To get the number of load cases analyzed by RAM Frame.Parameters plNumAnalyzedLoadCases The number of analyzed load cases. This number does
include merged load cases but NOT cases that arecombined to create the merged case.
GetNumAvailFrameCombos ([in] ECOMBOTYPES eComboType, [out] long * plNumAvailLoadCombos);Purpose To get the number of valid load combinations for the given RAM Frame mode. A valid
load combination is one that contains only analyzed load cases.Parameters eComboType Flag indicating the RAM Frame mode.
plNumAvailLoadCombos return value for the number of valid load combinationsNOTE: This is only implemented for RAM Frame in ILoading1
GetNumCasesForGenerator ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCases); Purpose To get the number of cases available to the combo generator.Parameters eType Flag that indicates the program/mode that is requesting the list.
nNumCases Return value for the number of cases in the count.
NOTE: This is only implemented for Concrete in ILoading1
GetNumCombos ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCombos ); Purpose To get the number of combinations.Parameters eType Flag that indicates the program/mode that is requesting the count.
pnNumCombos The number of combinationsNOTE: This is only implemented for Concrete in ILoading1
GetNumCombosInUse ([in] COMBO_MATERIAL_TYPE eType, [out] long* pnNumCombosInUse ); Purpose To get the number of combinations.Parameters eType Flag that indicates the program/mode that is requesting the
count.
pnNumCombosInUse Number of combos selected for use.
GetNumGravLoadCases ([out] long* pNum);Purpose To get the number of gravity load cases defined in the RAM Modeler. These cases
include: Dead, Reducible Live, Storage Live, Unreducible Live, and Roof Live.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 328/450
Parameters pNum Return value of the number of gravity load cases.
GetPointLoadSetInfo ([in] long lPointLoadSetID, [in, out] SCoordinate* paLoc, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);Purpose Get information on a point load set.Parameters lPointLoadSetID Point load set ID
paLoc Location of point loadplLoadSetPropID LoadSetProp Unique IDplRetVal Error code. If value is non zero then check GetLastError
GetRoofReducibleFlag ([out] long* lRoofIsReducible);Purpose To get the flag that indicates whether the roof load is reducible or snow.Parameters lRoofIsReducible 0 = snow, 1 = reducible.
GetSurfaceLoadSetInfo ([in] long lSurfLoadSetID, [in, out] long* plLoadSetPropID, [out, retval] long* plRetVal);Purpose Get information on a surface load set.Parameters lSurfLoadSetID Surface load set ID
plLoadSetPropID LoadSetProp Unique IDplRetVal Error code. If value is non zero then check GetLastError
Comment Use the Polygon functions to get the surface loading geometry
GetTotalNumLoadCases ( [in] COMBO_MATERIAL_TYPE eType, [out] long* pNumLoadCases );Purpose Get the total number of load cases.Parameters eType Combo type
pNumLoadCases Number of load cases
SetComboCode ();
Purpose Internal use only.
SetComboParameters ();Purpose Internal use only.
SetComboReGenFlag ();Purpose Internal use only.
SetCombos ();Purpose Internal use only.
SetLoadCasesForGen ();
Purpose Internal use only.
SetTotalNumLoadCases ();Purpose Internal use only.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 329/450
IMemberData1
Philosophy: This interface is for accessing and setting information for specific members. This could be information about size, framing type,material, material properties.
CalcLiveLoadReductionFactors ( );Purpose Compute live load reduction factors.
CalcRigidEndZones ( );Purpose Compute rigid end zones.
CheckForMemberSizes ( [in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMaterial, [out] BOOL bAllHaveSizes );Purpose Get beam design assignment as beam or joist.Parameters eMemType Member type
eMaterial Material type
bAllHaveSizes True if all member type of material type have sizes assigned
GetAssignedMemberKFactor ([in] long lMemberID, [out] EKFAC_ASSIGN* peMajor, [out] EKFAC_ASSIGN* peMinor, [out] double*pdMajorValue, [out] double* pdMinorValue);
Purpose To get the Assigned K factor setting for a column (in each axis) and the user specified K factorif indicated to be assigned.
Parameters lMemberID The column IDpeMajor 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 axispdMinorValue If peMinor is Use Assigned then this has the user assigned value, minor axis
GetAssignedMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);Purpose Returns the sidesway assignment : use global, braced or unbraced. See
GetMemberSidesway if you are only interested what the final ‘calculated’braced/unbraced(sway) flag is.
Parameters lMemberID The column ID to get the sidesway setting forpeMajor Major axis sidesway value (Use global/Braced/unbraced)peMinor Minor axis sidesway value (Use global /Braced/unbraced)
Note: braced = nonsway unbraced = sway
GetBeamLineNo ([in] long lBeamID, [out] long * plBeamLineNo);Purpose Get beam line number that the concrete beam is assigned to. If member is not a
concrete beam an error is returned.Parameters lBeamID Beam’s Unique ID
plBeamLineNo Beam line number assigned to member, 0 indicates no assignment
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 330/450
GetColumnDimensions ([in] long lMemberID, [out] double *pdWidth, [out] double *pdDepth);Purpose Get concrete column section dimensions.Parameters lMemberID Column’s Unique ID
pdWidth Column width / minor direction length (B)pdDepth Column depth / major direction length (H)
GetColumnHeight ([in] long lMemberID, [out] double* pdHeight);Purpose Get the column height.Parameters lMemberID Column’s Unique ID
pdHeight Column height
GetConcBeamCCBBotBars ([in] long lBeamID, [out] E_COVER_OPTION* peUseDefBotBars, [out] double* pdBotBars1, [out] double*pdBotBars2);
Purpose Get whether the beam should use the global criteria for cover to center of bars for bottombars, or whether to use User defined data for this beam.
Parameters lBeamID The unique member IDpeUseDefBotBars 0 = use global criteria, 1 = use user defined values below
pdBotBars1 Assigned longitudinal bottom reinforcement cover to bar center for 1layer (if user defined)
pdBotBars2 Assigned longitudinal bottom reinforcement cover to bar center for 2layer (if user defined)
GetConcBeamCCBTopBars ([in] long lBeamID, [out] E_COVER_OPTION* peUseDefTopBars, [out] double* pdTopBars1, [out] double*pdTopBars2);
Purpose Get whether the beam should use the global criteria for cover to center of bars for top
bars, or whether to use User defined data for this beam.
Parameters lBeamID The unique member IDpeUseDefTopBars 0 = use global criteria, 1 = use user defined values belowpdTopBars1 Assigned longitudinal top reinforcement cover to bar center for 1
layer (if user defined)pdTopBars2 Assigned longitudinal top reinforcement cover to bar center for 2
layer (if user defined)
GetConcBeamDesignAsBeam ([in] long lBeamID, [out] long* plDsnAsBeam);Purpose Get beam design assignment as beam or joist.Parameters lBeamID Beam’s Unique ID
plDsnAsBeam Convert to BOOL True = design as beam, False = design as joist
GetConcBeamMaxBarLayers ([in] long lBeamID, [out] E_BARLAYERS_OPTION* peBarLayers);Purpose Get whether the beam should use the global bar layer criteria or whether to use User
defined data for this beam.Parameters lBeamID The unique member ID
peBarLayers 0 = use default from criteria, 1 = 1 Layer only, 2 = allow 2 layers
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 331/450
GetConcBeamShearLegs ([in] long lBeamID, [out] E_SHEARLEGS_OPTION* peUserDefault, [out] long* plNumShearLegs);Purpose Get whether to use the global stirrup legs criteria or whether to use a user defined value.Parameters lBeamID The unique member ID
peUserDefault 0 = use global criteria, 1 = use user defined value belowplNumShearLegs Number of stirrup legs assigned to beam
GetConcBeamStirrupType ([in] long lBeamID, [out] E_STIRRUPS_OPTION* peStirrupType);Purpose Get whether to use the global stirrup type criteria or whether to use a user defined value.Parameters lBeamID The unique member ID
peStirrupType0 = use global criteria, 1 = use open stirrups, 2 = use closedstirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups
GetConcColBarGroups ([in] long lMemberID, [out] long* plGroup1, [out] long* plGroup2, [out] long* plGroup3, [out] long* plGroup4, [out] long*plGroup5);
PurposeFor the given member, get the indices into the array of bar pattern groups of theassigned bar patterns.
Parameters lMemberID Unique member id
plGroup1 Index #1plGroup2 Index #2plGroup3 Index #3plGroup4 Index #4plGroup5 Index #5
GetConcColShearLegs ([in] long lMemberID, [out] long* plNumMajor, [out] long* plNumMinor, [out] long* plUseGlobalMajor, [out] long*
plUseGlobalMinor);Purpose To get the number of shear legs assigned to a given column along each axis.Parameters lMemberID Unique member id
plNumMajor If the user selected to “use” this is the user designated number ofshear legs along the major axis.
plNumMinor If the user selected to “use” this is the user designated number ofshear legs along the minor axis.
plUseGlobalMajor 0 = use the global setting, 1 = use the user valueplUseGlobalMinor 0 = use the global setting, 1 = use the user value
GetConcreteBeamSectionDimProps ([in] long lBeamID, [out] ECONC_OTHER_SEC* peShape, [out] double* pdWebDepth, [out] double*pdWebWidthT, [out] double* pdWebWidthB, [out] double* pdFLWidthL, [out] double* pdFLWidthR, [out] double* pdFLthickL, [out] double*
pdFLthickR, [out] long* pbLeftIsEdge, [out] long* pbRightIsEdge, [out] long * pbUserSpecified); Purpose Concrete beam section dimension properties.Parameters lBeamID Beam’s Unique ID
peShape Concrete section type ECONC_OTHER_SEC pdWebDepth Distance from bottom of section to bottom of slab adjacent to beam.
If l b thi k i diff t h id f b th th di t
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 332/450
If slab thickness is different each side of beam then the distancefrom bottom of section to the bottom of the thickest slab is provided
pdWebWidthT Web width at top of webpdWebWidthB Web width at bottom of webpdFLWidthL Left flange width from center of spanpdFLWidthR Right flange width from center of spanpdFLthickL Left flange thickness
pdFLthickR Right flange thickness
pbLeftIsEdgeTrue (1) = left side is an edge of slab, False (0) = left side is not anedge
pbRightIsEdgeTrue (1) = right side is an edge of slab, False (0) = right side is notan edge
pbUserSpecified True if the user specified the design properties directly. False if userwants RAM SS to calculate the design properties
Comments Note: Total section depth is pdWebDepth + maximum thickness between pdFLthickL andpdFLthickR
GetConcreteColumnSectionDimProps ([in] long lColumnID, [out] ECONC_OTHER_SEC* peShape, [out] double* pdDepthDiam, [out] double*pdWebWidthT, [out] double* pdWebWidthB, [out] double* pdArea );
Purpose Get concrete column section dimension properties.Parameters lColumnID Column’s Unique ID
peShape Concrete section type ECONC_OTHER_SEC pdDepthDiam Full depth of column if rectangle, diameter of column if circularpdWebWidthT Section Width / minor dimensionpdWebWidthB (Same number for top and bottom)pdArea Section area
GetConcreteMemberMatlProps ([in] long IMemberID, [out] double * pdfpc, [out] double * pdfct, [out] double * pdE, [out] BSTR * pbstrAggType,
[out] double * pdLongFy, [out] double * pdShearFy, [out] double * pdPoissonsRatio, [out] double * pdMatDensity, [out] double *pdSelfWeight);
Purpose Get concrete material property for member. An error is returned if the member is notconcrete.
Parameters IMemberID Member’s Unique ID pdfpc Concrete Compression stress capacitypdfct Concrete crack section stress capacity f ct. Value is 0 if Normal
weight concrete is used or if user does not choose to enter a valuepdE Concrete modulus of elasticity Ec. If the value is -1 then the user
has selected for Ec to be calculated automatically and it must becalculated based on the concrete code being used
pbstrAggType Concrete Aggregate type NWC = normal weight concrete, LWC =
light weight concretepdLongFy Longitudinal reinforcement stress capacity fypdShearFy Transverse reinforcement stress capacity fypdPoissonsRatio Poisson’s ratio pdMatDensity Concrete material densitypdSelfWeight Concrete self weight used for self weight calculations
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 333/450
pdSelfWeight Concrete self weight used for self weight calculations
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetDisplaySize (long lMemberID, BSTR *pbstrDisplaySize);Purpose Get concrete beam section size when member is generated using pan joists.Parameters lMemberID Beam’s Unique ID
pbstrDisplaySize Concrete beam section labelComments This is used when the section name is built out of different size pans on either side of
beam
GetFootingSectionDimProps ( [in] long IFootID, [out] double* pdThickness, [out] double* pdCrackSectFactor );Purpose Get concrete material property for member. An error is returned if the member is not
concrete.Parameters IFootID Footing unique ID
pdThickness ThicknesspdCrackSectFactor Concrete cracked section factor
GetGridLabelForMember ([in] long IMemberID, [in] EDA_MEMBER_LOC eAtLoc, [in] double dDBToModelUnitConvert, [in] BSTR bstrUnit, [out]BSTR* pbstrGridLabel);
Purpose Get the grid location for the member. If there are no grids at the location the globalcoordinates are returned.
Parameters IMemberID Member’s Unique ID eAtLoc Location of member - eStart = 1, eEnd = 2, eTop = 10,
eBottom = 20
dDBToModelUnitConvert Unit conversion from inches (database units) to the required
units. If units need to be in ft the value would be 0.08333bstrUnit String of unit label for final value. If the final units need to bein feet use “ft”
pbstrGridLabel Grid location returned as string
GetIEndBeamID ( [in] long lBeamID, [out] long* plIEndBeamID);Purpose Get the beam line number of the beam adjacent to the start of beam represented by
lBeamID.Parameters lBeamID Unique Beam ID
plIEndBeamID Beam ID at start of lBeamID
GetInterfacePointer();
Purpose Internal use only.
GetJEndBeamID ( [in] long lBeamID, [out] long* plJEndBeamID);Purpose Get the beam line number of the beam adjacent to the end of the beam represented by
lBeamID.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 334/450
Parameters lBeamID Beam’s Unique ID plJEndBeamID Beam ID at end of lBeamID
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetMemberEndReleases ([in] long lMemberID, [out] long * plMajorMomFixedI, [out] long * plMinorMomFixedI, [out] long * plTorFixedI, [out] long *plMajorMomFixedJ, [out] long * plMinorMomFixedJ, [out] long * plTorFixedJ);
Purpose For lateral members get the section end release properties.Note: End I of column = top, End I of beam is left, bottom (when looking at beam in plan),End I of brace is top.
Parameters lMemberID The unique member ID
plMajorMomFixedI True (1) if fixed for bending about major axis end IplMinorMomFixedI True (1) if fixed for bending about minor axis end IplTorFixedI True (1) if fixed for bending about torsion axis end IplMajorMomFixedJ True (1) if fixed for bending about major axis end JplMinorMomFixedJ True (1) if fixed for bending about minor axis end JplTorFixedJ True (1) if fixed for bending about torsion axis end J
Note: Returns error if member is gravity member
GetMemberFrameNumber ([in] long lMemberID, [out] long* plFrameNum);
Purpose Get frame number for given member.Parameters lMemberID Member unique IDplFrameNum Frame number that the member belongs to. A number < 0 indicates
a gravity member.
GetMemberFraming ([in] long lMemberID, [out] EFRAMETYPE* eMemberFraming); Purpose Get the flag that indicates whether a member is gravity or lateral.Parameters lMemberID Unique member id
eMemberFraming Flag that indicates gravity or lateral
GetMemberLabel ([in] long lUniqueID, [out] long* plLabel);Purpose To get a specific member’s screen label (also known as the “member number”).
Parameters lUniqueID Unique id of a memberplLabel The members “member number”
GetMemberMatlLatType ([in] long IMemberID, [out] EMATERIALTYPES * peMat, [out] EFRAMETYPE * peFrameType); Purpose Get member material type and frame type.P t lM b ID M b i ID
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 335/450
Parameters lMemberID Member unique IDpeMat Material typepeFrameType Frame number that the member belongs to. A number < 0 indicates
a gravity member.
GetMemberRigidEndZones ([in] long lMemberID, [out] double * pdREZMajorI, [out] double * pdREZMinorI, [out] double * pdREZMajorJ, [out]
double * pdREZMinorJ);Purpose Get a member’s rigid end zone length (full length) due to members that frame in at itsends. Applies to beams and columns only. All calls to this function should be precededwith one call to CalcRigidEndZones(). It is only necessary to call CalcRigidEndZones()once. Gravity concrete beams (with beam lines) are assumed continuous. Gravityconcrete columns are assumed continuous.
Parameters lMemberID The unique member IDpdREZMajorI The rigid end zone length at end I in major axis (0 if pinned)pdREZMinorI The rigid end zone length at end I in minor axis (0 if pinned)pdREZMajorJ The rigid end zone length at end J in major axis (0 if pinned)pdREZMinorJ The rigid end zone length at end J in minor axis (0 if pinned)
GetMemberSectionPropInfo ([in] long IMemberID, [out] double* pdIMajGross, [out] double* pdIMinGross, [out] double* pdArea, [out] double*pdAvMaj, [out] double* pdAvMin, [out] double* pdJ, [out] double* pdCrackSectFactor );
Purpose Member analytical section properties.Parameters IMemberID Member’s Unique ID
pdIMajGross Major axis bending moment of inertiapdIMinGross Minor axis bending moment of inertiapdArea Section areapdAvMaj Effective shear area for shear in major axis
pdAvMin Effective shear area for shear in major axis
pdJ Torsional constant of the sectionpdCrackSectFactor Cracked section factor used to reduce moment of inertia valuesComments 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 andoverhangs on either side of the web are explicitly defined. For all other T sections the useshould call GetConcreteBeamSectionDimProps and then adjust the flange widths basedon the applicable concrete code effective width calculation then use the sectiondimensions to calculate the analytical section properties.
GetMemberSectionPropInfo2 ( [in] long IMemberID, [out] double* pdIMajGross, [out] double* pdIMinGross, [out] double* pdArea, [out] double*pdAvMaj, [out] double* pdAvMin, [out] double* pdJ, [out] double* pdCrackSectFlexureFactor, [out] double* pdCrackSectAxialFactor, [out]double* pdCrackSectTorsionFactor );
PurposeMember analytical sectionproperties.
Parameters IMemberID Member’s Unique ID pdIMajGross Major axis bending moment of inertiapdIMinGross Minor axis bending moment of inertiapdArea Section area
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 336/450
pdArea Section areapdAvMaj Effective shear area for shear in major axispdAvMin Effective shear area for shear in major axispdJ Torsional constant of the sectionpdCrackSectFlexureFactor Cracked section factor used to reduce flexural valuespdCrackSectAxialFactor Cracked section factor used to reduce axial valuespdCrackSectTorsionFactor Cracked section factor used to reduce torsional values
Comments This method can be called for all steel sections and for Rectangular and Circular sections. It can becalled for concrete T sections where the flange thickness and overhangs on either side of the web areexplicitly defined. For all other T sections the use should call GetConcreteBeamSectionDimProps andthen adjust the flange widths based on the applicable concrete code effective width calculation thenuse the section dimensions to calculate the analytical section properties.
GetMemberSidesway ([in] long lMemberID, [out] ESIDESWAY_ASSIGN* peMajor, [out] ESIDESWAY_ASSIGN* peMinor);Purpose Returns either ItIsBraced or ItIsUnbraced. If “Use Global” was assigned to the member,
DataAccess determines if the global state is braced or unbraced.Parameters lMemberID The member ID to get the sidesway setting for
peMajor Major axis sidesway value (Braced/unbraced)peMinor Minor axis sidesway value (Braced/unbraced)
Note: braced = nonsway unbraced = sway
GetMemberSize ([in] long lMemberID, [out] BSTR* pbstrSize);Purpose Get section label assigned to member.Parameters lMemberID Member Unique ID
pbstrSize Section label
GetMemberType ([in] long lMemberID, [out] EUniqueMemberTypeID* peMemType);
Purpose Get member type as beam, column, wall etc.Parameters lMemberID Member unique IDpeMemType Member type as column, beam, wall etc.
GetOtherMemberMatlProps ([in] long IMemberID, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double* pdMatDensity, [out] double*pdSelfWeight);
Purpose Get other member material properties.Parameters IMemberID Member’s Unique ID
pdE Steel modulus of elasticitypdPoissonsRatio Poisson’s ratio pdMatDensity Material densitypdSelfWeight Weight used for self weight calculations
GetSmartbeamType ([in] long lMemberID, [out] ESMARTBEAMTYPE* peSmartType, [out] BSTR* pbstrSize);Purpose To get the size and type of a specific smart beam.Parameters lMemberID Unique member id
peSmartType 0 = castilated, 1 = cellularpbstrSize Size as a string
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 337/450
pbstrSize Size as a string
GetSteelMemberMatlProps ([in] long IMemberID, [out] double* pdFy, [out] double* pdE, [out] double* pdPoissonsRatio, [out] double * pdDensity,[out] long* plComposite);
Purpose Get steel member material properties.Parameters IMemberID Member’s Unique ID
pdFy Steel stress capacitypdE Steel modulus of elasticitypdPoissonsRatio Poisson’s ratio pdDensity Steel material densityplComposite True (1) = member is a steel composite beam.
GetSteelMemberSectionDimProps ([in] long IMemberID, [out] ESTEEL_SEC* peShape, [out] BSTR * pbstrSize, [out] double* pdBfTop, [out]double* pdBFBot, [out] double* pdTfTop, [out] double* pdTFBot, [out] double* pdkTop, [out] double* pdkBot, [out] double* pdDepth, [out]double* pdWebT, [out] double* pdCw, [out] double* pdJ, [out] ESTEEL_ROLLED_FLAG * peRolledFlag, [out] double* pdZx, [out] double*pdZy, [out] double* pdSxtop, [out] double* pdSxbot, [out] double* pdSy, [out] double* pdImaj, [out] double* pdImin, [out] double* pdArea);
Purpose Steel section dimension properties from steel table.Parameters IMemberID Member’s Unique ID
peShape Section shapepstrSize Section labelpdBfTop Top Flange Width (breadth)pdBFBot Bottom Flange Width (breadth)pdTfTop Thickness of top flangepdTFBot Thickness of bottom flangepdkTop 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 sectionpdWebT Thickness of the web of the sectionpdCw Warping torsion constant of sectionpdJ Torsional modulus of sectionpeRolledFlag True if this is a rolled sectionpdZx Plastic modulus major axispdZy Plastic modulus minor axispdSxtop Section Modulus ToppdSxbot Section Modulus BottompdSy Section Modulus Minor AxispdImaj Major axis moment of inertiapdImin Minor axis moment of inertiapadArea Area of cross section
GetWallGroupNum ([in] long lStoryNum, [out] long *lNumberOfWallGroups);Purpose Get total number of wall groups on story.Parameters lStoryNum Story index number
lNumberOfWallGroups Total number of wall groups in story
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 338/450
IsColumnAHanger ([in] long lMemberID, [out] BOOL* pbHanger);Purpose Get whether a column is a hanger or not.Parameters lMemberID The unique member ID
pbHanger 1 if Hanger, 0 if standard column
IsItAnOffsetColumn ( [in] long lColID, [out] BOOL* pbOffsetCol );
Purpose Get whether a column is a hanger or not.Parameters lColID The unique column ID
pbOffsetCol True if offset column
Reset ( );Purpose Internal use only.
SetBeamLineNo ([in] long lBeamID, [in] long lBeamLineNo);Purpose Set beam line number that the concrete beam is assigned to. If member is not a concrete
beam an error is returned.Parameters lBeamID Beam’s Unique ID
lBeamLineNo Beam line number assigned to member, 0 indicates no assignment
SetConcBeamCCBBotBars ([in] long lBeamID, [in] E_COVER_OPTION p=eUseDefBotBars, [in] double dBotBars1, [in] double dBotBars2);Purpose Set whether the beam should use the global criteria for cover to center of bars for bottom
bars, or whether to use User defined data for this beam.Parameters lBeamID The unique member ID
eUseDefBotBars 0 = use global criteria, 1 = use user defined values belowdBotBars1 Assigned longitudinal bottom reinforcement cover to bar center for 1
layer (if user defined)dBotBars2 Assigned longitudinal bottom reinforcement cover to bar center for 2
layer (if user defined)
SetConcBeamCCBTopBars ([in] long lBeamID, [in] E_COVER_OPTION eUseDefTopBars, [in] double dTopBars1, [in] double dTopBars2);Purpose Set whether the beam should use the global criteria for cover to center of bars for top
bars, or whether to use User defined data for this beam.Parameters lBeamID The unique member ID
eUseDefTopBars 0 = use global criteria, 1 = use user defined values belowdTopBars1 Assigned longitudinal top reinforcement cover to bar center for 1
layer (if user defined)dTopBars2 Assigned longitudinal top reinforcement cover to bar center for 2
layer (if user defined)
SetConcBeamDesignAsBeam ([in] long lBeamID, [in] long lDsnAsBeam);Purpose Set beam design assignment as beam or joist.Parameters lBeamID Beam’s Unique ID
lDsnAsBeam Convert to BOOL True = design as beam, False = design as joist
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 339/450
SetConcBeamMaxBarLayers ([in] long lBeamID, [in] E_BARLAYERS_OPTION eBarLayers);Purpose Set whether the beam should use the global bar layer criteria or whether to use User
defined data for this beam.Parameters lBeamID The unique member ID
eBarLayers 0 = use default from criteria, 1 = 1 Layer only, 2 = allow 2 layers
SetConcBeamShearLegs ([in] long lBeamID, [in] E_SHEARLEGS_OPTION eUserDefault, [in] long lNumShearLegs);Purpose Set whether to use the global stirrup legs criteria or whether to use a user defined value.Parameters lBeamID The unique member ID
eUserDefault 0 = use global criteria, 1 = use user defined value belowlNumShearLegs Number of stirrup legs assigned to beam
GetConcBeamStirrupType ([in] long lBeamID, [out] E_STIRRUPS_OPTION* peStirrupType);Purpose Get whether to use the global stirrup type criteria or whether to use a user defined value.Parameters lBeamID The unique member ID
peStirrupType0 = use global criteria, 1 = use open stirrups, 2 = use closedstirrups, 3 = use 135 Hook stirrups, 4 = use Hoop stirrups
SetConcColBarGroups ([in] long lMemberID, [in] long lGroup1, [in] long lGroup2, [in] long lGroup3, [in] long lGroup4, [in] long lGroup5);
PurposeFor the given member, set the indices into the array of bar pattern groups of theassigned bar patterns.
Parameters lMemberID Unique member idlGroup1 Index #1lGroup2 Index #2lGroup3 Index #3
lGroup4 Index #4lGroup5 Index #5
SetConcColShearLegs ([in] long lMemberID, [in] long lNumMajor, [in] long lNumMinor, [in] long lUseGlobalMajor, [in] long lUseGlobalMinor);Purpose To set the number of shear legs assigned to a given column along each axis.Parameters lMemberID Unique member id
lNumMajor If the user selected to “use” this is the user designated number ofshear legs along the major axis.
lNumMinor If the user selected to “use” this is the user designated number ofshear legs along the minor axis.
lUseGlobalMajor 0 = use the global setting, 1 = use the user valuelUseGlobalMinor 0 = use the global setting, 1 = use the user value
SetConcreteMemberMatlProps ([in] long IMemberID, [in] double dfpc, [in] double dfct, [in] double dE, [in] BSTR bstrAggType, [in] doubledLongFy, [in] double dShearFy, [in] double dPoissonsRatio, [in] double dMatDensity, [in] double dSelfWeight);Purpose Set concrete material property for member. An error is returned if the member is not
concrete.Parameters IMemberID Member’s Unique ID
dfpc Concrete Compression stress capacityf C f f
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 340/450
dfct Concrete crack section stress capacity f ct. Value is 0 if Normalweight concrete is used or if user does not choose to enter a value
dE Concrete modulus of elasticity Ec. If the value is -1 then the userhas selected for Ec to be calculated automatically and it must becalculated based on the concrete code being used
bstrAggType Concrete Aggregate type NWC = normal weight concrete, LWC =
light weight concretedLongFy Longitudinal reinforcement stress capacity fydShearFy Transverse reinforcement stress capacity fydPoissonsRatio Poisson’s ratio dMatDensity Concrete material densitydSelfWeight Concrete self weight used for self weight calculations
SetIEndBeamID ( [in] long lBeamID, [out] long* plIEndBeamID);Purpose Internal use only.
SetJEndBeamID ( [in] long lBeamID, [out] long* plJEndBeamID);Purpose Internal use only.
SetMemberKFactor ([in] long lMemberID, [in] EKFAC_ASSIGN eMajor, [in] EKFAC_ASSIGN eMinor, [in] double dMajorValue, [in] doubledMinorValue );
Purpose Set the member K factor.Parameters lMemberID The member ID to get the sidesway setting for
eMajor Major axis K factor typeeMinor Minor axis K factor typ
dMajorValue Major axis K factordMinorValue Minor axis K factor
SetMemberSidesway ([in] long lMemberID, [in] ESIDESWAY_ASSIGN eMajor, [in] ESIDESWAY_ASSIGN eMinor);Purpose Sets either ItIsBraced or ItIsUnbraced. If “Use Global” was assigned to the member,
DataAccess determines if the global state is braced or unbraced.Parameters lMemberID The member ID to get the sidesway setting for
eMajor Major axis sidesway value (Braced/unbraced)eMinor Minor axis sidesway value (Braced/unbraced)
Note: braced = nonsway unbraced = sway
SetMemberSize ([in] long lMemberID, [in] BSTR bstrSize);Purpose Set section label assigned to member.
Parameters lMemberID Member Unique IDbstrSize Section label
IMemberData2
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 341/450
IMemberData2
Philosophy: (see MemberData1 above)
GetBraceDoubleAngleInfo([in] long lBraceID, [in,out] BOOL* pbIsDoubleAngle ,
[in,out] BOOL* pbLongLegsBack2Back, [in,out] double* pdBackSpacing,[out, retval] long* plRetVal)Purpose Get double angle info for brace sections.Parameters lBraceID Brace ID
pblsDoubleAngle TRUE = section is a double angle. If FALSE then ignoreremaining values
pbLongLegsBack2Back TRUE = long legs are back to backbdBackSpacing Spacing between double angle backsplRetVal Error code.
-1 = unspecified error, -2 = Section not a double angleIf value is non zero then check GetLastError
GetConcBeamCBC ( [in] long lBeamID, [out] E_COVER_OPTION* peCBCOption, [out] double* pdCBCTop, [out] double* pdCBCBot, [out]double* pdCBCSide, [out, retval] long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
peCBCOption Cover optionpdCBCTop Top coverpdCBCBot Bottom coverpdCBCSide Side cover
plRetVal Error code. If value is non zero then check GetLastError.
GetConcGapData ( [in] long lBeamID, [out] E_GAP_OPTION* peGapOption, [out] double* pdGapUpper, [out] double* pdGapLower, [out, retval]long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
peGapOption Gap optionpdGapUpper Upper gappdGapLower Lower gapplRetVal Error code. If value is non zero then check GetLastError.
GetConcBeamLinkSpacing ( [in] long lBeamID, [out] E_LINKSPC_OPTION* peLinkSpacingOption, [out] double* pdLinkSpacing, [out, retval]long* plRetVal );
Purpose Get the concrete beam link spacing for the Chinese design code.Parameters lBeamID The unique beam ID
peLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION. pdLinkSpacing Link spacingplRetVal Error code. If value is non zero then check GetLastError.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 342/450
GetConcBeamLinkSpacingChinese ([in] long lBeamID, [out] E_LINKSPC_OPTION* peLinkSpacingOption, [out] double* pdLinkSpacing, [out]double* pdLinkSpacingMin, [out, retval] long* plRetVal);
Purpose Get the concrete beam link spacing for the Chinese design code.Parameters lBeamID The unique beam ID
peLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION. pdLinkSpacing Link spacingpdLinkSpacingMin Minimum link spacingplRetVal Error code. If value is non zero then check GetLastError.
GetConcBeamMainBarSize ( [in] long lBeamID, [out] E_BARSIZE_OPTION* eMainBarSizeOption, [out] long* plMinMainBarSizeInd, [out] long*plMaxMainBarSizeInd, [out, retval] long* plRetVal );
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code. .Parameters lBeamID The unique beam ID
eMainBarSizeOption Bar size option. See E_BARSIZE_OPTION. plMinMainBarSizeInd Index to the minimum bar sizeplMaxMainBarSizeInd Index to the maximum bar sizeplRetVal Error code. If value is non zero then check GetLastError.
GetConcBeamMainBarSizeChinese ([in] long lBeamID, [out] E_BARSIZE_OPTION* eShearBarSizeOption, [out] long* pldwSelectedBarSizes,[out, retval] long* plRetVal);
Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION. pldwSelectedBarSizes Selected bar sizes.plRetVal Error code. If value is non zero then check GetLastError.
GetConcBeamShearBarSize ( [in] long lBeamID, [out] E_BARSIZE_OPTION* eShearBarSizeOption, [out] long* plMinMainBarSizeInd, [out,retval] long* plRetVal );Purpose Get the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION. plMinMainBarSizeInd Index to the bar sizeplRetVal Error code. If value is non zero then check GetLastError.
GetDeflectionCriteria ([in] long lBeamID, [out] long *plDeflCritIID);Purpose Determine the deflection criteria assigned to a beam.Parameters lBeamID The unique beam ID
plDeflCritID Prior to version 14 this returned 0 for the default deflection criteria
or 1 for the alternate deflection criteria. After v14, it returns theunique ID of the deflection criteria since multiple alternate deflectioncriteria can exist.
GetDispInterfacePointerByEnum ();Purpose Internal use only.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 343/450
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetNumPenetratedBeams([in, out] long* plNumBeamIDs, [out, retval] long* plRetVal)Purpose Returns the number of penetrated beams.Parameters plNumBeamIDs The number of beams with pentrations
plRetVal Error code. If value is non zero then check GetLastError
GetNumPensForBeamID([in] long lBeamID, [in, out] long* plNumPenetrations, [out, retval] long* plRetVal)Purpose Get the number of penetrations in a given beam.Parameters lBeamID unique beam ID
plNumPenetrations Number of penetrations in that beam.plRetVal Error code. If value is non zero then check GetLastError
GetPenetratedBeamsIDArray([in] long lArraySize, [in, out] long* palBeamIDs, [out,retval] long* plRetVal)
Purpose Get an array ids for the beams that have penetrations.Parameters lArraySize Size of array to be retrieved. (This value is retrieved from theGetNumPenetratedBeams method above).
palBeamIDs Pointer to an array longs that will contain the beam ID’s of beamscontaining penetrations. Memory must be allocated before thepointer is sent into DataAccess
plRetVal Error code. If value is non zero then check GetLastError
GetPenetrationInfo ([in] long lBeamID, [in] long lPenID, [out] double* pdDistFromIEnd, [out] double* pdDistFromTop, [out] long* plType, [out]double* pdHDiam, [out] double* pdB, [out] long* plNumStiffeners, [out] double *pdLength, [out] double *pdWidth, [out] double *pdThick);
Purpose Get data associated with a specific web penetration on a specific beam.Parameters lBeamID The unique member ID
lPenID ID of web penetration on beampdDistFromIEnd Distance of web pen from i-end of beampdDistFromTop Distance of web pen from top of beam, or 0.0 if centeredplType Shape of opening: Rectangular (0) or Circular (1)pdHDiam Height of rectangular or diameter of circular openingpdB Width of rectangular opening (or diameter or circular opening)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 344/450
p g p g ( p g)plNumStiffeners 0, 1, or 2 stiffenerspdLength Length of stiffenerspdWidth Width of stiffenerspdThick Thickness of stiffeners
GetPenetrationsIDArray([in] long lBeamID, [in] long lArraySize, [in, out] long* palPenIDs, [out,retval] long* plRetVal);Purpose Get an array of penetration ids in a given beam.Parameters lBeamID unique beam ID
lArraySize Size of array to be retrieved. (This value is retrieved from theGetNumPensForBeamID method above).
palPenIDs Pointer to an array of longs that will contain penetration ids.Memory must be allocated before the pointer is sent intoDataAccess
plRetVal Error code. If value is non zero then check GetLastError
GetTensionCompressionType ([in] long lMemberID, [in, out] ETensionCompressionMemType* peTensionCompressionType, [out, retval] long*plRetVal)
Purpose Find if this member has been designated as Tension-Only.Parameters lMemberID unique member IDpeTensionCompressionType Defines type as tension only/ compression only or bothplRetVal Error code. If value is non zero then check GetLastError
Comments Although any member ID may be passed in, only braces and beams can be designatedTension-Only at this time. All other member types will automatically have FALSE returned
Reset ( );
Purpose Internal use only.
SetBeamCamber ( );Purpose Internal use only
SetConcGapData ( [in] long lBeamID, [in] E_GAP_OPTION eGapOption, [in] double dGapUpper, [in] double dGapLower, [out, retval] long*plRetVal );
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
eGapOption Gap optiondGapUpper Upper gapdGapLower Lower gapplRetVal Error code. If value is non zero then check GetLastError.
SetConcBeamLinkSpacing ( [in] long lBeamID, [in] E_LINKSPC_OPTION eLinkSpacingOption, [in] double dLinkSpacing, [out, retval] long*plRetVal );
Purpose Set the concrete beam link spacing for the Chinese design code.Parameters lBeamID The unique beam ID
eLinkSpacingOption Link spacing option. See E LINKSPC OPTION.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 345/450
eLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION. dLinkSpacing Link spacingplRetVal Error code. If value is non zero then check GetLastError.
SetConcBeamLinkSpacingChinese ([in] long lBeamID, [in] E_LINKSPC_OPTION eLinkSpacingOption, [in] double dLinkSpacing, [in] doubledLinkSpacingMin, [out, retval] long* plRetVal);
Purpose Set the concrete beam link spacing for the Chinese design code.Parameters lBeamID The unique beam IDeLinkSpacingOption Link spacing option. See E_LINKSPC_OPTION. dLinkSpacing Link spacingdLinkSpacingMin Minimum link spacingplRetVal Error code. If value is non zero then check GetLastError.
SetConcBeamMainBarSize ( [in] long lBeamID, [in] E_BARSIZE_OPTION eMainBarSizeOption, [in] long lMinMainBarSizeInd, [in] longlMaxMainBarSizeInd, [out, retval] long* plRetVal );
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
eMainBarSizeOption Bar size option. See E_BARSIZE_OPTION.
lMinMainBarSizeInd Index to the minimum bar sizelMaxMainBarSizeInd Index to the maximum bar sizeplRetVal Error code. If value is non zero then check GetLastError.
SetConcBeamMainBarSizeChinese ([in] long lBeamID, [in] E_BARSIZE_OPTION eShearBarSizeOption, [in] long pldwSelectedBarSizes, [out,retval] long* plRetVal);
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code.Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION. pldwSelectedBarSizes Selected bar sizes.plRetVal Error code. If value is non zero then check GetLastError.
SetConcBeamShearBarSize ( [in] long lBeamID, [in] E_BARSIZE_OPTION eShearBarSizeOption, [in] long lMinMainBarSizeInd, [out, retval]long* plRetVal );
Purpose Set the concrete main bar sizes assigned to the beam for the Chinese design code. .Parameters lBeamID The unique beam ID
eShearBarSizeOption Bar size option. See E_BARSIZE_OPTION. lMinMainBarSizeInd Index to the bar sizeplRetVal Error code. If value is non zero then check GetLastError.
SetDeflectionCriteria ([in] long lBeamID, [in] long lDeflCritID);
Purpose Set the deflection criteria for the concrete beam.Parameters lBeamID The unique beam ID
lDeflCritID The unique ID of the deflection criteria assigned to the beam
SetMemberEndReleases ( [in] long lMemberID, [in] long lMajorMomFixedI, [in] long lMinormOmeFixedI, [in] long lTorFixedI, [in] longlMajorMomFixedJ, [in] long lMinormOmeFixedJ, [in] long lTorFixedJ, [out, retval] long* plRetVal );
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 346/450
j [ ] g [ ] g [ ] g p )Purpose Set the deflection criteria for the concrete beam.Parameters lMemberID The unique member ID
lMajorMomFixedI I end major moment (1 = fixed, 0 = released)lMinorMomFixedI I end minor moment (1 = fixed, 0 = released)lTorFixedI I end torsion (1 = fixed, 0 = released)lMajorMomFixedJ J end major moment (1 = fixed, 0 = released)
lMinorMomFixedJ J end minor moment (1 = fixed, 0 = released)lTorFixedJ J end torsion (1 = fixed, 0 = released)plRetVal Error code. If value is non zero then check GetLastError.
IModelData1
Philosophy: This interface is for accessing and setting model specific information. This includes model name and paths, tables or informationabout tables, units, live load reduction and other general model data.
GetBuildingCodeAsString (BSTR *pbstrCode);Purpose Gets the LL Reduction code selected in the RAM Manager.Parameters pbstrCode String representation of the selected code
GetCompanyName([out] BSTR* pbstrCompanyName);Purpose Returns the company name entered in the Defaults Utility and associated with this model.Parameters pbstrCompanyName The Company Name
GetConcAnalysisState ( [out] long* plAnalysisState );Purpose Returns the concrete analysis state of the model.Parameters plAnalysisState Concrete analysis state
GetConcBeamSectionTable ([out] long* pnNum, [out] SSECTIONS** ppaSections); Purpose Get the definitions of all the concrete beam sections defined in model.Parameters pnNum Total number of concrete beam sections defined in model
ppaSections List of concrete beam section definitions.Comments In general, one should use IMemberData1::GetConcreteBeamSectionDimProps and
IMemberData1::GetMemberSectionPropInfo to get section information because thesemethods provide all the required information.
GetConcColSectionTable ([out] long* pnNum, [out] SSECTIONS** ppaSections); Purpose Get the definitions of all the concrete column sections defined in model.Parameters pnNum Total number of concrete column sections defined in model
ppaSections List of concrete column section definitions.Comments In general, one should use IMemberData1::GetConcreteColumnSectionDimProps and
IMemberData1::GetMemberSectionPropInfo to get section information because theseth d id ll th i d i f ti
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 347/450
methods provide all the required information.
GetConcreteBeamState ( [out] long* plBeamState );Purpose Returns the concrete beam state of the model.Parameters plBeamState Concrete beam state
GetConcreteCodeAsString ([out] BSTR* pbstrConcCode);Purpose To find out what concrete code is being used.Parameters pbstrConcCode String representation of the selected concrete code
GetConcreteColumnState ( [out] long* plColumnState );Purpose Returns the concrete column state of the model.Parameters plColumnState Concrete column state
GetDirectoryPathsFromINI ([out] BSTR* pbstrTables, [out] BSTR* pbstrData, [out] BSTR* pbstrDXF, [out] BSTR* pbstrReports, [out] BSTR*pbstrError, [out] BSTR* pbstrProg);
Purpose Get all of the paths from the ini file.
Parameters pbstrTables Path to the tables directorypbstrData Path to the data directorypbstrDXF Path to the dxf directorypbstrReports Path to the reports directorypbstrError Path to the error directorypbstrProg Path to the prog directory
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetFrameType ();
Purpose Internal use only.
GetINIFileName ([out] BSTR* pbstrIniFileName);Purpose Gets the name of the ini file.Parameters pbstrIniFileName Ini file name
GetInterfacePointer();
Purpose Internal use only.
GetJobName([out] BSTR* pbstrJobName);Purpose Returns the job name entered when the model was created.Parameters pbstrJobName The Job Name
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 348/450
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLiveLoadReductionInfo ([out] BSTR* pbstrLLCode, [out] long* plOptions, [out] long* plRoofReducible);Purpose Get the information set in the LL Reduction dialog in the RAM Manager.Parameters pbstrLLCode Single character representation of the LL Reduction code
plOptions For IBC and UBC, radio button setting for the code options.plRoofReducible 1 indicates that the roof load is reducible
0 indicates that the roof load is snow.
GetMDFDrawingColor ([in] EDRAWINGCOLOR eColor, [out] DWORD* pdwColor);Purpose Gets the drawing color for the specified member type (specified by EDRAWINGCOLOR).Parameters eColor Enum of member type.
pdwColor RGB(red,green,blue) value for color
GetModelNameWithOutPath ([out] BSTR* pbstrModelName);Purpose Get the model name without its directory path.Parameters pbstrModelName Model name with path
GetModelNameWithPath ([out] BSTR* pbstrModelName);Purpose Get the model name including its directory path.
Parameters pbstrModelName The model name.
GetNumConcColSections ([out] long* pnNum);Purpose Gets the number of concrete column sections defined in the model.Parameters pnNum Number of sections
GetNumInRebarTable ([out] long* pnNum);Purpose To retrieve the number of bars in the reinforcement table.Parameters pnNum Number of bars in the table
GetPathToCurrentModel ([out] BSTR* pbstrPath);Purpose Get the path to the current model.Parameters pbstrPath Directory path
Comments The path to where the model is saved is not necessarily the same as the default“data” path.
GetPathToDataDirectory ([out] BSTR* pbstrDir);Purpose Gets the path to the data directory from the ini file.Parameters pbstrDir Path to the data directory
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 349/450
p y
GetPathToDXFDirectory ([out] BSTR* pbstrDir);Purpose Gets the path to the dxf directory from the ini file.Parameters pbstrDir Path to the dxf directory
GetPathToErrorDirectory ([out] BSTR* pbstrDir);Purpose Gets the path to the error directory from the ini file.Parameters pbstrDir Path to the error directory
GetPathToProgDirectory ([out] BSTR* pbstrDir);Purpose Gets the path to the prog directory from the ini file.Parameters pbstrDir Path to the prog directory
GetPathToReportsDirectory ([out] BSTR* pbstrDir);Purpose Gets the path to the reports directory from the ini file.Parameters pbstrDir Path to the reports directory
GetPathToTableDirectory ([out] BSTR* pbstrDir);Purpose To obtain the path to the directory where tables are stored.Parameters pbstrDir Directory path (as a string)
GetRebarTable_ConcBeam([out] long* pnNum, [out] SREIN_PROP** ppaReinProp); Purpose To get the concrete beam reinforcement information and identify which bars are used in
the concrete beam program.
Parameters pnNum Number of items in the ReinProp array.ppaReinProp The ReinProp array.
Comments In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used bythe beam program. TRUE means the program is considering that size.
GetRebarTable_ConcCol([out] long* pnNum, [out] SREIN_PROP** ppaReinProp); Purpose To get the concrete column reinforcement information and identify which bars are used by
the concrete column program.Parameters pnNum Number of items in the ReinProp array.
ppaReinProp The ReinProp array.Comments In SREIN_PROP data structure, the bool values indicate whether a bar is or is not used by
the column program. TRUE means the program is considering that size.
GetReinforcementTableName([out] BSTR* pbstrReinTable);Purpose To retrieve the reinforcement table name.Parameters pbstrReinTable Reinforcement table name
GetReportDefaultColor ( [out] EWhichFontAndColor eWhich, [out] long plTitleColor );Purpose To retrieve the reinforcement table name.Parameters eWhich EWhichFontAndColor
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 350/450
Parameters eWhich EWhichFontAndColor plTitleColor Title color index
GetReportDefaultDestination ( [out] long plDestination );Purpose To retrieve the report desitnationParameters plDestination 0 = Printer, 1 = Screen, 2 = Text File, 3 = Viewer
FIle
GetReportDefaultFont ( [out] EWhichFontAndColor eWhich, [out] long plfHeight, [out] long plfWidth, [out] long plfEscapement, [out] longplfOrientation, [out] long plfWeight, [out] Byte pbyteItalic, [out] Byte pbyteUnderline, [out] Byte pbyteSrikeOut, [out] Byte pbyteCharSet,[out] Byte pbyteOutPrecision, [out] Byte pbyteClipPrecision, [out] Byte pbyteQuality, [out] Byte pbyte PitchAndFamily, [out] BSRTpbstrFontName );
Purpose To retrieve the report default font.Parameters eWhich EWhichFontAndColor
plfHeight HeightplfWidth WidthplfEscapement Escapement
plfOrientation OrientationplfWeight WeightpbyteItallic ItallicpbyteUnderline UnderlinpbyteSrikeOut Strike outpbyteCharSet Char SetpbyteOutPrecison Out PrecisionpbyteClipPrecision Clip Precision
pbyteQuality QualitypbytePitchAndFamily Pitch and FamilypbstrFontName Font Name
GetReportDefaultMargins ( [out] double pdTopMar, [out] double pdBottomMar, [out] double pdLeftMar, [out] double pdRightMar );Purpose To retrieve the report default margins.Parameters pdTopMar Top margin
pdBottomMar Bottom marginpdLeftMar Left marginpdRightMar Right margin
GetReportDefaultPaperSize ( [out] double pdPageWidth, [out] double pdPageHeight, [out] long plPaperSize );Purpose To retrieve the report default page size.
Parameters pdPageWidth Page WidthpdPageHeight Page HeightplPaperSize Paper Size Index
GetReportDefaultUseLogo ( [out] long plLogo );Purpose To retrieve the report default page size.Parameters plLogo 1 = Use logo 0 = No logo
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 351/450
Parameters plLogo 1 = Use logo, 0 = No logo
GetSelectedTables ([out] BSTR* pbstrMasterTable, [out] BSTR* pbstrDeckTable, [out] BSTR* pbstrColumnTable, [out] BSTR*pbstrDefBeamTable, [out] BSTR* pbstrAltBeamTable, [out] BSTR* pbstrDefSmartTable, [out] BSTR* pbstrAltSmartTable, [out] BSTR*pbstrPanFormTable, [out] BSTR* pbstrReinforcement Table);
Purpose Get the names of the selected tables.Parameters pbstrMasterTable Master table namepbstrDeckTable Deck table namepbstrColumnTable Column table namepbstrDefBeamTable Default Beam table namepbstrAltBeamTable Alternate Beam table namepbstrDefSmartTable Default Smartbeam table namepbstrAltSmartTable Alternate Smartbeam table namepbstrPanFormTable Pan Form table namepbstrReinforcement Reinforcement table name
GetTimeDateStamp ([out] BSTR* pbstrTimeDateStamp);
Purpose Returns, as a string, the last time the model was modified.Parameters pbstrTimeDateStamp String representation of the time date stampComments This method can be used to check when the model data was changed.
GetUnits ([out] long* pnUnits);Purpose Get the units currently used for entering and displaying values. Note that this is not the
same as the database units that are always the same. See Database Units above.Parameters pnUnits Display and data entry units. 0 = English, 1 = SI, 2 = Metric
Comments Keep in mind that the units returned by this function relate to the units that the user willbe entering values and the units that data will be displayed in RAM SS.
Reset ();Purpose Internal use only.
SetConcAnalysisState ();Purpose Internal use only.
SetConcreteBeamState ();Purpose Internal use only.
SetConcreteColumnState ();Purpose Internal use only.
SetINIFileName ();Purpose Internal use only.
SetMDFDrawingColor ();
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 352/450
SetMDFDrawingColor ();Purpose Internal use only.
SetRebarTable_ConcBeam ();Purpose Internal use only.
SetRebarTable_ConcCol ();Purpose Internal use only.
SetTimeDateStamp ();Purpose Internal use only.
IModelData2
Philosophy: (see ModelData1 above)
GetCanadaMatInfo ( [out] long* plRolledWCol,[out] long* plRolledWBeam,[out] long* plRolledWBrace, [out] long* plWWFCol,[out] long*lWWFBeam,[out] long* plWWFBrace, [out] long* plHSSRectCol,[out] long* plHSSRectBeam,[out] long* plHSSRectBrace, [out] long*plHSSRoundCol,[out] long* plHSSRoundBrace, [out] long* plChannelBeam,[out] long* plDoubleAngleBrace,[out] long* plClassHSS);
Purpose Get Canada steel material grade to be used for each member type (e.g. use W grade forbeams, WT for built up beams etc).
Parameters plRolledWCol Rolled W gradeplRolledWBeam Rolled W grade
plRolledWBrace Rolled W gradeplWWFCol Built up column gradeplWWFBeam Built up beam gradeplWWFBrace Built up brace gradeplHSSRectCol HSS Rect gradeplHSSRectBeam HSS Rect gradeplHSSRectBrace HSS Rect gradeplHSSRoundCol HSS Round gradeplHSSRoundBrace HSS Round gradeplChannelBeam Channel beam gradeplDoubleAngleBrace Double Angle gradeplClassHSS 0 = Class C, 1 = Class H : Refer to CISC for definition of
difference between Class C and H, Hollow Sections
GetCanadaMatInfo2 ( [out] long* plRolledWCol,[out] long* plRolledWBeam,[out] long* plRolledWBrace, [out] long* plWWFCol,[out] long*lWWFBeam,[out] long* plWWFBrace, [out] long* plHSSRectCol,[out] long* plHSSRectBeam,[out] long* plHSSRectBrace, [out] long*plHSSRoundCol,[out] long* plHSSRoundBrace, [out] long* plChannelCol, [out] long* plChannelBeam, [out] long* plChannelBrace, [out]long* plDoubleAngleCol, [out] long* plDoubleAngleBrace, [out] long* plTeeCol, [out] long* plTeeBrace, [out] long* plRodBarCol, [out] long*
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 353/450
g p g , [ ] g p g , [ ] g p , [ ] g p , [ ] g p , [ ] gplRodBarBrace, [out] long* plClassHSS);
Purpose Get Canada steel material grade to be used for each member type (e.g. use W grade forbeams, WT for built up beams etc).
Parameters plRolledWCol Rolled W gradeplRolledWBeam Rolled W grade
plRolledWBrace Rolled W gradeplWWFCol Built up column gradeplWWFBeam Built up beam gradeplWWFBrace Built up brace gradeplHSSRectCol HSS Rect column gradeplHSSRectBeam HSS Rect beam gradeplHSSRectBrace HSS Rect brace gradeplHSSRoundCol HSS Round column gradeplHSSRoundBrace HSS Round brace gradeplChannelCol Channel column gradeplChannelBeam Channel beam gradeplChannelBrace Channel brace grade
plDoubleAngleCol Double Angle column gradeplDoubleAngleBrace Double Angle brace gradeplTeeCol Tee column gradeplTeeBrace Tee brace gradeplRodBarCol Round or Rectangular bar column gradeplRodBarBrace Round or Rectangular bar brace gradeplClassHSS 0 = Class C, 1 = Class H : Refer to CISC for definition of
difference between Class C and H, Hollow Sections
GetCodeSelection ([out] BSTR* pbstr);
Purpose Get Current Code Selection.Parameters pbstr Code label
GetColBeamDsgnStatus ([out] long* plColDesStatus,[out] long* plBeamDesStatus);Purpose Get the design status of the steel column and beam.Parameters plColDesStatus Status of the steel column design
0 = Not designed, 1 = Valid design, 2 = invalid designplBeamDesStatus Status of the steel beam design
0 = Not designed, 1 = Valid design, 2 = invalid design
GetConcSlabPropInfo ([in] long lConcSlabOrPropID, [in, out] SSlabProp* pSlabProp, [out,retval] long* plRetVal);
Purpose Get concrete slab properties.Parameters lConcSlabOrPropID conc slab Prop ID or concrete slab polygon ID
pSlabProp conc slab Prop pointerplRetVal Error code. If value is non zero then check GetLastError
GetDBandLatStatus ([in] long lConcSlabOrPropID, [in, out] SSlabProp* pSlabProp, [out,retval] long* plRetVal);Purpose Get the database and lateral status
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 354/450
Purpose Get the database and lateral status.Parameters plDB_Status Database status
plLatStatus Lateral status
GetDeckPropInfo ([in] long lDeckOrPropID, [in, out] SDeckProp* pDeckProp, [out,retval] long* plRetVal);Purpose Get Composite Deck properties.Parameters lDeckOrPropID Deck Prop ID
pDeckProp Deck Prop pointer
GetDefaultColBeamFy ([out] double* pdDefaultColFy,[out] double* pdDefaultBeamFy);Purpose Get the Fy default value used by the steel column and steel beam programs.Parameters pdDefaultColFy Default Fy for Steel Column
pdDefaultBeamFy Default Fy for Steel Beam
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetEHotColdFormed ([out] long* plVal);Purpose Get BS 5950 Hollow Sections setting.Parameters plVal 0 = Cold Formed, 1 = Hot Finished
GetEuroCodeFactor ([out, size_is(,*plMax)] double** ppdEuroCodeFactor, [out] long *plMax);Purpose Get Eurocode factors.Parameters ppdEuroCodeFactor Partial Safety Factors Group.
*ppdEuroCodeFactor[0] – Permanent Actions, Gamma Gsup*ppdEuroCodeFactor[1] – Permanent Actions, Gamma Ginf
*ppdEuroCodeFactor[2] – Single Variable Load, Gamma Q*ppdEuroCodeFactor[3] – Multiple Variable Loads, Gamma Q*ppdEuroCodeFactor[4] – Resistance of Class 1,2 or 3, Gamma M0*ppdEuroCodeFactor[5] – Resistance to Buckling, Gamm M1, Psi
Group:*ppdEuroCodeFactor[6] – Psi0 for Reducible Live Load*ppdEuroCodeFactor[7] – Psi0 for Storage Live Load*ppdEuroCodeFactor[8] - Reduction Factor for Vectorial Effect, Psi
VectorComposite Beam Design Group:*ppdEuroCodeFactor[9] - Shear Studs, Gamma v*ppdEuroCodeFactor[10] - Structural Steel, Fundamental, Gamma a
*ppdEuroCodeFactor[11] – Concrete, Fundamental, Gamma cplMax Number values returned
GetEuroRedFy ([out, size_is(,*plMax)] BOOL** ppbEuroRedFys, [out] long *plMax);Purpose Get “Design fy – Reduce Fy based on thickness” values.Parameters ppbEuroRedFys *ppbEuroRedFys[0] – Column
* bE R dF [1] B
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 355/450
*ppbEuroRedFys[1] – Beam*ppbEuroRedFys[2] – Brace value:
0 = do not reduce 1 = reduceplMax Number values returned
GetFndForcesFromFlag ( [out] long* plForcesFrom );Purpose Flag for foundation forces source.Parameters plForcesFrom 0 = RAM Steel, 1 = RAM Concrete, 2 = steel from Steel,
concrete from Concrete
GetFoundationDesignValid ([out] BOOL* pbValid);Purpose To get the flag that indicates if the foundation design is current and valid.Parameters pbValid The design flag.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLLRMethodChoices ([out] long* plLLRMethod,[out] long* plIBCLLRMethod);Purpose Get IBC or UBC Reduction Method.Parameters plLLRMethod For UBC code:
1 = Method 1, 2 = Method 2plIBCLLRMethod For IBC code:
0 = General Method, 1 = Alternate Method
GetMatPerimeterInfo ([in] long lMatID, [in, out] SFoundationMatInfo *pdMatInfo, [out, retval] long *plRetVal);Purpose Get information about a mat foundation. Specifically its offset from the base story.Parameters lMatID Mat Unique ID
pdMatInfo Mat info struct returnedplRetVal Error code. If value is non zero then check GetLastError
GetMemberIDArray ([in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in] longlArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Get the Unique ID's for the member type in a pre-dimensioned array.Parameters eMemberType Member type (Must be specified)
eMatType Material type - use ENoneMaterial when not applicableeGravOrLat Gravity or lateral - use MemberIsNone when not applicable
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 356/450
eGravOrLat Gravity or lateral - use MemberIsNone when not applicablelArraySize palMemberIDs array size used for verification checkpalMemberIDs Pre-dimensioned array used to return the member ID’s plRetVal Error code. If value is non zero then check GetLastError
GetMemberOnStoryIDArray ([in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in]EFRAMETYPE eGravOrLat, [in] long lArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Get the Unique ID's for the member type on a story in a pre-dimensioned array.Parameters lStoryID Story UniqueID or index number
eMemberType Member type (Must be specified)eMatType Material type - use ENoneMaterial when not applicableeGravOrLat Gravity or lateral - use MemberIsNone when not applicablelArraySize palMemberIDs array size used for verification checkpalMemberIDs Pre-dimensioned array used to return the member ID’s plRetVal Error code. If value is non zero then check GetLastError
GetMembersInPolygonIDArray ([in] long lPolygonID, [in] EUniqueMemberTypeID eMemberType, [in] EMemberInPolyCategory
eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in] long lArraySize, [in, out] long*palMemberIDs, [out,retval] long* plRetVal);
Purpose Get list of members inside a polygon.Parameters lPolygonID Polygon Unique ID
eMemberType Member type (Must be specified)eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etcbAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygonbExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetration
lArraySize palMemberIDs array size used for verification checkpalMemberIDs Array that will be filled with ID's of all Members meeting
the criteria aboveplRetVal Error code. If value is non zero then check GetLastError
Comments If either the beam or wall start or end is in the polygon, it will be added to the listNOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat andeAboveMemPolyCat
GetMembersInPolygonIDArrayAtStory ([in] long lPolygonID, [in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in]EMemberInPolyCategory eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in] longlArraySize, [in, out] long* palMemberIDs, [out,retval] long* plRetVal);
Purpose Get list of members inside a polygon.Parameters lPolygonID Polygon Unique IDlStoryID Story unique IDeMemberType Member type (Must be specified)eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etcbAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
i id l
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 357/450
as inside polygonbExcludeIfInOpeningOrPenet Ignore members that are inside an opening or penetrationlArraySize palMemberIDs array size used for verification checkpalMemberIDs 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 GetLastErrorComments If either the beam or wall start or end is in the polygon, it will be added to the listNOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat andeAboveMemPolyCat
GetModelHas ([out] long* plModelHasSteelColumns,[out] long* plModelHasBeams, [out] long* plModelHasJoists,[out] long*plModelHasSmartbeams);
Purpose To find out what type of members are used in the model.Parameters plModelHasSteelColumns 1 = the model has steel columns, 0 = it does not
plModelHasBeams This only refers to steel beams1 = the model has steel beams, 0 = it does not
plModelHasJoists 1 = the model has steel joists, 0 = it does not
plModelHasSmartbeams 1 = the model has smartbeams, 0 = it does not
GetnCut ([out] long* plVal);Purpose Get Canada parameters ‘Built Up’ setting.
See “Criteria – Canada Parameters” in RAM Manager Parameters plVal 0 = Flame Cut edges, 1 = MIL Cut edges
GetNumAnalyzedLoadCases ( [out] long* plNum );
Purpose Get the number of analyzed load cases.Parameters plNum Number of cases
GetNumMembers ([in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in] EFRAMETYPE eGravOrLat, [in, out]long* plNumMembers, [out,retval] long* plRetVal);
Purpose Returns the total number of the member type for full structure.Parameters eMemberType Member type (Must be specified)
eMatType Material type - use ENoneMaterial when not applicableeGravOrLat Gravity or lateral - use MemberIsNone when not applicableplNumMembers Return total number of member typeplRetVal Error code. If value is non zero then check GetLastError
GetNumMembersInPolygon ([in] long lPolygonID, [in] EUniqueMemberTypeID eMemberType, [in] EMemberInPolyCategory eMemberCategory,[in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in, out] long* plNumMembers, [out,retval] long*plRetVal);
Purpose Get total number of members that fall inside of a given polygon.Parameters lPolygonID Polygon ID
eMemberType Member type (Must be specified)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 358/450
eMemberType Member type (Must be specified)eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etcbAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygonbExcludeIfInOpeningOrPenet Ignore members that are inside an opening or
penetrationplNumMembers Number of members in polygonplRetVal Error code. If value is non zero then check GetLastError
Comments If either the beam or wall start or end is in the polygon, it will be added to the listNOTE1: Only implemented for eEndMemPolyCat, eBelowMemPolyCat andeAboveMemPolyCat
GetNumMembersInPolygonAtStory ([in] long lPolygonID , long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in]EMemberInPolyCategory eMemberCategory, [in] BOOL bAcceptMembOnPolyEdge, [in] BOOL bExcludeIfInOpeningOrPenet, [in, out]long* plNumMembers, [out,retval] long* plRetVal);
Purpose Get total number of members that fall inside of a given polygon. 2.
Parameters lPolygonID Polygon Unique IDlStoryID Unique ID of story to get members oneMemberType Member type (Must be specified)eMemberCategory Category to consider. Members that pass through
polygon, end at polygon etcbAcceptMembOnPolyEdge true = Consider members that are on the edge of polygon
as inside polygonbExcludeIfInOpeningOrPenet Ignore members that are inside an opening or
penetrationplNumMembers Number of members in polygon
plRetVal Error code. If value is non zero then check GetLastErrorComments 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 andeAboveMemPolyCat
GetNumMembersOnStory ([in] long lStoryID, [in] EUniqueMemberTypeID eMemberType, [in] EMATERIALTYPES eMatType, [in]EFRAMETYPE eGravOrLat, [in, out] long* plNumMembers, [out,retval] long* plRetVal);
Purpose Get the total number of the member type on a given story.Parameters lStoryID Story UniqueID or index number
eMemberType Member type (Must be specified)eMatType Material type - use ENoneMaterial when not applicableeGravOrLat Gravity or lateral - use MemberIsNone when not applicableplNumMembers Return total number of member typeplRetVal Error code. If value is non zero then check GetLastError
Comments Works on the following eMemberTypes which are material dependent:eTypeColumn, eTypeBeam, eTypeWall, eTypeBrace, eTypeFoundation, eTypeStory,eTypeFloorType, eTypeDeckProp, eTypeSlabProp, eTypeDeckOrSlabIf an eMemberTypes is not supported the fundtion will return an error code and theGetLastError will indicate that the Member Type is invalid
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 359/450
GetLastError will indicate that the Member Type is invalid.
GetNumSections ([out] long* plConcCol,[out] long* plOtherCol, [out] long* plConcBm,[out] long* plOtherBm, [out] long* plConcBrc,[out] long*plOtherBrc);
Purpose Get the number sections defined for each member type listed below.
Parameters plConcCol Number of concrete column sections defined.plOtherCol Number of “other” columns sections defined. plConcBm Number of concrete beams sections defined.plOtherBm Number of “other” beams sections defined. plConcBrc Number of concrete braces sections defined.plOtherBrc Number of “other” braces sections defined.
GetNumSlabsInSlabPerimeter ([in] long lMatID, [in, out] long* plNumSlabs);Purpose Get number of Slab prop IDs that overlap a given mat perimeter.Parameters lMatID unique id of mat perimeter
plNumSlabs number of eTypeFoundationMatSlab that overlap given matperimeter
GetPDelta ([out] BOOL* pbPDelta );Purpose Determine if P Delta is selected in Frame.Parameters pbPDelta True if PDelta is selected
GetSelectedSteelJoistTables ([in, out] BSTR* pbstrDefStandardTableName, [in, out] BSTR* pbstrAltStandardTableName, [in, out] BSTR*pbstrDefConstShearTableName, [in, out] BSTR* pbstrAltConstShearTableName, [out, retval] long* plRetVal);
Purpose Get the steel joist table names.Parameters pbstrDefStandardTableName Default standard table name
pbstrAltStandardTableName Alternate standard table namepbstrDefConstShearTableName Default Constant Shear table namepbstrAltConstShearTableName Alternate Constant Shear table nameplRetVal Error code. If value is non zero then check
GetLastError
GetSelfWeightIncludes ([out] long* plIncColSelfWeight,[out] long*plIncBeamSelfWeight,[out] long* plIncWallSelfWeight);Purpose To get the self-weight flags for column, beams and walls.Parameters plIncColSelfWeight 1 = include self-weight for columns, 0 = do not include self-weight
plIncBeamSelfWeight 1 = include self-weight for beams, 0 = do not include self-weightplIncWallSelfWeight 1 = include self-weight for walls, 0 = do not include self-weight
GetSlabsInSlabPerimeterIDArray ([in] long lMatID, [in, out] long* palSlabIDs);Purpose Get a list of Slab prop IDs that overlap a given mat perimeter.Parameters lMatID Mat perimeter unique ID
palSlabIDs List of IDs of type eTypeFoundationMatSlab
ModelIsTensionOnly ([in, out] BOOL* pbTensionOnly, [out, retval] long* plRetVal)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 360/450
Purpose Find out if any tension only members exist. If they do, this is considered a tension onlymodel.
Parameters pbTensionOnly TRUE = there exists at least one member that is tension only thusthe model is a tension only model.
plRetVal Error code. If value is non zero then check GetLastError
Reset ();Purpose Internal use only.
SetColBeamDsgnStatus ();Purpose Internal use only.
SetDBandLatStatus ();Purpose Internal use only.
SetEHotColdFormed ([in] long lVal);
Purpose Set BS 5950 Hollow Sections setting.Parameters lVal 0 = Cold Formed, 1 = Hot Finished
SetEuroCodeFactor ();Purpose Internal use only
SetFoundationDesignValid ();
Purpose Internal use only
SetGravityLoadFramingFlag ();Purpose Internal use only
SetnCut ();Purpose Internal use only
SetNumAnalyzedLoadCases ();Purpose Internal use only
IModelGeometry1
Philosophy: This interface is for accessing and setting information about the geometry of the model. This includes dimensions of members,framing, story and floor type data. While information can be obtained on a member-by-member basis, all of the information relates to thephysicality of the model (rather than specific information about a member, such as material properties). The Member Data Interface is wherespecific information about members can be found
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 361/450
specific information about members can be found.
Comment 1: In the sections the Start of a member refers the end of the member that is closest to the bottom left corner of the model whenlooking 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 currentlybut 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 inexisiting code but new code should be written with the more current methods.
GetAllMemberIDsFor ([in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMaterial, [out] long* lNumIDs, [out] long** ppalIDs); Purpose Get all member ID’s for a given member type and material type.Parameters eMemType Member type used to find members
eMaterial Material type used to find memberslNumIDs Number of members found.
ppalIDs Array of IDs. Size of array is lNumIDs
GetBeamDepthFramingIntoColumn ([in] long lColID, [out] double* pdMaxMajorDepth, [out] double* pdMinMajorDepth, [out] double*pdMaxMinorDepth, [out] double* pdMinMinorDepth);
Purpose Get the max and minimum beam depths that are framing into a column. Note: The maxand min depths will be on opposite sides. So if a column has two beams of differentdepths framing into one face and no beams framing into the opposite face, the min value
will be zero.Parameters lColID Column Unique ID
pdMaxMajorDepth Max beam depth framing into the major face of the columnpdMinMajorDepth Min beam depth framing into the major face of the columnpdMaxMinorDepth Max beam depth framing into the minor face of the columnpdMinMinorDepth Min beam depth framing into the minor face of the column
GetBeamGeomInfo ([in] long lBeamID, [out] long* plBeamLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]double* pdXStart, [out] double* pdYStart, [out] double* pdZStart, [out] double* pdXEnd, [out] double* pdYEnd, [out] double* pdZEnd, [out]double* pdStartSupportX, [out] double* pdStartSupportY, [out] double* pdStartSupportZ, [out] double* pdEndSupportX, [out] double*pdEndSupportY, [out] double* pdEndSupportZ, [out] double* pdStartCantLength, [out] double* pdMidSpanLength, [out] double*pdEndCantLength);
Purpose Get beam Geometry information including its location in the 3D model.
Parameters lBeamID Unique Beam IDplBeamLabel Beam Label as seen in modelpeGravOrLat Gravity or Lateral memberpeMaterial Material TypepdXStart 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 endpdYStart Global Y coordinate location at start of BeampdZStart Global Z coordinate location at start of Beam
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 362/450
pdZStart Global Z coordinate location at start of BeampdXEnd Global X coordinate location at end of Beam - These values are at
the end of the cantilever if the beam has one at the endpdYEnd Global Y coordinate location at end of BeampdZEnd Global Z coordinate location at end of Beam
pdStartSupportX Global X coordinate location of Support at start of Beam – Thesevalues are the same as pdXStart if beam does not have a cantileverat its start
pdStartSupportY Global Y coordinate location of Support at start of BeampdStartSupportZ Global Z coordinate location of Support at start of BeampdEndSupportX Global X coordinate location of Support at end of Beam - These
values are the same as pdX2 if beam does not have a cantilever atits end
pdEndSupportY Global Y coordinate location of Support at end of BeampdEndSupportZ Global Z coordinate location of Support at end of beampdStartCantLength Cantilever length at start of BeampdMidSpanLength Middle span length
pdEndCantLength Cantilever length at end of Beam
GetBeamRigidLinkInfo ([in] long lBeamID, [out] double* dIX, [out] double* dIY, [out] double* dIZ, [out] double* dJX, [out] double* dJY, [out]double* dJZ, [out] long* lIMemberID, [out] long* lJMemberID);
Purpose Determine rigid link end coordinates and supporting member IDs.Parameters lBeamID Unique ID of the beam
dIX X coordinate at the supported end of the rigid link at the Iend of the beam
dIY Y coordinate at the supported end of the rigid link at the I
end of the beam
dIZ Z coordinate at the supported end of the rigid link at the Iend of the beam
dJX X coordinate at the supported end of the rigid link at the Jend of the beam
dJY Y coordinate at the supported end of the rigid link at the Jend of the beam
dJZ Z coordinate at the supported end of the rigid link at the Jend of the beam
lIMemberID Unique ID of the member supporting the rigid link at the Iend of the beam
lJMemberID Unique ID of the member supporting the rigid link at the Jend of the beam
GetBeamSupportDims ([in] long lBeamID, [out] double *pdSuppLengthStart, [out] double *pdSuppWidthStart, [out] double *pdSuppLengthEnd,[out] double *pdSuppWidthEnd);
Purpose Get dimensions of the member supporting the given beam.Parameters lBeamID Beam’s unique ID
pdSuppLengthStart Support Length parallel to beam span at start of beampdSuppWidthStart Support width perpendicular to beam span at start of beam
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 363/450
pdSuppWidthStart Support width perpendicular to beam span at start of beampdSuppLengthEnd Support Length parallel to beam span at end of beampdSuppWidthEnd Support width perpendicular to beam span at end of beam
GetBeamSupportInfo ([in] long IBeamID, [out] EUniqueMemberTypeID* peSupportTypeStart, [out] long* plSupportIDStart, [out]
EUniqueMemberTypeID* peSupportTypeEnd, [out] long* plSupportIDEnd);Purpose Get information on the end supports of a beam.Parameters IBeamID Beam ID
peSupportTypeStart Support Type at start of Beam (i.e. Column, Beam, Wall)plSupportIDStart Member ID of support at start of beampeSupportTypeEnd Support Type at end of Beam (i.e. Column, Beam, Wall)plSupportIDEnd Member ID of support at end of beam
GetBraceGeomInfo ([in] long lBraceID, [out] long* plBraceLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]double* pdXTop, [out] double* pdYTop, [out] double* pdZTop, [out] double* pdXBottom, [out] double* pdYBottom, [out] double*pdZBottom);
Purpose Get Brace Geometry information including its location in the 3D model.Parameters lBraceID Unique Brace ID
plBraceLabel Brace Label as seen in modelpeGravOrLat Gravity or Lateral memberpeMaterial Material TypepdXTop Global X coordinate location at top of BracepdYTop Global Y coordinate location at top of BracepdZTop Global Z coordinate location at top of Brace
pdXBottom Global X coordinate location at bottom of BracepdYBottom Global Y coordinate location at bottom of Brace
pdZBottom Global Z coordinate location at bottom of Brace
GetColIDAtBracedLevel ([in] long nStartColID, [in] EAXIS eAxis, [out] long* plTopStoryColID, [out] long* plBotStoryColID, [out] long*plTopStoryNo, [out] long* plBotStoryNo);
Purpose Determine at which level up a column stack a beam (or slab) frames into the column axisin question. Column is braced in axis by beam, wall, and/or slab. The angle at which abeam is considered bracing a column (and if the deck/slab braces the column) is set bythe 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 beingconsidered braced.
Parameters nStartColID Col ID for a column in the stack to look ateAxis Column local Axis to retrieve braced info aboutplTopStoryColID 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 columnplBotStoryNo Story number of the bottom column
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 364/450
GetColumnGeomInfo ([in] long lColumnID, [out] long* plColumnLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial,[out] double* pdXBottom, [out] double* pdYBottom, [out] double* pdZBottom, [out] double* pdXTop, [out] double* pdYTop, [out] double*pdZTop, [out] double* pdOrientation, [out] long * plAtFnd );
Purpose Get column geometry information.
Parameters lColumnID Column’s Unique ID plColumnLabel Column Label as seen in modelpeGravOrLat Gravity or Lateral memberpeMaterial Material TypepdXBottom Bottom of column global X coordinate locationpdYBottom Bottom of column global Y coordinate locationpdZBottom Bottom of column global Z coordinate locationpdXTop Top of column global X coordinate locationpdYTop Top of column global Y coordinate locationpdZTop Top of column global Z coordinate locationpdOrientation Major axis orientation in degrees. 0 degrees indicates that major
axis is parallel to global X-axis. Positive angle rotates column
counter-clockwise.plAtFnd 0 – Indicates column is not at a foundation level, 1 = Indicates
column is at foundation level
GetColumnLoadSharing ([in] long lColumnID, [out] long* plLoadSharing);Purpose Indicates the type of deck the member is under. 2Parameters lColumnID Unique ID of the column
plLoadSharing -1 = no deck
0 = the column is entirely under a two-way deck1 = the columns ie entirely under a one-way deck
2 = the column is under both a two-way and a one-way deck.
GetColumnRigidLinkInfo ([in] long lColumnID, [out] double* dJX, [out] double* dJY, [out] double* dJZ, [out] long* lIMemberID, [out] long*lJMemberID);
Purpose Determine rigid link end coordinates and supporting member IDs.Parameters lColumnID Unique ID of the column
dJX X coordinate at the supported end of the rigid link at the Jend of the column
dJY Y coordinate at the supported end of the rigid link at the Jend of the column
dJZ Z coordinate at the supported end of the rigid link at the Jend of the column
lIMemberID Unique ID of the member supporting the rigid link at the Iend of the column
GetColumnStack ([in] long IColID, [out] long* plNumInStack, [out] long** ppalStackIDs);Purpose Get ID’s for all the columns that are in the same stack as IMemberID.Parameters IColID Column’s Unique ID
plNumInStack Number of columns in column stack
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 365/450
plNumInStack Number of columns in column stackppalStackIDs Array of unique ID’s. Size of array is plNumInStack
GetColumnStackBetween ([in] long lColBotID, [in] long lColTopID, [out] long* plNumInStack, [out] long** ppalColIDs);Purpose Get list of columns ID’s between to given columns. This can be used to find the columns
that are between brace levels when there are dummy levels.Parameters lColBotID Top column unique ID
lColTopID Bottom column unique IDplNumInStack Number of columns in listppalColIDs Array of column unique ID’s
GetColumnStackMatchMaterial ( [in] long lColID, [in, out] long* plNumInStack, [in, out] long** plStackIDs );Purpose Get contiguous Column Stack with same material type as lColID.Parameters IColID Column’s Unique ID
plNumInStack Number of columns in column stackppalStackIDs Array of unique ID’s. Size of array is plNumInStack
Comments This function is similar to GetColumnStack which does not check for material properties.
GetDeckInfo ([in] long lStory, [in] long lDeck, [out] BSTR* pbstrSize, [out] double* pdThickness, [out] long* plNumDeckPoints, [out] double**ppadXpts, [out] double** ppadYpts, [out] double** ppadZpts, [out] long* plNumOpenings);
Purpose to get information about each deck.Parameters lStory Story number
lDeck Deck number (on that specific story)pbstrSize Deck name
pdThickness Thickness of the deckplNumDeckPoints Number of points in the deck polygon
ppadXpts Array of doubles containing the X coordinates of the deck polygonppadYpts Array of doubles containing the Y coordinates of the deck polygonppadZpts Array of doubles containing the Z coordinates of the deck polygonplNumOpenings Number of openings in the deck
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetFloorTypeInfo ([in] long lFlrTypeNo, [out] BSTR * pbstrFlrTypeID, [out] long* plNumBeams, [out] long* plNumColumns, [out] long*plNumWalls, [out] long * plNumFootings);
Purpose Get information for a given floor type.
Parameters lFlrTypeNo Floor type index starting with 0pbstrFlrTypeID Floor type labelplNumBeams Total number of beams in storyplNumColumns Total number of columns in storyplNumWalls Total number of walls in storyplNumFootings Total number of Footings in story. Footings will only be used if there
are no columns, beams or walls below the footing
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 366/450
GetFootingGeomInfo ([in] long lFootID, [out] long* plFootLabel, [out] EMATERIALTYPES* peMaterial, [out] double* pdXStart, [out] double*pdYStart, [out] double* pdXEnd, [out] double* pdYEnd, [out] double* pdLeft, [out] double* pdRight, [out] double* pd, [out] double*pdBottom, [out] double* pdZ, [out] double* pdThick, [out] double* pdAngle);
Purpose Get spread and continuous footing geometry information.
Parameters lFootID The unique Footing IDplFootLabel The label number in the RAM SSpeMaterial Material TypepdXStart Start global X coordinate locationpdYStart Start global Y coordinate locationpdZStart Start global Z coordinate locationpdXEnd End global X coordinate locationpdYEnd End global Y coordinate locationpdZEnd End global Z coordinate location
pdLeft Assuming footing is parallel to the global X axis - Distance to footingleft 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 centerlinepdBottom Distance to footing bottom edge from centerlinepdZ Footing top of slab (TOS) elevationpdThick Footing thickness
pdAngleFooting angle of rotation wrt global axis - Mostly required for spreadfootings
Comments Note1: For spread footings pdXStart, pdYStart, pdZStart and pdXEnd, pdYEnd, pdZEndwill be identical.
Note2: As of 6/10/03 the footing dimensions are the default values and do not reflect thefooting final design dimensions
GetGridInfoForGridSys ([in] long lGridSysID, [out] SGridLineInfo* pXRadial, [out] SGridLineInfo* pYCircular);Purpose Get the location of the grids in the grid system.Parameters lGridSysID Grid index number
pXRadial X or Radial grid informationpYCircular Y or Circular grid information
GetGridSysInfo ([in] long lGridSysID, [out] BSTR* pbstrLabel, [out] SGridSysType* peType, [out] double* pdXOffset, [out] double* pdYOffset,[out] double* pdRotation, [out] long* plNumXRadialGrids, [out] long* plNumYCircularGrids);
Purpose Grid system information.Parameters lGridSysID Grid System index number
pbstrLabel Grid system labelpeType Grid System type as eGridOrthogonal, eGridSkewed oreGridRadial
pdXOffset Global x offset of grid systempdYOffset Global Y offset of grid systempdRotation Global rotation of grid systemplNumXRadialGrids Number of X or Radial GridsplNumYCircularGrids Number of Y or Circular Grids
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 367/450
plNumYCircularGrids Number of Y or Circular Grids
GetGridSysLabelsAtStory ([in] long lStoryNoOrID, [in] double dXLoc, [in] double dYLoc, [out] long* plGrydSysID, [out] BSTR* pbstrXGridLabel,[out] BSTR* pbstrYGridLabel);
Purpose Get the labels of the grid system intersection at a given story. If no grids are at the given
location the global location of the point is returned.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)dXLoc Global X location of pointdYLoc Global Y location of pointplGrydSysID Grid system index numberpbstrXGridLabel X or Radial Grid label at locationpbstrYGridLabel Y or Circular grid label at location
GetIDForMemMatTypeAtStory ([in] long lStoryNo, [in] EUniqueMemberTypeID eMemType, [in] EMATERIALTYPES eMatType, [out] long**ppalUniqueIDs, [out] long* plListSize);
Purpose Get a list of unique ID’s for a given member type and material type at a story
Parameters lStoryNo Story number starting with 0 for the lowest storyeMemType Member TypeeMatType Material TypeppalUniqueIDs array of Unique ID’s plListSize Number of unique ID’s in halUniqueIDs
Comments Starting with v9.0 use GetNumMembersOnStory( ) to get the member id’s on astory. For more information, see Getting Member Information.
GetIDForMemTypeAtStory ([in] long lStoryNoOrID, [in] EUniqueMemberTypeID eMemType, [out] long** ppalUniqueIDs, [out] long* plListSize);
Purpose Get all member ID’s for a given member type at a story.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)eMemType Member type used to find membersppalUniqueIDs Array of IDs. Size of array is plListSizeplListSize Number of members found.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 368/450
GetLatWallGroupGeom ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [out] double *pdXCentroid, [out] double *pdYCentroid, [out] double*pdZCentroid, [out] double *pdAngle, [out] long *plNumWallsColsInGroup, [out] long *palWallsColsListInGroup);
Purpose Get lateral wall group geometry info.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)lWallGroupIndex Wall group index numberpdXCentroid Global X-coordinate location of wall group centroidpdYCentroid Global Y-coordinate location of wall group centroidpdZCentroid Global Z-coordinate location of wall group centroidpdAngle Angle defining major direction of wallplNumWallsColsInGroup Total number of walls and columns assigned to wall grouppalWallsColsListInGroup List of member Unique ID’s for all walls and columns that
are part of the wall group at the given story. NOTE – Thisarray must be dimensioned to a size of 99 before thefunction is called. The function will then set the unique ID’sin the array and fill the unused spaces with a value of -1
GetListGridSysOn_InStory ([in] long lStoryNoOrID, [out] long** ppalGridSysID);Purpose Get list of grid indexes for all grids that are on for a given story.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)ppalGridSysID Array of grid indexes – Array size is plNumGridSysStory
GetListGridSysOn_InFloorTyp ([in] long lFlrTypeNo, [out] long** ppalGridSysID);Purpose Get list of grid indexes for all grids that are on for a given floor type.
Parameters lFlrTypeNo Floor type number starting with 0 for the first one and going upto (plNumFloorTypes – 1) for the last floor type
ppalGridSysID Array of grid indexes – Array size is plNumGridSysFloorTyp
GetMemberID ([in] long lStoryNo, [in] long lMemNo, [in] EUniqueMemberTypeID eMemType, [out] long* plUniqueID);Purpose Get the unique member ID given the member story info and member type.Parameters lStoryNo Story number starting with 0 for the lowest story and going up to the
(total number of stories – 1)lMemNo Member index number starting with 0 and going up to (total number
of member at a given type in story – 1)eMemType Member typeplUniqueID Member’s Unique ID
Comments VB/VBA users will need to use this method to get a member ID before they can get anyother information for that member because all the other Get ID methods dimension anarray inside DA and so are not supported by VB/VBA. C++ users can use any one of theGet ID methods including the ones that dimension arrays inside the DA method.
Comments Starting with v9.0 use GetNumMembers( ) to get the member id’s. For moreinformation, see Getting Member Information.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 369/450
GetMemberLocFromID ([in] long lUniqueID, [out] long * plStoryNo, [out] long* plMemNo, [out] EUniqueMemberTypeID* peMemType); Purpose Get member index number, story, and type from a unique ID.Parameters lUniqueID Member’s Unique ID
plStoryNo Story number starting with 0 for the first level
plMemNoMember index number. This would be the value lMemNo that wouldbe sent into the method GetMemberID.
peMemType Member type used to find members
GetMemberStoryLabelFromID (long lMemberID, BSTR* pbstrStoryName, long * plMemberLabel);Purpose To get the story label given a member id.Parameters lMemberID A member’s unique id.
pbstrStoryName Label for the story the member is on.plMemberLabel Label (number) for the given member. This is the same number
displayed to the screen by any view – member number command
GetNumBeamsOnStory ([in] long lStoryNo, [out] long * plNumBeams);Purpose Get total number of beams on a storyParameters lStoryNo Story number starting with 0 for the first level
plNumBeams Total number of beams in storyComments Starting with v9.0 use GetNumMembersOnStory( ). For more information see Get
Member Information.
GetNumDecksOnStory ([in] long lStory, [out] long* plNumDecks);Purpose to get the number of decks on a given story.
Parameters lStory Story numberplNumDecks Number of decks on the given story.
GetNumFloorTypes ([out] long* plNumFloorTypes); Purpose Total number of floor types defined in RAM Modeler Parameters plNumFloorTypes Total number of floor typeComments Starting with v9.0 use GetNumMembers( )
GetNumGridSysInModel ([out] long* plNumGridSys);Purpose Total number of grid systems defined in model.Parameters plNumGridSys Total number of grid systems defined in model
GetNumGridSysOn_InFloorTyp ([in] long lFlrTypeNo, [out] long* plNumGridSysFloorTyp);Purpose Total number of grid systems that are visible (on) for a given floor type.
ParameterslFlrTypeNo Floor type number starting with 0 for the first one and going
up to (plNumFloorTypes – 1) for the last floor typeplNumGridSysFloorTyp Total number of grid systems that are on given floor type
GetNumGridSysOn InStory ([in] long lStoryNoOrID [out] long* plNumGridSysStory);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 370/450
GetNumGridSysOn_InStory ([in] long lStoryNoOrID, [out] long* plNumGridSysStory);Purpose Total number of grid systems that are visible (on) for a given story.
ParameterslStoryNoOrID Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)plNumGridSysStory Total number of grid systems that are on a given story
GetNumStories ([out] long* plNumStories);Purpose Get number of story levels in modelParameters plNumStories Number of storiesComments Starting with v9.0 use GetNumMembers( ) to get the number of stories in the
model.
GetNumStoryPerimeters ( [in] long lStoryNoOrID, [out] long* plNumPerimeters );Purpose Total number of grid systems that are visible (on) for a given story.
ParameterslStoryNoOrID Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)
plNumPerimeters Total number of slab edge perimeters on a given story
GetStoryConcSlabThicknessArea ([in] long lStoryNoOrID, [out] long* plNumSlabAreas, [out] double** ppadThickness, [out] double**ppadArea,[in] BSTR** ppbstrLabels);
Purpose Return total area and thickness for all concrete slabs on a story.Parameters lStoryNo Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)plNumSlabAreas Total number of unique slabs
ppadThickness List of slab thicknessppadArea List of slab areas
ppbstrLabels List of slab labels
GetStoryElevation ([in] long lStoryNoOrID, [out] double * pdStoryElev);Purpose Get story elevation off the ground level. Sum of all the floor heights below and including
the given story.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)pdStoryElev Story elevation from the ground level
GetStoryInfo ([in] long lStoryNo, [out] BSTR * pbstrStoryID, [out] BSTR * pbstrFloorID, [out] double* pdFlrHeight, [out] long* plNumBeams, [out]long* plNumColumns, [out] long * plNumWalls, [out] long * plNumBraces, [out] long * plNumFootings);
Purpose Get information for a given story level.Parameters lStoryNo Story number starting with 0 for the first level and going up to(plNumStories – 1) for the top (roof) level
pbstrStoryID Story LabelpbstrFloorID Floor type labelpdFlrHeight Story heightplNumBeams Total number of beams in storyplNumColumns Total number of columns in story
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 371/450
p yplNumWalls Total number of walls in storyplNumBraces Total number of braces in storyplNumFootings Total number of Footings in story. Footings will only be used if there
are no columns, beams or walls below the footing
Comments Starting with v9.0 use GetNumMembers( ) to get the member counts at a story.FloorID and FloorHeight are still valid when accessed through this method.
GetStoryLabel ([in] long lStoryNum, [out] BSTR* pbstrStoryLabel);Purpose Get story labelParameters lStoryNum Story number starting with 0 for the first level and going up to
(plNumStories – 1) for the top (roof) levelpbstrStoryLabel Story Label
GetStoryPerimeter ( [in] long lStoryNoOrID, [in] long lPerimeter, [out] long* pplXpts, [out] long* pplYpts, [out] long* pplZpts );Purpose Total number of grid systems that are visible (on) for a given story.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique
ID (unique ID is preferred)lPerimeters Perimter indexpplXpts Array of X coordinates for the perimeter indiciespplYpts Array of Y coordinates for the perimeter indiciespplZpts Array of Z coordinates for the perimeter indicies
GetStorySpliceInfo ([out] long* lNumStories, [out] long** ppalSplices);
Purpose Gets the splice flag for each story level.Parameters lNumStories The number of stories
ppalSplices An array of values that indicate if the story is spliced.1 = TRUE, there is a splice0 = FALSE, there is not a splice
GetWallGeomInfo ([in] long lWallID, [out] long* plWallLabel, [out] EFRAMETYPE* peGravOrLat, [out] EMATERIALTYPES* peMaterial, [out]double* pdXTopStart, [out] double* pdYTopStart, [out] double* pdZTopStart, [out] double* pdXTopEnd, [out] double* pdYTopEnd, [out]double* pdZTopEnd, [out] double* pdZBottomStart, [out] double* pdZBottomEnd, [out] long* plStartAtFnd, [out] long* plEndAtFnd);
Purpose Get wall geometry information.Parameters lWallID The unique Wall ID
plWallLabel The label number in the RAM SSpeGravOrLat Gravity or Lateral memberpeMaterial Material TypepdXTopStart Top start corner global X coordinate locationpdYTopStart Top start corner global Y coordinate locationpdZTopStart Top start corner global Z coordinate locationpdXTopEnd Top end corner global X coordinate locationpdYTopEnd Top end corner global Y coordinate locationpdZTopEnd Top end corner global Z coordinate locationpdZBottomStart Wall lower coordinate elevation corresponding to start corner
dZB tt E d W ll l di t l ti di t d
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 372/450
pdZBottomEnd Wall lower coordinate elevation corresponding to end cornerplStartAtFnd 1= start of wall specified is at a foundation levelplEndAtFnd 1= end of wall specified is at a foundation level
GetWallLoadSharing ([in] long lWallID, [out] long* plLoadSharing);Purpose Indicates the type of deck the member is under.Parameters lWallID Unique ID of the column
plLoadSharing -1 = no deck0 = the column is entirely under a two-way deck1 = the columns ie entirely under a one-way deck2 = the column is under both a two-way and a one-way deck.
GetWallSectionDimProps ([in] long lWallID, [out] double* pdThickness, [out] double* pdCrackSectFactor);Purpose Get wall section dimension properties.Parameters lWallID The unique Wall ID
pdThickness Wall thickness
pdCrackSectFactor Cracked section factor used to reduce moment of inertia values
IsColumnAHanger ([in] long lColID, [out] BOOL* bHanger);Purpose Determine if a column is a standard or hanging column.Parameters lColID Unique ID of the column
bHanger 1 if hanger, 0 if standard column
IsItAnOffsetColumn ([in] long lColID, [out] BOOL* pbOffsetCol);Purpose Determine if a column is offset.
Parameters lColID Unique ID of the columnpbOffsetCol 1 if it is offset, 0 if it is not offset
PointIsExposed ([in] long lStoryNoOrID, [in] double dX, [in] double dY, [retval, out] long * plPtExposed);Purpose This function determines if a given point is attached to the diaphragm or not.
There are three possible scenarios:1. the point is completely outside the diaphragm and therefore exposed.2. the point is inside the diaphragm and also inside an opening and therefore exposed3. the point is inside the diaphragm but not inside any opening and therefore NOTexposed.
Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID(unique ID is preferred)
dX X-coorddY Y-coordplPtExposed 0: If the point is exposed. (scenarios 1 and 2)
1: If the point is NOT exposed. (scenario 3)
NOTE: Another way to think of this: If a point is “exposed” it is detached from the diaphragm. If apoint is “not exposed” it is attached to the diaphragm.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 373/450
Reset ();;Purpose Internal use only.
IModelGeometry2
Philosophy: (see ModelGeometry1 above)
GetBeamSpanInformation ([in] long lBeamID, [out] double * pdLeftCantlLen, [out] double * pdMidSpanLength, [out] double *pdRightCantlLength, [out, retval] long* plResult);
Purpose Get span lengths for beam.Parameters lBeamID The unique beam ID
pdLeftCantlLen Length of left cantilever
pdMidSpanLength Length of mid spanpdRightCantlLength Length of right cantileverplResult 0 = success, greater than 0 = an error occurred.
GetColumnSupportInfo ([in] long lColumnID, [in, out] long *plMemberID, [in, out] EUniqueMemberTypeID *peSupportType, [in, out] BOOL*pbAtFoundation, [out,retval] long* plRetVal);
Purpose Get the column's controlling support member. If there is more than one member
supporting the column, the order of priority is Column, Wall and then beam.Parameters lColumnID Column unique ID
plMemberID ID of member supporting the column.If multiple walls are located only one of them is returned
peSupportType Support member typepbAtFoundation Indicates that the bottom of lColumnID is at the foundation
levelIf a foundation is assigned to the bottom of the column thenthe foundation ID and type will be returned
plRetVal Error code. If value is non zero then check GetLastError
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetFinalPolygonPointsArray ( [in] long lPolygonID,[out] long lPolygonIndex,[out] long lArraySize, [out] SCoordinate paLoc, [out] double, pdArea,[out] double pdPerimeter, [out,retval] long* plRetVal );
Purpose Get the column's controlling support member. If there is more than one membersupporting the column, the order of priority is Column, Wall and then beam.
Parameters lPolygonID Polygon unique IDlPolygonIndex Polygon indexlArraySize Size of the array of indices
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 374/450
paLoc Array of indicespdArea Polygon areapdPerimeter Perimeter lengthplRetVal Error code. If value is non zero then check GetLastError
GetFndDimensionInfo ([in] long lFndID, [out, retval] SFND_DATA* pfndData);Purpose Get the foundation dimension and location info.Parameters lFndID Foundation Unique ID
pfndData Foundation info struct
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetLatWallGroupGeom ([in] long lStoryNoOrID, [in] long lWallGroupIndex, [out] long* plWallGroupLabel, [out] double *pdXCentroid, [out] double*pdYCentroid, [out] double *pdZCentroid, [out] double *pdAngle, [out] long *plNumWallsInGroup, [out] long *plWallListInGroup, [out,
retval] long* plResult);Purpose Get the information on a wall group.Parameters lStoryNoOrID Story index starting with 0 for the first level or Story unique ID
(unique ID is preferred)lWallGroupIndex Wall group index from 0 to total number of wall groups on storyplWallGroupLabel Wall group labelpdXCentroid Wall group Centroid location in the global X-axispdYCentroid Wall group Centroid location in the global Y-axispdZCentroid Wall group Centroid location in the global Z-axispdAngle Wall group rotation angle with 0.0 degrees parallel to X-axisplNumWallsInGroup Total number of walls and columns in groupplWallListInGroup List of unique ID’s for all walls and columns in group. Array must
be dimensioned to be of size 100plResult Return error code.
GetMemberInfoAtColumn ([in] long lColumnID, [in] EDA_MEMBER_LOC eColumnEnd, [in] double dBeamToMajorFaceAngle, [out] long*plColumnAboveID, [in] long lNumBeams, [out] BEAM_INFO_AT_COLUMN* paBeamAtColumn, [in] long lNumBraces, [out]BRACE_INFO_AT_COLUMN* paBraceAtColumn);
Purpose Get information on members that are framing into column.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 375/450
Parameters lColumnID Column unique IDeColumnEnd 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 axisplColumnAboveID Unique ID of column framing into top of lColumnIDlNumBeams Size of paBeamAtColumnpaBeamAtColumn Array of information for beams framing into columnlNumBraces Size of paBraceAtColumnpaBraceAtColumn Array of information for braces framing into column
GetMemberInfoAtPointOnStory ( [in] double dx, [in] double dy, [in] long lStoryID, [in, out] EUniqueMemberTypeID* peSupportType, [in, out] long*plSupportID, [out, retval] long* plRetval );
Purpose To determine the member that is located at a point in space on a story. 3.Parameters dx, dy Point in plan to locate member under
lStoryID The story Unique ID
peSupportTypeThe type of member that is at this point in space on the storyprovided (will return foundationType if nothing at the point).
plSupportID The uniqueID of the member at the point (-1 if nothing there)plRetval
Comments This method searches for a support member in the following sequence: Column, beam,wall.
GetNumFinalPolygonPoints ( [in] long lPolygonID, [out] long lPolygonIndex, [out] long plNumPoints, [out, retval] long* plRetval );Purpose To determine the member that is located at a point in space on a story. 3.
Parameters lPolygonID Polygon unique IDlPolygonIndex Polygon indexplNumPoints Number of polygon indicesplRetval
GetNumFinalPolygons ( [in] long lPolygonID, [in] long lMaxNumEdges, [in] BOOL bAllowDuplicatePoints, [out] long plNumPolygons, [out, retval]long* plRetval );
Purpose To determine the member that is located at a point in space on a story. 3.Parameters lPolygonID Polygon unique ID
lMaxNumEdges Maximum number of edgesbAllowDuplicatePoints True if duplicate points are allowedplNumPolygons Number of polygonsplRetval
GettNumMembersAtColumn ( [in] long lColumnID, [in] EDA_MEMBER_LOC eColumnEnd, [in] double dBeamToMajorFaceAngle, [out] long*plNumBeams, [out] long* plNumBraces);
Purpose Get the total number of members framing into the end of the column.Parameters lColumnID Column unique ID
eColumnEnd Location of member -eTop = 10, eBottom = 20
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 376/450
dBeamToMajorFaceAngle If angle between column major axis and beam is less than orequal to this angle, the beam is assumed to be framing intocolumn major axis
plNumBeams Total number of beams framing into column
plNumBraces Total number of braces framing into column
GetNumPolygonRawPoints ([in] long lPolygonID, [in] BOOL bClipToPerimeter, [in, out] long* plNumPoints, [out,retval] long* plRetVal);Purpose Get the number of points that made of a polygon.Parameters lPolygonID Polygon ID
bClipToPerimeter True = clip the raw polygon to the slab edge perimiterplNumPoints Number of Points that make up the polygonplRetVal Error code. If value is non zero then check GetLastError
GetPolygonPropID ([in] long lPolygonID, [in, out] long* plPropID, [in, out] EUniqueMemberTypeID* pePropertyType, [out,retval] long* plRetVal);Purpose Returns the property ID that has been assigned to the polygon. This can only be used for
polygons that can have properties assigned to them.
Parameters lPolygonID Polygon Unique IDplPropID Return Property ID. Set to -1 if the polygon does not have a propertypePropertyType Return Property TypeplRetVal 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 otherfunction calls
GetPolygonRawPointsArray ([in] long lPolygonID, [in] BOOL bClipToPerimeter, [in] long lArraySize, [in, out] SCoordinate* paLoc, [in, out]
double* pdArea, [in, out] double* pdPerimeter, [out,retval] long* plRetVal);Purpose Get array of points defining the polygon.Parameters lPolygonID Polyon Unique ID
bClipToPerimeter True = clip the raw polygon to the slab edge perimiterlArraySize Expected Size of paLocpaLoc Polygon corner coordinatespdArea Area of polygonpdPerimeter Perimiter length of polygonplRetVal Error code. If value is non zero then check GetLastError
GetWallSupportInfo ( [in] long lWallID, [out] EUniqueMemberTypeID peSupportTypeStart, [out] long plSupportIDStart, [out]
EUniqueMemberTypeID peSupportTypeEnd, [out] long plSupportIDEnd, [out,retval] long* plRetVal);Purpose Get array of points defining the polygon.Parameters lWallID Wall unique ID
peSupportTypeStart EUniqueMemberTypeID plSupportIDStart Start support unique IDpeSupportTypeEnd EUniqueMemberTypeID plSupportIDEnd End support unique IDplRetVal Error code. If value is non zero then check GetLastError
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 377/450
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 changedby another module.
ActionOccurred ();Purpose Internal use only.
ActionWithCountOccurred ();Purpose Internal use only.
DesignIsValid ( [in] WhichModule eWhich, [out] BOOL bDesignIsValid );Purpose To find out the status of a module.Parameters eWhich Which module to get the status of.
bDesignIsValid True if design is valid
GetDispInterfacePointerByEnum ();
Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
GetNumOpeningChanges ();Purpose Internal use only.
GetNumWallChanges ();Purpose Internal use only.
GetOpeningChanges ();
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 378/450
GetOpeningChanges ();Purpose Internal use only.
GetWallChanges ();
Purpose Internal use only.
InitializeModelStatus ();Purpose Internal use only.
IsModelDirty ();Purpose Internal use only.
KillModelStatus ();Purpose Internal use only.
RedesignMe ();Purpose Internal use only.
ReinTableChanged ();Purpose Internal use only.
Reset ();
Purpose Internal use only.
ResetOpeningChanges ();Purpose Internal use only.
ResetWallChanges ();Purpose Internal use only.
ShowModStatDialogFor ();Purpose Internal use only.
WhatsMyStatus ( [in] WhichModule eWhich, [out] model_status* peStatus );Purpose To find out the status of a module.
Parameters eWhich Which module to get the status of.peStatus Status of the requested module.
IRamDataAccess2
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 379/450
Philosophy: To provide access to the version info for DataAccess.
IsModelInUse ([out, retval] long);
Purpose Determine if the model is in use by another application. 1.reval 1 if model is in use, 0 if not.
GetVersion ([out, retval] double *pdVersion);Purpose Gets the versions of DataAccess being accessed. 1.Parameters pdVersion Version number, i.e. 9.01
ISteelColumnState
Philosophy: To provide information on the state of Steel Column
GetColAISCSelection ( [out] string *pbstrSection, [out] long *plStlColBS5950_2000, [out, retval] long *plRetVal );Purpose Get the steel column code selection.Parameters pbstrSection Code selection label
plStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990plRetVal Error code. If value is non zero then check GetLastError
GetColPlateInfo ( [out] double *pdPlateFPC, [out] double *pdPlateFy, [out] double *pdPlateMinFaceDim, [out] double *pdPlateMinSideDim, [out]
double *pdPlateIncDim, [out] double *pdPlateIncThick, [out] double *pdPlateMinFootPar, [out] double *pdPlateMinFootPerp, [out] double*pdMinPlateFootDepth, [out, retval] long *plRetVal );
Purpose Get the baseplate criteria.Parameters pdPlateFPC Concrete compressive strength
pdPlateFy Plate yield strengthpdPlateMinFaceDim Minimum dimension from face of columnpdPlateMinSideDim Minimum dimension from side of columnpdPlateIncDim Plate dimension incrementpdPlateIncThick Plate thickness incrementpdPlateMinFootPar Minimum footing width parallel to the columnpdPlateMinFootPerp Minimum footing width perpendicular to the columnpdMinPlateFootDepth Minimum footing depth
plRetVal Error code. If value is non zero then check GetLastError
GetColumnSkipLoaded ( [out] BOOL *pbSkipLoaded, [out, retval] long *plRetVal );Purpose Get the skip loading criteria.Parameters pbSkipLoaded True if skip loading is selected
plRetVal Error code. If value is non zero then check GetLastError
G tD kB C l ( [ t] l * lD kB C l [ t t l] l * lR tV l )
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 380/450
GetDeckBracesColumn ( [out] long *plDeckBracesColumn, [out, retval] long *plRetVal );Purpose Get the skip loading criteria.Parameters plDeckBracesColumn 1 if deck braces column is selected, 0 if not
plRetVal Error code. If value is non zero then check GetLastError
GetDispInterfacePointerByEnum ();Purpose Internal use only.
GetInterfacePointer();
Purpose Internal use only.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error codeComments This method is implemented in each interface. Calling it from any interface will
return the last error regardless of which interface generated the error.
GetMaxBraceAngle ( [out] double *pdVal, [out, retval] long *plRetVal );Purpose Maximum angle from column axis for which beam braces the column.
Parameters pdVal Maximum angleplRetVal Error code. If value is non zero then check GetLastError
GetMaxSplitReactionAngle ( [out] double *pdVal, [out, retval] long *plRetVal );Purpose Maximum angle from column axis at which beam reaction is not split between column
sides.Parameters pdVal Maximum angle
plRetVal Error code. If value is non zero then check GetLastError
GetNumColLines ( [out] long *plNumColLines, [out, retval] long *plRetVal );Purpose The number of steel column lines.Parameters plNumColLines Number of steel column lines
plRetVal Error code. If value is non zero then check GetLastError
GetPlateAISCSelection ( [out] string *pbstrSection, [out] long *plStlColBS5950_2000, [out, retval] long *plRetVal );Purpose Get the base plate code selection.Parameters pbstrSection Code selection label
plStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990plRetVal Error code. If value is non zero then check GetLastError
GetStlColBS5950200 ( [out] long *plVal, [out, retval] long *plRetVal );
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 381/450
Purpose Get the base plate code selection.plVal 1 if BS 5950 2000, 0 if BS 5950 1990plRetVal Error code. If value is non zero then check GetLastError
GetTrialSizeData ( [out] long *plNumTrialSizes, [out] BSTR *pbstrWTrialSize1, [out] BSTR *pbstrWTrialSize2, [out] BSTR *pbstrWTrialSize3,[out] BSTR *pbstrTTrialSize1, [out] BSTR *pbstrTTrialSize2 , [out] BSTR *pbstrTTrialSize3, [out] BSTR *pbstrPTrialSize1, [out] BSTR*pbstrPTrialSize2, [out] BSTR *pbstrPTrialSize3, [out] BOOL *pbUseTG1, [out] BOOL *pbUseTG2 , [out] BOOL *pbUseTG3, [out, retval] long*plRetVal );
Purpose Trial group criteria.Parameters plNumTrialSizes Number of trial sizes
pbstrWTrialSize1 I Section trial group 1 labelpbstrWTrialSize2 I Section trial group 2 labelpbstrWTrialSize3 I Section trial group 3 labelpbstrTTrialSize1 Rectangular HSS trial group 1 labelpbstrTTrialSize2 Rectangular HSS trial group 2 labelpbstrTTrialSize3 Rectangular HSS trial group 3 labelpbstrPTrialSize1 Round HSS trial group 1 labelpbstrPTrialSize2 Round HSS trial group 2 labelpbstrPTrialSize3 Round HSS trial group 3 labelpbUseTG1 True if trial group 1 is selectedpbUseTG2 True if trial group 2 is selectedpbUseTG3 True if trial group 3 is selectedplRetVal Error code. If value is non zero then check GetLastError
Reset ( );
Purpose Internal use only.
SetColAISCSelection ( [in] string bstrSection, [in] long lStlColBS5950_2000, [out, retval] long *plRetVal );Purpose Set the steel column code selection.Parameters bstrSection Code selection label
lStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990plRetVal Error code. If value is non zero then check GetLastError
SetColPlateInfo ( [in] double dPlateFPC, [in] double dPlateFy, [in] double dPlateMinFaceDim, [in] double dPlateMinSideDim, [in] doubledPlateIncDim, [in] double dPlateIncThick, [in] double dPlateMinFootPar, [in] double dPlateMinFootPerp, [in] double dMinPlateFootDepth, [out,retval] long *plRetVal );
Purpose Set the baseplate criteria.Parameters dPlateFPC Concrete compressive strength
dPlateFy Plate yield strengthdPlateMinFaceDim Minimum dimension from face of columndPlateMinSideDim Minimum dimension from side of columndPlateIncDim Plate dimension incrementdPlateIncThick Plate thickness incrementdPlateMinFootPar Minimum footing width parallel to the columndPl t Mi F tP Mi i f ti idth di l t th l
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 382/450
dPlateMinFootPerp Minimum footing width perpendicular to the columndMinPlateFootDepth Minimum footing depthplRetVal Error code. If value is non zero then check GetLastError
SetColumnSkipLoaded ( [in] BOOL bSkipLoaded, [out, retval] long *plRetVal );Purpose Set the skip loading criteria.Parameters bSkipLoaded True if skip loading is selected
plRetVal Error code. If value is non zero then check GetLastError
SetDeckBracesColumn ( [in] long lDeckBracesColumn, [out, retval] long *plRetVal );Purpose Set the skip loading criteria.Parameters lDeckBracesColumn 1 if deck braces column is selected, 0 if not
plRetVal Error code. If value is non zero then check GetLastError
SetMaxBraceAngle ( [in] double dVal, [out, retval] long *plRetVal );
Purpose Maximum angle from column axis for which beam braces the column.Parameters dVal Maximum angleplRetVal Error code. If value is non zero then check GetLastError
SetMaxSplitReactionAngle ( [in] double dVal, [out, retval] long *plRetVal );Purpose Maximum angle from column axis at which beam reaction is not split between column
sides.Parameters dVal Maximum angle
plRetVal Error code. If value is non zero then check GetLastError
SetPlateAISCSelection ( [in] string bstrSection, [in] long lStlColBS5950_2000, [out, retval] long *plRetVal );Purpose Set the base plate code selection.Parameters bstrSection Code selection label
lStlColBS5950_2000 1 if BS 5950 2000, 0 if BS 5950 1990plRetVal Error code. If value is non zero then check GetLastError
SetStlColBS5950200 ( [in] long lVal, [out, retval] long *plRetVal );Purpose Set the base plate code selection.
lVal 1 if BS 5950 2000, 0 if BS 5950 1990plRetVal Error code. If value is non zero then check GetLastError
SetTrialSizeData ( [in] long lNumTrialSizes, [in] BSTR bstrWTrialSize1, [in] BSTR bstrWTrialSize2, [in] BSTR bstrWTrialSize3, [in] BSTRbstrTTrialSize1, [in] BSTR bstrTTrialSize2 , [in] BSTR bstrTTrialSize3, [in] BSTR bstrPTrialSize1, [in] BSTR bstrPTrialSize2, [in] BSTRbstrPTrialSize3, [in] BOOL bUseTG1, [in] BOOL bUseTG2 , [in] BOOL bUseTG3, [out, retval] long *plRetVal );
Purpose Trial group criteria.Parameters lNumTrialSizes Number of trial sizes
bstrWTrialSize1 I Section trial group 1 labelbstrWTrialSize2 I Section trial group 2 labelbstrWTrialSize3 I Section trial group 3 labelbstrTTrialSize1 Rectangular HSS trial group 1 label
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 383/450
bstrTTrialSize1 Rectangular HSS trial group 1 labelbstrTTrialSize2 Rectangular HSS trial group 2 labelbstrTTrialSize3 Rectangular HSS trial group 3 labelbstrPTrialSize1 Round HSS trial group 1 label
bstrPTrialSize2 Round HSS trial group 2 labelbstrPTrialSize3 Round HSS trial group 3 labelbUseTG1 True if trial group 1 is selectedbUseTG2 True if trial group 2 is selectedbUseTG3 True if trial group 3 is selectedplRetVal Error code. If value is non zero then check GetLastError
ISteelColumnState2
Philosophy: To provide information on the state of Steel Column
BOOL bMakeBasePlateSquarePurpose Get/set square baseplate criterionParameters bMakeBasePlateSquare Boolean input/output
RamDataAccess1
Philosophy: This interface is used exclusively for obtaining pointers to other interfaces.
GetInterfacePointer([in] REFIID riid, [out, retval] LPUNKNOWN* pVal);
Purpose Returns the pointer to a specific interface.Parameters riid Interface ID
pVal Interface pointer is returned via this pointerComments This method is used by C++ programs accessing the interfaces.
GetInterfacePointerByEnum ([in] EINTERFACES nInterface, [out, retval] LPUNKNOWN* pVal);Purpose Get a DA interface pointer using the EINTERFACES enumerator.Parameters nInterface Interface enum
pVal Returned interfaceComments This should not be used for VB/VBA or macro languages
GetDispInterfacePointer ([in] REFIID riid, [out, retval] LPDISPATCH* pVal);Purpose Get a DA interface pointer that can be used in automation compatible languages
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 384/450
using the EINTERFACES enumerator.Parameters riid Interface ID
pVal Automation Compatible Interface pointer is returned via this pointerComments This cannot be used by VB/VBA or macro languages
GetDispInterfacePointerByEnum ([in] EINTERFACES nInterface, [out, retval] LPDISPATCH* pVal);Purpose Get a DA interface pointer using the EINTERFACES enumerator. This function
should be used for VB/VBA and macro languages.Parameters nInterface Interface enum
pVal Automation Compatible Interface pointer is returned via this pointer
Comments This is the method that VB/VBA or macro language users should use.
GetLastError([out] BSTR* pbstrShortError, [out] BSTR* pbstrLongError, [out] long* plErrorID);
Purpose To get information about why a method failed.Parameters pbstrShortError Short message about the failure
pbstrLongError Longer message about the failureplErrorID Error code
Comments This method is implemented in each interface. Calling it from any interface willreturn the last error regardless of which interface generated the error.
Common Structure Definitions
BAR_SPACING
Reinforcement spacing information for concrete column
Type Variable Name Commentsdouble dClearCover Reinforcement clear cover. User entered value. If set to zero, code value will be used.
double dFlexMax Flexural reinforcement maximum spacing. User entered value. If set to zero, code value will be used.
double dFlexMin Flexural reinforcement minimum spacing. User entered value. If set to zero, code value will be used.
double dReinMax Flexural reinforcement ratio maximum limit. User entered value. If set to zero, code value will be used.
double dReinMin Flexural reinforcement ratio minimum limit. User entered value. If set to zero, code value will be used.double dSpiralMax Spiral maximum spacing. User entered value. If set to zero, code value will be used.
double dSpiralMin Spiral minimum spacing. User entered value. If set to zero, code value will be used.
double dTiesMax Tie maximum spacing. User entered value. If set to zero, code value will be used.
double dTiesMin Tie minimum spacing. User entered value. If set to zero, code value will be used.
int nClearCover Reinforcement clear cover. 0 = use code, 1 = use user value
int nFlexMax Flexural reinforcement maximum spacing. 0 = use code, 1 = use user value
int nFlexMin Flexural reinforcement minimum spacing. 0 = use code, 1 = use user value
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 385/450
int nReinMax Flexural reinforcement ratio maximum limit. 0 = use code, 1 = use user value
int nReinMin Flexural reinforcement ratio minimum limit. 0 = use code, 1 = use user value
int nSpiralMax Spiral maximum spacing. 0 = use code, 1 = use user value
int nSpiralMin Spiral minimum spacing. 0 = use code, 1 = use user value
int nTiesMax Tie maximum spacing. 0 = use code, 1 = use user value
int nTiesMin Tie minimum spacing. 0 = use code, 1 = use user value
BEAM_INFO_AT_COLUMN
Information on beam framing into column
Type Variable Name Commentsdouble dBeamColumnAngle Angle in plan between beam and column relative to column major axis
double dVerticalSlopeAngle Angle in vertical plane - positive indicates that the far end of brace is above the column joint
EBeamSpanType eSpan Left, middle, right of span. When there is a cantilever there will be two entries in joint data
EDA_MEMBER_LOC eSupportEnd Left or right endlong lBeamID Beam’s Unique ID number
long lColumnFace 1-Major top, 2-minor right, 3-major bottom, 4-minor left
long lMajorMomFixed 0 = released, 1 = fixed
long lMinorMomFixed 0 = released, 1 = fixed
long lTorFixed 0 = released, 1 = fixed
BRACE_INFO_AT_COLUMN
Information on brace framing into column
Type Variable Name Commentsdouble dBraceColumnAngle Angle in plan between brace and column relative to column major axis
double dVerticalSlopeAngle Angle in vertical plane positive indicates that the far end of brace is above the column joint
EDA_MEMBER_LOC eBraceEnd Bottom, Top
long lBraceID Brace Unique ID number
long lColumnFace 1-Major top, 2-minor right, 3-major bottom, 4-minor left
long lMajorMomFixed 0 = released, 1 = fixed
long lMinorMomFixed 0 = released, 1 = fixed
long lTorFixed 0 = released, 1 = fixed
EDA_REIN_PLACE_SET
Bar set information
Type Variable Name Commentsdouble dAs_prv Provided area of reinforcement
double dAs_Req Required area of reinforcement
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 386/450
_ q q
double dBarSpacing Reinforcement spacing provided
double dCapacity Capacity of provided rebar
EDA_SEG_SET_INFO
Bar set placement location information
Type Variable Name CommentsBOOL bEndSup TRUE = There is a support at end of segment
BOOL bStartSup TRUE = There is a support at start of segment
double dEndSeg End segment location
double dMaxVal Maximum value in segment
double dMinVal Minimum value in segment
double dStartSeg Start segment location
SAnalysisCaseInfo
Analysis case information. Each load case will generate one or more analysis cases.
Type Variable Name Comments
BOOL bAnalyzed True = Member Forces are available for this Analysis Case. In some situations, an analysis case can beanalyzed by one module but not another.
BOOL bGenerated True = generated Analysis case. For positive, negative and Sum live load cases this would not be true.BSTR bstrLabel Analysis load case label
ELoadCaseType eLoadType Load case type for this analysis load case
EAnalysisSubType eSubType Indicates the analysis sub type as positive, negative or sum
long lLoadCaseID Load Case UID that the analysis load case originated from
long lUniqueID Analysis Load Case UID.
SBAR_PATTERN
Bar Pattern definition
Type Variable Name CommentsBOOL bValid TRUE if both bars appear in the Rein_prop table and they are both selected
char cPatternLabel Bar pattern label
long lGroupNumber Reference back to the pattern group to which this pattern belongs
long lUniqueID Unique to each pattern – this id number is never reused.
SREIN_PROP rpLongBarReinProp Longitudinal reinforcement properties
SREIN_PROP rpTieBarReinProp Transverse reinforcement properties
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 387/450
SBM_BAR_SET
Bar Set information. A bar set is a set of reinforcement bars that all have the same properties and are located in the same place.
Note there may be more than one bar set in a given location for longitudinal bars.
Type Variable Name CommentsBOOL bSetPassed TRUE = bar set has passed design checks from start to end of bar set.
long eBarLayerLoc Cast to EBAR_PLACEMENT
long eBarPlacement Indicates if bar set is for top or bottom reinforcement . Cast to EBAR_PLACEMENT
long eEndCondition Cast to EBAR_END_CONDITION
long eStartCondition Cast to EBAR_END_CONDITION
float fAs_prv Provided area of steel
float fAs_Req Required area of steel
float fBarDepth Reinforcement bar effective depth
float fBarSpacing Reinforcement spacing provided
float fCapacity Capacity of provided reinforcementfloat fDevelLength Bar development length
float fDevelLengthEnd Development length for end of bar set
float fDevelLengthStart Development length for start of bar set
float fEndLoc Same as fStartLoc
float fStartLoc
float fTrueBarDepth If value is different from dBarDepth then it is part of two layer set
long lMaxBarsInLayer Maximum number of bars in any layer if lNumLayersOrLegs = 2 and bar set is not transverse
long lNumBars Number of bars in bar set
long lNumLayersOrLegs Number of layers for multi layer reinforcement in beams Or number of shear legs if bar set is for transversereinforcement
long lReinIndexNum Reinforcement bar index number used to find bar properties. lReinIndexNum can be used to directly indexinto the array that is returned by GetRebarTable_ConcBeam
long lSetID Bar set ID
SBM_BAR_SET_BSTR
Bar Set information string. A bar set is a set of reinforcement bars that all have the same properties and are located in the sameplace. Note there may be more than one bar set in a given location for longitudinal bars.
Type Variable Name CommentsBSTR bstrBarLabel Bar set label
long lSetID Bar set ID
SBM_RES
Individual concrete beam span design results
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 388/450
Type Variable Name Commentslong eDeflectionResultsState State of deflection results
float fBarSpacingBotLong Bottom longitudinal bar spacing
float fBarSpacingSide Side reinforcement spacing (not used in v8.0.2 or 8.1)float fBarSpacingTopLong Top longitudinal bar spacing
float fBarSpacingTrans Transverse bar spacing
float fBotReinRatio Bottom reinforcement ratio
float fBotReinRatioLoc Location where fBotReinRatio was calculated
float fClearCoverBottom Clear cover to bottom bars
float fClearCoverSide Clear cover to side bars
float fClearCoverTop Clear cover to top bars
float fDeflectionValueError Deflection value error
float fdShearCheckLocFromFace Location of shear check from face of support
float fTopReinRatio Top reinforcement ratio
float fTopReinRatioLoc Location where fTopReinRatio was calculated
float fTorsionCapPrv Provided torsional capacityfloat fTorsionCapReq Required torsional capacity
float fTrueBarCoverBot Same as fTrueBarCoverTop for bottom bars
float fTrueBarCoverTop True bar cover to top reinforcement calculated from actual clear cover, transverse reinforcement , longitudinaltop bar diameters and number of layers
long lBeamLineID Beam line ID
long lBeamUniqueID Unique Beam ID
float lBotLongBarSpacingError Design warning code associated with bottom bars spacing
long lBotReinRatioComboID Combo ID for max rein ratio
long lBotReinRatioError Similar to lTopReinRatioError for bottom barslong lDeflectionErrror Deflection error code
long lFlexBarBotError Design warning code for bottom flexural reinforcement
long lFlexBarTopError Design warning code for top flexural reinforcement
long lSideLongBarSpacingError Design warning code for Side reinforcement spacing (not used in v8.0.2 or 8.1)
long lSpanIndex Order of this beam in beam line starting with 0 for first beam
long lStory Story where beam line is located
long lTopLongBarSpacingError Design warning code associated with top bars spacing
long lTopReinRatioComboID Combo ID for maximum reininforcement ratio
long lTopReinRatioError Design warning code associated with reinforcement ratio check
long lTorsionError Design warning code for torsional capacity check
long lTransBarError Design warning code associated with transverse bars
long lTransBarSpacingError Design warning code associated with transverse bars spacinglong lTrueBarCoverBotError Same as lTrueBarCoverTopError for bottom bars
long lTrueBarCoverTopError Design warning code for fTrueBarCoverTop verses actual user defined bar cover
SBM_RES_BSTR
Beam design message strings.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 389/450
Type Variable Name CommentsBSTR bstrBotCoveMsg Bottom cover message
BSTR bstrBotLongBarSpacingMsg Bottom longitudinal bar spacing message
BSTR bstrBotReinRatioMsg Bottom reinforcement ratio messageBSTR bstrDeflectionMsg Deflection message
BSTR bstrDesignMark Design Mark
BSTR bstrFlexBarBotMsg Bottom flexural bar message
BSTR bstrFlexBarTopMsg Top flexural bar message
BSTR bstrSectionErrors Section error message
BSTR bstrSideLongBarSpacingMsg Side longitudinal bar spacing message
BSTR bstrTopCoverMsg Top Cover spacing message
BSTR bstrTopLongBarSpacingMsg Top longitudinal bar spacing message
BSTR bstrTopReinRatioMsg Top reinforcement ratio message
BSTR bstrTorsionMsg Torsion message
BSTR bstrTransBarMsg Transverse bar messageBSTR bstrTransBarSpacingMsg Transvers bar spacing message
long lBeamUniqueID Beam unique ID
SBML_RES
Concrete beam line design result which relate to all the beams in the beam line
Type Variable Name CommentsBOOL bLongBarCheckBot Similar to bTransBarCheck for longitudinal bottom reinforcement
BOOL bLongBarCheckTop Similar to bTransBarCheck for longitudinal top reinforcement
BOOL bReqFlxReinOnly TRUE = Only flexure required reinforcement data is available. There is no reinforcement avalable
BOOL bTransBarCheck TRUE = Transverse Reinforcement was checked but not optimized.FALSE = Transverse Reinforcement was both optimized and checked
double dVersion Data version number only to be used by RAM
long eResultState Map to ERESULTS_STATE
long eUserSpecState EUSER_SPECIFIED_STATE - 0 = Not user defined, 1 = User defined/frozen design
long lBeamLineID Beam line number
long lNumCantilevers Number of cantilevers in span
long lNumSpans Total number of spans in beam line. Cantilever and back span are considered as one span
long lStory Story number starting with 0 for the first story
SCOL_PATRES
Concrete column bar pattern results
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 390/450
p
Type Variable Name CommentsBOOL bAmplifyMoments_Major TRUE if moments were amplified per ACI 10.12.3
BOOL bAmplifyMoments_Minor TRUE if moments were amplified per ACI 10.12.3
double dBarSpacingMaj Longitudinal Bar spacing parallel to major direction
double dBarSpacingMin Longitudinal Bar spacing parallel to minor direction
double dBetad_Major Beta d per ACI-318 99 10.12.3 in major direction
double dBetad_Minor Beta d per ACI-318 99 10.12.3 in minor direction
double dCapRatioMax Controlling Axial Load / Biaxial Moment Capacity ratio. When > 1.0 column is over stressed
double dCapRatioMnMaj Nominal moment capacity in major direction
double dCapRatioMnMin Nominal moment capacity in minor direction
double dCapRatioPhiDsn Capacity reduction factor used for max capacity
double dCapRatioPhiPn Nominal reduced axial load capacity
double dCapRatioReqAxial Required axial capacity for controlling combo
double dCapRatioReqMMajorBot Required Major moment at bottom capacity for controlling combo
double dCapRatioReqMMajorTop Required Major moment at top capacity for Controlling combodouble dCapRatioReqMMinorBot Required Minor moment at bottom capacity for controlling combo
double dCapRatioReqMMinorTop Required Minor moment at top axial capacity for controlling combo
double dClearCover Bar clear cover to transverse reinforcement
double dCm_Major Cm per ACI-318 99 10.12.3 in major direction
double dCm_Minor Cm per ACI-318 99 10.12.3 3 in minor direction
double dIg_Major Ig (gross mom inert) per ACI-318 99 10.12.3 in major direction
double dIg_Minor Ig (gross mom inert) per ACI-318 99 10.12.3 in minor direction
double dKlr_Major KL/r ratio for major axis bending
double dKlr_Minor KL/r ratio for minor axis bendingdouble dLamdaNS_Major LamdaNS per ACI-318 99 10.12.3 3 in major direction
double dLamdaNS_Minor LamdaNS per ACI-318 99 10.12.3 3 in minor direction
double dMaxTensionStressRatio Max bar tension stress ratio used for splice selection
double dPc_Major Pc per 10.12.3 ACI-318 99 10.12.3 in major direction
double dPc_Minor Pc per 10.12.3 ACI-318 99 10.12.3 in minor direction
double dPu_Major Factored Axial load for controlling slenderness case in major direction
double dPu_Minor Factored Axial load for controlling slenderness case in minor direction
double dReinRatio Pattern reinforcement ratio
double dReinRatioMax Max reinforcement ratio limit
double dReinRatioMin Min reinforcement ratio limit
double dSPBeamCapMinMajor Controlling minimum total nominal capacity of concrete beams framing into the major axis faces of
the columndouble dSPBeamCapMinMinor Same as above for minor face
double dSPBMnBotMajorCCWDir Counter Clockwise Orientation
double dSPBMnBotMajorCWDir Clockwise Orientation
double dSPBMnBotMinorCCWDir Counter Clockwise Orientation
double dSPBMnBotMinorCWDir Clockwise Orientation
double dSPBMnTopMajorCCWDir Counter Clockwise Orientation
double dSPBMnTopMajorCWDir Clockwise Orientation
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 391/450
double dSPBMnTopMinorCCWDir Counter Clockwise Orientation
double dSPBMnTopMinorCWDir Clockwise Orientation
double dSPBMprBotMajorCCWDir Counter Clockwise Orientation
double dSPBMprBotMajorCWDir Clockwise Orientationdouble dSPBMprBotMinorCCWDir Counter Clockwise Orientation
double dSPBMprBotMinorCWDir Clockwise Orientation
double dSPBMprTopMajorCCWDir Counter Clockwise Orientation
double dSPBMprTopMajorCWDir Clockwise Orientation
double dSPBMprTopMinorCCWDir Counter Clockwise Orientation
double dSPBMprTopMinorCWDir Clockwise Orientation
double dSPMnBottomMaj Nominal unfactored flexural capacity of column at bottom in major direction
double dSPMnBottomMin Nominal unfactored flexural capacity of column at bottom in minor direction
double dSPMnColAboveMaj Nominal Major bending capacity at bottom of column above
double dSPMnColAboveMin Nominal Minor bending capacity at bottom of column above
double dSPMnTopMaj Nominal unfactored flexural capacity of column at top in major direction
double dSPMnTopMin Nominal unfactored flexural capacity of column at top in minor directiondouble dSPMprBottomMaj Probable unfactored flexural capacity of column bottom in major direction
double dSPMprBottomMin Probable unfactored flexural capacity of column bottom in minor direction
double dSPMprColAboveMaj Probable Major bending capacity at bottom of column above
double dSPMprColAboveMin Probable Minor bending capacity at bottom of column above
double dSPMprTopMaj Probable unfactored flexural capacity of column at top in major direction
double dSPMprTopMin Probable unfactored flexural capacity of column top in minor direction
double dSPVSeismicMaj Calculated minimum shear capacity of column for special provisions
double dSPVSeismicMin Calculated minimum shear capacity of column for special provisions
double dTorsionPhi Torsion capacity reduction factordouble dTorsionPrvCap Torsional provided section capacity
double dTorsionReqCap Torsional required capacity
EDA_COL_COMBO_LOC eCapRatioComboLoc Location along column where dCapRatioMax was calculated
EDA_CONC_CODE eDsnCode Concrete design code used – ACI318_99
ECONC_FRAME_TYPE eFrameType Design frame type
long eSlenderClass_Major Slender class if it must be considered (eSlenderType) slender in major axis
long eSlenderClass_Minor Slender class if it must be considered (eSlenderType) slender in minor axis
long lBarPatternID Bar Pattern Unique ID
long lBarSpacingError Bar spacing error code
long lCapRatioComboID Load combination ID producing dCapRatioMax
long lCapRatioError Design warnings code encountered in capacity ratio calculation
long lCapRatioPatternID Column pattern loading producing dCapRatioMaxlong lColumnID Column’s Unique ID
long lComboID_Major Load combo index for controlling slenderness case in major direction
long lComboID_Minor Load combo index for controlling slenderness case in major direction
long lErrorColumnVBeamMajor Design warning codes for Column v. Beam capacity check
long lErrorColumnVBeamMinor Design warning codes for Column v. Beam capacity check
long lNumShearSegments Number of transverse reinforcement bar sets SCOL_TRANSRES
long lPatternDsnID Bar pattern design ID
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 392/450
long lReinRatioMaxComboID ID of load combination producing dReinRatioMax
long lReinRatioMaxError Design warnings encountered in max reinforcement ratio limit check
long lReinRatioMaxPatternID Column pattern loading producing dReinRatioMax
long lReinRatioMinComboID ID of load combination producing dReinRatioMinlong lReinRatioMinError Design warnings encountered in min reinforcement ratio limit check
long lReinRatioMinPatternID Column pattern loading producing dReinRatioMin
long lShearLegsParalellMaj Number of shear legs parallel to major axis
long lShearLegsParalellMin Number of shear legs parallel to minor axis
long lSlenderness_klrError Design warning code associated with the KL/r check
long lSlenderness_PuPcError Design warning code associated with the Pu/Pc ratio check
long lSPSurfaceID Interaction surface used for special provisions
long lSurfaceID Interaction surface Unique ID
long lTorsionComboID Load combination producing dTorsionReqCap
long lTorsionError Design warnings related to Torsional capacity check
long lTorsionPatternID Column pattern loading producing dTorsionReqCap
SCOL_PATRES_BSTR
Type Variable Name Commentsbstr bstrBarSpacingMsg Bar spacing design warning
bstr bstrCapRatioMsg Capacity ratio design warning
bstr bstrErrorColumnVBeamMajor Error strings for Column v. Beam capacity check in column major direction
bstr bstrErrorColumnVBeamMinor Error strings for Column v. Beam capacity check in column minor direction
bstr bstrReinRatioMaxMsg Reinforcement ratio max limit design warningbstr bstrReinRatioMinMsg Reinforcement ratio min limit design warning
bstr bstrSlenderness_ klrErrorMsg Slenderness kl/r check design warning
bstr bstrSlenderness_PuPcErrorMsg Slenderness Pu/Pc check design warning
bstr bstrSurfaceFile Name of file containing interaction surface diagrams
bstr bstrTorsionMsg Torsion capacity check design warning
long lColumnID Column’s Unique ID
long lPatternDsnID Bar pattern design ID
SCOL_RES
Concrete column result basic information
Type Variable Name Commentsdouble dConcElasticMod Concrete modulus of elasticity
long eCode Maps to CODE. if eCode == NoCodeDefined, there is no final design
long eResultState Maps to ERESULTS_STATE
long eUserSpecState EUSER_SPECIFIED_STATE - 0 = Not user defined, 1 = User defined/frozen design
long lColumnID Column’s Unique ID
long lNumPatterns Indicates number of bar pattern results (SCOL PATRES) available for column
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 393/450
long lNumPatterns Indicates number of bar pattern results (SCOL_PATRES) available for column
SCOL_TRANSRESType Variable Name CommentsBOOL bShearBarControlDirMaj TRUE = design controlled by major direction shear, FALSE = controlled by minor direction
shear
double dShearConcCapMaj Major direction concrete capacity
double dShearConcCapMin Minor direction concrete capacity
double dShearPhiReducFactor Shear capacity reduction factor
double dShearReqCapMaj Major direction shear forces
double dShearReqCapMin Minor direction shear forces
double dShearStlCapMaj Major direction shear reinforcement capacity
double dShearStlCapMin Minor direction shear reinforcement capacity
long eTransBarType Type of transverse reinforcing
long lColumnID Column’s Unique ID
long lCombo Load combo used to design this segment
long lPattern Column pattern loading used to design this segment
long lPatternDsnID Bar pattern design ID
long lSegNumber This bar pattern’s segment number in column
long lShearError Shear check design warning
EDA_REIN_PLACE_SET ReinPlaceSet Reinforcement placement info.
EDA_SEG_SET_INFO SegSetInfo Segment set information
SCOL_TRANSRES_BSTR
Type Variable Name CommentsBSTR bstrShearMsg Shear check design warnings.
long lColumnID Column’s Unique ID
long lPatternDsnID Bar pattern design ID
long lSegNumber This bar pattern’s segment number in column
SComboParams_DA
Code specific input parameters used in load combination generator.Type Variable Name CommentsBOOL bCheckBoxArray These are the settings for control 3 – the table of check box values. There can be up to 9 check boxes.
BOOL bLCaseSpcSetting This is used with control 4. A value of TRUE indicates that load case specific values are available.
BOOL bUseOnly This is used with control 4. A value of TRUE disables the “Use Code” option.
float fLCaseSpc1 For Control 4. This is the first load case specific value.
float fLCaseSpc2 For Control 4. This is the second load case specific value.
float fValues These are the values associated with control 1 in the load combo generator. There can be up to 10 control 1 values.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 394/450
g p
int nComboBox5Index This is the setting for control 5 – the drop down combo box for code for combinationsint nComboBoxIndex This is the setting for control 2 – the drop down combo box for template
int nNumVarsFor2 Number of entries for control 2
int nNumVarsFor5 Number of entries for control 5
SConcScheduleMark
Concrete beam or column schedule mark for a member. Only available after the DXF schedule for the member type has begenerated
Type Variable Name CommentsBSTR bstrScheduleMark Concrete Schedule mark
BSTR bstrScheduleMarkPrevious Concrete Schedule previous mark
EDXFMarkAssignedBy eMarkChangedBy Mark assigned by
long lMemberID Member unique IDlong lTime Time stamp of when mark was assigned.
The time is the number of seconds after January 1, 1970 UTC.In C++ projects use CTime
long lTimePrevious Time stamp of when previous mark was assigned.The time is the number of seconds after January 1, 1970 UTC.In C++ projects use CTime
SCoordinate
Concrete beam or column schedule mark for a member. Only available after the DXF schedule for the member type has begenerated
Type Variable Name Commentsdouble dXLoc X coordinate
double dYLoc Y coordinate
double dZLoc Z coordinate
SDeckProp
Composite one way steel deck properties
Type Variable Name CommentsBOOL bShoredConstruction Shored Construction TRUE = shored
BSTR bstrDeckLabel Label user provided for this individual Deck Property
double dAngle This is the deck orientation angle. It is only filled if SSlabProp is filled using the DeckSlab polygonUID. Otherwise it will be set to -1 to indicate that the value is unknown.
double dAreaOfConcInRibPerUnitLength Area Of Conc In Rib Per Unit Length for ASD design only
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 395/450
double dAreaOfConcInRibPerUnitLength Area Of Conc In Rib Per Unit Length for ASD design only
double dAvgConcRibWidth Average Concrete Rib Width
double dConcStressCap Concrete Stress Capacity
double dConcThickAboveFlute Conc Thickness Above Flute/rib
double dDistBotDeckToConcCentroid Dist Bot Deck To Conc Centroid for ASD design onlydouble dNominalRibHeight Nominal Rib Height
double dRibSpacing Rib Spacing
double dSelfWeight Steel deck self weight (units pcf)
double dStudDiameter Stud Diameter
double dStudLength Stud Length
double dStudStressCapacity Stud Stress Capacity
double dUnitWeight Deck system self weight (units psf)
long lCounter Number of times where property is assigned
long lDeckType Deck Table Index
long lFibreType Fibre Type
long lUniqueID Property Unique IDint nFibreType Fibre Type
SDIAGRAM
Analysis or design information used to generate a diagram. This data is similar to an envelope but only holds one value at alocation and not a max and min range of values. For example it can be used to define a moment, shear or deflection diagram.
Type Variable Name Commentsfloat fLocation Distance or location along member for values below
float fValue Value at fLocation
long lValueLC Load combination number (or other) that produced fValue. -1 indicates that load combo index number is not available.
SENVELOPE
Analysis and design data that is represented as a maximum and minimum envelope. This data is usually in an array of SEnvelopestructures which would represent the data along the member’s length.
Type Variable Name Commentsfloat fLocation Distance or location along member for values below
float fMax Max. value at fLocation
float fMin Min. value at fLocation
long lMaxLC Load combination number that produced fMax. -1 indicates that load combo index number is not available.
long lMinLC Load combination number that produced fMin. -1 indicates that load combo index number is not available.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 396/450
SFND_CONT_REINF
Continuous foundation reinforcement information.
Type Variable Name Commentsdouble m_dSecReinDepthBotX Depth to the bottom bars in the X direction
double m_dSecReinDepthBotY Depth to the bottom bars in the Y direction
double m_dSecReinDepthTopX Depth to the top bars in the X direction
double m_dSecReinDepthTopY Depth to the top bars in the Y direction
SFND_DATA
Foundation information for spread and continuous foundations
Type Variable Name CommentsBOOL bDesignDimensions TRUE = dimensions returned are from the design results
BOOL bUserDefined TRUE = the footing is user defined
double dAngle angle of the footing w.r.t the global axis
double dBottom distance from bottom edge of fnd to last supported member
double dLeft distance from left edge of fnd to center line
double dLength length of footing. For spreads, this is top + bottom
double dRight distance from right edge of fnd to center line
double dThick thickness of the footing
double dTop distance from top edge of fnd to first supported memberdouble dX1 Foundation location in plan
double dX2 Foundation location in plan
double dY1 Foundation location in plan
double dY2 Foundation location in plan
double dZ z location of fnd in the global axis
EMATERIALTYPES eMaterial Material type
long lLabel Footing Number as displayed in RAM Foundation
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 397/450
SFND_ISO_REINF
Isolated foundation reinforcement information.
Type Variable Name CommentsBOOL bSetResistsTension Flag for resists tension
double dAs_prv Provided area of steel
double dAs_Req Required are of steel
double dBarSpacing Bar spacing
double dCapacity Capacity
double dLength Length
long lMaxBarsInLayer Maximum number of bars in a layer
long lNumBars Number of bars
long lNumLayersOrLegs Number of layers or shear legs
long lReinIndexNum Reinforcing index number
SFND_REINF_OTHER_DATA
Isolated foundation reinforcement information.
Type Variable Name CommentsBOOL bHooked 1 if bars are hooked, 0 if not
double dCoverBottom Bar cover to bottom concrete face
double dCoverSide Bar cover to side concrete face
double dCoverTop bar cover to top concrete face
SForce
Internal member forces and moments. See IForces1 for sign convention Type Variable Name Commentsdouble dLocation Location
double dMx_maj Moment induced by a shearing force dVx_maj
double dMy_min Moment induced by a shearing force dVy_min
double dMz_Torsion Torsion
double dVx_maj Shear parallel to member major direction
double dVy_min Shear parallel to member minor direction
d bl dV A i l A i l f h C i i i i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 398/450
double dVz_Axial Axial force where Compression is positive
long lAnalysisCaseID Analysis load case UID for this member forc results
SForce3D
3D force location
Type Variable Name Commentsdouble dX X coordinate
double dY Y coordinate
double dZ Z coordinate
SFoundationMatInfo
Mat foundation information
Type Variable Name Commentsdouble dTopOfSlabOffset Mat foundation datum from base of story
SGridLineInfo
Grid line information
Type Variable Name CommentsBOOL bExtMax TRUE = Limit grid line to maximum extent
BOOL bExtMin TRUE = Limit grid line to minimum extent
BOOL bLabelI TRUE = Add label at start of grid line
BOOL bLabelJ TRUE = Add label at end of grid line
BOOL bSnapTo TRUE = A snap point is provided for this grid if it intersects another grid with bSnapTo also set to true
BSTR bstrLabel Grid Label
double dCoordinate Grid location from the grid system origin
double dExtMax Grid line maximum value
double dExtMin Grid line minimum value
long lID Grid index number
SLoad
A single load associated with a load case. The units are based on the type of load. Point loads are in kips, line loads in kip/inand surface loads in kip/in2
Type Variable Name Comments
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 399/450
Type Variable Name Commentsdouble dMx Rotational force about the global X axis (Right hand rule for positive direction on all moments)
double dMy Rotational force about the global Y axis
double dMz Rotational force about the global Z axisdouble dP Downward acting force (positive loads are downward)
double dVx Force parallel to global X axis (positive in global X direction)
double dVy Force parallel to global Y axis (positive in global Y direction)
long lLoadCaseID Load case UID for this load
SLoadCase_CmbGen_DA
Load case information for generated load combinations
Type Variable Name Comments
BOOL bUseFlag Flag indicating if this case has been selected for use in combination generationunsigned char cLabel String label that identifies the load case. This label CANNOT be used to uniquely identify a load case.
unsigned char cSymbol Symbol used to represent this load case in the load combinations (D, Lp, W1, W2, E1, E2…). This symboluniquely identifies the load case.
unsigned char cTmpleCaseCode Symbol used to represent this category of load case in the template file (D, Lp, W, E…)
unsigned char cType String that indicates the type of load.
float fLCaseSpecific Used for “Use Calculated” for Rho for appropriate codes
float fLCaseSpecificX Parameter applied to load in the X direction as indicated by the combo generator
float fLCaseSpecificY Parameter applied to load in the Y direction as indicated by the combo generator
float fLoadCaseAngle Angle that resultant force acts on the structure w.r.t the global axes.int nAnalyzeNo Index into the member forces array. If this is -1 it means that the load case is not analyzed and therefore does
not have member forces associated with it.
int nDirOfLoadInX Direction indicator 0 = no load in X, 1 = pos X, -1 = Neg X
int nDirOfLoadInY Direction indicator 0 = no load in Y, 1 = pos Y, -1 = Neg Y
int nLCaseIndex Load Case index
SLoadCaseInfo
Load case properties
Type Variable Name CommentsBOOL bGenerated True = generated load case
BSTR bstrLabel Load case string label
EFRAMETYPE eFrameType EFRAMETYPE Load case to be used on lateral, gravity or either frame type
ELoadCaseType eLoadType Load Case type
long lUniqueID Load Case UID.
SLoadCombos CmbGen DA
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 400/450
SLoadCombos_CmbGen_DA
Generated load combination data
Type Variable Name CommentsBOOL bTensionOnly Currently not used
BOOL bUseFlag Flag that indicates if this load combo is to be used.
unsigned char cComboIncludes String of symbols separated by commas. This can be used to quickly see which cases are included in acombination.
unsigned char cComboString String representation of the load combination
float Factors Array of up to 5 factors
int LoadCase array of up to 5 load case indices. The load case from this array combines with the factor in the Factors array tocreate a load combo term.
int nComboNum Load combo number
int nStatus 0 = Unavailable, 1 = Available
int NumTerms Number of terms in the load combination
SNodalLoadData
Nodal load information
Type Variable Name Comments
BSTR bstrLabel Label user provided for this individual nodal load
double dFx Nodal Force in the global X directions
double dFy Nodal Force in the global Y directionsdouble dFz Nodal Force in the global Z directions
double dX The x coordinate of the nodal load
double dY The y coordinate of the nodal load
double dZ The z coordinate of the nodal load
SREIN_PROP
Concrete Reinforcement bar properties
Type Variable Name Comments
BOOL bFlex TRUE = Bar used for flexureBOOL bShear TRUE = Bar used for shear/torsion
char cLabel Reinforcement bar label
double dArea Bar nominal area
double dDiameter Bar nominal diameter
SSECTIONS
Concrete Section properties
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 401/450
Concrete Section properties
Type Variable Name Commentschar achPanLabelLeft Pan joist label used to create left side of section
char achPanLabelRight Pan joist label used to create right side of section
float Area Section area. (Value is not defined for T’s with missing flange dimensions and all pan joists)
BOOL bUseFlangeThick TRUE = user defined Flange Thickness, FALSE = use calculated Flange Thickness based on member location andconnectivity in model
BOOL bUseWidth TRUE = user defined Width(s), FALSE = use calculated flange width based on member location and connectivity inmodel. This is true for all Rectangular and circular section. It is false for all pan joists and T sections where the user hasnot explicitly defined the flange overhangs.
int Counter Counter indicates how many members are using this section.
float Depth Depth of rectangular section, Total depth of T section, do not use this value if the section is a Pan section
double dPanDepth Web depth from bottom of flange to bottom of web.
float fCrackedAxialFactor Cracked section factor used to reduce area
float fCrackedFlexureFactor Cracked section factor used to reduce flexural moment of inertia valuesfloat fCrackedTorsionFactor Cracked section factor used to reduce torsional moment of inertia values
float FlangeThickness Flange thickness for T sections where flange is defined
float fRightOH Right Overhang, used only for Beam T-Sections where the user has defined the flange overhangs.
float Ix Major axis bending moment of inertia (Value is not defined for T’s with missing flange dimensions and all pan joists)
float Iy Minor axis bending moment of inertia (Value is not always defined)
float J Torsional constant of section. (Value is not defined for T’s with missing flange dimensions and all pan joists)
long lUniqueID Section property unique ID
float SAx Major axis effective shear area (Value is not defined for T’s with missing flange dimensions and all pan joists)
float SAy Minor axis effective shear area (Value is not defined for T’s with missing flange dimensions and all pan joists)char SectionName Section label. Can be a total of 15 characters
int Shape Variable maps to ECONC_OTHER_SEC
float WebThickness Web thickness for T sections
float Width Width of rectangular section, Diameter of circular section, Left overhang if T Section
SSlabProp
Concrete slab properties assigned to elevated floors and mat foundations
Type Variable Name Comments
BSTR bstrLabel Label user provided for this individual Slab Propertydouble dAngle Deck angle for one way deck span
double dOffsetFromTOS Slab offset from story or mat foundation top of slab
double dSelfWeight Slab self wight in lb/sf
double dThickness Slab thickness
long lUniqueID Slab Property unique ID
int nCounter Number of times where property is assigned
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 402/450
Common Enumerator Definitions
COMBO_MATERIAL_TYPE
Type of load combination.
Value Description ANALYSIS_CUSTOM RAM Frame custom combosCONC_SHEAR_WALL_CUSTOM RAM Concrete Shear Wall custom combosCONC_SHEAR_WALL_GEN RAM Concrete Shear Wall generated combos
FND_CONCRETE RAM Foundation generated concrete combosFND_CUSTOM_CONC RAM Foundation custom concrete combosFND_CUSTOM_SOIL RAM Foundation custom soil combosFND_SOIL RAM Foundation generated soil combosNONE_DEFINED No combinations definedRAM_CONCRETE RAM Concrete generated combosRAM_CONCRETE_CUSTOM RAM Concrete custom combosSTEEL_CUSTOM RAM Frame Steel custom combosSTEEL GRAV RAM S l i l d bi i
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 403/450
STEEL_GRAV RAM Steel gravity load combinations.STEEL_SPEC RAM Frame Steel Special provisions generated combosSTEEL_SPEC_CUSTOM RAM Frame Steel Special provisions custom combos
STEEL_STAND RAM Frame Steel Standard provisions generated combos
E_BARLAYERS_OPTION
Bar layers option for concrete members.
Value Description BarLayers1Only Use only one layer of barsBarLayers2Allowed Allow up to 2 layers of barsBarLayersUseDefault Use global default for number of layers of bars
E_BARSIZE_OPTION
Bar size option for concrete members.
Value Description
BarSizeUseDefault Use global default for bar sizeBarSizeUseDefined Use assigned bar size
E_COVER_OPTION
Clear cover option for concrete members.
Value Description CoverUseDefault Use global default for clear coverCoverUserDefined Use user defined clear cover
E_GAP_OPTIONGap option for space between longitudinal bar layers
Value Description GapUseDefault DefinitionGapUserDefined Definition
E LINKSPC OPTION
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 404/450
E_LINKSPC_OPTION
Link spacing option for Chinese concrete members.
Value Description LinkSpacingUseDefault Use global default for link spacingLinkSpacingUserDefined Use user defined link spacing
E_SHEARLEGS_OPTION
Shear legs option for concrete members.
Value Description ShearLegsUseDefault Use global default for number of shear legsShearLegsUserDefined Use user defined number of shear legs
E_STIRRUPS_OPTION
Stirrup option for concrete members.
Value Description Stirrups135Hook Design with 135 Hook stirrups
StirrupsClose Design with Closed stirrupsStirrupsHoop Design with Hoop stirrupsStirrupsOpen Design with Open stirrupsStirrupsUseDefault Use global default
EAggregateType
Concrete aggregate type.
Value Description eConcAggLWC Light weight concreteeConcAggNWC Normal weight concreteeConcAggOther Normal weight concrete
EAnalysisResultType
Module analysis results to be used for member internal forces.
Value Description
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 405/450
Value Description DefaultResultType Results taken from most appropriate source based on member’s framing and material type.OtherResultType (not yet implemented)
RAMConceptResultType Results from RAM Concept Analysis (not yet implemented)RAMConcreteResultType Results from RAM Concrete AnalysisRAMFoundationResultType Results from RAM Foundation Analysis (not yet implemented)RAMFrameResultType Results from RAM Frame AnalysisRAMGravityResultType Results from RAM Steel Analysis
EAnalysisSubType
The load case sub type.
Value Description AnalysisSum Sum caseNegative Negative caseNoSubType No sub typePositive Positive case
EAnalyzeFlag
Indicates if the corresponding member is to be optimized by RAM Structural System, or simply analyzed
Value Description eAnalyze Design will be analyzedeOptimize Design will be optimizedeOptimizeStuds Size will be analyzed, studs will be optimized (used only for beams)
EAxis
Used to indicate axis.
Value Description EMajorAxis Specifies the major axisEMinorAxis Specifies the minor axis
EBarEndCondition
Reinforcement bar end condition or shape. Note this enum is not defined in DA it will need to be defined manually by user.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 406/450
Value Description eBarEndClosed Closed stirrup
eBarEndContinuous ContinuouseBarEndHook135 135 Deg. hookeBarEndHook90 90 Deg. hookeBarEndHoop Seismic Hoop StirrupeBarEndLapSpliced Lap spliced bareBarEndMechanical Mechanical connectoreBarEndStraight StraighteBarEndU U Stirrup
EBeamConnectionType
Type of connection at the end of the beam in RAM Frame.
Value Description eBCTCustom Custom connection stiffness settingseBCTNone No connection assignedeBCTRBS Reduced beam section
eBCTSidePlate SidePlate connectioneBCTSpring Spring connection
EBeamCoordLoc
Coordinate locations for the beam.
Value Description eBeamEnds End location of the beam. Tip of cantilever if one exists. Otherwise
the end is the support location.eBeamSupports Support location of the beam.
EBeamFilter
Filter the for the collection of beams
Value Description eBeamFilter_BeamLineNo Concrete beam line numbereBeamFilter_FrameType EFRAMETYPEeBeamFilter_Material EMATERIALTYPESeBeamFilter NoFilter Remove previous filters
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 407/450
eBeamFilter_NoFilter Remove previous filters
EBeamSpanBeam condition at a face of a column
Value Description eBackspanBeam Backspan of beam at column faceeCantileverBeam Cantilevered beam at column faceeNoBeam No beam at column faceeStubCantileverBeam Stub cantilever at column face
EBeamSpanTypeDefines Part of beam span type.
Value Description eLeftCantl Left cantilever of beameMidSpan Beam mid span
eNoSpanDefined No span part defined – An error could have been encounteredeRightCantl Right cantilever of beam
EBoundaryFlags
How the zone is to be handled in respect to concrete shear wall boundary element design.
Value Description EBFMaybe No boundary but checkEBFNo No boundary and do not checkEBFYes Check boundary
EBuildingCode
List of building codes that can be used during design.
Value Description eCodeAustraliaeCodeBOCA BOCAeCodeBritish BS 6399eCodeCanada NBC of Canada
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 408/450
eCodeCanada NBC of CanadaeCodeChina GB 50009eCodeEurocode Eurocode
eCodeHongKong HongKongeCodeIBC_Alternate IBC Roof Live Load Reduction AlternateeCodeIBC_General IBC Roof Live Load Reduction GeneraleCodeSBC SBCeCodeUBC_Method1 UBC Roof Live Load Reduction Method 1eCodeUBC_Method2 UBC Roof Live Load Reduction Method 2
ECANImportanceCategory
Importance Category for Live Load Reduction when NBC of Canada is selected as the Live Load Reduction code in the list of buildingcodes that can be used during design.
Value Description eCANHigh HigheCANLow LoweCANNormal NormaleCANPostDisaster Post-Disaster
EColumnFilterFilter for the collection of columns.
Value Description eColFilter_ColStack Column stackeColFilter_FrameType EFRAMETYPEeColFilter_Material EMATERIALTYPESeColFilter_NoFilter Remove previous filters
ECombinationSourceTypeIndicates whether the combination is custom or generated.
Value Description eCustomCombo Custom or user-defined load combinationeCustomInternal Interanally defined custom load combinationeGeneratedCombo Generated load combinationeGeneratedInternal Internally defined generated combination
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 409/450
ECOMBOTYPES
Enumerates the RAM Frame combination types.
Value Description EFrameAnalysisCustomCombos Custom combos in Analysis Load Combinations modeEFrameSteelSeismicCustomCombos Custom combos in Steel Seismic modeEFrameSteelSeismicGenCombos Generated combos in Steel Seismic modeEFrameSteelStdCustomCombos Custom combos in Steel Standard modeEFrameSteelStdGenCombos Generated combos in Steel Standard mode
ECompDeckPropsFilterFilter by composite deck properties.
Value Description eCDPFilter_DeckType Composite deckeCDPFilter_NoFilter Removes previous filters
ECompoundLoadCaseStateIndicates what the compound state of the load case.
Value Description eCompoundLoadCase Compound load caseeMergedLoadCase Merged load caseePrimaryLoadCase Load cannot be broken down into sub loads
ECONC_FRAME_TYPE
Concrete lateral frame type.
Value Description ConcFrameType_Intermediate Intermediate moment frame designConcFrameType_Ordinary Ordinary moment frame designConcFrameType_Special Special moment frame design
ECONC OTHER SEC
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 410/450
ECONC_OTHER_SEC
Concrete and ‘Other’ section shapes.
Value Description ECircle Circular sectionENone No sectionEOther Other type not definedEPanJoist Pan joist section (calculated by RAM Structural System)ERect Rectangular sectionET Tee section
EConceptConcSkipCase
Skip load cases from RAM Concept.
Value Description eCCSkipFull Full loadingeCCSkipMaxMomMajor Maximum major momenteCCSkipMaxMomMinor Maximum minor moment
eCCSkipMinMomMajor Minimum major momenteCCSkipMinMomMinor Minimum minor moment
EConcSectPropsFilter
Concrete section property filter.
Value Description eCSPFilter_MemType EUniqueMemberTypeID (beam, column, vertical brace)eCSPFilter_NoFilter Remove previous filterseCSPFilter_Shape ECONC_OTHER_SEC
ECoreBraceType
CoreBrace connection type.
Value Description eCoreBraceTypeBoltedLug Bolted LugeCoreBraceTypeCustom CustomeCoreBraceTypePinned PinnedeCoreBraceTypeSplicePlate Splice Plate
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 411/450
yp p peCoreBraceTypeUnkown UnkowneCoreBraceTypeWelded Welded
ECptCksumStatusBits
Concept integration options for the story.
Value Description eCCSDirectGravLoads Direct gravity loads optionseCCSStructAboveStory Structure above story optionseCCSStructOnStory Structure on story optionseCCSTransferGravLoads Transfer gravity loads options
eCCSTransferlatLoads Transfer lateral loads options
ECptStyTimeStampType
Concept integration time stamp options.
Value Description eTSConceptMajorRead Major read from Concept
eTSConceptMinorRead Minor read from ConcepteTSConceptWrite Write to ConcepteTSMajorChange1 Major changeeTSMinorChange1 Minor change
EDA_COL_COMBO_LOC
Column evaluated combination results location along column length.
Value Description COMBO_AT_BOTTOM Combo value at bottom of columnCOMBO_AT_END Combo value at end of beamCOMBO_AT_SPAN Combo value along column spanCOMBO_AT_START Combo value at start of beamCOMBO_AT_TOP Combo value at top of column
EDA_CONC_CODE
Concrete design code.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 412/450
Value Description
eACI318_02 ACI 318-02eACI318_05 ACI 318-05eACI318_08 ACI 318-08eACI318_11 ACI 318-11eACI318_95 ACI 318-95eACI318_99 ACI 318-99eAS3600 AS3600-01eAS3600_09 AS3600-09eBS8110_97 BS 8110-97eCanadian CanadianeCP_65 CP 65
eEuroCode EurocodeeGB50010 GB 500010eNoCodeDefined No code selected
EDA_MEMBER_LOC
Location relative to a member. Some locations are not relevant to all members.
Value Description eBottom Bottom of column or braceeBottomEnd Bottom end of walleBottomStart Bottom start of walleEnd End of membereEndSupportCantilever Cantiliver end reaction at end supporteEndSupportMidSpan Mid span reaction at end supporteStart Start of membereStartSupportCantilever Cantiliver end reaction at start supporteStartSupportMidSpan Mid span reaction at start support
eTop Top of column or braceeTopEnd Top end of walleTopStart Top start of wall
EDBFieldType
Data types.
Value Description E DB FIELD BOOL B l
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 413/450
E_DB_FIELD_BOOL BooleanE_DB_FIELD_DATE Date
E_DB_FIELD_DOUBLE DoubleE_DB_FIELD_LONG LongE_DB_FIELD_STRING String
EDBRelationRule
Relation rule.
Value Description E_DB_RELATION_CASCADE CascadeE_DB_RELATION_DEFUALT DefaultE_DB_RELATION_NONE NoneE_DB_RELATION_NULL Null
EDeckFilter
Filter by deck property.
Value Description
eDeckFilter_NoFilter Remove previous filterseDeckFilter_Type EDeckType
EDeckType
Type of deck.
Value Description eDeckType_Composite Composite DeckeDeckType_Concrete Concrete SlabeDeckType_NonComposite Non-composite Deck
EDefaultOrAlternate
Whether the default table directory is used (Tables) or the alternate directory is used (Working)
Value Description eAlternate1 Use alternate 1 directoryeDefault Use default directory
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 414/450
y
EDiaphragmType of diaphragm.
Value Description eNoDiaphragm No diaphragmeRigidDiaphragm Rigid diaphragm
EDiaphragmDeckDirTypes
Type of decks contained in diaphragm.
Value Description eDDDirTypeOneAndTwoWay Diaphragm contains one way and two way deckseDDDirTypeOnlyOneWay Diaphragm only has one way deckseDDDirTypeOnlyTwoWay Diaphragm only has two way deckseDDDirTypeUndefined Diaphragm has undefined deck type
EDiaphragmSourceSource of diaphragm information
Value Description eDSFrameAnalysis Diaphragm information comes from RAM FrameeDSModelData Diaphragm information comes from model geometry
EDRAWINGCOLOR
Color that a member type is displayed in.
Value Description eConcBraceColor Concrete braceeConcGravBeamColor Concrete gravity beameConcGravColColor Concrete gravity columneConcGravWallColor Concrete gravity walleConcJoistBeamColor Concrete joist beameConcLatBeamColor Concrete lateral beameConcLatColColor Concrete lateral column
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 415/450
eConcLatWallColor Concrete lateral walleDeckColor Deck
eDiagramsColor DiagrameFoundationColorColor FoundationeGridLabelColor Grid labeleGridLineColor Grid lineeJoistColor Steel JoisteLoadsColor LoadseOtherBraceColor Other braceeOtherGravBeamColor Other gravity beameOtherGravColColor Other gravity columneOtherGravWallColor Other gravity walleOtherLatBeamColor Other lateral beam
eOtherLatColColor Other lateral columneOtherLatWallColor Other lateral walleSlabEdgeColor Slab edgeeSlabOpenColor Slab openingeSmartbeamColor SmartbeameSteelBraceColor Steel brace
eSteelGravBeamColor Steel gravity beameSteelGravColColor Steel gravity column
eSteelLatBeamColor Steel lateral beameSteelLatColColor Steel lateral columneTextColor TexteWebOpeningColor Web openingeWestokCELLBEAMColor Westok cellular beam
EDXFMarkAssignedBy
Member DXF schedule mark assigned by category.
Value Description DXFMarkGenRAMSS Mark generated by RAM SSDXFMarkother Mark assigend by otherDXFMarkUser Mark assigned by user
EEdge
Edges of a wall.
V l D i ti
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 416/450
Value Description eTopEdge Top edge of wall
eBottomEdge Bottom edge of wall
EFieldType
Data type for field.
Value Description eFTBool DefineeFTDouble DefineeFTLong Define
eFTString Define
EFloorTypeElements
Various elements modeled on a floor type.
Value Description eFTEAll Combination of all of the above (except eFTENone).
eFTEBeamsJoists Beams and joistseFTEColumns ColumnseFTEDecks DeckseFTEGrids Grids.eFTELoads LoadseFTENone None: do not useeFTEWalls Walls
EFloorTypeFilter
Filter for floor type.
Value Description eFTFilter_NoFilter Remove previous filterseFTFilter_UsedInStory Filter for floor type used in story
EFndReinfLoc
Foundation reinforcement locations.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 417/450
Value Description
eFRLLengthBottom Bottom LengtheFRLLengthTop Top LengtheFRLSide SideeFRLWidthBottom Bottom WidtheFRLWidthTop Top Width
EFrameMemberForceSource
Concrete frame members gravity force source.
Value Description eFMFSFrameAnalysis Gravity forces come from Frame analysiseFMFSGravityAnalysis Gravity forces come from Concrete analysis
EFRAMETYPE
Frame type.
Value Description MemberIsEither Either type (cannot be used for assigning to a member)MemberIsGravity Gravity memberMemberIsLateral Lateral memberMemberIsNone Neither assigned (do not use)
EGRAVLOADTYPE
Gravity live load type.
Value Description EFloorLoad Reducible live loadENonRedLoad Non-reducible live loadERoofLoad Roof live loadEStorageLoad Storage live load
EGRAVPTLOADSOURCE
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 418/450
Source of point load on member.
Value Description EPtLoadFrameColTransferThruOneWaySlab Frame column transfer through one way deckEPtLoadFromFrameBeamReact Point load from frame beam reactionEPtLoadFromFrameColReact Point load from frame column reactionEPtLoadFromGravBmReact Point load from gravity beam reactionEPtLoadFromGravColReact Point load from gravity column reactionEPtLoadGravColTransferThruOneWaySlab Gravity column transfer through one way deckEPtLoadPassedThruFrameWall Pt load passed down through a frame wallEPtLoadPassedThruGravWall Pt load was passed down through a gravity wallEPtLoadSourceUndefined Unknown source for point loadEPtLoadSSGhostBeamGeneratedInRG Point load from ghost beam generated in RAM GravityEPtLoadUserApplied User applied point load
EGridAxis
Type of grid.
Value Description
eGridXorRadialAxis X grid if in orthogonal grid system; Radial grid if in radial grid systemeGridYorCircularAxis Y grid if in orthogonal grid system; Circular grid if in radial grid system
EGridFilter
Grid filter.
Value Description eGFilter_GridAxis EGridAxiseGFilter_NoFilter Removes previous filter
EGridSystemFilter
Grid system filter.
Value Description eGSFilter_NoFilter Removes previous filtereGSFilter_OrientationType SGridSysType
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 419/450
EHorizBraceFilter
Horizontal brace filter.
Value Description eHBFilter_Material EMATERIALTYPESeHBFilter_NoFilter Removes previous filter
EINTERFACES
Enumerator used to get pointers to specific DA interfaces.
Value Description IConcAnalysis1 _INT IConcAnalysis1 IConcAnalysisState_INT IConcAnalysisState1 IConcBeamState_INT IConcBeamState1 IConcBeamState2 _INT IConcBeamState2
IConcCntlrCommon1 _INT IConcCntlrCommon1 IConcColModState2 _INT IConColModeState2
IConcept _INT IConcept IConcreteModule_INT IConcColModState1 IDatabase_INT IDatabaseIDBIO1 _INT IDBIO1 IForces_INT IForces1 IForces2 _INT IForces2 IGravityLoads_INT IGravityLoads1 IGravitySteelDesign_INT IGravitySteelDesign1 ILoading_INT ILoading1 IMemberData_INT IMemberData1
IMemberData2 _INT IMemberData2 IModel _INT IModel IModelData_INT IModelData1 IModelData2 _INT IModelData2 IModelGeometry_INT IModelGeometry1 IModelGeometry2 _INT IModelGeometry2 IModelStatus_INT IModelStatus1 IRamDataAccess2 _INT IRAMDataAccess2ISteelColumnState INT ISteelColumnState1
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 420/450
ISteelColumnState _INT ISteelColumnState1ISteelColumnState2 _INT ISteelColumnState2
EIsolatedFndFilter
Isolated foundation filter.
Value Description eIFFilter_NoFilter Spread footingeIFFilter_Type EIsolatedFndType
EIsolatedFndType
Type of foundation.
Value Description elFndContinuous Continuous footingeIFndSpread Spread footing
eIFndPileCap Pile cap footing
EJoistType
Type of steel joist.
Value Description eJstCloseUniform “Close enough” to uniform load eJstCustom Custom label, Uniform Load
eJstGirderClosePtLoads Joist Girder, “Close Enough” to Equal Point Loads
eJstGirderEqualPtLoads Joist Girder, Equal Point Loads
eJstKCS KCS JoisteJstREquivalent Equivalent Uniform Load, Ed Ryan (Vulcraft) method
eJstSJIEquivalent Equivalent Uniform Load, SJI method eJstSpecial Special Joist
eJstStandard Standard joist with uniform load
eNotAJst Not a steel joist
EJstNonUniformLoadOption
Joist criteria option for joists with non-uniform loads.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 421/450
Value Description
eStlJstNonUniSelectFromCSTable Select joist sizes from Constant Shear tableeStlJstNonUniUseEquivalentMethod Use Uniform Equivalent Method to pick joist sizeseStlJstNonUniUsexxGSP Use xxGSP label
EJstUniformLoadOption
Joist criteria option for joists with uniform loads.
Value Description eStlJstUniSelectFromCSTable Select joist sizes from Constant Shear tableeStlJstUniSelectFromStandardTable Select joist sizes from standard tableeStlJstUniUseCustomLabel Use custom label for joist sizes
EKFAC_ASSIGN
Identifies what the current setting assigned to the column is for effective length.
Value Description UseGlobalKFac Use the global criteria for this column (in specified axis)UseNomoForKFac Use the nomograph for this column (in the specified axis)UseThis Use the assigned K factor for this column (in the specified axis)
ELINELOADSOURCE
Identifies the source of the gravity line load on the member.
Value Description ELineLoadFromEdge From slab edgeELineLoadFromSurfaceLoad From surface loadELineLoadPassedThruFrameWall From frame wall aboveELineLoadPassedThruGravityWall From gravity wall aboveELineLoadSelfWeight From self weight. Only includes for the member in question. Does not
include deck or supported wall self weight.ELineLoadSourceUndefined From unidentified sourceELineLoadUserApplied From applied line load
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 422/450
ELoadCaseFilterLoad case type filter.
Value Description eLoadCaseFilter_FrameType EFrameTypeeLoadCaseFilter_GeneratesDesignForces Load case produces member forces (no Eigen, center of rigidity, etc.)eLoadCaseFilter_NoFilter Removes previous filters
ELoadCaseType
Type of load case
Value Description BalancedLCa Balanced LoadConstructionDeadLCa Construction Dead LoadConstructionLiveLCa Construction Live
DeadLCa Dead LoadDynamicLCa Dynamic Load
LiveLCa Live LoadLiveReducibleLCa Live ReducibleLiveRoofLCa Live Roof LoadLiveStorageLCa Live StorageLiveUnReducibleLCa Live UnreducibleMassDeadLCa Mass Dead LoadNotionalDeadLCa Notional Dead LoadNotionalLiveLCa Notional Live LoadNotionalRoofLCa Notional Roof LoadOtherLCa Other LoadPartitionLCa Partition Load
SeismicLCa Seismic LoadSnowLCa Snow LoadVirtualLCa Virtual LoadWindLCa Wind Load
ELoadCombinationFilter
Load combination filter.
Val e Description
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 423/450
Value Description eLoadComboFilter_InclGravityOnly Combos that only contain gravity terms
eLoadComboFilter_InclLateral Combos that contain lateral termseLoadComboFilter_NoFilter Removes previous filters
EMATERIALTYPES
Type of material.
Value Description EAnyMaterial Any (cannot be used for assigning to a member)EConcreteMat Concrete
ENoneMaterial None or N/A (cannot be used for assigning to a member)EOtherMat ‘Other’ ESmartbeamBeamMat SmartbeamESteelJoistMat Steel JoistESteelMat SteelEWallPropConcreteMat Concrete Wall
EWallPropOtherMat Other WallEWestokCELLBEAMMat Westok cellular beam
EMemberInPolyCategory
Category of members to look for in polygon.
Value Description eAboveMemPolyCat Members that are in the story above polygoneBelowMemPolyCat Members that have thier start end inside the polygoneEndMemPolyCat Members that end inside polygonePassThroughMemPolyCat Members that pass through the level - Not implemented / future item eStartMemPolyCat Members that start inside the given polygon (Not Implemented)
EMemberOrientation
Member orientation
Value Description eOrientHorizontal Horizontal orientationeOrientUnknown Unknown orientationeOrientVertical Vertical orientation
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 424/450
eOrientVertical Vertical orientation
EMemberSide
Side of a member something is associated with
Value Description eMemBothSides Both sides of membereMemLeftSide Left side of membereMemNoSide Center of membereMemRightSide Right side of member
EMergeState
Flag that indicates if the load case is single, merged or included in a merge.
Value Description eLoadCaseUsedInAMerge Load case that is included in a merged load case.
eMergedLdCase Merged load case.eSingleLoadCase Single load case
EOtherSectPropsFilter
Filter for other type sections.
Value Description eOPSFilter_MemType EUniqueMemberTypeID (beams, columns, vertical braces).eOPSFilter_NoFilter Remove previous filters
EPartialReloadType
Partial reload of the database.
Value Description eReloadMDF DefineeReloadRAMFrameAnalysis Define
EPileConfiguration
Pil fi ti
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 425/450
Pile group configuration.
Value Description ePileConfig2PileGroup Rectangular 2-pile Pile groupePileConfig5PileGroup Rectangular 5-pile Pile groupePileConfig5SqrPileGroup Square 5-pile Pile groupePileConfig7PileGroup Rectangular 7-pile Pile groupePileConfig8PileGroup Rectangular 8-pile Pile group (piles not arranged in rows/columns)ePileConfigRectangular Rectangular pile group (user defined number of piles)ePileConfigTriangular Triangular 3-pile pile group configuration
ERawWallSectionCutFilterRaw wall section cut filter.
Value Description eRWSCFilter_Module EWhichModule (Frame Shear Wall Forces or Concrete Shear Wall)eRWSCFilter_NoFilter Remove previous filter
EReactionNodeFilterReaction node filter.
Value Description eRNFilter_NoFilter Remove previous filtereRNFilterAtFoundation Foundation nodeseRNFilterNodeInSlabEdge Nodes within the slab edgeeRNFilterNodeSupportMember Nodes that support members above
ERoofLLType
Type of roof live load.
Value Description eRoofLoadsAreSnow Roof loads are snoweRoofLoadsAreReducible Roof loads are reducibleeRoofLoadsUnReducible Roof loads are unreducible
ESeismicProvFrameType
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 426/450
ESeismicProvFrameType
Type of frame type for steel seismic provisions.
Value Description eSP_CBF Ordinary concentrically braced frameeSP_CBF_K Ordinary concentrically braced frame K typeeSP_CBF_V Ordinary concentrically braced frame V/Chevron typeeSP_EBF Eccentrically braced frameeSP_IMF Intermediate moment frameeSP_NoFrameType No frame type assignedeSP_OMF Ordinary moment frameeSP_SCBF Special concentrically braced frameeSP_SCBF_K Special concentrically braced frame K typeeSP_SCBF_V Special concentrically braced frame V/Chevron typeeSP_SMF Special moment frame
ESIDESWAY_ASSIGN
Identifies what the current setting assigned to the column is for sidesway.
Value Description ItIsBraced The column is braced for this column (in the specified axis)ItIsUnbraced The column is unbraced for this column (in the specified axis)UseGlobalSS Use the global criteria for this column (in specified axis)
ESlabActions
Identifies if the deck is one way or two way.
Value Description eDSAOneWay One way deckeDSATwoWay Two way deck
ESMARTBEAMTYPE
Castellated or Celular (Smartbeam) beam type.
Value Description SMARTBEAM CAST Castellated beam
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 427/450
SMARTBEAM_CAST Castellated beamSMARTBEAM_CELL Cellular beam
ESnowLoadType
Snow load type.
Value Description eSLTConstant Constant Snow LoadeSLTDrift Drift Snow Load
EStateStatusStatus of an item’s state.
Value Description eStateCurrent Item’s state is current eStateNotAvail State is unavailable
eStateNotCurrent Item’s state is not current
ESTEEL_ROLLED_FLAG
Roll flag for steel member
Value Description EStlBuilt Built up shapeEStlRolled Rolled shape
ESTEEL_SEC
Steel section shapes
Value Description EStlChannel ChannelEStlDoubleL Double AngleEStlFlatBar Flat BarEStlLSection Single AngleEStlNone No sectionEStlPipe Round HSEStlRoundBar Round Bar
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 428/450
EStlStar Star seismic
EStlTSection T SectionEStlTube Rectangular HSEStlWF I-Section (Wide Flange)
ESteelDesignCode
Design code for steel members.
Value Description eAISC36005ASD AISC 360-05 ASDeAISC36010ASD AISC 360-10 ASDeAISC36005LRFD AISC 360-05 LRFDeAISC36010LRFD AISC 360-10 LRFDeAS4100_99 AS4100-99eASD ASD 9
th Edition
eBS5950_1990 BS5950:1990eBS5950_2000 BS5950:2000
eCANCSA_1994 CAN/CSA-S16.1-94eEurocode3 EurocodeeLRFD LRFD 3
rd Edition
ESteelShapes
Steel section shapes.
Value Description ESSChannel ChannelESSDoubleAngle Double AngleESSFlatBar Flat Solid BarESSISection I-Section (wide flange)
ESSRectangularHS Rectuangular Hollow SectionESSRoundBar Round Solid BarESSRoundHS Round Hollow SectionESSSingleAngle Single AngleESSTee TeeESSUnknown Unknown
ESubLoadCaseType
S T f th EL dC T
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 429/450
Source or Type of the ELoadCaseType
Value Description eCenterOfRigidity Center of RigidityeEigen EigeneGeneratedStoryLoad Generated story loadeGravityLoad Gravity load typeeImportedLoad Imported loadeNodalLoad Nodal loadeNoSubType No sub load typeeResponseSpectra Response SpectraeUserDefinedStoryLoad User defined story load
ETensionCompressionMemType
Indicates whether members takes tension, compression, or both.
Value Description
ECompressionOnlyMem Member takes compression onlyETensionCompressionMem Member takes both tension and compression
ETensionOnlyMem Member takes tension only
ETimeStampAction
Action for time stamp retrieval.
Value Description eTSAdd AddeTSDelete DeleteeTSChange Change
ETimeStampProperty
Property for time stamp retrieval.
Value Description eTSFloorType Floor typeeTSNoProp No particular propertyeTSReframeFlag Floor reframeeTSSize Member size
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 430/450
EUniqueMemberTypeID
Member type.
Value Description eTypeAll All memberseTypeAnalysisCase Member is an analysis caseeTypeBeam Member is a beameTypeBrace Member is a vertical braceeTypeColumn Member is a columneTypeConcDeflCrit Member is a concrete deflection criteriaeTypeConcSectionProp Member is a concrete sectioneTypeCouplingBeam Meber is a coupling beameTypeDeckOrSlab Member is a deck or slabeTypeDeckProp Member is a composite deck property seteTypeFloorOpening Member is an opening in a floor (slab opening)eTypeFloorPenetrations Member is a floor penetration
eTypeFloorPerimeter Member is a floor perimeter (slab edge)eTypeFloorType Member is a floor typeeTypeFoundation Member is a foundationeTypeFoundationLineLoading Member is a foundation line loadeTypeFoundationMatPerimeter Member is a mat foundation perimetereTypeFoundationMatSlab Member is a mat foundation slab definitioneTypeFoundationPointLoading Member is a foundation point loadeTypeFoundationSurfaceLoading Member is a foundation surface loadeTypeGrid Member is a grideTypeGridSystem Member is a grid systemeTypeHorizontalBrace Member is a horizontal braceeTypeLastType Member is last typeeTypeLineLoading Member is a line loadeTypeLineLoadSetProp Member is a line load property seteTypeLoadCase Member is a gravity load caseeTypeMesh Member is a mesheTypeNodalLoad Member is a nodal loadeTypeNodalLoadProp Member is a nodal load property seteTypeNode Member is a nodeeTypeNonCompDeckProp Member is a noncomposite deck property seteTypeNonComposite Member is a noncomposite deck polygoneTypeNone No type, or not applicableeTypeOther Member is an Other sectioneTypeOtherSectionProp Member is an ‘Other’ section property
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 431/450
eTypeOtherSectionProp Member is an ‘Other’ section propertyeTypePile Member is a pile definitioneTypePileConfiguration Member is a pile configurationeTypePointLoading Member is a point loadeTypePointLoadSetProp Member is a point load property seteTypeSectionCut Member is a section cuteTypeSidePlate Member is a SidePlateeTypeSlabProp Member is a concrete slab property seteTypeSnowLoad Member is a snow load polygoneTypeSnowLoadSetProp Member is a snow load property seteTypeSteelDeflCrit Member is a steel deflection criteriaeTypeStory Member is a storyeTypeSurfaceLoading Member is a surface load polygoneTypeSurfaceLoadSetProp Member is a surface load property seteTypeWall Member is a walleTypeWallOpening Member is a wall openingeTypeWallRebar Member is wall reinforcingeTypeWallSectionDsnCut Member is a wall design section cut
EUnits
Type of unit system.
Value Description eUnitsEnglish English unitseUnitsMetric Metric UnitseUnitsSI SI Units
EUserOverride
Indicates if the corresponding value is user overridden
Value Description eUserNA Not ApplicableeUserNo Value is not overridden by usereUserYes Value is user defined or overridden
EVerticalBraceFilter
Vertical brace filter.
Value Description
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 432/450
Value Description eVBFilter_Material EMATERIAL
eVBFilter_NoFilter Remove previous filters
EWallFilter
Wall filter.
Value Description eWallFilter_FrameType EFRAMETYPEeWallFilter_Material EMATERIALeWallFilter_NoFilter Remove previous filters
EWebOpenPosition
Position of web opening in beam web.
Value Description eWebOpenCentered Opening is centered in beam web
eWebOpenOffsetToBot Opening position is offset from top of beam to bottom of openingeWebOpenOffsetToCenter Opening position is offset from top of beam to center of openingeWebOpenOffsetToTop Opening position is offset from top of beam to top of opening
EWebOpenShape
Shape of web opening.
Value Description eRectOpening Rectangular opening
eCircularOpening Circular opening
EWhichFontAndColor
Font and color for reports.
Value Description BodyFontColor Report body
HeaderFontColor Report headerHeadingFontColor Report heading
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 433/450
TitleFontColor Report title
model_status
Status of a module.
Value Description ModelFailedToLoad Model failed to loadModHadNO_CHANGE There has been no change that requires rerunning this module.ModIsINVALID The module status is invalidModIsNOTAVAIL The module status is not availableModIsNotRead Module is not readyModIsVALID The module status is validNoRelevantMembers No relevant members for the module
module_status_light
Status color of a module.
Value Description LIGHT_IS_GREEN Status light is greenLIGHT_IS_GREY Status light is greyLIGHT_IS_LIGHTBLUE Status light is light blueLIGHT_IS_RED Status light is redLIGHT_IS_YELLOW Status light is yellow NO_LIGHT_COLOR Status light has no color
rein_change_type
Reinforcement change
Value Description Rein_ContentsChange Reinforcement changedRein_NameChange Name changedRein_NoChange No changed
WhichModule
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 434/450
RAM Structural System modules.
Value Description AllModules All RAM Structural System modules
IAmFramingTables Framing TablesIAmRamConcreteAnalysis RAM Concrete AnalysisIAmRamConcreteBeam RAM Concrete BeamIAmRamConcreteColumn RAM Concrete ColumnIAmRamConcreteShearWall RAM Concrete Shear WallIAmRamFoundation RAM FoundationIAmRamFrameAnalysis RAM Frame Analysis Load CasesIAmRamFrameDrift RAM Frame Drift Control
IAmRamFrameLCombo RAM Frame Analysis Load CombinationsIAmRamFrameSpecial RAM Frame Seismic ProvisionsIAmRamFrameStandard RAM Frame Standard ProvisionsIAmRamManager RAM ManagerIAmRamModeler RAM ModelerIAmRamSteelBeam RAM Steel Beam
IAmRamSteelColumn RAM Steel Column
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 435/450
Appendix A - RAM Object Model Diagram
Properties
GetCount()
Get( in long ) > pItemInterface
GetAt(long index) > pItemInterface
Filter(in Criteria)?
Add() > pItemInterface()
Delete( in UID )
Collection Objects
UID
Properties
Standard Object
Model
FloorTypes
SlabPerimeters
SlabOpenings
SlabPerimeter
SlabOpening
LayoutBeam
LayoutColumn
LayoutWall
WebOpenings WebOpening
FloorType
SlabEdges SlabEdge
LayoutIsolatedFnd
LayoutIContFnd
Decks Deck Points Point
LayoutMatPerim Points Point
LayoutBeams
LayoutColumns
LayoutWalls
LayoutIsolatedFnds
LayoutContFnds
LayoutMatPerims
LayoutHorizBraceLayoutHorizBraces
Can Get Here From Model
IConcreteCriteria
ISteelCriteria
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 436/450
Stories Story
Beams
Columns
VerticalBraces
Walls
Beam
Column
VerticalBrace
Wall
GridSystems GridSystem Grids Grid
ConcSectProps
OtherSectProps
ConcSecProp
OtherSectProp
Iso la tedFnds Iso la tedFnd
ContFnds ContFnd
CompDeckProps CompDeckProp
MatFndPerims LayoutMatPerim
ClippedFndProps
ClippedFndProp
LayoutMatPropPoly Points PointLayoutMatPropPolys
ConcSlabProps ConcSlabProp
NonCompDeckProps NonCompDeckProp
HorizBrac es HorizBrac e
MatFndPropPolys MatPropPoly
Points
Point
PileConfigurations PileConfiguration
Piles Pile
SteelMaterials SteelMaterial
ConcreteMaterials ConcreteMaterial
OtherMaterials OtherMaterial
Appendix B – Using DataAccess from VB/VBA
The following information applies to VB and VBA programmers. It outlines some things to be aware of when using RAM DataAccessfrom VB and includes information to help get you started
Limitat ions of DataAccess from VB/VBAVB and VBA do not support the full set of COM features that are used in RAM DataAccess. As a consequence there are some minordifferences in the method variable types, return values and error handling. Also a number of methods cannot be used in theseprogramming environments. Most, but not all, of the methods that cannot be used have equivalent methods in the new interfacesthat are compatible with VB/VBA. Also in most cases there are equivalent methods that will still let the user retrieve the required datawith a little more effort.
Equivalent VB/VBA variable types
Below is a list of the variable types seen in this documentation and their equivalent VB/VBA types
DA Type VB/VBA Type
long long
double double
float single
bstr string
d L
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 437/450
dw Long
struct User Defined Data Type. These do not need to be defined in VB/VBA they should tobe accessed directly from the definitions that are provided in DA
enum Enum
BOOL Long - True = 1 False = 0
If a variable has the letter “a” as a prefix, it indicates that the variable is an array and it must be dimensioned before it is used in theDA method.
Return ValuesIf 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 usedby 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 aVB/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 tothe parameter list for the method, you can simply set that variable equal to that DA method.
Incompatible methodsIf 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 usingsuch a method you will get the following Compile Error:
Gett ing Started with DataAccess in VB/VBADA will already be installed on your computer if you have RAM Structural System v8.0 or later installed. Below you will findinstructions on getting started with DA. You will also find sample VB and Excel VBA projects in the DA Toolkit to give you anexample 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, theuser should be able to find the functions that they require.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 438/450
NOTE 2: You will want to install the RAM Common Control toolkit which is included with the RAM DataAccess toolkit before trying torun 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 Structureso DA Enumeratorso 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 thepanel below. For each function the information includes the function name, parameter list and return type as well as a shortdescription 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)
L d th d l b d fi i t i th t i l d th d l d l t th
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 439/450
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 nothingSet RAMDataAccIDBIO = Nothing
Error HandlingOne 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 tocheck 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 forerrors and respond to them. It is very important to trap errors and deal with them, otherwise the program will most likely crash. Youcan 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 CheckingIf Err.Number <> 0 Then
InterfaceName.GetLastError strErrorShort, strErrorLong, lErrorNumIf lErrorNum <> 0 Then
MsgBox strErrorLong, Title:="Error!"End IfEnd 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 codethat 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 ifyou 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.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 440/450
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. Itis 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 theCOM 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 itselfis very simplistic, it does illustrate the use of the RAM DataAccess library as well as how to work with the geometric information inthe library.
General Instruc t ions for u sing RAM DataAccess
Using Interface PointersRegardless of the type of application you are going to create, the following pattern for using RAM DataAccess to access theStructural System database will be used.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 441/450
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 LoadDataBasemethod. First you must get the IRAMDataAccess1 interface pointer and then use it to create an IDBIO1 interface pointer. Once youhave that pointer, you can use the LoadDataBase method. Don’t forget to call IDBIO1::CloseDatabase when done with the model.
Strings and COMCOM passes strings in the form of BSTR’s. If the method you will be using has a BSTR in the parameter list, you will need to do the
following conversions.
Gett ing a Str ing 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 Str ing 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:
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 442/450
CString strName = “My String”;
BSTR bstrName;bstrName = _bstr_t(strName);
ORchar 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 advantageto 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 itis a more complex method of memory management. When you find a method that has a double pointer ‘pp’ in the parameter list,the following steps must be taken to manage the memory correctly.
The following method is used to get the entire rebar table for the concrete column program. Notice that an array of SREIN_PROP’swill 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);
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 443/450
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 methodof memory management.
The BasicsThese steps must be followed for any C++ application that will use RAM DataAccess. There is flexibility as to where in your code youchoose 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 cppfile. 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 throwerrors.
2. Declare an instance of the RAMDataAccess1 interface as follows. We recommend doing this in the header file and makingyour 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 cppfile), create the IRamDataAccess1Ptr. (If you will be using it as a local variable, this function call must appear at the beginningof each function with which you will be using RAM DataAccess.)
For a Conso le App:
CoInitialize(NULL);m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") );
CoInitialize is a necessary step for a console app.
For MFC Apps that inc lude Autom at ion suppor t :
m_pDA.CreateInstance( _T("RAMDataAccess.RamDataAccess1.1") );
4. Use the m_pDA pointer created above to gain access to other interface pointers.
IM d lPt IM d l DA >G tI t f P i t B E (IM d l INT)
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 444/450
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 Conso le AppThis is the simplest approach to a C++ project. Data will be entered through a Console Window (essentially a DOS window) or it canbe 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 makeprojects larger but it has several nice features that might make that worth it. For instance, strings are very easy to manipulate withthe CString class. Writing to a file is made very easy using the CFile class. These are not available without MFC support.
Programming
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 445/450
g g
When the project was created, a file projectname .cpp was created and in it, a function called _tmain. The “else” section of theconditional statement is where you will write you code. You could write your entire program there but we recommend using classesand 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 areport 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 developer’s studio. Followthrough 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 whichneeds to be caught by using a catch (_com_error e ) statement. See example C++ project for more information on how thecode 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:
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 446/450
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 ishowever the calling function’s responsibility to free the memory after the dimensioned array is no longer needed by using the CoTaskMemFree as follows:
if(paBeamLineResults != NULL)CoTaskMemFree(pBeamLineResults);
The TestDA project shows an example of how to use DA in a C++ project. DA is used in the CTestDADoc.cpp file. You can see anexample of the #include at the top of the f ile and the instantiation and use of the DA and its interfaces in CTestDADoc::OnTestDA method.
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 447/450
Using smart pointers makes COM dlls act more like regular pointers to C++ classes and allows MS Dev Studio to provide the list ofmethods that are available for each interface as well as the list of parameters once you have selected the method. Getting interfacesis also significantly easier (it all acts more like VB). For more information on smart pointers look for the #import help topic inMSVC++.
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 MeaningRAMUSER Gravity load modeled in RAM ModelerRAMUSERNODAL_ type Nodal load modeled in RAM Modeler where:
type W for wind, S for seismic, O for other, V for virtual
W_User User defined story force of type WindWind_code_ direction Generated Wind force where:
code is the code selected to generate the forcesdirection indicates the direction of the force (X or Y)
EQ_User User defined story force of type Earthquake (seismic)EQ_ code_dir_eccentricity Generated Earthquake force where:
code is the code selected to generate the forcesdir indicates the direction of the force (X or Y)eccentricity +E = positive eccentricity
-E = negative eccentricityDyn_ code_CQC_direction Dynamic Load Case using Response Sprectra
code is the code selected to generate the forces
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 448/450
code is the code selected to generate the forces
if code is not shown this indicates a general CQCsolution.
dir indicates the direction of the force (X or Y)Eigen Solution Dynamic Load Case using Eigen Solutions.Center of Rigidity Center of RigidityVirtual Load Case_User Virtual Load Case to be used in RAM Drift Control.
Load Case Types (as integers):
Value Load Type
RamSteelLoadType = 0 Gravity Load case modeled in RAM ModelerNodalLateralLoadType =1 Nodal Lateral load modeled in RAM ModelerWindLoadType = 2 Wind defined in RAM FrameSeismicLoadType = 3 Seismic defined in RAM FrameDynamicLoadType = 4 Dynamic defined in RAM FrameOtherLoadType = 5 “Other” defined in RAM Frame
Load Case Sub-Load Types (as integers):
Load Type Sub-Load Type
RamSteelLoadType GRAVITY_LOAD 0x0001 Dead Load
POS_RED_LLPOS_STORAGE_LLPOS_NONRED_LL
0x00020x00080x0080
3 types of positiveLive Load
NEG_RED_LLNEG_STORAGE_LLNEG_NONRED_LL
0x00040x00100x0100
3 types ofnegative LiveLoad
POS_ROOF_LL 0x0020 Positive Roof Live
Load (can bereducible or snow)
NEG_ROOF_LL 0x0040 Negative RoofLive Load (can bereducible or snow)
NodalLateralLoadType WIND_NODAL2SEISMIC_NODAL2OTHER_NODAL2VIRTUAL_NODAL2
0123
4 types of nodallateral loads
WindLoadTypeSeismicLoadType
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 449/450
SeismicLoadType
DynamicLoadType EIGEN_SOLUTION2RESPONSE_SPECTRA2RESPONSE_SPECTRA_UBC972RESPONSE_SPECTRA_IBC20002
0123
4 types ofDynamic loads
OtherLoadType USER_DEFINED_STORY2CENTER_RIGIDITY2VIRTUAL_LOADCASE2
012
3 types of “Other”loads.
Appendix F – Shear wall interface constants
IWallCodeResult Hint Flags
0: No Hint1: Function not found (internal error)2: Other internal error3: All checks pass (no hint required)4: No hint possible6: Increase concrete area of cross-section7: Increase depth8: Increase breadth9: Increase concrete grade10: Increase number of curtains12: Increase area of tension reinforcement13: Increase area of compression reinforcement14: Increase bar spacing15: Increase reinforcement area and increase bar spacing16: Decrease bar spacing17: Increase longitudinal reinforcement area18: Increase reinforcement area and decrease bar spacing20: Increase transverse reinforcement area
7/18/2019 RAM DataAccess Developers Guide
http://slidepdf.com/reader/full/ram-dataaccess-developers-guide-5691bec8ced18 450/450
IWallLimitCheck General Classification Code
0: Axial1: Shear2: Flexural3: Axial Flexural4: Clear Cover5: Concrete Strength6: Bar Size7: Bar Spacing
8: Reinforcement Ratio9: Bar Placement10: Reinforcement Detailing11: Fire Limit State12: Confinement13: Member Dimensions
IWallLimitCheck Specific Classification Code
14: Axial strength15: Flexural strength in design axis 116: Flexural strength in design axis 217: Shear strength in the design axis 118: Shear strength in the design axis 219: Positive flexural strength20: Negative flexural strength21: Minimum horizonal reinforcement ratio22: Minimum vertical reinforcement ratio23: Maximum horizonal reinforcement ratio24: Maximum vertical reinforcement ratio
25: Minimum horizontal bar spacing26: Minimum vertical bar spacing27: Maximum horizontal bar spacing28: Maximum vertical bar spacing29: Maximum tie reinforcement bar spacing