RAM DataAccess Developers Guide

download RAM DataAccess Developers Guide

of 448

description

RAM DataAccess was first introduced several years ago as a new way to access data in a RAM Structural System model. It replaced the Programmer’s Interface and was designed to be used not only by 3rd parties, but also by RAM Structural System itself. The primary role of DataAccess in the first few years was to read data in the RAM SS model. Eventually the need arose to modify the RAM SS model via DataAccess. At that point, we decided that the existing interfaces did not lend themselves well to this new required functionality and a new set of interfaces, collectively termed the “RAM Object Model” were designed with these requirements in mind. These new interfaces, which allow data to not only be read, but also updated, added and deleted, have been incorporated into our existing RAM DataAccess COM component, although they can for the most part be used independently of the pre-existing interfaces. The RAM Object Model interfaces have been designed with the framework of the RAM Structural System in mind to help ensure that a valid model is created (see the first section under Basic Concepts below). The interfaces have also been architected to provide a clear plan for future extensions and enhancements to the RAM Object Model.

Transcript of RAM DataAccess Developers Guide

  • RAM DataAccess

    Developers Guide

    Release 14.06.00 October 2013

    Bentley Systems 2744 Loker Avenue West, Suite 103

    Carlsbad, CA 92010 Telephone: (760) 431-3610 Toll Free: (800) 726-7789

    Fax: (760) 431-5214

  • TRADEMARK NOTICE Bentley and the "B" Bentley logo are registered or non-registered trademarks of Bentley Systems, Incorporated. RAM SBeam, RAM Structural System, RAM Manager, RAM Modeler, RAM Steel, RAM Frame, RAM Foundation and RAM Concrete are registered or non-registered trademarks of Bentley Systems, Incorporated. All other marks are the property of their respective owners. COPYRIGHT NOTICE Copyright (c) 2012 Bentley Systems, Incorporated. All Rights Reserved. Including software, file formats, and audiovisual displays; may only be used pursuant to applicable software license agreement; contains confidential and proprietary information of Bentley Systems, Incorporated and/or third parties which is protected by copyright and trade secret law and may not be provided or otherwise made available without proper authorization. ACKNOWLEDGEMENTS Contains CM2 MeshTools by Computing Objects Virtual Print Engine (VPE) Copyright IDEAL Software CM2 MeshTools Computing Objects SARL Math Kernel Library (MKL) Intel Corporation The Boost Graph Library (BGL) Siek, J.G., Lee, L., and Lumsdaine, A. Ultimate Toolbox Dundas Software Ltd. TurboDXF Ideal Engineering Portions Copyright Microsoft Corporation Includes Adobe(R) PDF Library technology. Portions Copyright (c) Adobe Systems, Inc. Clipper library Angus Johnson zlib software Jean-loup Gailly and Mark Adler. RESTRICTED RIGHTS LEGENDS If this software is acquired for or on behalf of the United States of America, its agencies and/or instrumentalities ("U.S. Government"), it is provided with restricted rights. This software and accompanying documentation are "commercial computer software" and "commercial computer software documentation," respectively, pursuant to 48 C.F.R. 12.212 and 227.7202, and "restricted computer software" pursuant to 48 C.F.R. 52.227-19(a), as applicable. Use, modification, reproduction, release, performance, display or disclosure of this software and accompanying documentation by the U.S. Government are subject to restrictions as set forth in this Agreement and pursuant to 48 C.F.R. 12.212, 52.227-19, 227.7202, and 1852.227-86, as applicable. Contractor/Manufacturer is Bentley Systems, Incorporated, 685 Stockton Drive, Exton, PA 19341-0678. Unpublished - rights reserved under the Copyright Laws of the United States and International treaties.

  • DISCLAIMER The software and related documentation, including this documentation, are protected by both United States copyright law and international treaty provisions. Any unauthorized copying or reproduction is strictly prohibited and subject to civil and criminal penalties. Please refer to the License Agreement for authorization to make a backup copy of the software. You may not sell this software or documentation or give copies of them away to anyone else. Except as expressly warranted in the License Agreement, Bentley Systems, Incorporated disclaims all warranties, expressed or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to the software, the accompanying written materials, and any accompanying hardware. All results should be verified to the users satisfaction. The contents of these written materials may include technical inaccuracies or typographical errors and may be revised without prior notice.

  • Table of Contents Introduction .......................................................................................................................................................................................... 10 Basic Concepts of the RAM Object Model ........................................................................................................................................... 10 General Information ............................................................................................................................................................................. 12 Creating and Updating a Model ........................................................................................................................................................... 14 Reading an Existing Model .................................................................................................................................................................. 18 The Object Model Interfaces ................................................................................................................................................................ 19

    DAArray ............................................................................................................................................................................................ 19 IAnalyticalResult ............................................................................................................................................................................... 20 IBasePlate ........................................................................................................................................................................................ 21 IBeam ............................................................................................................................................................................................... 21 IBeams ............................................................................................................................................................................................. 25 IColumn ............................................................................................................................................................................................ 26 IColumns .......................................................................................................................................................................................... 30 IColumnStack ................................................................................................................................................................................... 32 ICompDeckProp ............................................................................................................................................................................... 32 ICompDeckProps ............................................................................................................................................................................. 33 IConcreteCriteria .............................................................................................................................................................................. 35 IConcreteMaterial ............................................................................................................................................................................. 35 IConcSectProp ................................................................................................................................................................................. 36 IConcSectProps ............................................................................................................................................................................... 37 IConcShearWallCriteria .................................................................................................................................................................... 40 IConcSlabProp ................................................................................................................................................................................. 40 IConcSlabProps ............................................................................................................................................................................... 41 IContinuousFnd ................................................................................................................................................................................ 42 IContinuousFnds .............................................................................................................................................................................. 44 ICouplingBeam ................................................................................................................................................................................. 45 ICouplingBeamCriteria ..................................................................................................................................................................... 46 ICouplingBeams ............................................................................................................................................................................... 47 IDB ................................................................................................................................................................................................... 49 IDBRecord ........................................................................................................................................................................................ 49 IDBRecords ...................................................................................................................................................................................... 49 IDBTable .......................................................................................................................................................................................... 49 IDBTables ........................................................................................................................................................................................ 49 IDeck ................................................................................................................................................................................................ 49 IDecks .............................................................................................................................................................................................. 51 IDeckTableEntries ............................................................................................................................................................................ 53 IDeckTableEntry ............................................................................................................................................................................... 53

  • IDiaphragm ....................................................................................................................................................................................... 54 IDiaphragms ..................................................................................................................................................................................... 55 IField ................................................................................................................................................................................................ 56 IFields ............................................................................................................................................................................................... 56 IFinalWallOpening ............................................................................................................................................................................ 57 IFinalWallOpenings .......................................................................................................................................................................... 57 IFloorType ........................................................................................................................................................................................ 58 IFloorTypes ...................................................................................................................................................................................... 62 IFrameAnalysisCriteria ..................................................................................................................................................................... 64 IGridSystem ..................................................................................................................................................................................... 64 IGridSystems .................................................................................................................................................................................... 65 IHorizBrace ...................................................................................................................................................................................... 66 IHorizBraces ..................................................................................................................................................................................... 69 IIsolatedFnd ..................................................................................................................................................................................... 70 IIsolatedFnds .................................................................................................................................................................................... 72 ILayoutBeam .................................................................................................................................................................................... 73 ILayoutBeams .................................................................................................................................................................................. 78 ILayoutColumn ................................................................................................................................................................................. 80 ILayoutColumns ............................................................................................................................................................................... 83 ILayoutContinuousFnd ..................................................................................................................................................................... 86 ILayoutContinuousFnds ................................................................................................................................................................... 88 ILayoutHorizBrace ............................................................................................................................................................................ 89 ILayoutHorizBraces .......................................................................................................................................................................... 92 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

  • 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 ..................................................................................................................................................................... 135 IOtherMaterial ................................................................................................................................................................................ 136 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

  • IRAMFrameCriteria ........................................................................................................................................................................ 157 IRawWallOpening .......................................................................................................................................................................... 158 IRawWallOpenings ......................................................................................................................................................................... 159 IRawWallSectionCut ....................................................................................................................................................................... 160 IRawWallSectionCuts ..................................................................................................................................................................... 165 IRBSPropertySet ............................................................................................................................................................................ 167 IReactionNode ............................................................................................................................................................................... 167 IReactionNodes .............................................................................................................................................................................. 168 IRecord ........................................................................................................................................................................................... 169 IRecords ......................................................................................................................................................................................... 169 IShell .............................................................................................................................................................................................. 170 IShells ............................................................................................................................................................................................ 170 ISlabEdge ....................................................................................................................................................................................... 171 ISlabEdges ..................................................................................................................................................................................... 172 ISlabOpening ................................................................................................................................................................................. 173 ISlabOpenings ................................................................................................................................................................................ 174 ISlabPerimeter ............................................................................................................................................................................... 174 ISlabPerimeters .............................................................................................................................................................................. 175 ISnowLoadPropertySet .................................................................................................................................................................. 176 ISnowLoadPropertySets ................................................................................................................................................................. 176 ISnowLoadSet ................................................................................................................................................................................ 177 ISnowLoadSets .............................................................................................................................................................................. 178 ISteelBeamDesignResult ............................................................................................................................................................... 180 ISteelCriteria .................................................................................................................................................................................. 180 ISteelMaterial ................................................................................................................................................................................. 182 IStories ........................................................................................................................................................................................... 182 IStory .............................................................................................................................................................................................. 184 IStress ............................................................................................................................................................................................ 188 IStresses ........................................................................................................................................................................................ 189 IStringValue .................................................................................................................................................................................... 189 ISurfaceLoadPropertySet ............................................................................................................................................................... 189 ISurfaceLoadPropertySets ............................................................................................................................................................. 190 ISurfaceLoadSet ............................................................................................................................................................................ 191 ISurfaceLoadSets ........................................................................................................................................................................... 192 ITable ............................................................................................................................................................................................. 193 ITrialGroup ..................................................................................................................................................................................... 194 ITrialGroups ................................................................................................................................................................................... 195 IVerticalBrace ................................................................................................................................................................................. 195

  • IVerticalBraces ............................................................................................................................................................................... 198 IWall ............................................................................................................................................................................................... 200 IWallBarLayout ............................................................................................................................................................................... 204 IWallBarLayouts ............................................................................................................................................................................. 205 IWallBarPattern .............................................................................................................................................................................. 206 IWallBarPatterns ............................................................................................................................................................................ 207 IWallBarPlacement ......................................................................................................................................................................... 208 IWallBarPlacements ....................................................................................................................................................................... 208 IWallBarSet .................................................................................................................................................................................... 210 IWallBarSets .................................................................................................................................................................................. 210 IWallCodeMessage ........................................................................................................................................................................ 212 IWallCodeMessages ...................................................................................................................................................................... 212 IWallCodeResult ............................................................................................................................................................................ 213 IWallCodeResults ........................................................................................................................................................................... 214 IWallDesignGroup .......................................................................................................................................................................... 215 IWallDesignGroups ........................................................................................................................................................................ 218 IWallFailedMember ........................................................................................................................................................................ 219 IWallFailedMembers ....................................................................................................................................................................... 219 IWallFE ........................................................................................................................................................................................... 221 IWallFEs ......................................................................................................................................................................................... 222 IWallLimitCheck ............................................................................................................................................................................. 222 IWallLimitChecks ............................................................................................................................................................................ 223 IWallPanel ...................................................................................................................................................................................... 225 IWallPanelReinfZone ...................................................................................................................................................................... 227 IWallPanelReinfZones .................................................................................................................................................................... 227 IWallPanels .................................................................................................................................................................................... 228 IWalls ............................................................................................................................................................................................. 230 IWallSectionDsnCut ....................................................................................................................................................................... 231 IWallSectionDsnCutForceSet ......................................................................................................................................................... 233 IWallSectionDsnCutForceSets ....................................................................................................................................................... 234 IWallSectionDsnCuts ...................................................................................................................................................................... 235 IWebOpening ................................................................................................................................................................................. 237 IWebOpenings ............................................................................................................................................................................... 238 WallBarPatternTemplate ................................................................................................................................................................ 239 WallBarPatternTemplates .............................................................................................................................................................. 240

    Original DataAccess Interfaces .......................................................................................................................................................... 243 IConcAnalysis1 .............................................................................................................................................................................. 243 IConcAnalysisState1 ...................................................................................................................................................................... 245

  • IConcBeamState1 .......................................................................................................................................................................... 251 IConcBeamState2 .......................................................................................................................................................................... 260 IConcCntlrCommon1 ...................................................................................................................................................................... 270 IConcColModState1 ....................................................................................................................................................................... 274 IConcColModState2 ....................................................................................................................................................................... 280 IConcept ......................................................................................................................................................................................... 282 IDBIO1 ........................................................................................................................................................................................... 284 IForces1 ......................................................................................................................................................................................... 287 IForces2 ......................................................................................................................................................................................... 295 IGravityLoads1 ............................................................................................................................................................................... 301 IGravitySteelDesign1 ...................................................................................................................................................................... 319 ILoading1 ....................................................................................................................................................................................... 322 IMemberData1 ............................................................................................................................................................................... 327 IMemberData2 ............................................................................................................................................................................... 339 IModelData1 ................................................................................................................................................................................... 344 IModelData2 ................................................................................................................................................................................... 350 IModelGeometry1 ........................................................................................................................................................................... 359 IModelGeometry2 ........................................................................................................................................................................... 371 IModelStatus1 ................................................................................................................................................................................ 375 IRamDataAccess2.......................................................................................................................................................................... 377 ISteelColumnState ......................................................................................................................................................................... 377 ISteelColumnState2 ....................................................................................................................................................................... 381 RamDataAccess1........................................................................................................................................................................... 382

    Common Structure Definitions ........................................................................................................................................................... 383 Common Enumerator Definitions ....................................................................................................................................................... 401 Appendix A - RAM Object Model Diagram ......................................................................................................................................... 433 Appendix B Using DataAccess from VB/VBA ................................................................................................................................. 434 Appendix C Using RAM DataAccess in a Visual C++ Project ......................................................................................................... 438 Appendix D - Using RAMDataAccess in C++ with Smart Pointers .................................................................................................... 443 Appendix E Additional Load Case Information ................................................................................................................................ 445 Appendix F Shear wall interface constants ..................................................................................................................................... 447

  • Introduction RAM DataAccess was first introduced several years ago as a new way to access data in a RAM Structural System model. It replaced the Programmers Interface and was designed to be used not only by 3rd parties, but also by RAM Structural System itself. The primary role of DataAccess in the first few years was to read data in the RAM SS model. Eventually the need arose to modify the RAM SS model via DataAccess. At that point, we decided that the existing interfaces did not lend themselves well to this new required functionality and a new set of interfaces, collectively termed the RAM Object Model were designed with these requirements in mind. These new interfaces, which allow data to not only be read, but also updated, added and deleted, have been incorporated into our existing RAM DataAccess COM component, although they can for the most part be used independently of the pre-existing interfaces. The RAM Object Model interfaces have been designed with the framework of the RAM Structural System in mind to help ensure that a valid model is created (see the first section under Basic Concepts below). The interfaces have also been architected to provide a clear plan for future extensions and enhancements to the RAM Object Model. There is much overlap in the functionality of the RAM Object Model interfaces and the original DataAccess interfaces. Whenever the same functionality can be achieved in either set of interfaces, it is preferred to use the RAM Object Model interfaces. Eventually all functionality will be provided via interfaces that are built on the RAM Object Model architecture and the original interfaces will gradually become obsolete.

    Basic Concepts of the RAM Object Model In designing the RAM Object Model interfaces, both the framework of the RAM Structural System and future extensibility of the object model were taken into consideration. RAM Structural System Model The RAM Structural System makes use of the concept of a typical floor, or floor type. Each floor type can be used to define multiple stories in a model such that there is often a one-to-many correspondence between floor types and stories. This modeling concept poses some restrictions on how a model may be modified outside of the RAM Structural System. For example, although member sizes may vary from story-to-story for a member on a single floor type, other properties, such as type of material cannot vary between stories. Additionally, most members cannot be added, deleted, or moved on a story-by-story basis since all stories based on the same floor type must have the same basic geometry. (Note that vertical braces are an exception, since they are added to the story, not to the floor type.) RAM Object Model Architecture There is a COM interface for each entity of a building model that is represented in the RAM Object Model, such as a floor type (IFloorType), beam (IBeam), or deck (IDeck). Using these interfaces, properties of the entity can be retrieved or changed. Additionally, there is an interface for each entity type that represents a collection of entities (i.e. IFloorTypes, IBeams, IDecks). The collection interface allows for the addition or deletion of the type of entity associated with the interface (although there are some

  • exceptions as explained below). For example, to add or delete floor types, use the IFloorTypes interface. The collection interface can be used to iterate through a set of entities and to filter the collection to obtain a subset of that type of entity. For each member that is modeled through a floor type in the RAM Structural System, but which may also be altered on a story basis (beams, columns, etc), there are two corresponding interfaces, one for the floor type, and one for the story. Each ILayoutMember1 interface, for example, corresponds to a member in the floor type, which may correspond to zero, one or more actual members, depending on how many stories are associated with the floor type. (Note that floor types are sometimes referred to as layout types in the RAM Structural System, so these interfaces dont refer to laying out the member, but refer to the member on the layout type or floor type.) The IMember interface corresponds to a single member at a particular story. Generally, to get properties of a member, use the IMember interface. Some properties (any property that the RAM Structural System allows to be modified on a story-by-story basis) can also be set for a member using the IMember interface, such as member size or fixity. For properties that cannot vary story-to-story, or to move a member, the ILayoutMember interface must be used, which in effect updates all corresponding members on the stories associated with that floor type. The documentation for each interface indicates which properties can be set from that interface. As explained above, all stories that are based on the same floor type must have the same basic geometry. For this reason, members cannot be added on a story-by-story basis. Due to this restriction in the RAM Structural System model, the IMembers interfaces (which correspond to a story) do not have functionality to add or delete members. For example, to add a beam, you need to use the ILayoutBeams collection interface; the IBeams interface does not allow beams to be added.

    1 The italicized Member is used to refer to any of Beam, Column, Wall, HorizBrace, IsolatedFnd or ContinuousFnd.

  • General Information Version Information You will notice that the documentation for each interface, function and property indicates the version that it first became available. The IRamDataAccess2 interface provides a function called GetVersion() to determine the version of RAM DataAccess with which you are working. You want to make sure you have v10.0, for example, if you want to get a property that was first available in v10.0. The IRamDataAccess2 interface was made available in v9.01. To determine if you have the version you need to access a particular function or property, first check to see if you can get the IRamDataAccess2 interface. If you cannot, you have a version that is older than v9.01. If you can get the interface, call GetVersion(). Depending on your program, you may want to make this call right at the beginning and only allow the user to run your program if a certain version of RAMDataAccess.dll or later is available. Or you may just use the version info to decide whether or not to call functions or properties or attempt to get interfaces that are newer. Definitions and Naming Convention RAM International utilizes Hungarian Notation to make it easy to identify data and variable types. Each variable or data type is prefixed with one or more letters that identify its type. The following table lists the most common prefixes and their meanings. (Note to VB/VBA users: several of these variable types are not used in VB/VBA. Explanations of them are provided in the For VB/VBA users. A link to that section will be provided when appropriate.) Prefix Meaning I A capital I precedes all interface names. C A capital C precedes all class names. E A capital E precedes names of enumerators. S A capital S precedes names of structures. bstr BSTR, a 32-bit character pointer

    This is how we pass strings through a COM interface. VB/VBA l or n long, a 32-bit signed integer d double, a 64-bit double precision number f float, a 32-bit single precision number e an enumerated type. Technically a long. dw DWORD, a 32-bit unsigned integer. p a pointer VB/VBA a an array pp Pointer to a pointer for an array.

    This is used to allocate memory for the array inside of DA.

    For C++ users the array must be set to NULL before the function is called and if the array size is zero then the array is not changed or redimentioned in any way. The memory must be released on the calling function side using CoTaskMemFree.

  • This feature is incompatible with VB/VBA and all Automation programming tools.

    Prefixes are often combined to provide more information about a variable. For instance, the prefix pd would refer to, not just a pointer, but a pointer to a double. In addition to variable prefixes, variables in the parameter list are preceded by one of the following identifiers.

    [in] 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. Note that the S and E preceding these return values do not follow the rules mentioned above. In this case S refers to success and E refers to error.

    S_OK The method was completed successfully E_FAIL The method did not complete successfully E_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_OK will result in an error that must be handled in an error_handler or catch statement respectively. C++ users can change this default behavior of #import (so as to have the compiler not automatically parse the return value). Refer to Appendix D for more information. For most functions created in v8.2 and later you will notice a plRetVal as the last parameter. plRetVal will provide a return error code that may not be critical but should be verified. This is different than the S_OK, E_FAIL and E_NOTIMPL which in general are critical (COM related) errors. The plRetVal will provide you with an error code that you can use to decide if you want to ignore the error or if you need to in some way change the program flow due to the error. For all VB/VBA program and C++ programs using the #import, the plRetVal will be the return value for the function. See example code in the toolkit for more information. Database Units All values are stored as inches and kips with the exception of Unit Weight which is stored in pounds per cubic foot (pcf). A Note about this Documentation

  • The methods that appear grayed out are not intended for use outside of RAM International. This includes methods that have been deprecated and some Set methods.

    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 the appendices.) After creating an instance of the IRAMDataAccess1 interface, use the GetInterfacePointerByEnum() (or GetDispInterfacePointerByEnum() if using VB) function to get a pointer to the IDBIO1 interface. With the IDBIO interface, you can use LoadDataBase2() to load an existing model, or CreateNewDatabase2() to start a new model. Once the model is open, get a pointer to the IModel interface. When opening an existing model, you may want to call IDBIO::GetDatabaseVersion() to make sure the database version is what you are expecting. If the database version does not match the version of RAMDataAccess, LoadDatabase() will fail. Starting a New Model There are many defaults that a user can set for a RAM Structural System model using the RAM Defaults Utility. These defaults are stored in the Ramis.ini file located in the Windows or Winnt directory of a computer that has the RAM Structural System installed. When a new model is created, these defaults are pulled from the Ramis.ini file and used to set global model defaults such as which design code to use for steel beam design. The default is the value that will be used unless the property is changed by the user. If no defaults are set in the Ramis.ini file, hard-coded defaults are used when a new model is created. When creating a new RAM Structural System model, you will first need to create a floor type to which you can then add members. You will also need to create a story that uses that floor type before the members will be a part of the 3D model. Creating a floor type If you are starting with an empty model, the first thing to do is create a new floor type. From the IModel interface, get the IFloorTypes interface, which is the collection of floor types for the model. Since there are no floor types yet, the IFloorTypes interface represents an empty collection. Use the Add() function to add a new floor type. Once you have the resulting IFloorType interface, you can immediately generate a story associated with that floor type, or simply begin adding members. You can create one or more stories from the same floor type before or after adding members. However, until you create at least one story from the floor type, the members on that floor type are not part of the 3D model. Defining grid systems Grid systems can be defined once and assigned to one or more floor types. A floor type can have one or more grid systems assigned to it.

  • From the IModel interface, get the IGridSystems interface, which is the collection of all grid systems defined for the model. Use the Add() function to add a new grid system. From the resulting IGridSystem interface, use the GetGrids() function to get the collection of grid lines associated with the grid system. Use the Add() function to add new grid lines to the grid system. Once the grid system is defined, using the IFloorType interface of the floor type to which the grid system is to be assigned, call GetGridSystemIDArray() to get the collection of grid system unique IDs that are assigned to that floor type (it may be empty). From the resulting IDAArray interface, add the unique ID of the grid system to be assigned to this floor type. The new grid system assignment is not completed until the IDAArray interface is passed back to the floor type using the SetGridSystemIDArray() function call. Creating a story Using the unique ID for a floor type, you can add one or more stories associated with that floor type. From the IModel interface, get the IStories interface, which is the collection of stories for the model. Use the Add() function to add a new story. Adding columns Columns are added to floor types, not stories. When a column is added to a floor type, one column will be added to the 3D model for each story associated with that floor type. Using the IFloorType interface for the floor type to which you want to add columns, get the ILayoutColumns interface, which represents the collection of columns on that floor type. Use the Add() function to add a new column. You can use the resulting ILayoutColumn interface to set properties for the newly added column(s). Adding beams, walls or horizontal braces These member types are also added to floor types, not stories. When a beam, wall, or horizontal brace is added to a floor type, one will be added to the 3D model for each story associated with that floor type. Using the IFloorType interface for the floor type to which you want to add columns, get the corresponding ILayoutBeams, ILayoutWalls, or ILayoutHorizontalBraces interface, which represents a collection of that member type on the floor type. Use the Add() function to add a new member of that type. You can use the resulting ILayoutBeam, ILayoutWall or ILayoutHorizBrace interface to set properties for the newly added member(s). Adding vertical braces Since vertical braces span 2 or more stories, they are not added to floor types. (And consequently, they do not have a corresponding ILayout interface.) Vertical braces are associated with the two stories into which its nodes connect. From the IModel interface, get the IVerticalBraces interface, which represents the collection of all braces in the model. Use the Add() function to add a new brace, passing in the IDs of the stories into which the brace frames. You can use the resulting IVerticalBrace interface to set properties for the newly added brace. An alternative to getting the entire list of vertical braces for the model is to get the IVerticalBraces interface from the IStory interface. This essentially filters the list of braces to those whose top end frames into the story represented by the IStory interface. Defining material properties for a member

  • Eventually, the RAM Structural System will allow material properties to be defined separately from any member and assigned to one or more members. With that in mind, separate interfaces were designed for steel, concrete and Other materials. However, currently, there must be a one-to-one correspondence between a material and a member. For this reason, you cannot currently add material properties to their corresponding collection interfaces (ISteelMaterials, IConcreteMaterials, IOtherMaterials). Rather, there is already one material property for each beam, column, wall, horizontal brace, vertical brace and foundation which can be obtained from the IModel interface. The IBeam, IColumn, IWall, IHorizBrace, IVerticalBrace, IIsolatedFnd and IContinuousFnd interfaces all have a unique material property ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of the corresponding member. Likewise, if the member is concrete, call GetConcreteMaterial(), or if it is Other, call GetOtherMaterial(). With the corresponding ISteelMaterial, IConcreteMaterial, or IOtherMaterial, you can set the material properties for that material definition. Assigning sizes to steel members To assign a size to a steel member, set the strSectionLabel property through the ILayoutBeam or the IBeam interface. Sizes for steel members must correspond to one of the design tables shipped with the RAM Structural System. In other words, the name set for the strSectionLabel must exactly match the name of the size listed in the corresponding design table. Custom tables can be created by the engineer, but these must follow the format of the tables provided by RAM. The RAM Structural System will look for the sizes in the design tables specified in the IModel interface. Be sure to set the name of the Master Steel Table as well as the specific tables for steel beams and steel columns. If needed, also be sure to set the names of the tables for castellated and cellular beam sections. Assigning section properties to concrete members To assign section properties to a concrete member, you must first define a concrete section property. From the IModel interface, call GetConcreteSectionProps() to get the IConcSectProps collection interface that represents the collection of all concrete section properties defined in the model. Use the AddTee(), AddRect() or AddRound() functions to define a new concrete section property. (Note there are three separate add commands since each shape has a different minimum set of data required for defining a valid section property.) The resulting IConcSectProp interface can be used to set additional properties for the section. To assign the section property to a concrete member, either set the strSectionLabel property for the member to the strLabel property of the IConcSectProp, or set the lSectionID property of the member to the unique ID of the IConcSectProp. Note that the assigned section property must match the material type of the member (which can be accessed via the eMaterial property of a member). It should be noted that assigning a concrete section property to a steel beam does not change the material of the beam and when the model is run in the RAM Structural System, an error message will be issued for the member. Also note that concrete section properties are defined by the type of member they can be assigned to: beam, column or brace. See the documentation for the IConcSectProp interface for more information.

  • Assigning section properties to Other members Some members are neither defined with steel nor concrete material type. These are referred to as type Other in the RAM Structural System and they can include members of any type of material which are not currently represented in the RAM Structural System. To assign section properties to an Other member, you must first define an Other section property. From the IModel interface, call GetOtherSectionProps() to get the IOtherSectProps collection interface that represents the collection of all Other section properties defined in the model. Use the Add() function to define a new Other section property. The resulting IOtherSectProp interface can be used to set additional properties for the section. To assign the section property to an Other member, either set the strSectionLabel property for the member to the strLabel property of the IOtherSectProp, or set the lSectionID property of the member to the unique ID of the IOtherSectProp. Note that the assigned section property must match the material type of the member (which can be accessed via the eMaterial property of a member). Assigning an Other section property to a steel beam does not change the material of the beam and when the model is run in the RAM Structural System, an error message will be issued for the member. Also note that Other section properties are defined by the type of member they can be assigned to: beam, column or brace. See the documentation for the IOtherSectProp interface for more information. Updating an existing model Once you have a model that was either created from scratch through the RAM Object Model or created by the RAM Structural System, you may need to update existing members in the model. Nearly every item in the Object Model has a unique ID associated with it. Using that ID, you can get an interface to the corresponding member directly from the IModel interface. Updating a column From the IModel interface, call GetLayoutColumn() using the unique ID of the column. With the ILayoutColumn interface, you can modify the column coordinates using SetLayoutCoordinates() or modify most of the column properties using the set functions associated with each property. Since the ILayoutColumn may represent one or more columns, not all properties can be read from the ILayoutColumn interface. Those properties that can vary story-to-story must be read from the IColumn interface. If you know the unique ID of the column, you can call GetColumn() from the IModel interface. Alternatively, from the ILayoutColumn interface, call GetAssociatedStoryColumns(), which will return an IColumns collection interface representing the collection of columns associated with that layout column (one for each story that uses the floor type). Loop through the IColumn interfaces to get the properties for the columns at each story. Updating beams, walls, horizontal braces See section above on updating a column. Updating a vertical brace

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

    Reading an Existing Model To read in an existing RAM Structural System model, call GetStories() from the IModel interface. Use the GetCount() function in the IStories interface to determine the number of stories in the model, then use the GetAt() function to get the IStory interface for each story. From the IStory interface, call GetColumns() to get an IColumns collection interface for the columns on that story. Use the GetCount() function in the IColumns collection interface to determine the number of columns on that story, then use the GetAt() function to get the IColumn interface for each column. From the IColumn interface, call the GetEndCoordinates() function to get the 3D location of the column in the model. Use the various properties in the IColumn interface to get the properties of the column. The data for beams, walls, vertical and horizontal braces, and foundations can be obtained similarly as for columns. Getting section properties for concrete members To get the section properties of a concrete member, get the lSectionID property of the member. Then call GetConcreteSectionProp() from the IModel interface with that ID to get the corresponding IConcSectProp. All of the section properties are available as properties through the IConcSectProp interface. Getting section properties for Other members To get the section properties of an Other member, get the lSectionID property of the member. Then call GetOtherSectionProp() from the IModel interface with that ID to get the corresponding IOtherSectProp. All of the section properties of the member are available as properties through the IOtherSectProp interface. Getting material properties for a member The IBeam, IColumn, IWall, IHorizBrace, IVerticalBrace, IIsolatedFnd and IContinuousFnd interfaces all have a unique material property ID (lMaterialID). If the member is steel, call GetSteelMaterial() from the IModel interface using the lMaterialID value of the corresponding member. Likewise, if the member is concrete, call GetConcreteMaterial(), or if it is Other, call GetOtherMaterial(). With the corresponding ISteelMaterial, IConcreteMaterial, or IOtherMaterial, you can get the material properties for that material.

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

    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 array plRetval 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 array pvrtItem 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

  • 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 array pvrtItem 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 the inside of the support that is reported. Note that currently only shear reactions are available.

    Parameters eComboType Combination type (Only STEEL_GRAV is supported currently) ppIMemberForces Pointer to two IMemberForces, index 0 is at start support of member (top of col, top of brace, left of beam) with

    the maximum of all current selected combinations (with sign).

  • IBasePlate This interface represents a single base plate. Properties Type Property Get Set Description double dAngle X The angle of the dLength axis with the X=0 Axis, counterclockwise. double dLength X Length of base plate (in direction of column major axis) double dThickness X Thickness of base plate double dWidth X Width of base plate long lColumnID X Unique ID of the column associated with this base plate

    IBeam This interface represents a single beam. This is a beam associated with a story, rather than a floor type. This interface can be used to read data for a beam at a story. To change coordinates or edit cantilevers, use the ILayoutBeam interface. 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 coordinates pStartPoint SCoordinate corresponding to the start of the beam pEndPoint SCoordinate corresponding to the end of the beam plRetval 0 if successful

    -1 if coordinates cannot be retrieved 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.

  • 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 property ppIProperty 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 be non-zero IF the user has provided these properties for this particular beams section (size) and have stipulated that RBS are to be used on this beam (in RAM Frame). Parameters

    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.

  • 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

    Properties Note that some properties of beams cannot be changed through the IBeam interface. Any properties which cannot vary story-to-story when a floor type is used by multiple stories must be set through the ILayoutBeam interface. 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 beams web thickness double dFlangeOverhangRight X Right flange length beyond beams web thickness double dFlangeThickBot X Thickness of bottom flange of beam double dFlangeThickLeft X Thickness of left flange beyond beams web thickness double dFlangeThickRight X Thickness of right flange beyond beams web thickness double dFlangeThickTop X Thickness of top flange of beam double dFlangeWidthBot X Width of bottom flange double 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

  • 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 beam EMATERIALTYPES 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: None 0: Entirely two-way 1: 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 the

    settings. 0 All global 1 Override global 2 Top flange braced 4 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 unique

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

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

    properties to concrete members and Assigning section properties to Other members for more information.

    long lUID X Unique ID of beam.

  • Type Property Get Set Description long lUnbracedLength X X Unbraced length flags. Sum the appropriate flags to determine the appropriate value for

    the settings. 0 All global 1 Override global UnbracedLengthAxialLX 2 Override global UnbracedLengthAxialLY 4 User defined UnbracedLengthAxialLX 8 User defined UnbracedLengthAxialLY 32 Override global UnbracedLengthFlexLY 128 User defined UnbracedLengthFlexLY

    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 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 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] IBeam** ppIBeam)

    Gets an interface for a specific beam by unique ID. Parameters lUID The unique ID of the requested layout beam ppIBeam Pointer to an IBeam interface that represents the requested beam, or NULL if no beam is found in the collection

    with the given unique ID. GetAt ([in] long lIndex, [out, retval] IBeam** ppIBeam)

  • Gets an interface for a specific beam by index. Parameters lIndex The index into the collection of the requested beam ppIBeam Pointer to an IBeam interface that represents the requested beam, or NULL if lIndex is invalid.

    GetCount ([out, retval] long* plCount)

    Gets the number of beams in the collection. When the collection is filtered, this function returns the number in the filtered collection, not the total number of beams on the story. When the collection is unfiltered, this function returns the total number of beams on the story. 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 be used to read data for a column at a story. To change coordinates, use the ILayoutColumn interface. GetEndCoordinates ([out] SCoordinate* pPoint1, [out] SCoordinate* pPoint2, [out, retval] long* plRetval)

    Gets the end coordinates for the column. Parameters pPoint1 SCoordinate of the column end. This is the top of standard columns and

    bottom of hanging columns. pPoint2 SCoordinate of the column end. This is the bottom of standard columns and

    top of hanging columns.

  • plRetval 0 if successful -1 if coordinates cannot be retrieved

    GetFinalSpliceSetting ([out, retval] long * eFinalSpliceSetting)

    Determine if the column is spliced or not. Parameters eFinalSpliceSetting 0 = No splice

    1 = splice 2 = temporary splice added by RAMSS because of change of property between stories. The temporary splice overrides the user defined value.

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

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

    Properties Note that some properties of columns cannot be changed through the IColumn interface. Any properties which cannot vary story-to-story when a floor type is used by multiple stories must be set through the ILayoutColumn interface. Type Property Get Set Description BOOL bAbsMajorAxisEccentricity X TRUE if eccentricity in major axis is absolute distance. FALSE if eccentricity is relative

    to columns centerline. BOOL bAbsMinorAxisEccentricity X TRUE if eccentricity in minor axis is absolute distance. FALSE if eccentricity is relative

    to columns 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 user

    specified angle) BOOL bBracedMinorAxisByMember X TRUE if column is braced in column local Y direction by the slab or a beam (within user

    specified 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