OAPI Documentation

Important Note This documentation applies to multiple programs, including: SAP2000 Version 19 CSiBridge Version 19 All e

Views 1,215 Downloads 125 File size 14MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Important Note This documentation applies to multiple programs, including: SAP2000 Version 19 CSiBridge Version 19 All examples in this documentation refer to SAP2000. However, users of CSiBridge should refer to CSiBridge. For example, SAP2000 users can create an instance of the SapObject in VBA as follows Dim SapObject As SAP2000v19.cOAPI Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") whereas CSiBridge users would create an instance of the SapObject as follows Dim SapObject As CSiBridge19.cOAPI Set SapObject = CreateObject("CSI.CSiBridge.API.SapObject") Other references to SAP2000 in the documentation should be interpreted as CSiBridge for users of CSiBridge. Similarly, references to the .sdb extension in SAP2000 should be interpreted as the .bdb extension for users of CSiBridge.

Introduction The CSi Application Programming Interface (API) is a powerful tool that allows users to automate many of the processes required to build, analyze, and design models and to obtain customized analysis and design results. It also allows users to link SAP2000 or CSiBridge with third-party software, providing a path for two-way exchange of model information with other programs. Most major programming languages can be used to access SAP2000 and CSiBridge through the API. Detailed examples are provided for several popular programming languages, including C#, Python, MATLAB, and Visual Basic for Applications (VBA), which is included in programs such as Microsoft Excel. This documentation is organized into the following main categories: Getting Started, CSi API Functions, and Example Code. Release Notes explain recent changes in the API, and include instructions for users on how to update their client applications. Getting Started briefly explains how to use the CSi API and how the CSi API functions are documented. CSI API Functions identifies each function available in the API and provides an example of how the function might be called using Visual Basic for Applications (VBA). Example Code provides programming examples using the CSI API. These examples are more extensive than those included with the documentation of each function. Obsolete Functions are the result of changes to the software or the API. These obsolete functions have been superseded, but continue to be included to accommodate backwards compatibility. Breaking Changes Between v16 and v17 lists functions and enumerations that have been renamed in SAP2000v17. See Also Accessing SAP2000 From An External Application Function Documentation Conventions Function Return Values Units Abbreviations Visual Basic Concepts Used In the CSi API

Improvements in API Behavior Starting with SAP2000 v17.2.0, 32-bit and 64-bit API clients can use the same syntax to connect to SAP2000. Please see the examples for specific instructions. Starting with SAP2000 v 17.2.0, client applications can connect to instances of SAP2000 that were starting manually, e.g. by clicking on the SAP2000 icon. Please see the examples for specific instructions. Currently this feature is available for every supported language, except MATLAB. API-launched instances of SAP2000 can now run in DirectX graphics mode. API-launched instances of SAP2000 can now run the analysis out-of-process, allowing larger models to be analyzed.

Launching the Installed Version of SAP2000/CSiBridge Automatically With the release of SAP2000 and CSiBridge v19.1.0, new functionality has been added to the cHelper interface to allow users to launch the application without supplying the path to the program executable file. The example code is in VB.NET. 1. Previously, users would launch the program with the function cHelper.CreateObject , providing the full path to the ETABS.exe as an argument, as below: Dim mySapObject As SAP2000v19.cOAPI Dim myHelper as SAP2000v19.cHelper = New SAP2000v19.Helper mySapObject = myHelper.CreateObject("C:\Program Files (x86)\Computers and Structures\SAP2000 19\SAP2000.exe") ret = mySapObject.ApplicationStart() Dim mySapModel As SAP2000v19.cSapModel = mySapObject.SapModel

2. While the code above is still available, a simpler method has been added to cHelper. The CreateObjectProgID function takes the Program ID as an argument, and automatically launches the most recently installed version of SAP2000 or CSiBridge: Dim mySapObject As SAP2000v19.cOAPI Dim myHelper as SAP2000v19.cHelper = New SAP2000v19.Helper mySapObject = myHelper.CreateObjectProgID("CSI.SAP2000.API.SapObject") ret = mySapObject.ApplicationStart() Dim mySapModel As SAP2000v19.cSapModel = mySapObject.SapModel

For reference, the Program ID for CSiBridge users is

"CSI.CSiBridge.API.SapObject"

Migrating From SAP2000v16 to SAP2000v17 In version 17 of SAP2000, the API has been separated from the main SAP2000 executable into a dynamic link library (DLL). This will change how API client applications connect to CSI software. You will no longer directly reference the SAP2000 executable assembly. Instead, you will reference the API DLL. In addition, you will no longer be able to declare a variable of type SapObject. Instead, create a variable of type SAP2000v17 cOAPI, which is an interface type. Then instantiate an object that implements the cOAPI interface. This process is detailed in the included examples.

Migrating from CSiBridge16 to CSiBridge17 The same considerations and examples apply to CSiBridge 2015 (v17) as well as to SAP2000v17. In the discussion throughout this document, replace all references to SAP2000 with CSiBridge, all references to Sap2000v16 with CSiBridge16, and all references to Sap2000v17 with CSiBridge17. See Also Changes in API Behavior Instructions for Updating COM clients (VBA example) Instructions for Updating .NET clients (C# example) Breaking Changes Breaking Changes to COM Enumerations Breaking Changes to NET Enumerations

Accessing Sap2000 From An External Application This page contains an outline for connecting to the SAP2000 API, with VBA code examples. For specific instructions for supported programming languages, please refer to the Example Code section. The first step in using the CSi API from an external application is to reference SAP2000v19.DLL or SAP2000v19.TLB from your application. If using Excel VBA, reference SAP2000v19.TLB by opening the VBA editor, clicking the Tools menu > References command and selecting SAP2000v19.TLB from the program installation folder. Next, within your application, you will create a variable of interface type cOAPI, and an instance of the Sap2000 object which implements cOAPI. In VBA this could be accomplished as: Dim mySapObject As Sap2000v19.cOAPI Dim myHelper As Sap2000v19.cHelper Set myHelper = New Sap2000v19.Helper Set mySapObject = myHelper.CreateObject(ProgramPath) The first line creates the interface variable, the second and third lines create a helper class, and the fourth line creates the instance of the Sap2000 object which implements the interface by passing in the path to where the Sap2000.exe program is located. Now that an instance of the Sap2000 object has been created in your application, start SAP2000 using the following VBA command: SapObject.ApplicationStart At this point you can open an existing model, or create a new one and perform whatever actions are required. In general, the API commands are accessed through SapObject.SapModel. It may be helpful to define a SapModel variable so that the API commands are accessed through SapModel instead of SapObject.SapModel. In VBA this could be accomplished as: Dim mySapModel As cSapModel Set mySapModel= mySapObject.SapModel When finished with a model, you may want to close the SAP2000 application. This can be accomplished using the following VBA command: SapObject.ApplicationExit

True

As a last step, the SapModel and SapObject variables should always be set to Nothing. In VBA this is accomplished as: Set SapModel= Nothing

Set SapObject= Nothing Setting the variables to Nothing is a very important step. It breaks the connection between your application and SAP2000 and frees up system resources. If the variables are not set to Nothing, the SAP2000 application may not completely close (you may still see it running in your Windows Task Manager). Putting all the steps previously described into a single example, a VBA program might consist of the following: Sub MyProgram 'dimension variables Dim mySapObject As SAP2000v19.cOAPI Dim myHelper As SAP2000v19.cHelper Dim mySapModel As cSapModel Dim ret As Long 'create an instance of the Sap2000 object Set myHelper= New SAP2000v19.Helper Set mySapObject= myHelper.CreateObject("C:\Program Files (x86)\Computers and Structures\SAP2000 19\sap2000.exe") 'start the Sap2000 application mySapObject.ApplicationStart 'create the SapModel object Set mySapModel= mySapObject.SapModel 'initialize model ret = mySapModel.InitializeNewModel 'call Sap2000 API functions here to perform desired tasks 'in this example a new 2D frame is created from template ret = mySapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'close the Sap2000 application, if desired mySapObject.ApplicationExit False 'set the objects to Nothing 'at the end of your program ALWAYS terminate the objects in this manner Set mySapModel= Nothing Set mySapObject= Nothing

End Sub See Also Introduction Function Documentation Conventions Function Return Values Units Abbreviations Visual Basic Concepts Used in the CSi OAPI

Function Documentation Conventions The documentation of each function in the API has the following sections: Syntax This section provides the syntax of the command as you would call it from an external application without including any parameters VB6 Procedure The VB6 procedure shows the function as defined in SAP2000. This function definition shows the variable type of each parameter, which parameters are optional, and which optional parameters have built-in default values. See Visual Basic Concepts Used in the CSi OAPI for more information about Visual Basic definitions that apply to the CSi API. Parameters The Parameters used in the function are briefly described. Parameters that have units associated with them are followed by a units abbreviation in square brackets, such as [F], indicating the units type for the item. Remarks The Remarks describe what the function does and provides additional information, if any, that was not explained in the Parameters. See Function Return Values for more information. VBA Example The VBA example uses the considered function. The examples are written for use in Microsoft Excel VBA. Release Notes The release information specific to the considered function is provided. See Also Functions that are related to the considered function, if any, are listed in this area. See Also Introduction Accessing SAP2000 From An External Application Function Return Values Units Abbreviations Visual Basic Concepts Used in the CSi OAPI

Function Return Values Almost all CSi API functions return a Long (32 bit signed integer) value indicating if the function executed successfully. A return value of 0 indicates that SAP2000 successfully executed the function. Any nonzero return value indicates that the function was not successfully executed. See Also Introduction Accessing SAP2000 From An External Application Function Documentation Conventions Units Abbreviations Visual Basic Concepts Used in the CSi OAPI

Units Abbreviations In the documentation of each CSi OAPI function, parameters that have units associated with them are followed by one of the following abbreviations, to indicate the units for those parameters. [L] = Length [F] = Force, [F] = [ML/s2] [M] = Mass [s] = Time, seconds [T] = Temperature [cyc] = Cycles [rad] = Radians (angle measurement) [deg] = Degrees (angle measurement) Combinations of these abbreviations are used in many cases. For example, moments are indicated as [FL] and stresses are indicated as [F/L2]. See Also Introduction Accessing SAP2000 From An External Application Function Documentation Conventions Function Return Values Visual Basic Concepts Used in the CSi OAPI

Visual Basic Concepts Used in the CSi OAPI Some of the Visual Basic concepts and definitions that apply to the CSi API are explained herein. Option Base Visual Basic 6 allows the default lower bound for arrays to be specified as 0 (the default), or 1. SAP2000 uses a lower bound of 0 for all arrays. Any program that accesses SAP2000 through the API should also use a lower bound of 0 for its arrays. Fixed-Size and Dynamic Arrays Arrays can be used to refer to a series of variables by the same name and to use a number (an index) to distinguish them. Visual Basic has two types of arrays: fixed-size and dynamic. A fixed-size array always remains the same size. A dynamic array can change its size while the program is running. A fixed-size array is declared with the size indicated. For example, the following line declares MyFixedArray dimensioned to 2. Dim MyFixedArray(2)as Double Dimensioning the array to 2 means that it holds three data items: MyFixedArray(0) = first data item MyFixedArray(1) = second data item MyFixedArray(2) = third data item Dynamic arrays are declared with no size indicated as shown here: Dim MyDynamicArray()as Double Dynamic arrays are dimensioned sometime after they are declared using a statement such as the following: ReDim MyDynamicArray(2) Any array that is dimensioned inside SAP2000 must be declared as a dynamic array so that SAP2000 can redimension it. It is probably a good idea to declare all arrays as dynamic arrays for simplicity. As an example, the analysis results obtained through the CSi API are stored in arrays that are defined as dynamic arrays by the user and then dimensioned and filled inside of SAP2000. Variable Types Most of the data in the CSi API is one of the following variable types. Boolean: A variable stored as a 16-bit (2-byte) number, but it can only be True or False. When boolean values are converted to other data types, False becomes 0 and

True becomes –1. Long: A variable stored as a 32-bit (4-byte) number ranging in value from -2,147,483,648 to 2,147,483,647. Note that other programming languages may refer to this data type differently; for example, they may refer to this as an Integer. Double: A double-precision floating-point variable stored as an IEEE 64-bit (8-byte) floating-point number ranging in value from -1.79769313486231E308 to -4.94065645841247E-324 for negative values and from 4.94065645841247E-324 to 1.79769313486232E308 for positive values. String: A variable length string. Optional Arguments Some of the CSi API functions have optional arguments. For example, the CountLoadDispl function has two optional arguments: Name and LoadPat. It is not necessary to include the optional arguments when calling this function. All four of the following calls are valid. ret = SapModel.PointObj.CountLoadDispl(Count) ret = SapModel.PointObj.CountLoadDispl(Count, Name) ret = SapModel.PointObj.CountLoadDispl(Count, , LoadPat) ret = SapModel.PointObj.CountLoadDispl(Count, Name, LoadPat) Note in the third example, the first optional item is not included and the second optional item is included. In that case, commas must be included to denote the missing arguments. Comments In Visual Basic the Rem statement followed by a space indicates that all of the data on the line to the right of the Rem statement is a comment (or a remark). The Rem statement can be abbreviated using an apostrophe, '. The apostrophe is used in all of the VBA examples in the CSi OAPI documentation to denote a comment. ByVal and ByRef Variables are passed to the CSi API functions using the ByRef or the ByVal keyword. ByVal means that the variable is passed by value. This allows the CSi API to access a copy of the variable but not the original variable. This means the value of the variable in another application can not be changed by the API. ByRef, which is the default in VB6 and VBA, means the argument is passed by reference. This passes the address of the variable to the CSi API instead of passing a copy of the value. It allows the CSi API to access the actual variable, and, as a result, allows SAP2000 to change the variable's actual value in an application.

Variables are passed ByRef when data needs to be returned in them from SAP2000 to your application. In addition, Visual Basic requires that all arrays be passed ByRef. Release Notes

Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. See Also Introduction Accessing SAP2000 From An External Application Function Documentation Conventions Function Return Values Units Abbreviations

Information for Plugin Developers SAP2000 external plugins can be developed to make use of the SAP2000 API from inside the program. No license is required to use the API beyond having a valid license for SAP2000 or CSiBridge. However, technical support for developing with the API is not included. For qualified users and third-party developers who would like technical support to help them build solutions and integrations with SAP2000 using the SAP2000 API, Computers and Structures, Inc., has created a subscription-based service, CSI Developer Network (CSIDN) (see http://www.csiamerica.com/support). You would need to subscribe to CSIDN to be eligible for technical support for SAP2000 API. Plugins can be developed in a .NET compatible language (e.g. Visual Basic 2012, Visual C#, etc.), or any language capable of creating a COM server compiled as a DLL. An example plugin project can be found at: https://wiki.csiamerica.com/display/kb/Sample+Plugin+1 Requirements and suggestions: SAP2000 will look for the plugin by Type Library name (usually the name of the PlugIn project), which you define when developing your COM server DLL. We suggest using a unique name such as SAP2000PlugIn_xxx_yyy, where xxx is your (company) name, and yyy is the name to distinguish the plugin from other plugins that you develop. For example, SAP2000PlugIn_ABCinc_Template1. SAP2000 is not looking for specific GUID’s. Choose unique GUIDs for the plugin. The plugin must reference the SAP2000v19 API library (either SAP2000v19.DLL or SAP2000v19.TLB ), which must be registered on the developer’s and the user’s systems. Before SAP2000 can call the plugin, the plugin must be registered for COM (or for COM interop for .NET DLLs) on the user’s system. It is your responsibility to instruct the user how to install the plugin. This should be done after SAP2000 has been installed. We will attempt to maintain a stable interface in SAP2000, however, that cannot be guaranteed, and updates to your plugin may be required for future versions of SAP2000. All functionality must be implemented in a class called cPlugin. Class cPlugin must have a subroutine cPlugin.Main() that expects a reference to SAP2000v19.cSapModel and SAP2000v19.cPluginCallback: Public Sub Main(ByRef SapModel As SAP2000v19.cSapModel, ByRef

ISapPlugin As SAP2000v19.cPluginCallback) Class cPlugin may have an optional function cPlugin.Info() that expects a reference to a string, and returns a Long (32-bit signed integer). The return value should be zero if successful. The string is to be filled in by the function, and may be plain text or rich text. If this function is found and returns zero, the string will be displayed when the user first adds the plugin to SAP2000. You can use this string to tell the user the purpose and author of the plugin. This is in addition to any information you may provide when the user executes the plugin. Public Function Info(ByRef Text As String) As Integer SAP2000v19.cPluginCallback contains a Finish() subroutine that is to be called right before the plugin is ready to close (e.g., if the plugin has a single main window, at the end of the close event of that form). It expects an error flag (0 meaning no errors) to let SAP2000 know if the operation was successful or not. SAP2000 will wait indefinitely for SAP2000v19.cPluginCallback.Finish() to be called, so the plugin programmer must make sure that it is called when the execution of the plugin code is completed. Public Sub Finish(ByVal iVal As Integer) It is OK for cPlugin.Main() to return before the actual work is completed. (e.g., return after displaying a form where the functionality implemented in the plugin can be accessed through different command buttons). However, it is imperative to remember to call SAP2000v19.cPluginCallback.Finish() to return the control back to SAP2000 when the plugin is ready to close. Our testing has indicated that modal forms in .NET DLL’s are problematic when shown within a SAP2000 external plugin, especially if you try to perform refresh operations to the views or windows. If you want to provide multiple functionality in your plugin, you can provide options for the user when subroutine Main is called. Options for the user to obtain information about the product, developer, technical support, and help should be provided. Support for your plugin will not be provided by Computers and Structures, Inc. As currently implemented, the cPlugin object will be destroyed between invocations from the SAP2000 Tools menu command that calls it, so data cannot be saved. All operations in the plugin must be completed before the user can perform any other operations within SAP2000 itself. Please make sure your plugin is stable, handles errors well, and does not cause any unintended changes to the user’s model.

ApplicationExit Syntax SapObject.ApplicationExit

VB6 Procedure Function ApplicationExit(ByVal FileSave As Boolean) As Long

Parameters FileSave If this item is True the existing model file is saved prior to closing Sap2000.

Remarks If the model file is saved then it is saved with its current name. You should set the Sap2000 object variable to nothing after calling this function. This function returns zero if the function succeeds and nonzero if it fails.

VBA Example Sub ExitExample() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create a 3D frame model from template ret = SapModel.File.New3DFrame(BeamSlab, 3, 12, 3, 28, 2, 36) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also ApplicationStart

ApplicationStart Syntax SapObject.ApplicationStart

VB6 Procedure Function ApplicationStart(Optional ByVal Units As eUnits = kip_in_F, Optional ByVal Visible As Boolean = True, Optional ByVal FileName As String = "") As Long

Parameters Units The database units used when a new model is created. Data is internally stored in the program in the database units. The database units may be one of the following items in the eUnits enumeration: lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16 Visible If this item is True then the application is visible when started. If it is False then the application is hidden when started. FileName The full path of a model file to be opened when the Sap2000 application is started. If no file name is specified, the application starts without loading an existing model.

Remarks This function starts the Sap2000 application. When the model is not visible it does not appear on screen and it does not appear in the Windows task bar. If no filename is specified, you can later open a model or create a model through the API. The file name must have an .sdb, .$2k, .s2k, .xls, or .mdb extension. Files with .sdb extensions are opened as standard SAP2000 files. Files with .$2k and .s2k extensions are imported as text files. Files with .xls extensions are imported as Microsoft Excel files. Files with .mdb extensions are imported as Microsoft Access files. This function returns zero if the application successfully starts and nonzero if it fails.

VBA Example Sub StartExample() 'dimension variables Dim SapObject as cOAPI Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application ret = SapObject.ApplicationStart 'close Sap2000 SapObject.ApplicationExit False Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also ApplicationExit OpenFile InitializeNewModel

GetDatabaseUnits Syntax SapObject.SapModel.GetDatabaseUnits

VB6 Procedure Function GetDatabasetUnits() As eUnits

Parameters None

Remarks This function returns one of the following items from the eUnits enumeration indicating the database units for the model. All data is internally stored in the model in these units and converted to the present units as needed. lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16

VBA Example Sub GetUnitsDatabase() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyUnits As eUnits 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'start a new template model ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'get database units MyUnits = SapModel.GetDatabaseUnits 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetPresentUnits GetPresentUnits

GetMergeTol Syntax SapObject.SapModel.GetMergeTol

VB6 Procedure Function GetMergeTol(ByRef MergeTol As Double) As Long

Parameters MergeTol

The program auto merge tolerance. [L]

Remarks This function retrieves the value of the program auto merge tolerance. The function returns zero if the tolerance is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAutoMergeTolerance() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MergeTol As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get auto merge tolerance ret = SapModel.GetMergeTol(MergeTol) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetMergeTol

GetModelFilename Syntax SapObject.SapModel.GetModelFilename

VB6 Procedure Function GetModelFilename(Optional ByVal IncludePath As Boolean = True) As String

Parameters IncludePath

A boolean (True or False) value. When this item is True, the returned filename includes the full path where the file is located.

Remarks The function returns a string that represents the filename of the current model, with or without the full path.

VBA Example Sub GetModelFilename() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'start a new template model ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'save the model ret = SapModel.File.Save("C:\SapAPI\API_1-001.sdb") 'display the filename of the model MsgBox “Model filename = “ & SapModel.GetModelFilename 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.2.2

See Also GetModelFilepath

GetModelFilepath Syntax SapObject.SapModel.GetModelFilepath

VB6 Procedure Function GetModelFilepath() As String

Parameters None

Remarks The function returns a string that represents the filepath of the current model.

VBA Example Sub GetModelFilepath() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'start a new template model ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'save the model ret = SapModel.File.Save("C:\SapAPI\API_1-001.sdb") 'display the path where the model is saved MsgBox “Model filepath = “ & SapModel.GetModelFilepath 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.2.2

See Also GetModelFilename

GetModelIsLocked Syntax SapObject.SapModel.GetModelIsLocked

VB6 Procedure Function GetModelIsLocked() As Boolean

Parameters None

Remarks The function returns True if the model is locked and False if it is unlocked. With some exceptions, definitions and assignments can not be changed in a model while the model is locked. If an attempt is made to change a definition or assignment while the model is locked and that change is not allowed in a locked model, an error will be returned.

VBA Example Sub GetModelLocked() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim IsLocked As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'check if model is locked IsLocked = SapModel.GetModelIsLocked 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetModelIsLocked

GetNotionalSize Syntax SapObject.SapModel.PropArea.GetNotionalSize

VB6 Procedure Function GetNotionalSize(ByVal Name As String, ByRef stype As String, ByRef Value As Double) As Long

Parameters Name

The name of an existing shell-type area section property. stype

The type to define the notional size of a section. It can be: "Auto" = Program will determine the notional size based on the average thickness of an area element. "User" = The notional size is based on the user-defined value. "None" = Notional size will not be considered. In other words, the timedependent effect of this section will not be considered. Value

For stype is "Auto", the Value represents for the scale factor to the programdetermined notional size; for stype is “User”, the Value represents for the userdefined notional size [L]; for stype is “None”, the Value will not be used and can be set to 1.

Remarks This function retrieves the method to determine the notional size of an area section for the creep and shrinkage calculations. This function is currently worked for shell type area section. The function returns zero if the parameters are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaPropNotionalSize() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim stype As String Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign parameters stype = “Auto” Value = 1.1 ret = SapModel.PropArea.SetNotionalSize("ASEC1", “Auto”, 1.1) 'get parameters ret = SapModel.PropArea.GetNotionalSize("ASEC1", stype, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.1.0

See Also SetNotionalSize

GetPresentCoordSystem Syntax SapObject.SapModel.GetPresentCoordSystem

VB6 Procedure Function GetPresentCoordSystem() As String

Parameters None

Remarks This function returns the name of the present coordinate system.

VBA Example Sub GetPresentCSys() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long Dim PresentCSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'set present coordinate system ret = SapModel.SetPresentCoordSystem("CSys1") 'get present coordinate system PresentCSys = SapModel.GetPresentCoordSystem 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetPresentCoordSystem

GetPresentUnits Syntax SapObject.SapModel.GetPresentUnits

VB6 Procedure Function GetPresentUnits() As eUnits

Parameters None

Remarks This function returns one of the following items from the eUnits enumeration indicating the units presently specified for the model: lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16

VBA Example Sub GetUnitsPresent() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyUnits As eUnits 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'start a new template model ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'get present units MyUnits = SapModel.GetPresentUnits 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetPresentUnits GetDatabaseUnits

GetProjectInfo Syntax SapObject.SapModel.GetProjectInfo

VB6 Procedure Function GetProjectInfo(ByRef NumberItems As Long, ByRef Item() As String, ByRef Data() As String) As Long

Parameters NumberItems

The number of project info items returned. Item

This is an array that includes the name of the project information item. Data

This is an array that includes the data for the specified project information item.

Remarks This function retrieves the project information data. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetProjectInformationData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim Item() As String Dim Data() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set project information data ret = SapModel.SetProjectInfo("Company Name", "Computers and Structures, Inc.") ret = SapModel.SetProjectInfo("Project Name", "API Testing") ret = SapModel.SetProjectInfo("My Item", "My Data") 'get project information data ret = SapModel.GetProjectInfo(NumberItems, Item, Data) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetProjectInfo

GetUserComment Syntax SapObject.SapModel.GetUserComment

VB6 Procedure Function GetUserComment(ByRef Comment As String) As Long

Parameters Comment

The data in the user comments and log.

Remarks This function retrieves the data in the user comments and log. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetComments() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Comment As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add comments ret = SapModel.SetUserComment("Testing the Sap2000 API.") ret = SapModel.SetUserComment("Adding a second comment.") ret = SapModel.SetUserComment("Adding a third comment.", 3) 'get comments ret = SapModel.GetUserComment(Comment) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetUserComment

GetVersion Syntax SapObject.SapModel.GetVersion

VB6 Procedure Function GetVersion(ByRef Version As String, ByRef MyVersionNumber As Double) As Long

Parameters Version

The program version name that is externally displayed to the user. MyVersionNumber

The program version number that is used internally by the program and not displayed to the user.

Remarks This function returns the SAP2000 program version. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetProgramVersion() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim Version As String Dim MyVersionNumber As Double Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'get program version ret = SapModel.GetVersion(Version,MyVersionNumber) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.01.

See Also

Hide Syntax SapObject.Hide

VB6 Procedure Function Hide() As Long

Parameters None

Remarks This function hides the Sap2000 application. When the application is hidden it is not visible on the screen or on the Windows task bar. The function returns zero if the Sap2000 application is successfully hidden and nonzero if the function fails. If the application is already hidden calling this function returns an error.

VBA Example Sub HideSap() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'hide application ret = SapObject.Hide 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Visible Unhide

InitializeNewModel Syntax SapObject.SapModel.InitializeNewModel

VB6 Procedure Function InitializeNewModel(Optional ByVal Units As eUnits = kip_in_F) As Long

Parameters Units

This is the database units for the new model. All data is internally stored in the model in these units. The units are one of the following items in the eUnits enumeration: lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16

Remarks This function clears the previous model and initializes the program for a new model. If it is later needed, you should save your previous model prior to calling this function. After calling the InitializeNewModel function, it is not necessary to also call the ApplicationStart function because the functionality of the ApplicationStart function is included in the InitializeNewModel function. The function returns zero if a new model is successfully initialized, otherwise it returns a nonzero value.

VBA Example Sub InitializeNewModel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 12, 3, 30) 'save model ret = SapModel.File.Save("C:\SapAPI\MyFirstSapModel.sdb") 'initialize new model SapModel.InitializeNewModel(kN_m_C) 'create model from template ret = SapModel.File.New3DFrame(FlatPlate, 2, 4, 2, 10, 4, 10, False, , , , 2, 2) 'save model ret = SapModel.File.Save("C:\SapAPI\MySecondSapModel.sdb") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also ApplicationStart

SetAsActiveObject Syntax SapObject.SetAsActiveObject

VB6 Procedure Function SetAsActiveObject () As Long

Parameters None

Remarks This function sets the active instance of a SapObject in the system Running Object Table (ROT), replacing the previous instance(s). When a new SapObject is created using the OAPI, it is automatically added to the system ROT if none is already present. Subsequent instances of the SapObject do not alter the ROT as long as at least one active instance of a SapObject is present in the ROT. The Windows API call GetObject() can be used to attach to the active SapObject instance registered in the ROT. This function returns zero if the current instance is successfully added to the system ROT and nonzero if it fails.

VBA Example Sub StartExample() 'dimension variables Dim SapObject as cOAPI Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application ret = SapObject.ApplicationStart 'set as active SapObject instance ret = SapObject.SetAsActiveObject 'close Sap2000 SapObject.ApplicationExit False Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.01.

See Also UnsetAsActiveObject

SetMergeTol Syntax SapObject.SapModel.SetMergeTol

VB6 Procedure Function SetMergeTol(ByVal MergeTol As Double) As Long

Parameters MergeTol

The program auto merge tolerance. [L]

Remarks This function sets the program auto merge tolerance. The function returns zero if the tolerance is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAutoMergeTolerance() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'set auto merge tolerance ret = SapModel.SetMergeTol(0.05) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetMergeTol

SetModelIsLocked Syntax SapObject.SapModel.SetModelIsLocked

VB6 Procedure Function SetModelIsLocked(LockIt as Boolean) As Long

Parameters LockIt

The item is True if the model is to be locked and False if it is to be unlocked.

Remarks The function returns zero if the locked status of the model is successfully set. Otherwise it returns a nonzero value. With some exceptions, definitions and assignments can not be changed in a model while the model is locked. If an attempt is made to change a definition or assignment while the model is locked and that change is not allowed in a locked model, an error will be returned.

VBA Example Sub SetModelLocked() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'Lock model ret = SapModel.SetModelIsLocked(True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetModelIsLocked

SetNotionalSize Syntax SapObject.SapModel.PropArea.SetNotionalSize

VB6 Procedure Function SetNotionalSize(ByVal Name As String, ByVal stype As String, ByVal Value As Double) As Long

Parameters Name

The name of an existing shell-type area section property. stype

The type to define the notional size of a section. It can be: "Auto" = Program will determine the notional size based on the average thickness of an area element. "User" = The notional size is based on the user-defined value. "None" = Notional size will not be considered. In other words, the timedependent effect of this section will not be considered. Value

For stype is "Auto", the Value represents for the scale factor to the programdetermined notional size; for stype is “User”, the Value represents for the userdefined notional size [L]; for stype is “None”, the Value will not be used and can be set to 1.

Remarks This function assigns the method to determine the notional size of an area section for the creep and shrinkage calculations. This function is currently worked for shell type area section. The function returns zero if the parameters are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaPropNotionalSize() Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim stype As String Dim Value As Double

'dimension variables

'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign parameters stype = “Auto” Value = 1.1 ret = SapModel.PropArea.SetNotionalSize("ASEC1", stype, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.1.0

See Also GetNotionalSize

SetPresentCoordSystem Syntax SapObject.SapModel.SetPresentCoordSystem

VB6 Procedure Function SetPresentCoordSystem(ByVal CSys As String) As Long

Parameters CSys

The name of a defined coordinate system.

Remarks This function sets the present coordinate system. The function returns zero if the present coordinate system is successfully set. Otherwise it returns a nonzero value.

VBA Example Sub SetPresentCSys() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long Dim PresentCSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'set present coordinate system ret = SapModel.SetPresentCoordSystem("CSys1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetPresentCoordSystem

SetPresentUnits Syntax SapObject.SapModel.SetPresentUnits

VB6 Procedure Function SetPresentUnits(ByVal Units As eUnits) As Long

Parameters Units One of the following items in the eUnits enumeration: lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16

Remarks This function returns zero if the units are successfully set and nonzero if they are not set.

VBA Example Sub SetUnitsPresent() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim FileName As String Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'start a new template model ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'set present units to KN-m ret = SapModel.SetPresentUnits(KN_m_C) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetDatabaseUnits GetPresentUnits

SetProjectInfo Syntax SapObject.SapModel.SetProjectInfo

VB6 Procedure Function SetProjectInfo(ByVal Item As String, ByVal Data As String) As Long

Parameters Item

The name of the project information item to be set. Data

The data for the specified project information item.

Remarks This function sets the data for an item in the project information. The function returns zero if the data is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetProjectInfoData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set project information data ret = SapModel.SetProjectInfo("Company Name", "Computers and Structures, Inc.") ret = SapModel.SetProjectInfo("Project Name", "API Testing") ret = SapModel.SetProjectInfo("My Item", "My Data") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetUserComment

SetUserComment Syntax SapObject.SapModel.SetUserComment

VB6 Procedure Function SetUserComment(ByVal Comment As String, Optional ByVal NumLines As Long = 1, Optional ByVal Replace As Boolean = False) As Long

Parameters Comment

The data to be added to the user comments and log. NumLines

The number of carriage return and line feeds to be included before the specified comment. This item is ignored if Replace = True. It is also ignored if there are no existing comments. Replace

If this item is True, all existing comments are replaced with the specified comment.

Remarks This function sets the user comments and log data. The function returns zero if the data is successfully set; otherwise it returns a nonzero value.

VBA Example Sub AddCommentToLog() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add comments ret = SapModel.SetUserComment("Testing the Sap2000 API.") ret = SapModel.SetUserComment("Adding a second comment.") ret = SapModel.SetUserComment("Adding a third comment.", 3) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetUserComment

Unhide Syntax SapObject.Unhide

VB6 Procedure Function Unhide() As Long

Parameters None

Remarks This function unhides the Sap2000 application, that is, it makes it visible. When the application is hidden, it is not visible on the screen or on the Windows task bar. The function returns zero if the Sap2000 application is successfully unhidden (set visible) and nonzero if the function fails. If the application is already visible (not hidden) calling this function returns an error.

VBA Example Sub UnhideSap() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'hide application ret = SapObject.Hide 'unhide application ret = SapObject.Unhide 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Visible Hide

UnsetAsActiveObject Syntax SapObject.UnsetAsActiveObject

VB6 Procedure Function UnsetAsActiveObject () As Long

Parameters None

Remarks This function removes the current instance of a SapObject from the system Running Object Table (ROT). This function returns zero if the current instance is successfully removed from the system ROT and nonzero if it fails or if the current instance is not in the system ROT.

VBA Example Sub StartExample() 'dimension variables Dim SapObject as cOAPI Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application ret = SapObject.ApplicationStart 'unset as active SapObject instance ret = SapObject.UnsetAsActiveObject 'close Sap2000 SapObject.ApplicationExit False Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.01.

See Also SetAsActiveObject

Visible Syntax SapObject.Visible

VB6 Procedure Function Visible() As Boolean

Parameters None

Remarks The function returns True if the Sap2000 application is visible on the screen, otherwise it returns False.

VBA Example Sub IsVisible() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long Dim Visible as Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'get application visibility Visible = SapObject.Visible 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Hide Unhide

GetKeyStringsExtendedEntityData Syntax SapObject.SapModel.GetKeyStringsExtendedEntityData

VB6 Procedure Function GetKeyStringsExtendedEntityData (ByVal AppName As String, ByVal Key As String, ByRef NumberValues As Long, ByRef Values As String()) As Long

Parameters AppName

This is an application name of your choice under which your application previously stored some data. It is recommended you choose a unique name to guarantee no other third-party application resets the data that was set by your application. Application names are stored in their original capitalization and character set, but are compared in a case insensitive and culturally invariant manner for retrieval purposes. Key

This is an entry name under which the data provided in the remaining arguments was stored. Entry names are stored in their original capitalization and character set, but are compared in a case insensitive and culturally invariant manner for retrieval purposes. NumberValues

The number of strings stored for the given application name and entry name. Values

This is one-dimensional array of string values. The Values array is created as a dynamic, zero-based, array by the API user: Dim Values() as String

The array is dimensioned to (NumberValues – 1) inside the Sap2000 program, filled with the string values previously stored under the application name AppName and entry name Key, and returned to the API user.

Release Notes Initial release in version 17.2.0.

See Also GetKeysWithStringsExtendedEntityData SetKeyStringsExtendedEntityData

GetKeysWithStringsExtendedEntityData Syntax SapObject.SapModel.GetKeysWithStringsExtendedEntityData

VB6 Procedure Function GetKeysWithStringsExtendedEntityData (ByVal AppName As String, ByRef NumberKeys As Long, ByRef Keys() As String) As Long

Parameters AppName

This is an application name of your choice under which your application previously stored some data. It is recommended you choose a unique name to guarantee no other third-party application resets the data that was set by your application. Application names are stored in their original capitalization and character set, but are compared in a case insensitive and culturally invariant manner for retrieval purposes. NumberKeys

The number of different entries for which data was previously stored under the application name AppName. Key

This is a one-dimensional array of entry names. The Keys array is created as a dynamic, zero-based, array by the API user: Dim Keys() as String

The array is dimensioned to (NumberKeys – 1) inside the Sap2000 program, filled with the entry names for which data was previously stored under the application name AppName, and returned to the API user.

Release Notes Initial release in version 17.2.0.

See Also GetKeyStringsExtendedEntityData SetKeyStringsExtendedEntityData

SetStringsExtendedEntityData Syntax SapObject.SapModel.SetStringsExtendedEntityData

VB6 Procedure Function SetStringsExtendedEntityData (ByVal AppName As String, ByVal Key As String, ByRef NumberValues As Long, ByRef Values As String()) As Long

Parameters AppName

This is an application name of your choice under which your application previously stored some data. It is recommended you choose a unique name to guarantee no other third-party application resets the data that was set by your application. Application names are stored in their original capitalization and character set, but are compared in a case insensitive and culturally invariant manner for retrieval purposes. Key

This is an entry name under which the data provided in the remaining arguments was stored. This data can later be retrieved, reset, or deleted by providing a valid application name and entry name. Entry names are stored in their original capitalization and character set, but are compared in a case insensitive and culturally invariant manner for retrieval purposes. NumberValues

The number of strings to store for the given application name and entry name. Values

A one-dimensional array of strings containing NumberValues strings. These strings replace any strings previously stored for the given application name and entry name. Calling this function with NumberValues equal to zero is equivalent to erasing any previously stored data.

Remarks This function can be used to store metadata for a model, or any other data specific to your application.

Release Notes Initial release in version 17.2.0.

See Also GetKeysWithStringsExtendedEntityData GetKeyStringsExtendedEntityData

Count Syntax Sap2000.AreaElm.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of area elements in the analysis model.

VBA Example Sub CountAreaElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'return number of area elements Count = SapModel.AreaElm.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetLoadGravity Syntax SapObject.SapModel.AreaElm.GetLoadGravity

VB6 Procedure Function GetLoadGravity(ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing area element or group, depending on the value of the ItemType item. NumberItems

The total number of gravity loads retrieved for the specified area elements. AreaName

This is an array that includes the name of the area element associated with each gravity load. LoadPat

This is an array that includes the name of the coordinate system in which the gravity load multipliers are specified. CSys

This is an array that includes the name of the coordinate system associated with each gravity load. x, y, z

These are arrays of gravity load multipliers in the x, y and z directions of the specified coordinate system. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the area elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the area element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the area elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for area elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the gravity load assignments to area elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'assign area object gravity loads ret = SapModel.AreaObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element gravity load ret = SapModel.AreaElm.GetLoadGravity("3-1", NumberItems, AreaName, LoadPat, CSys, x, y, z)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadPorePressure Syntax SapObject.SapModel.AreaElm.GetLoadPorePressure

VB6 Procedure Function GetLoadPorePressure(ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName() As String, ByRef LoadPat() As String, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing area element or group depending on the value of the ItemType item. NumberItems

The total number of pore pressure loads retrieved for the specified area elements. AreaName

This is an array that includes the name of the area element associated with each pore pressure load. LoadPat

This is an array that includes the name of the load pattern associated with each pore pressure load. Value

This is an array that includes the pore pressure load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the pore pressure load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the area elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the area element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the area elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for area elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the pore pressure load assignments to area elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementPorePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object pore pressure load ret = SapModel.AreaObj.SetLoadPorePressure("ALL", "DEAD", .1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element pore pressure load ret = SapModel.AreaElm.GetLoadPorePressure("ALL", NumberItems, AreaName, LoadPat, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadStrain Syntax SapObject.SapModel.AreaElm.GetLoadStrain

VB6 Procedure Function GetLoadStrain(ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName() As String, ByRef LoadPat() As String, ByRef Component() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing area element or group, depending on the value of the ItemType item. NumberItems

The total number of strain loads retrieved for the specified area elements. AreaName

This is an array that includes the name of the area element associated with each strain load. LoadPat

This is an array that includes the name of the load pattern associated with each strain load. Component

This is an array that includes 1, 2, 3, 4, 5, 6, 7 or 8, indicating the component associated with each strain load. 1= 2= 3= 4= 5= 6= 7= 8=

Strain11 Strain22 Strain12 Curvature11 Curvature22 Curvature12 Strain13 Strain23

Value

This is an array that includes the strain value. [L/L] for Component = 1, 2, 3, 7 and 8, and [1/L] for Component = 4, 5 and 6 PatternName

This is an array that includes the joint pattern name, if any, used to specify the strain load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the area elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the area element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the area elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for area elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the strain load assignments to area elements. The function returns zero if the strain load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim Component() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object strain load ret = SapModel.AreaObj.SetLoadStrain("ALL", "DEAD", 1, 0.001, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element strain load ret = SapModel.AreaElm.GetLoadStrain("3", NumberItems, AreaName, LoadPat, Component, Value, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadSurfacePressure Syntax SapObject.SapModel.AreaElm.GetLoadSurfacePressure

VB6 Procedure Function GetLoadSurfacePressure(ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName() As String, ByRef LoadPat() As String, ByRef Face() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing area element or group, depending on the value of the ItemType item. NumberItems

The total number of surface pressure loads retrieved for the specified area elements. AreaName

This is an array that includes the name of the area element associated with each surface pressure load. LoadPat

This is an array that includes the name of the load pattern associated with each surface pressure load. Face

This is an array that includes -1, -2 or a nonzero, positive integer, indicating the area element face to which the specified load assignment applies. -1 = Bottom face -2 = Top face >0 = Edge face

Note that edge face n is from area element point n to area element point n + 1. For example, edge face 2 is from area element point 2 to area element point 3. Value

This is an array that includes the surface pressure load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the surface pressure load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the area elements corresponding to the area object specified by the Name item.

If this item is Element, the load assignments are retrieved for the area element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the area elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for area elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the surface pressure load assignments to area elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementSurfacePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim Face() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object surface pressure load ret = SapModel.AreaObj.SetLoadSurfacePressure("ALL", "DEAD", -1, .1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element surface pressure load ret = SapModel.AreaElm.GetLoadSurfacePressure("ALL", NumberItems, AreaName, LoadPat, Face, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadTemperature Syntax SapObject.SapModel.AreaElm.GetLoadTemperature

VB6 Procedure Function GetLoadTemperature(ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing area element or group, depending on the value of the ItemType item. NumberItems

The total number of temperature loads retrieved for the specified area elements. AreaName

This is an array that includes the name of the area element associated with each temperature load. LoadPat

This is an array that includes the name of the load pattern associated with each temperature load. MyType

This is an array that includes either 1 or 3, indicating the type of temperature load. 1 = Temperature 3 = Temperature gradient along local 3 axis Value

This is an array that includes the temperature load value. [T] for MyType= 1 and [T/L] for MyType= 3 PatternName

This is an array that includes the joint pattern name, if any, used to specify the temperature load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the area elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the area element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the area

elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for area elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the temperature load assignments to area elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim MyType() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object temperature load ret = SapModel.AreaObj.SetLoadTemperature("All", "DEAD", 1, 50, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element temperature load ret = SapModel.AreaElm.GetLoadTemperature("ALL", NumberItems, AreaName, LoadPat, MyType, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadUniform Syntax SapObject.SapModel.AreaElm.GetLoadUniform

VB6 Procedure Function GetLoadUniform(ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef Dir() As Long, ByRef Value() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing area element or group, depending on the value of the ItemType item. NumberItems

The total number of uniform loads retrieved for the specified area elements. AreaName

This is an array that includes the name of the area element associated with each uniform load. LoadPat

This is an array that includes the name of the coordinate system in which the uniform load is specified. CSys

This is an array that includes the name of the coordinate system associated with each uniform load. Dir

This is an integer between 1 and 11, indicating the direction of the load. 1 = Local 1 axis (applies only when CSys is Local) 2 = Local 2 axis (applies only when CSys is Local) 3 = Local 3 axis (applies only when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 7 = Projected X direction (does not apply when CSys is Local) 8 = Projected Y direction (does not apply when CSys is Local) 9 = Projected Z direction (does not apply when CSys is Local) 10 = Gravity direction (applies only when CSys is Global) 11 = Projected Gravity direction (applies only when CSys is Global)

The positive gravity direction (see Dir = 10 and 11) is in the negative Global Z direction. Value

The uniform load value. [F/L2] ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1

GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the area elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the area element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the area elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for area elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the uniform load assignments to area elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementUniformLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim CSys() As String Dim Dir() As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object uniform loads ret = SapModel.AreaObj.SetLoadUniform("ALL", "DEAD", -0.01, 2, False, "Local", Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element uniform load ret = SapModel.AreaElm.GetLoadUniform("3", NumberItems, AreaName, LoadPat, CSys, Dir, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLocalAxes Syntax SapObject.SapModel.AreaElm.GetLocalAxes

VB6 Procedure Function GetLocalAxes(ByVal Name As String, ByRef Ang As Double) As Long

Parameters Name

The name of an existing area element. Ang

This is the angle that the local 1 and 2 axes are rotated about the positive local 3 axis from the default orientation. The rotation for a positive angle appears counter clockwise when the local +3 axis is pointing toward you. [deg]

Remarks This function retrieves the local axis angle assignment for area elements. The function returns zero if the assignment is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementLocalAxisAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Ang As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object local axis angle ret = SapModel.AreaObj.SetLocalAxes("3", 30) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element local axis angle ret = SapModel.AreaElm.GetLocalAxes("3", Ang) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMaterialOverwrite Syntax SapObject.SapModel.AreaElm.GetMaterialOverwrite

VB6 Procedure Function GetMaterialOverwrite(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined area element. PropName

This is None, indicating that no material overwrite exists for the specified area element, or it is the name of an existing material property.

Remarks This function retrieves the material overwrite assigned to an area element, if any. The material property name is indicated as None if there is no material overwrite assignment. The function returns zero if the material overwrite assignment is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementMaterialOverwrite() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign material overwrite ret = SapModel.AreaObj.SetMaterialOverwrite("3", "A992Fy50") 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get material overwrite assignment to area element ret = SapModel.AreaElm.GetMaterialOverwrite("3", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMatTemp Syntax SapObject.SapModel.AreaElm.GetMatTemp

VB6 Procedure Function GetMatTemp(ByVal Name As String, ByRef Temp As Double, ByRef PatternName As String) As Long

Parameters Name

The name of an existing area element. Temp

This is the material temperature value assigned to the area element. [T] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the material temperature for the area element is uniform over the element at the value specified by Temp. If PatternName is the name of a defined joint pattern, the material temperature for the area element may vary. The material temperature at each corner point around the area element perimeter is equal to the specified temperature multiplied by the pattern value at the associated point element. The material temperature at other points in the area element is calculated by interpolation from the corner points.

Remarks This function retrieves the material temperature assignments to area elements. The function returns zero if the material temperature assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementMatTemp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Temp As Double Dim PatternName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign material temperature ret = SapModel.AreaObj.SetMatTemp("ALL", 50, , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get material temperature for area element ret = SapModel.AreaElm.GetMatTemp("3", Temp, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetModifiers Syntax SapObject.SapModel.AreaElm.GetModifiers

VB6 Procedure Function GetModifiers(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing area element. Value

This is an array of ten unitless modifiers. Value(0) Value(1) Value(2) Value(3) Value(4) Value(5) Value(6) Value(7) Value(8) Value(9)

= = = = = = = = = =

Membrane f11 modifier Membrane f22 modifier Membrane f12 modifier Bending m11 modifier Bending m22 modifier Bending m12 modifier Shear v13 modifier Shear v23 modifier Mass modifier Weight modifier

Remarks This function retrieves the modifier assignment for area elements. The default value for all modifiers is one. The function returns zero if the modifier assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementModifiers() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign modifiers ReDim Value(9) For i = 0 To 9 Value(i) = 1 Next i Value(0) = 0.01 ret = SapModel.AreaObj.SetModifiers("ALL", Value, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get modifiers for area element ReDim Value(9) ret = SapModel.AreaElm.GetModifiers("3", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also

GetNameList Syntax SapObject.SapModel.AreaElm.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of area element names retrieved by the program. MyName

This is a one-dimensional array of area element names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the SAP2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined area elements. The function returns zero if the names are successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetAreaElementNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element names ret = SapModel.AreaElm.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetObj Syntax Sap2000.AreaElm.GetObj

VB6 Procedure Function GetObj(ByVal Name As String, ByRef Obj As String) As Long

Parameters Name

The name of an existing area element. Obj

The name of the area object from which the area element was created.

Remarks This function retrieves the name of the area object from which an area element was created. The function returns zero if the information is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetObjForAreaElm() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Obj As String Dim ObjType As Long Dim RDI As Double Dim RDJ As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get object information for an area element ret = SapModel.AreaElm.GetObj("3-2", Obj) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetOffsets Syntax SapObject.SapModel.AreaElm.GetOffsets

VB6 Procedure Function GetOffsets(ByVal Name As String, ByRef OffsetType As Long, ByRef OffsetPattern As String, ByRef OffsetPatternSF As Double, ByRef Offset() As Double) As Long

Parameters Name

The name of an existing area element. OffsetType

This is 0, 1 or 2, indicating the joint offset type. 0 = No joint offsets 1 = User defined joint offsets specified by joint pattern 2 = User defined joint offsets specified by point OffsetPattern

This item applies only when OffsetType = 1. It is the name of the defined joint pattern that is used to calculate the joint offsets. OffsetPatternSF

This item only applies when OffsetType = 1. It is the scale factor applied to the joint pattern when calculating the joint offsets. [L] Offset

This item applies only when OffsetType = 2. It is an array of joint offsets for each of the points that define the area element. [L]

Remarks This function retrieves the joint offset assignments for area elements. The function returns zero if the assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementJointOffsets() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i as long Dim OffsetType As Long Dim OffsetPattern As String Dim OffsetPatternSF As Double Dim Offset() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign joint offsets ReDim Offset(3) For i = 0 To 3 Offset(i) = 12 Next i ret = SapModel.AreaObj.SetOffsets("ALL", 2, "", 1, Offset, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get joint offsets for area element ret = SapModel.AreaElm.GetOffsets("3", OffsetType, OffsetPattern, OffsetPatternSF, Offset) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPoints Syntax SapObject.SapModel.AreaElm.GetPoints

VB6 Procedure Function GetPoints(ByVal Name As String, ByRef NumberPoints As Long, ByRef Point() As String) As Long

Parameters Name

The name of an area element. NumberPoints

The number of point elements that define the area element. Point

This is an array containing the names of the point elements that define the area element. The point names are in order around the area element.

Remarks This function retrieves the names of the point elements that define an area element. The function returns zero if the point element names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElmPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberPoints As Long Dim Point() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get names of points ret = SapModel.AreaElm.GetPoints("3-2", NumberPoints, Point) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetProperty Syntax SapObject.SapModel.AreaElm.GetProperty

VB6 Procedure Function GetProperty(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined area element. PropName

The name of the area property assigned to the area element. This item is None if there is no area property assigned to the area element.

Remarks This function retrieves the area property assigned to an area element. The function returns zero if the property is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area property for element ret = SapModel.AreaElm.GetProperty("1", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetThickness Syntax SapObject.SapModel.AreaElm.GetThickness

VB6 Procedure Function GetThickness(ByVal Name As String, ByRef ThicknessType As Long, ByRef ThicknessPattern As String, ByRef ThicknessPatternSF As Double, ByRef Thickness() As Double) As Long

Parameters Name

The name of an existing area element. ThicknessType

This is 0, 1 or 2, indicating the thickness overwrite type. 0 = No thickness overwrites 1 = User defined thickness overwrites specified by joint pattern 2 = User defined thickness overwrites specified by point ThicknessPattern

This item applies only when ThicknessType = 1. It is the name of the defined joint pattern that is used to calculate the thicknesses. ThicknessPatternSF

This item applies only when ThicknessType = 1. It is the scale factor applied to the joint pattern when calculating the thicknesses. [L] Thickness

This item applies only when ThicknessType = 2. It is an array of thicknesses at each of the points that define the area element. [L]

Remarks This function retrieves the thickness overwrite assignments for area elements. The function returns zero if the assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementThicknessOverwrites() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i as long Dim ThicknessType As Long Dim ThicknessPattern As String Dim ThicknessPatternSF As Double Dim Thickness() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign thickness overwrites ReDim Thickness(3) For i = 0 To 3 Thickness(i) = 11 Next i ret = SapModel.AreaObj.SetThickness("ALL", 2, "", 1, Thickness, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get thickness overwrites for area element ret = SapModel.AreaElm.GetThickness("3", ThicknessType, ThicknessPattern, ThicknessPatternSF, Thickness) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTransformationMatrix Syntax Sap2000.AreaElm.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing area element. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the area element local coordinate system to the global coordinate system.

In the equation c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the element local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system.

Remarks The function returns zero if the transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaElementMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object local axis angle ret = SapModel.AreaObj.SetLocalAxes("3", 30) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area element transformation matrix redim Value(8) ret = SapModel.AreaElm.GetTransformationMatrix("3", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax Sap2000.LineElm.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of line elements in the analysis model.

VBA Example Sub CountLineElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'assign automesh options ret = SapModel.FrameObj.SetAutoMesh("ALL", True, True, True, 2, 0, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'return number of line elements Count = SapModel.LineElm.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetEndLengthOffset Syntax SapObject.SapModel.LineElm.GetEndLengthOffset

VB6 Procedure Function GetEndLengthOffset(ByVal Name As String, ByRef Length1 As Double, ByRef Length2 As Double, ByRef rz As Double) As Long

Parameters Name

The name of an existing line element. Length1

The offset length along the 1-axis of the line element at the I-End of the line element. [L] Length2

The offset along the 1-axis of the line element at the J-End of the line element. [L] rz

The rigid zone factor. This is the fraction of the end offset length assumed to be rigid for bending and shear deformations.

Remarks This function retrieves the line element end offsets along the 1-axis of the element. The function returns zero if the offsets are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmEndOffsets() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Length1 As Double Dim Length2 As Double Dim rz As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign offsets to frame object ret = SapModel.FrameObj.SetEndLengthOffset("15", False, 12, 12, 0.5) 'assign frame object auto mesh options ret = SapModel.FrameObj.SetAutoMesh("15", True, False, False, 2, 0) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get offsets for line element ret = SapModel.LineElm.GetEndLengthOffset("15-1", Length1, Length2, rz) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetInsertionPoint Syntax SapObject.SapModel.LineElm.GetInsertionPoint

VB6 Procedure Function GetInsertionPoint(ByVal Name As String, ByRef Offset1() As Double, ByRef Offset2() As Double) As Long

Parameters Name

The name of an existing line element. Offset1

This is an array of three joint offset distances, in the Global coordinate system, at the I-End of the line element. [L] Offset1(0) = I-End offset in the global X-axis direction Offset1(1) = I-End offset in the global Y-axis direction Offset1(2) = I-End offset in the global Z-axis direction Offset2

This is an array of three joint offset distances, in the Global coordinate system, at the J-End of the line element. [L] Offset2(0) = J-End offset in the global X-axis direction Offset2(1) = J-End offset in the global Y-axis direction Offset2(2) = J-End offset in the global Z-axis direction

Remarks This function retrieves line element insertion point assignments. The assignments are reported as end joint offsets. The function returns zero if the insertion point data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmInsertionPoint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim CardinalPoint As Long Dim Mirror2 As Boolean Dim StiffTransform As Boolean Dim Offset1() As Double Dim Offset2() As Double Dim CSys As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object insertion point ReDim Offset1(2) ReDim Offset2(2) For i=0 To 2 Offset1(i)=10 + i Offset2(i)=20 + i Next i ret = SapModel.FrameObj.SetInsertionPoint("15", 7, False, True, Offset1, Offset2) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element insertion point

ReDim Offset1(2) ReDim Offset2(2) ret = SapModel.LineElm.GetInsertionPoint("15-1", Offset1, Offset2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetLoadDeformation Syntax SapObject.SapModel.LineElm.GetLoadDeformation

VB6 Procedure Function GetLoadDeformation(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef dof1() As Boolean, ByRef dof2() As Boolean, ByRef dof3() As Boolean, ByRef dof4() As Boolean, ByRef dof5() As Boolean, ByRef dof6() As Boolean, ByRef U1() As Double, ByRef U2() As Double, ByRef U3() As Double, ByRef R1() As Double, ByRef R2() As Double, ByRef R3() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of deformation loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each deformation load. LoadPat

This is an array that includes the name of the load pattern associated with each deformation load. dof1, dof2, dof3, dof4, dof5, dof6

These are arrays of boolean values indicating if the considered degree of freedom has a deformation load. dof1 = dof2 = dof3 = dof4 = dof5 = dof6 =

U1 U2 U3 R1 R2 R3

U1, U2, U3, R1, R2, R3

These are arrays of deformation load values. The deformations specified for a given degree of freedom are applicable only if the corresponding DOF item for that degree of freedom is True. U1 = U1 deformation [L] U2 = U2 deformation [L] U3 = U3 deformation [L] R1 = R1 deformation [rad] R2 = R2 deformation [rad] R3 = R3 deformation [rad] ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item. If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the deformation load assignments to line elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmDeformationLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim DOF() As Boolean Dim d() As double Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim dof1() As Boolean Dim dof2() As Boolean Dim dof3() As Boolean Dim dof4() As Boolean Dim dof5() As Boolean Dim dof6() As Boolean Dim U1() As Double Dim U2() As Double Dim U3() As Double Dim R1() As Double Dim R2() As Double Dim R3() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object deformation loads ReDim DOF(5) ReDim d(5) DOF(0) = True

D(0) = 2 ret = SapModel.FrameObj.SetLoadDeformation("ALL", "DEAD", DOF, d, Group) 'assign frame object auto mesh options ret = SapModel.FrameObj.SetAutoMesh("ALL", True, False, False, 2, 0, Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element deformation loads ret = SapModel.LineElm.GetLoadDeformation("3-1", NumberItems, LineName, LoadPat, dof1, dof2, dof3, dof4, dof5, dof6, U1, U2, U3, R1, R2, R3) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadDistributed Syntax SapObject.SapModel.LineElm.GetLoadDistributed

VB6 Procedure Function GetLoadDistributed(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef CSys() As String, ByRef Dir() As Long, ByRef RD1() As Double, ByRef RD2() As Double, ByRef Dist1() As Double, ByRef Dist2() As Double, ByRef Val1() As Double, ByRef Val2() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of distributed loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each distributed load. LoadPat

This is an array that includes the name of the coordinate system in which the distributed loads are specified. MyType

This is an array that includes either 1 or 2, indicating the type of distributed load. 1 = Force 2 = Moment CSys

This is an array that includes the name of the coordinate system in which each distributed load is defined. It may be Local or the name of a defined coordinate system. Dir

This is an array that includes an integer between 1 and 11, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 7 = Projected X direction (does not apply when CSys is Local) 8 = Projected Y direction (does not apply when CSys is Local) 9 = Projected Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global) 11 = Projected Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10 and 11) is in the negative Global Z direction.

RD1

This is an array that includes the relative distance from the I-End of the line element to the start of the distributed load. RD2

This is an array that includes the relative distance from the I-End of the line element to the end of the distributed load. Dist1

This is an array that includes the actual distance from the I-End of the line element to the start of the distributed load. [L] Dist2

This is an array that includes the actual distance from the I-End of the line element to the end of the distributed load. [L] Val1

This is an array that includes the load value at the start of the distributed load. [F/L] when MyType is 1 and [FL/L] when MyType is 2 Val2

This is an array that includes the load value at the end of the distributed load. [F/L] when MyType is 1 and [FL/L] when MyType is 2 ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item. If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the distributed load assignments to line elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmDistributedLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim MyType() As Long Dim CSys() As String Dim Dir() As Long Dim RD1() As Double Dim RD2() As Double Dim Dist1() As Double Dim Dist2() As Double Dim Val1() As Double Dim Val2() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object distributed loads ret = SapModel.FrameObj.SetLoadDistributed("14", "DEAD", 1, 10, 0, 1, 0.08, 0.04) 'assign frame object auto mesh options ret = SapModel.FrameObj.SetAutoMesh("ALL", True, False, False, 2, 0, Group) 'create the analysis model

ret = SapModel.Analyze.CreateAnalysisModel 'get line element distributed loads ret = SapModel.LineElm.GetLoadDistributed("14-1", NumberItems, LineName, LoadPat, MyType, CSys, Dir, RD1, RD2, Dist1, Dist2, Val1, Val2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadGravity Syntax SapObject.SapModel.LineElm.GetLoadGravity

VB6 Procedure Function GetLoadGravity(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of gravity loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each gravity load. LoadPat

This is an array that includes the name of the coordinate system in which the gravity load multipliers are specified. CSys

This is an array that includes the name of the coordinate system associated with each gravity load. x, y, z

These are arrays of gravity load multipliers in the x, y and z directions of the specified coordinate system. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item. If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the gravity load assignments to line elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object gravity loads ret = SapModel.FrameObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element gravity load ret = SapModel.LineElm.GetLoadGravity("3-1", NumberItems, LineName, LoadPat, CSys, x, y, z) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadPoint Syntax SapObject.SapModel.LineElm.GetLoadPoint

VB6 Procedure Function GetLoadPoint(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef CSys() As String, ByRef Dir() As Long, ByRef RelDist() As Double, ByRef Dist() As Double, ByRef Val() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of point loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each point load. LoadPat

This is an array that includes the name of the coordinate system in which the point loads are specified. MyType

This is an array that includes either 1 or 2, indicating the type of point load. 1 = Force 2 = Moment CSys

This is an array that includes the name of the coordinate system in which each point load is defined. It may be Local or the name of a defined coordinate system. Dir

This is an array that includes an integer between 1 and 11, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 7 = Projected X direction (does not apply when CSys is Local) 8 = Projected Y direction (does not apply when CSys is Local) 9 = Projected Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global) 11 = Projected Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10 and 11) is in the negative Global Z direction.

RelDist

This is an array that includes the relative distance from the I-End of the line element to the location where the point load is applied. Dist

This is an array that includes the actual distance from the I-End of the line element to the location where the point load is applied. [L] Val

This is an array that includes the value of the point load. [F] when MyType is 1 and [FL] when MyType is 2 ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item. If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the point load assignments to line elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmPointLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim MyType() As Long Dim CSys() As String Dim Dir() As Long Dim RelDist() As Double Dim Dist() As Double Dim Val() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object point loads ret = SapModel.FrameObj.SetLoadPoint("14", "DEAD", 1, 10, .5, 20) ret = SapModel.FrameObj.SetLoadPoint("15", "DEAD", 1, 10, .5, 20) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element point loads ret = SapModel.LineElm.GetLoadPoint("ALL", NumberItems, LineName, LoadPat, MyType, CSys, Dir, RelDist, Dist, Val,

GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadStrain Syntax SapObject.SapModel.LineElm.GetLoadStrain

VB6 Procedure Function GetLoadStrain(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef DOF() As Long, ByRef Val() As Double, ByRef PatternName() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of strain loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each strain load. LoadPat

This is an array that includes the name of the load pattern associated with each strain load. DOF

This is an array that includes 1, 2, 3, 4, 5 or 6, indicating the degree of freedom associated with each strain load. 1= 2= 3= 4= 5= 6=

Strain11 Strain12 Strain13 Curvature1 Curvature2 Curvature3

Val

This is an array that includes the strain value. [L/L] for DOF = 1, 2 and 3 and [1/L] for DOF = 4, 5 and 6 PatternName

This is an array that includes the joint pattern name, if any, used to specify the strain load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item.

If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the strain load assignments to line elements. The function returns zero if the strain load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim DOF() As Long Dim Val() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object strain load ret = SapModel.FrameObj.SetLoadStrain("1", "DEAD", 1, 0.001) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element strain load ret = SapModel.LineElm.GetLoadStrain("1-1", NumberItems, LineName, LoadPat, DOF, Val, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadTargetForce Syntax SapObject.SapModel.LineElm.GetLoadTargetForce

VB6 Procedure Function GetLoadTargetForce(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef dof1() As Boolean, ByRef dof2() As Boolean, ByRef dof3() As Boolean, ByRef dof4() As Boolean, ByRef dof5() As Boolean, ByRef dof6() As Boolean, ByRef P() As Double, ByRef V2() As Double, ByRef V3() As Double, ByRef T() As Double, ByRef M2() As Double, ByRef M3() As Double, ByRef T1() As Double, ByRef T2() As Double, ByRef T3() As Double, ByRef T4() As Double, ByRef T5() As Double, ByRef T6() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of deformation loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each target force. LoadPat

This is an array that includes the name of the load pattern associated with each target force. dof1, dof2, dof3, dof4, dof5, dof6

These are arrays of boolean values indicating if the considered degree of freedom has a target force assignment. dof1 = dof2 = dof3 = dof4 = dof5 = dof6 =

P V2 V3 T M2 M3

P, V2, V3, T, M2, M3

These are arrays of target force values. The target forces specified for a given degree of freedom are only applicable if the corresponding DOF item for that degree of freedom is True. U1 = U1 deformation [L] U2 = U2 deformation [L] U3 = U3 deformation [L] R1 = R1 deformation [rad] R2 = R2 deformation [rad] R3 = R3 deformation [rad] T1, T2, T3, T4, T5, T6

These are arrays of the relative distances along the line elements where the target force values apply. The relative distances specified for a given degree of freedom are only applicable if the corresponding dofn item for that degree of freedom is True.

T1 = T2 = T3 = T4 = T5 = T6 =

relative location for relative location for relative location for relative location for relative location for relative location for

P target force V2 target force V3 target force T target force M2 target force M3 target force

ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item. If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the target force assignments to line elements. The function returns zero if the target force assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmTargetForce() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim DOF() As Boolean Dim f() As double Dim RD() As double Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim dof1() As Boolean Dim dof2() As Boolean Dim dof3() As Boolean Dim dof4() As Boolean Dim dof5() As Boolean Dim dof6() As Boolean Dim P() As Double Dim V2() As Double Dim V3() As Double Dim T() As Double Dim M2() As Double Dim M3() As Double Dim T1() As Double Dim T2() As Double Dim T3() As Double Dim T4() As Double Dim T5() As Double Dim T6() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel

'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object target force ReDim DOF(5) ReDim f(5) ReDim RD(5) DOF(0) = True f(0) = 50 RD(0) = 0.4 ret = SapModel.FrameObj.SetLoadTargetForce("1", "DEAD", DOF, f, RD) 'assign frame object auto mesh options ret = SapModel.FrameObj.SetAutoMesh("ALL", True, False, False, 2, 0, Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element target force ret = SapModel.LineElm.GetLoadTargetForce("1-1", NumberItems, LineName, LoadPat, dof1, dof2, dof3, dof4, dof5, dof6, P, V2, V3, T, M2, M3, T1, T2, T3, T4, T5, T6) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadTemperature Syntax SapObject.SapModel.LineElm.GetLoadTemperature

VB6 Procedure Function GetLoadTemperature(ByVal Name As String, ByRef NumberItems As Long, ByRef LineName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef Val() As Double, ByRef PatternName() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing line object, line element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of temperature loads retrieved for the specified line elements. LineName

This is an array that includes the name of the line element associated with each temperature load. LoadPat

This is an array that includes the name of the load pattern associated with each temperature load. MyType

This is an array that includes 1, 2 or 3, indicating the type of temperature load. 1 = Temperature 2 = Temperature gradient along local 2 axis 3 = Temperature gradient along local 3 axis Val

This is an array that includes the temperature load value. [T] for MyType= 1 and [T/L] for MyType= 2 and 3 PatternName

This is an array that includes the joint pattern name, if any, used to specify the temperature load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the line elements corresponding to the line object specified by the Name item. If this item is Element, the load assignments are retrieved for the line element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the line elements

corresponding to all line objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for line elements corresponding to all selected line objects, and the Name item is ignored.

Remarks This function retrieves the temperature load assignments to line elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim LineName() As String Dim LoadPat() As String Dim MyType() As Long Dim Val() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame object temperature load ret = SapModel.FrameObj.SetLoadTemperature("All", "DEAD", 1, 50, , , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element temperature load ret = SapModel.LineElm.GetLoadTemperature("ALL", NumberItems, LineName, LoadPat, MyType, Val, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLocalAxes Syntax SapObject.SapModel.LineElm.GetLocalAxes

VB6 Procedure Function GetLocalAxes(ByVal Name As String, ByRef Ang As Double) As Long

Parameters Name

The name of an existing line element. Ang

This is the angle that the local 2 and 3 axes are rotated about the positive local 1 axis, from the default orientation. The rotation for a positive angle appears counterclockwise when the local +1 axis is pointing toward you. [deg]

Remarks This function retrieves the local axis angle assignment for line elements. The function returns zero if the assignment is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmLocalAxisAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Ang As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'assign frame object local axis angle ret = SapModel.FrameObj.SetLocalAxes("1", 30) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element local axis angle ret = SapModel.LineElm.GetLocalAxes("1-1", Ang) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMaterialOverwrite Syntax SapObject.SapModel.LineElm.GetMaterialOverwrite

VB6 Procedure Function GetMaterialOverwrite(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined line element. PropName

This is None, indicating that no material overwrite exists for the specified line element, or it is the name of an existing material property.

Remarks This function retrieves the material overwrite assigned to a line element, if any. It returns None if there is no material overwrite assignment. The function returns zero if the material overwrite assignment is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmMaterialOverwrite() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign material overwrite to frame object ret = SapModel.FrameObj.SetMaterialOverwrite("1", "4000Psi") 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get material overwrite assignment for line element ret = SapModel.LineElm.GetMaterialOverwrite("1-1", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMatTemp Syntax SapObject.SapModel.LineElm.GetMatTemp

VB6 Procedure Function GetMatTemp(ByVal Name As String, ByRef Temp As Double, ByRef PatternName As String) As Long

Parameters Name

The name of an existing line element. Temp

This is the material temperature value assigned to the line element. [T] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the material temperature for the line element is uniform along the element at the value specified by Temp. If PatternName is the name of a defined joint pattern, the material temperature for the line element may vary from one end to the other. The material temperature at each end of the element is equal to the specified temperature multiplied by the pattern value at the joint at the end of the line element.

Remarks This function retrieves the material temperature assignments to line elements. The function returns zero if the material temperature assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmMatTemp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Temp As Double Dim PatternName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'assign material temperature to frame objects ret = SapModel.FrameObj.SetMatTemp("ALL", 50, , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get material temperature for line element ret = SapModel.LineElm.GetMatTemp("1-1", Temp, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetModifiers Syntax SapObject.SapModel.LineElm.GetModifiers

VB6 Procedure Function GetModifiers(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing line element. Value

This is an array of eight unitless modifiers. Value(0) Value(1) Value(2) Value(3) Value(4) Value(5) Value(6) Value(7)

= = = = = = = =

Cross sectional area modifier Shear area in local 2 direction modifier Shear area in local 3 direction modifier Torsional constant modifier Moment of inertia about local 2 axis modifier Moment of inertia about local 3 axis modifier Mass modifier Weight modifier

Remarks This function retrieves the section modifier assignment for line elements. The default value for all modifiers is one. The function returns zero if the modifier assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmModifiers() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign modifiers to frame objects ReDim Value(7) For i = 0 To 7 Value(i) = 1 Next i Value(5) = 100 ret = SapModel.FrameObj.SetModifiers("3", Value) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get modifiers for line element ReDim Value(7) ret = SapModel.LineElm.GetModifiers("3-1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also

GetNameList Syntax SapObject.SapModel.LineElm.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of line element names retrieved by the program. MyName

This is a one-dimensional array of line element names. The MyName array is created as a dynamic, zero-based, array by the APIuser: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined line elements. The function returns zero if the names are successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetLineElementNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element names ret = SapModel.LineElm.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetObj Syntax Sap2000.LineElm.GetObj

VB6 Procedure Function GetObj(ByVal Name As String, ByRef Obj As String, ByRef ObjType As Long, ByRef RDI As Double, RDJ As Double) As Long

Parameters Name

The name of an existing line element. Obj

The name of the frame, cable or tendon object from which the line element was created. ObjType

This is 0, 1, 2 or 3, indicating the type of object from which the line element was created. 0= 1= 2= 3=

Straight frame object Curved frame object Cable object Tendon object

RDI

The relative distance from the I-End of the object identified by the Obj item to the I-End of the considered line element. The relative distance is calculated as the distance from the I-End of the object to the I-End of the line element divided by the length of the object. RDJ

The relative distance from the I-End of the object identified by the Obj item to the J-End of the considered line element. The relative distance is calculated as the distance from the I-End of the object to the J-End of the line element divided by the length of the object.

Remarks This function retrieves information about the object from which a line element was created. The function returns zero if the information is successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetObjForLineElm() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Obj As String Dim ObjType As Long Dim RDI As Double Dim RDJ As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'assign auto mesh options ret = SapModel.FrameObj.SetAutoMesh("ALL", True, True, True, 2, 0, Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get object information for a line element ret = SapModel.LineElm.GetObj("3-1", Obj, ObjType, RDI, RDJ) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPDeltaForce Syntax SapObject.SapModel.LineElm.GetPDeltaForce

VB6 Procedure Function GetPDeltaForce(ByVal Name As String, ByRef NumberForces As Long, ByRef PDeltaForce() As Double, ByRef Dir() As Long, ByRef CSys() As String) As Long

Parameters Name

The name of an existing line element. NumberForces

The number of P-Delta forces assigned to the line element. PDeltaForce

This is an array of the P-Delta force values assigned to the line element. [F] Dir

This is an array that contains 0, 1, 2 or 3, indicating the direction of each PDelta force assignment. 0= 1= 2= 3=

Frame object local 1-axis direction Projected X direction in CSys coordinate system Projected Y direction in CSys coordinate system Projected Z direction in CSys coordinate system

CSys

This is an array that contains the name of the coordinate system in which each projected P-Delta force is defined. This item is blank when the Dir item is zero, that is, when the P-Delta force is defined in the line element local 1-axis direction.

Remarks This function retrieves the P-Delta force assignments to line elements. The function returns zero if the assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmPDeltaForce() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberForces As Long Dim PDeltaForce() As Double Dim Dir() As Long Dim CSys() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign P-Delta force to frame object ret = SapModel.FrameObj.SetPDeltaForce("ALL", 100, 0, True, , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get P-Delta force for line element ret = SapModel.LineElm.GetPDeltaForce("3-1", NumberForces, PDeltaForce, Dir, CSys) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPoints Syntax SapObject.SapModel.LineElm.GetPoints

VB6 Procedure Function GetPoints(ByVal Name As String, ByRef Point1 As String, ByRef Point2 As String) As Long

Parameters Name

The name of a defined line element. Point1

The name of the point element at the I-End of the specified line element. Point2

The name of the point element at the J-End of the specified line element.

Remarks This function retrieves the names of the point elements at each end of a specified line element. The function returns zero if the point names are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Point1 As String Dim Point2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get names of points ret = SapModel.LineElm.GetPoints("1-1", Point1, Point2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetProperty Syntax SapObject.SapModel.LineElm.GetProperty

VB6 Procedure Function GetProperty(ByVal Name As String, ByRef PropName As String, ByRef ObjType As Long, ByRef Var As Boolean, ByRef sVarRelStartLoc As Double, sVarTotalLength As Double) As Long

Parameters Name

The name of an existing line element. PropName

The name of the frame section, cable or tendon property assigned to the line element. ObjType

This is 0, 1, 2 or 3, indicating the type of object from which the line element was created. 0= 1= 2= 3=

Straight frame object Curved frame object Cable object Tendon object

Var

This item is True if the specified property is a nonprismatic (variable) frame section property. sVarTotalLength

This is the total assumed length of the nonprismatic section. A zero value for this item means that the section length is the same as the line element length. sVarRelStartLoc

This is the relative distance along the nonprismatic section to the I-End (start) of the line element. This item is ignored when the sVarTotalLengthitem is 0.

Remarks This function retrieves the property assignment to a line element. The function returns zero if the property data is successfully retrieved, otherwise it returns a nonzero value. The sVarTotalLength and sVarRelStartLoc items apply only when the Var item is True.

VBA Example Sub GetLineElementProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String Dim ObjType As Long Dim Var As Boolean Dim sVarRelStartLoc As Double Dim sVarTotalLength As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get property information for a line element ret = SapModel.LineElm.GetProperty("3-1", PropName, ObjType, Var, sVarRelStartLoc, sVarTotalLength) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetReleases Syntax SapObject.SapModel.LineElm.GetReleases

VB6 Procedure Function GetReleases(ByVal Name As String, ByRef ii() As Boolean, ByRef jj() As Boolean, ByRef StartValue() As Double, ByRef EndValue() As Double) As Long

Parameters Name

The name of an existing line element. ii, jj

These are arrays of six booleans indicating the I-End and J-End releases for the line element. ii(0) ii(1) ii(2) ii(3) ii(4) ii(5)

and jj(0) and jj(1) and jj(2) and jj(3) and jj(4) and jj(5)

= = = = = =

U1 release U2 release U3 release R1 release R2 release R3 release

StartValue, EndValue

These are arrays of six values indicating the I-End and J-End partial fixity springs for the line element. StartValue(0) StartValue(1) StartValue(2) StartValue(3) StartValue(4) StartValue(5)

and EndValue(0) and EndValue(1) and EndValue(2) and EndValue(3) and EndValue(4) and EndValue(5)

= = = = = =

U1 partial fixity [F/L] U2 partial fixity [F/L] U3 partial fixity [F/L] R1 partial fixity [FL/rad] R2 partial fixity [FL/rad] R3 partial fixity [FL/rad]

Remarks This function retrieves the line element end release and partial fixity assignments. The function returns zero if the assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetLineElmEndReleases() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ii() As Boolean Dim jj() As Boolean Dim StartValue() As Double Dim EndValue() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign end releases to frame object ReDim ii(5) ReDim jj(5) ReDim StartValue(5) ReDim EndValue(5) ii(5) = True jj(5) = True ret = SapModel.FrameObj.SetReleases("13", ii, jj, StartValue, EndValue) 'assign frame object automesh options ret = SapModel.FrameObj.SetAutoMesh("13", True, False, False, 2, 0) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel

'get end ReDim ReDim ReDim ReDim ret = StartValue,

releases for line element ii(5) jj(5) StartValue(5) EndValue(5) SapModel.LineElm.GetReleases("13-1", ii, jj, EndValue)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTCLimits Syntax SapObject.SapModel.LineElm.GetTCLimits

VB6 Procedure Function GetTCLimits(ByVal Name As String, ByRef LimitCompressionExists As Boolean, ByRef LimitCompression As Double, ByRef LimitTensionExists As Boolean, ByRef LimitTension As Double) As Long

Parameters Name

The name of an existing line element. LimitCompressionExists

This item is True if a compression force limit exists for the line element. LimitCompression

The compression force limit for the line element. [F] LimitTensionExists

This item is True if a tension force limit exists for the line element. LimitTension

The tension force limit for the line element. [F]

Remarks This function retrieves the tension/compression force limit assignments to line elements. The function returns zero if the assignments are successfully retrieved, otherwise it returns a nonzero value. Note that the tension and compression limits are only used in nonlinear analyses.

VBA Example Sub GetLineElmTCLimits() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim LimitCompressionExists As Boolean Dim LimitCompression As Double Dim LimitTensionExists As Boolean Dim LimitTension As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'assign tension/compression limits to frame object ret = SapModel.FrameObj.SetTCLimits("1", True, -200, True, 30) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get tension/compression limits for line element ret = SapModel.LineElm.GetTCLimits("1-1", LimitCompressionExists, LimitCompression, LimitTensionExists, LimitTension) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTransformationMatrix Syntax Sap2000.LineElm.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing line element. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the line element local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the element local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system.

Remarks The function returns zero if the transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLineElementMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign frame local axis angle ret = SapModel.FrameObj.SetLocalAxes("3", 30) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element transformation matrix ReDim Value(8) ret = SapModel.LineElm.GetTransformationMatrix("3-1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax Sap2000.LinkElm.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of link elements in the analysis model.

VBA Example Sub CountLinkElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name1 As String Dim Name2 As String Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("3", "", Name1, True) ret = SapModel.LinkObj.AddByPoint("1", "5", Name2) 'refresh view ret = SapModel.View.RefreshView 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'return number of link elements Count = SapModel.LinkElm.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetLoadDeformation Syntax SapObject.SapModel.LinkElm.GetLoadDeformation

VB6 Procedure Function GetLoadDeformation(ByVal Name As String, ByRef NumberItems As Long, ByRef LinkName() As String, ByRef LoadPat() As String, ByRef dof1() As Boolean, ByRef dof2() As Boolean, ByRef dof3() As Boolean, ByRef dof4() As Boolean, ByRef dof5() As Boolean, ByRef dof6() As Boolean, ByRef U1() As Double, ByRef U2() As Double, ByRef U3() As Double, ByRef R1() As Double, ByRef R2() As Double, ByRef R3() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing link object, link element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of deformation loads retrieved for the specified link elements. LinkName

This is an array that includes the name of the link element associated with each deformation load. LoadPat

This is an array that includes the name of the load pattern associated with each deformation load. dof1, dof2, dof3, dof4, dof5, dof6

These are arrays of boolean values, indicating if the considered degree of freedom has a deformation load. dof1 = dof2 = dof3 = dof4 = dof5 = dof6 =

U1 U2 U3 R1 R2 R3

U1, U2, U3, R1, R2, R3

These are arrays of deformation load values. The deformations specified for a given degree of freedom are applicable only if the corresponding DOF item for that degree of freedom is True. U1 = U1 deformation [L] U2 = U2 deformation [L] U3 = U3 deformation [L] R1 = R1 deformation [rad] R2 = R2 deformation [rad] R3 = R3 deformation [rad] ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the link elements corresponding to the link object specified by the Name item. If this item is Element, the load assignments are retrieved for the link element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the link elements corresponding to all link objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for link elements corresponding to all selected link objects, and the Name item is ignored.

Remarks This function retrieves the deformation load assignments to link elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElmDeformationLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim DOF() As Boolean Dim d() As double Dim NumberItems As Long Dim LinkName() As String Dim LoadPat() As String Dim dof1() As Boolean Dim dof2() As Boolean Dim dof3() As Boolean Dim dof4() As Boolean Dim dof5() As Boolean Dim dof6() As Boolean Dim U1() As Double Dim U2() As Double Dim U3() As Double Dim R1() As Double Dim R2() As Double Dim R3() As Double Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("3", "", Name1, True)

ret = SapModel.LinkObj.AddByPoint("1", "5", Name2) 'refresh view ret = SapModel.View.RefreshView 'assign link object deformation loads ReDim DOF(5) ReDim d(5) DOF(0) = True D(0) = 2 ret = SapModel.LinkObj.SetLoadDeformation("ALL", "DEAD", DOF, d, Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get link element deformation loads ret = SapModel.LinkElm.GetLoadDeformation("ALL", NumberItems, LinkName, LoadPat, dof1, dof2, dof3, dof4, dof5, dof6, U1, U2, U3, R1, R2, R3, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadGravity Syntax SapObject.SapModel.LinkElm.GetLoadGravity

VB6 Procedure Function GetLoadGravity(ByVal Name As String, ByRef NumberItems As Long, ByRef LinkName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing link object, link element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of gravity loads retrieved for the specified link elements. LinkName

This is an array that includes the name of the link element associated with each gravity load. LoadPat

This is an array that includes the name of the coordinate system in which the gravity load multipliers are specified. CSys

This is an array that includes the name of the coordinate system associated with each gravity load. x, y, z

These are arrays of gravity load multipliers in the x, y and z directions of the specified coordinate system. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the link elements corresponding to the link object specified by the Name item. If this item is Element, the load assignments are retrieved for the link element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the link elements corresponding to all link objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for link elements corresponding to all selected link objects, and the Name item is ignored.

Remarks This function retrieves the gravity load assignments to link elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElmGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim LinkName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("3", "", Name1, True) ret = SapModel.LinkObj.AddByPoint("1", "5", Name2) 'refresh view ret = SapModel.View.RefreshView 'assign link object gravity loads ret = SapModel.LinkObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'create the analysis model

ret = SapModel.Analyze.CreateAnalysisModel 'get link element gravity load ret = SapModel.LinkElm.GetLoadGravity("ALL", NumberItems, LinkName, LoadPat, CSys, x, y, z, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadTargetForce Syntax SapObject.SapModel.LinkElm.GetLoadTargetForce

VB6 Procedure Function GetLoadTargetForce(ByVal Name As String, ByRef NumberItems As Long, ByRef LinkName() As String, ByRef LoadPat() As String, ByRef dof1() As Boolean, ByRef dof2() As Boolean, ByRef dof3() As Boolean, ByRef dof4() As Boolean, ByRef dof5() As Boolean, ByRef dof6() As Boolean, ByRef P() As Double, ByRef V2() As Double, ByRef V3() As Double, ByRef T() As Double, ByRef M2() As Double, ByRef M3() As Double, ByRef T1() As Double, ByRef T2() As Double, ByRef T3() As Double, ByRef T4() As Double, ByRef T5() As Double, ByRef T6() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing link object, link element or group of objects, depending on the value of the ItemTypeElm item. NumberItems

The total number of deformation loads retrieved for the specified link elements. LinkName

This is an array that includes the name of the link element associated with each target force. LoadPat

This is an array that includes the name of the load pattern associated with each target force. dof1, dof2, dof3, dof4, dof5, dof6

These are arrays of boolean values indicating if the considered degree of freedom has a target force assignment. dof1 = dof2 = dof3 = dof4 = dof5 = dof6 =

P V2 V3 T M2 M3

P, V2, V3, T, M2, M3

These are arrays of target force values. The target forces specified for a given degree of freedom are applicable only if the corresponding DOF item for that degree of freedom is True. U1 = U1 deformation [L] U2 = U2 deformation [L] U3 = U3 deformation [L] R1 = R1 deformation [rad] R2 = R2 deformation [rad] R3 = R3 deformation [rad] T1, T2, T3, T4, T5, T6

These are arrays of the relative distances along the link elements where the target force values apply. The relative distances specified for a given degree of freedom are applicable only if the corresponding dofn item for that degree of freedom is True.

T1 = T2 = T3 = T4 = T5 = T6 =

relative location for relative location for relative location for relative location for relative location for relative location for

P target force V2 target force V3 target force T target force M2 target force M3 target force

ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the link elements corresponding to the link object specified by the Name item. If this item is Element, the load assignments are retrieved for the link element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the link elements corresponding to all link objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for link elements corresponding to all selected link objects, and the Name item is ignored.

Remarks This function retrieves the target force assignments to link elements. The function returns zero if the target force assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElmTargetForce() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim DOF() As Boolean Dim f() As double Dim RD() As double Dim NumberItems As Long Dim LinkName() As String Dim LoadPat() As String Dim dof1() As Boolean Dim dof2() As Boolean Dim dof3() As Boolean Dim dof4() As Boolean Dim dof5() As Boolean Dim dof6() As Boolean Dim P() As Double Dim V2() As Double Dim V3() As Double Dim T() As Double Dim M2() As Double Dim M3() As Double Dim T1() As Double Dim T2() As Double Dim T3() As Double Dim T4() As Double Dim T5() As Double Dim T6() As Double Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model

ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("3", "", Name1, True) ret = SapModel.LinkObj.AddByPoint("1", "5", Name2) 'refresh view ret = SapModel.View.RefreshView 'assign link object target force ReDim DOF(5) ReDim f(5) ReDim RD(5) DOF(0) = True f(0) = 50 RD(0) = 0.4 ret = SapModel.LinkObj.SetLoadTargetForce("ALL", "DEAD", DOF, f, RD, Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get link element target force ret = SapModel.LinkElm.GetLoadTargetForce("ALL", NumberItems, LinkName, LoadPat, dof1, dof2, dof3, dof4, dof5, dof6, P, V2, V3, T, M2, M3, T1, T2, T3, T4, T5, T6, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLocalAxes Syntax SapObject.SapModel.LinkElm.GetLocalAxes

VB6 Procedure Function GetLocalAxes(ByVal Name As String, ByRef Ang As Double) As Long

Parameters Name

The name of an existing link element. Ang

This is the angle that the local 2 and 3 axes are rotated about the positive local 1 axis, from the default orientation. The rotation for a positive angle appears counter clockwise when the local +1 axis is pointing toward you. [deg]

Remarks This function retrieves the local axis angle assignment for link elements. The function returns zero if the assignment is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElmLocalAxisAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Ang As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("1", "5", Name) 'refresh view ret = SapModel.View.RefreshView 'assign link object local axis angle ret = SapModel.LinkObj.SetLocalAxes(Name, 30) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get link element local axis angle ret = SapModel.LinkElm.GetLocalAxes(Name, Ang) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also

GetNameList Syntax SapObject.SapModel.LinkElm.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of link element names retrieved by the program. MyName

This is a one-dimensional array of link element names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the SAP2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined link elements. The function returns zero if the names are successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetLinkElementNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name1 As String Dim Name2 As String Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("3", "", Name1, True) ret = SapModel.LinkObj.AddByPoint("1", "5", Name2) 'refresh view ret = SapModel.View.RefreshView 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get link element names ret = SapModel.LinkElm.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also

GetObj Syntax Sap2000.LinkElm.GetObj

VB6 Procedure Function GetObj(ByVal Name As String, ByRef Obj As String, ByRef ObjType As Long) As Long

Parameters Name

The name of an existing link element. Obj

The name of the object associated with the specified link element. The type of object or item is determined from the ObjType variable. ObjType

A number indicating the type of object that is associated with the point element. 2 Obj is a line object that is has a line spring assignment. The springs are modeled using link elements. 3 Obj is a area object that is has an area spring assignment. The springs are modeled using link elements. 6 Obj is a solid object that is has a surface spring assignment. The springs are modeled using link elements. 9 Obj is a point object that has a panel zone assignment. The specified link element is internally added by the program at the point object (panel zone) location to model the panel zone.

Remarks This function retrieves the object associated with a specified link element. The function returns zero if the object is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetObjForLinkElm() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Obj As String Dim ObjType As Long Dim Vec() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'assign springs to frame ReDim Vec(2) ret = SapModel.FrameObj.SetSpring("8", 1, 1, 1, "", 1, 2, 0, Vec, 0, False, "Local") 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get object for link element ret = SapModel.LinkElm.GetObj("~1", Obj, ObjType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPoints Syntax SapObject.SapModel.LinkElm.GetPoints

VB6 Procedure Function GetPoints(ByVal Name As String, ByRef Point1 As String, ByRef Point2 As String) As Long

Parameters Name

The name of a defined link element. Point1

The name of the point element at the I-End of the specified link element. Point2

The name of the point element at the J-End of the specified link element.

Remarks This function retrieves the names of the point elements at each end of a specified link element. The points at each end have the same name if the link element is a one-joint element. The function returns zero if the point names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElmPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Point1 As String Dim Point2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("1", "5", Name) 'refresh view ret = SapModel.View.RefreshView 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get names of points ret = SapModel.LinkElm.GetPoints(Name, Point1, Point2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetProperty Syntax SapObject.SapModel.LinkElm.GetProperty

VB6 Procedure Function GetProperty(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of an existing link element. PropName

The name of the link property assigned to the link element.

Remarks This function retrieves the property assignment to a link element. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value. The sVarTotalLength and sVarRelStartLoc items apply only when the Var item is True.

VBA Example Sub GetLinkElementProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("1", "5", Name) 'refresh view ret = SapModel.View.RefreshView 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get property for link element ret = SapModel.LinkElm.GetProperty(Name, PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPropertyFD Syntax SapObject.SapModel.LinkElm.GetPropertyFD

VB6 Procedure Function GetPropertyFD(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of an existing link element. PropName

The name of the frequency dependent link property assigned to the link element.

Remarks This function retrieves the frequency dependent property assignment to a link element. If no frequency dependent property is assigned to the link, the PropName is returned as None. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElementFDProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 6-012.sdb") 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get frequency dependent property for link element ret = SapModel.LinkElm.GetPropertyFD("1", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTransformationMatrix Syntax Sap2000.LinkElm.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing link element. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the link element local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the element local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system.

Remarks The function returns zero if the transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetLinkElementMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add link object by points ret = SapModel.LinkObj.AddByPoint("1", "5", Name) 'refresh view ret = SapModel.View.RefreshView 'assign link local axis angle ret = SapModel.LinkObj.SetLocalAxes(Name, 30) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get link element transformation matrix ReDim Value(8) ret = SapModel.LinkElm.GetTransformationMatrix(Name, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax Sap2000.PlaneElm.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of plane elements in the analysis model.

VBA Example Sub CountPlaneElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 2, 2, , , , , , , , , , , , , , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'return number of plane elements Count = SapModel.PlaneElm.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetLoadGravity Syntax SapObject.SapModel.PlaneElm.GetLoadGravity

VB6 Procedure Function GetLoadGravity(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of gravity loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each gravity load. LoadPat

This is an array that includes the name of the coordinate system in which the gravity load multipliers are specified. CSys

This is an array that includes the name of the coordinate system associated with each gravity load. x, y, z

These are arrays of gravity load multipliers in the x, y and z directions of the specified coordinate system. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the plane element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the gravity load assignments to plane elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'assign area object gravity loads ret = SapModel.AreaObj.SetLoadGravity("ALL", "Membrane", 0, 0, -1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element gravity load ret = SapModel.PlaneElm.GetLoadGravity("3-1", NumberItems,

PlaneName, LoadPat, CSys, x, y, z) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadPorePressure Syntax SapObject.SapModel.PlaneElm.GetLoadPorePressure

VB6 Procedure Function GetLoadPorePressure(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of pore pressure loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each pore pressure load. LoadPat

This is an array that includes the name of the load pattern associated with each pore pressure load. Value

This is an array that includes the pore pressure load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the pore pressure load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the plane element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the pore pressure load assignments to plane elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementPorePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object pore pressure load ret = SapModel.AreaObj.SetLoadPorePressure("ALL", "Membrane", .1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element pore pressure load ret = SapModel.PlaneElm.GetLoadPorePressure("ALL", NumberItems, PlaneName, LoadPat, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadRotate Syntax SapObject.SapModel.PlaneElm.GetLoadRotate

VB6 Procedure Function GetLoadRotate(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of rotate loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each rotate load. LoadPat

This is an array that includes the name of the load pattern associated with each rotate load. Value

This is an array that includes the rotate load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the rotate load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the plane element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the rotate load assignments to plane elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementRotateLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 4-001incomp.sdb") 'assign area object rotate load ret = SapModel.AreaObj.SetLoadRotate("ALL", "FTG", 30, , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element rotate load ret = SapModel.PlaneElm.GetLoadRotate("ALL", NumberItems, PlaneName, LoadPat, Value, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadStrain Syntax SapObject.SapModel.PlaneElm.GetLoadStrain

VB6 Procedure Function GetLoadStrain(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef Component() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of strain loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each strain load. LoadPat

This is an array that includes the name of the load pattern associated with each strain load. Component

This is an array that includes 1, 2, 3, 4 or 5, indicating the component associated with each strain load. 1= 2= 3= 4= 5=

Strain11 Strain22 Strain12 Strain13 Strain23

Value

This is an array that includes the strain value. [L/L] PatternName

This is an array that includes the joint pattern name, if any, used to specify the strain load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the plane element specified by the Name item.

If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the strain load assignments to plane elements. The function returns zero if the strain load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim Component() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object strain load ret = SapModel.AreaObj.SetLoadStrain("ALL", "Membrane", 1, 0.001, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element strain load ret = SapModel.PlaneElm.GetLoadStrain("3", NumberItems, PlaneName, LoadPat, Component, Value, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadSurfacePressure Syntax SapObject.SapModel.PlaneElm.GetLoadSurfacePressure

VB6 Procedure Function GetLoadSurfacePressure(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef Face() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of surface pressure loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each surface pressure load. LoadPat

This is an array that includes the name of the load pattern associated with each surface pressure load. Face

This is an array that includes -1, -2 or a nonzero, positive integer, indicating the area element face to which the specified load assignment applies. -1 = Bottom face -2 = Top face >0 = Edge face

Note that edge face n is from plane element point n to plane element point n + 1. For example, edge face 2 is from plane element point 2 to plane element point 3. Value

This is an array that includes the surface pressure load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the surface pressure load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item.

If this item is Element, the load assignments are retrieved for the plane element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the surface pressure load assignments to plane elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementSurfacePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim Face() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object surface pressure load ret = SapModel.AreaObj.SetLoadSurfacePressure("ALL", "Membrane", -1, .1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element surface pressure load ret = SapModel.PlaneElm.GetLoadSurfacePressure("ALL", NumberItems, PlaneName, LoadPat, Face, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadTemperature Syntax SapObject.SapModel.PlaneElm.GetLoadTemperature

VB6 Procedure Function GetLoadTemperature(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of temperature loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each temperature load. LoadPat

This is an array that includes the name of the load pattern associated with each temperature load. MyType

This is an array that includes either 1 or 3, indicating the type of temperature load. 1 = Temperature 3 = Temperature gradient along local 3 axis Value

This is an array that includes the temperature load value. [T] for MyType= 1 and [T/L] for MyType= 3 PatternName

This is an array that includes the joint pattern name, if any, used to specify the temperature load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the plane element specified by the Name item.

If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the temperature load assignments to plane elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim MyType() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object temperature load ret = SapModel.AreaObj.SetLoadTemperature("All", "Membrane", 1, 50, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element temperature load ret = SapModel.PlaneElm.GetLoadTemperature("ALL", NumberItems, PlaneName, LoadPat, MyType, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadUniform Syntax SapObject.SapModel.PlaneElm.GetLoadUniform

VB6 Procedure Function GetLoadUniform(ByVal Name As String, ByRef NumberItems As Long, ByRef PlaneName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef Dir() As Long, ByRef Value() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing plane element or group, depending on the value of the ItemType item. NumberItems

The total number of uniform loads retrieved for the specified plane elements. PlaneName

This is an array that includes the name of the plane element associated with each uniform load. LoadPat

This is an array that includes the name of the coordinate system in which the uniform load is specified. CSys

This is an array that includes the name of the coordinate system associated with each uniform load. Dir

This is an integer between 1 and 11, indicating the direction of the load. 1 = Local 1 axis (applies only when CSys is Local) 2 = Local 2 axis (applies only when CSys is Local) 3 = Local 3 axis (applies only when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 7 = Projected X direction (does not apply when CSys is Local) 8 = Projected Y direction (does not apply when CSys is Local) 9 = Projected Z direction (does not apply when CSys is Local) 10 = Gravity direction (applies only when CSys is Global) 11 = Projected Gravity direction (applies only when CSys is Global)

The positive gravity direction (see Dir = 10 and 11) is in the negative Global Z direction. Value

The uniform load value. [F/L2] ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1

GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the plane elements corresponding to the area object specified by the Name item. If this item is Element, the load assignments are retrieved for the plane element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the plane elements corresponding to all area objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for plane elements corresponding to all selected area objects, and the Name item is ignored.

Remarks This function retrieves the uniform load assignments to plane elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementUniformLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PlaneName() As String Dim LoadPat() As String Dim CSys() As String Dim Dir() As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object uniform loads ret = SapModel.AreaObj.SetLoadUniform("ALL", "Membrane", -0.01, 2, False, "Local", Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element uniform load ret = SapModel.PlaneElm.GetLoadUniform("3", NumberItems, PlaneName, LoadPat, CSys, Dir, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLocalAxes Syntax SapObject.SapModel.PlaneElm.GetLocalAxes

VB6 Procedure Function GetLocalAxes(ByVal Name As String, ByRef Ang As Double) As Long

Parameters Name

The name of an existing plane element. Ang

This is the angle that the local 1 and 2 axes are rotated about the positive local 3 axis from the default orientation. The rotation for a positive angle appears counter clockwise when the local +3 axis is pointing toward you. [deg]

Remarks This function retrieves the local axis angle assignment for plane elements. The function returns zero if the assignment is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementLocalAxisAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Ang As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object local axis angle ret = SapModel.AreaObj.SetLocalAxes("3", 30) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element local axis angle ret = SapModel.PlaneElm.GetLocalAxes("3", Ang) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMatTemp Syntax SapObject.SapModel.PlaneElm.GetMatTemp

VB6 Procedure Function GetMatTemp(ByVal Name As String, ByRef Temp As Double, ByRef PatternName As String) As Long

Parameters Name

The name of an existing plane element. Temp

This is the material temperature value assigned to the plane element. [T] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the material temperature for the plane element is uniform over the element at the value specified by Temp. If PatternName is the name of a defined joint pattern, the material temperature for the plane element may vary. The material temperature at each corner point around the plane element perimeter is equal to the specified temperature multiplied by the pattern value at the associated point element. The material temperature at other points in the plane element is calculated by interpolation from the corner points.

Remarks This function retrieves the material temperature assignments to plane elements. The function returns zero if the material temperature assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementMatTemp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Temp As Double Dim PatternName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign material temperature ret = SapModel.AreaObj.SetMatTemp("ALL", 50, , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get material temperature for plane element ret = SapModel.PlaneElm.GetMatTemp("3", Temp, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetNameList Syntax SapObject.SapModel.PlaneElm.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of plane element names retrieved by the program. MyName

This is a one-dimensional array of plane element names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined plane elements. The function returns zero if the names are successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetPlaneElementNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element names ret = SapModel.PlaneElm.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetObj Syntax Sap2000.PlaneElm.GetObj

VB6 Procedure Function GetObj(ByVal Name As String, ByRef Obj As String) As Long

Parameters Name

The name of an existing plane element. Obj

The name of the area object from which the plane element was created.

Remarks This function retrieves the name of the area object from which an plane element was created. The function returns zero if the information is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetObjForPlaneElm() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Obj As String Dim ObjType As Long Dim RDI As Double Dim RDJ As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get object information for an plane element ret = SapModel.PlaneElm.GetObj("3-2", Obj) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPoints Syntax SapObject.SapModel.PlaneElm.GetPoints

VB6 Procedure Function GetPoints(ByVal Name As String, ByRef NumberPoints As Long, ByRef Point() As String) As Long

Parameters Name

The name of an plane element. NumberPoints

The number of point elements that define the plane element. Point

This is an array containing the names of the point elements that define the plane element. The point names are in order around the plane element.

Remarks This function retrieves the names of the point elements that define an plane element. The function returns zero if the point element names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElmPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberPoints As Long Dim Point() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get names of points ret = SapModel.PlaneElm.GetPoints("3-2", NumberPoints, Point) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetProperty Syntax SapObject.SapModel.PlaneElm.GetProperty

VB6 Procedure Function GetProperty(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined plane element. PropName

The name of the area property assigned to the plane element. This item is None if there is no area property assigned to the plane element.

Remarks This function retrieves the area property assigned to an plane element. The function returns zero if the property is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get area property for plane element ret = SapModel.PlaneElm.GetProperty("1", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTransformationMatrix Syntax Sap2000.PlaneElm.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing plane element. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the plane element local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the element local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system.

Remarks The function returns zero if the transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPlaneElementMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 3-001incomp.sdb") 'assign area object local axis angle ret = SapModel.AreaObj.SetLocalAxes("3", 30) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get plane element transformation matrix redim Value(8) ret = SapModel.PlaneElm.GetTransformationMatrix("3", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax SapObject.SapModel.PointElm.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of point elements in the analysis model.

VBA Example Sub CountPointElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'return number of point elements Count = SapModel.PointElm.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

CountConstraint Syntax SapObject.SapModel.PointElm.CountConstraint

VB6 Procedure Function CountConstraint(ByRef Count As Long, Optional ByVal Name As String = "") As Long

Parameters Count

The number of counted constraints. Name

This optional item is the name of an existing point element.

Remarks If the Name item is provided, the Count item returns the total number of constraint assignments made to the specified point element. If the Name item is not specified or is specified as an empty string, the Count item returns the total number of constraint assignments to all point elements in the model. If the Name item is specified but it is not recognized by the program as a valid point element, an error is returned. This function returns zero if the count is successfully completed, otherwise it returns a nonzero value.

VBA Example Sub CountConstraintElmAssignments() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim Count as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add constraint definition ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1") 'make constraint assignment ret = SapModel.PointObj.SetConstraint("3", "Diaph1") 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get number of constraint assignments to point elements ret = SapModel.PointElm.CountConstraint(Count) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetConstraint

CountLoadDispl Syntax SapObject.SapModel.PointElm.CountLoadDispl

VB6 Procedure Function CountLoadDispl(ByRef Count As Long, Optional ByVal Name As String = "", Optional ByVal LoadPat As String = "") As Long

Parameters Count

The number of counted ground displacement loads. Name

This optional item is the name of an existing point element. LoadPat

This optional item is the name of an existing load pattern.

Remarks If neither the Name item nor the LoadPat item is provided, the Count item returns the total number of ground displacement load assignments to point elements in the model. If the Name item is provided but not the LoadPat item, the Count item returns the total number of ground displacement load assignments made for the specified point element. If the Name item is not provided but the LoadPat item is specified, the Count item returns the total number of ground displacement load assignments made to all point elements for the specified load pattern. If both the Name item and the LoadPat item are provided, the Count item returns the total number of ground displacement load assignments made to the specified point element for the specified load pattern. If the Name item or the LoadPat item is provided but is not recognized by the program as valid, an error is returned. This function returns zero if the count is successfully completed, otherwise it returns a nonzero value.

VBA Example Sub CountGroundDisplacementElmLoads() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add ground displacement load Redim Value(5) Value(0) = 10 ret = SapModel.PointObj.SetLoadDispl("1", "DEAD", Value) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get number of ground displacement loads for point elements ret = SapModel.PointElm.CountLoadDispl(Count) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadDispl

CountLoadForce Syntax SapObject.SapModel.PointElm.CountLoadForce

VB6 Procedure Function CountLoadForce(ByRef Count As Long, Optional ByVal Name As String = "", Optional ByVal LoadPat As String = "") As Long

Parameters Count

The number of counted point loads. Name

This optional item is the name of an existing point element. LoadPat

This optional item is the name of an existing load pattern.

Remarks If neither the Name item nor the LoadPat item is provided, the Count item returns the total number of point load assignments to point elements in the model. If the Name item is provided but not the LoadPat item, the Count item returns the total number of point load assignments made for the specified point element. If the Name item is not provided but the LoadPat item is specified, the Count item returns the total number of point load assignments made to all point elements for the specified load pattern. If both the Name item and the LoadPat item are provided, the Count item returns the total number of point load assignments made to the specified point element for the specified load pattern. If the Name item or the LoadPat item is provided but is not recognized by the program as valid, an error is returned. This function returns zero if the count is successfully completed, otherwise it returns a nonzero value.

VBA Example Sub CountPointElmLoads() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add point load Redim Value(5) Value(0) = 10 ret = SapModel.PointObj.SetLoadForce("3", "DEAD", Value) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get number of point loads assigned to point elements ret = SapModel.PointElm.CountLoadForce(Count) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadForce

CountRestraint Syntax SapObject.SapModel.PointElm.CountRestraint

VB6 Procedure Function CountRestraint() As Long

Parameters None

Remarks This function returns the total number of point elements in the model with restraint assignments.

VBA Example Sub CountRestrainedPointElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim Count as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get number of restrained point elements Count = SapModel.PointElm.CountRestraint 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetRestraint

CountSpring Syntax SapObject.SapModel.PointElm.CountSpring

VB6 Procedure Function CountSpring() As Long

Parameters None

Remarks This function returns the total number of point elements in the model with spring assignments.

VBA Example Sub CountPointElementsWithSprings() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim i as Long Dim k() as Double Dim Count as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add joint spring assignment ReDim k(5) For i = 0 to 5 k(i) = i + 1 Next i ret = SapModel.PointObj.SetSpring("3", k) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get number of point elements with springs Count = SapModel.PointElm.CountSpring 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSpring GetSpringCoupled

GetConnectivity Syntax SapObject.SapModel.PointElm.GetConnectivity

VB6 Procedure Function GetConnectivity(ByVal Name As String, ByRef NumberItems As Long, ByRef ObjectType() As Long, ByRef ObjectName() As String, ByRef PointNumber() As Long) As Long

Parameters Name

The name of an existing point element. NumberItems

This is the total number of elements connected to the specified point element. ObjectType

This is an array that includes the element type of each element connected to the specified point element. 2= 3= 4= 5= 6=

Frame element Cable element Tendon element Area element Solid element

7 = Link element ObjectName

This is an array that includes the element name of each element connected to the specified point element. PointNumber

This is an array that includes the point number within the considered element that corresponds to the specified point element.

Remarks This function returns a list of elements connected to a specified point element. The function returns zero if the list is successfully filled; otherwise it returns nonzero.

VBA Example Sub GetPointElementConnectivity() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems as Long Dim ObjectType() As Long Dim ObjectName() As String Dim PointNumber() As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get elements connected to point element 11 ret = SapModel.PointElm.GetConnectivity("11", NumberItems, ObjectType, ObjectName, PointNumber) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also

GetConstraint Syntax SapObject.SapModel.PointElm.GetConstraint

VB6 Procedure Function GetConstraint(ByVal Name As String, ByRef NumberItems As Long, ByRef PointName() As String, ByRef ConstraintName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing point object, point element, or group of objects, depending on the value of the ItemTypeElm item. NumberItems

This is the total number of constraint assignments returned. PointName

This is an array that includes the name of the point element to which the specified constraint assignment applies. ConstraintName

This is an array that includes the name of the constraint that is assigned to the point element specified by the PointName item. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the constraint assignments are retrieved for the point element corresponding to the point object specified by the Name item. If this item is Element, the constraint assignments are retrieved for the point element specified by the Name item. If this item is GroupElm, the constraint assignments are retrieved for all point elements directly or indirectly specified in the group specified by the Name item. If this item is SelectionElm, the constraint assignments are retrieved for all point elements directly or indirectly selected, and the Name item is ignored. See Item Type for Elements for more information.

Remarks This function returns a list of constraint assignments made to one or more specified point elements. The function returns zero if the constraint name list is successfully filled, otherwise it returns nonzero. The PointName and ConstraintName items are returned in one-dimensional arrays. Each array is created as a dynamic array by the API user. In VBA a dynamic string array is defined by: Dim PointName() as String

The arrays are dimensioned to (NumberItems – 1) inside the Sap2000 program, filled with values, and returned to the API user. The arrays are zero-based. Thus the first item is at array index 0, and the last item is at array index (NumberItems - 1).

VBA Example Sub GetConstraintElmAssignments() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems as Long Dim PointName() As String Dim ConstraintName() As String Dim i As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define a new constraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1") 'define new constraint assignments For i = 4 To 16 Step 4 ret = SapModel.PointObj.SetConstraint(Format(i), "Diaph1") Next i 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get constraint assignments to point elements ret = SapModel.PointElm.GetConstraint("ALL", NumberItems, PointName, ConstraintName, GroupElm) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetCoordCartesian Syntax SapObject.SapModel.PointElm.GetCoordCartesian

VB6 Procedure Function GetCoordCartesian(ByVal Name As String, ByRef x As Double, ByRef y As Double, ByRef z As Double, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing point element. x

The X-coordinate of the specified point element in the specified coordinate system. [L] y

The Y-coordinate of the specified point element in the specified coordinate system. [L] z

The Z-coordinate of the specified point element in the specified coordinate system. [L] CSys

The name of the coordinate system in which the joint coordinates are returned.

Remarks The function returns zero if the coordinates are successfully returned; otherwise it returns nonzero. If successful, the function returns the x, y and z coordinates of the specified point element in the Present Units. The coordinates are reported in the coordinate system specified by CSys.

VBA Example Sub GetPointElmCoordCartesian() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim x As Double, y As Double, z As Double Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get cartesian point element coordinates ret = SapModel.PointElm.GetCoordCartesian("5", x, y, z) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetCoordCylindrical GetCoordSpherical

GetCoordCylindrical Syntax SapObject.SapModel.PointElm.GetCoordCylindrical

VB6 Procedure Function GetCoordCylindrical(ByVal Name As String, ByRef r As Double, ByRef Theta As Double, ByRef z As Double, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing point element. r

The radius for the point element in the specified coordinate system. [L] Theta

The angle for the specified point element in the specified coordinate system. The angle is measured in the XY plane from the positive X axis. When looking in the XY plane with the positive Z axis pointing toward you, a positive Theta angle is counter clockwise. [deg] z

The Z-coordinate of the specified point element in the specified coordinate system. [L] CSys

The name of the coordinate system in which the joint coordinates are returned.

Remarks The function returns zero if the coordinates are successfully returned; otherwise it returns nonzero. If successful, the function returns the r, Theta and z coordinates of the specified point element in the Present Units. The coordinates are reported in the coordinate system specified by CSys.

VBA Example Sub GetPointElmCoordCylindrical() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim r As Double, Theta As Double, z As Double Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get cylindrical point element coordinates ret = SapModel.PointElm.GetCoordCylindrical("5", r, Theta, z) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetCoordCartesian GetCoordSpherical

GetCoordSpherical Syntax SapObject.SapModel.PointElm.GetCoordSpherical

VB6 Procedure Function GetCoordSpherical(ByVal Name As String, ByRef r As Double, ByRef a As Double, ByRef b As Double, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing point element. r

The radius for the point element in the specified coordinate system. [L] a

The plan angle for the point element in the specified coordinate system. This angle is measured in the XY plane from the positive global X axis. When looking in the XY plane with the positive Z axis pointing toward you, a positive a angle is counter clockwise. [deg] b

The elevation angle for the point element in the specified coordinate system. This angle is measured in an X'Z plane that is perpendicular to the XY plane with the positive X' axis oriented at angle a from the positive global X axis. Angle b is measured from the positive global Z axis. When looking in the X’Z plane with the positive Y' axis pointing toward you, a positive b angle is counter clockwise. [deg] CSys

The name of the coordinate system in which the joint coordinates are returned.

Remarks The function returns zero if the coordinates are successfully returned; otherwise it returns nonzero. If successful, the function returns the r, a and b coordinates of the specified point element in the Present Units. The coordinates are reported in the coordinate system specified by CSys.

VBA Example Sub GetPointElmCoordSpherical() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim r As Double, a As Double, b As Double Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get spherical point element coordinates ret = SapModel.PointElm.GetCoordSpherical("5", r, a, b) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetCoordCartesian GetCoordCylindrical

GetLoadDispl Syntax SapObject.SapModel.PointElm.GetLoadDispl

VB6 Procedure Function GetLoadDispl(ByVal Name As String, ByRef NumberItems As Long, ByRef PointName() As String, ByRef LoadPat() As String, ByRef LCStep() As Long, ByRef CSys() As String, ByRef U1() As Double, ByRef U2() As Double, ByRef U3() As Double, ByRef R1() As Double, ByRef R2() As Double, ByRef R3() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing point object, point element, or group of objects, depending on the value of the ItemTypeElm item. NumberItems

This is the total number of joint ground displacement assignments returned. PointName

This is an array that includes the name of the point element to which the specified ground displacement assignment applies. LoadPat

This is an array that includes the name of the load pattern for the ground displacement load. LCStep

This is an array that includes the load pattern step for the ground displacement load. In most cases, this item does not apply and will be returned as 0. CSys

This is an array that includes the name of the coordinate system for the ground displacement load. This is either Local or the name of a defined coordinate system. U1

This is an array that includes the assigned translational ground displacement in the local 1-axis or coordinate system X-axis direction, depending on the specified CSys. [L] U2

This is an array that includes the assigned translational ground displacement in the local 2-axis or coordinate system Y-axis direction, depending on the specified CSys. [L] U3

This is an array that includes the assigned translational ground displacement in the local 3-axis or coordinate system Z-axis direction, depending on the specified CSys. [L] R1

This is an array that includes the assigned rotational ground displacement about the local 1-axis or coordinate system X-axis, depending on the specified CSys. [rad]

R2

This is an array that includes the assigned rotational ground displacement about the local 2-axis or coordinate system Y-axis, depending on the specified CSys. [rad] R3

This is an array that includes the assigned rotational ground displacement about the local 3-axis or coordinate system Z-axis, depending on the specified CSys. [rad] ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the ground displacement assignments are retrieved for the point element corresponding to the point object specified by the Name item. If this item is Element, the ground displacement assignments are retrieved for the point element specified by the Name item. If this item is GroupElm, the ground displacement assignments are retrieved for all point elements directly or indirectly specified in the group specified by the Name item. If this item is SelectionElm, the ground displacement assignments are retrieved for all point elements directly or indirectly selected, and the Name item is ignored. See Item Type for Elements for more information.

Remarks This function retrieves the ground displacement load assignments to point elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetPointElmDisplLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PointName() As String Dim LoadPat() As String Dim LCStep() As Long Dim CSys() As String Dim U1() As Double Dim U2() As Double Dim U3() As Double Dim R1() As Double Dim R2() As Double Dim R3() As Double Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add ground displacement load Redim Value(5) Value(0) = 10 ret = SapModel.PointObj.SetLoadDispl("1", "DEAD", Value) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get ground displacement load at point elements

ret = SapModel.PointElm.GetLoadDispl("ALL", NumberItems, PointName, LoadPat, LCStep, CSys, U1, U2, U3, R1, R2, R3, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadForce Syntax SapObject.SapModel.PointElm.GetLoadForce

VB6 Procedure Function GetLoadForce(ByVal Name As String, ByRef NumberItems As Long, ByRef PointName() As String, ByRef LoadPat() As String, ByRef LCStep() As Long, ByRef CSys() As String, ByRef F1() As Double, ByRef F2() As Double, ByRef F3() As Double, ByRef M1() As Double, ByRef M2() As Double, ByRef M3() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing point object, point element, or group of objects, depending on the value of the ItemTypeElm item. NumberItems

This is the total number of joint force load assignments returned. PointName

This is an array that includes the name of the point element to which the specified load assignment applies. LoadPat

This is an array that includes the name of the load pattern for the load. LCStep

This is an array that includes the load pattern step for the load. In most cases this item does not apply and will be returned as 0. CSys

This is an array that includes the name of the coordinate system for the load. This is either Local or the name of a defined coordinate system. F1

This is an array that includes the assigned translational force in the local 1-axis or coordinate system X-axis direction, depending on the specified CSys. [F] F2

This is an array that includes the assigned translational force in the local 2-axis or coordinate system Y-axis direction, depending on the specified CSys. [F] F3

This is an array that includes the assigned translational force in the local 3-axis or coordinate system Z-axis direction, depending on the specified CSys. [F] M1

This is an array that includes the assigned moment about the local 1-axis or coordinate system X-axis, depending on the specified CSys. [FL] M2

This is an array that includes the assigned moment about the local 2-axis or coordinate system Y-axis, depending on the specified CSys. [FL] M3

This is an array that includes the assigned moment about the local 3-axis or coordinate system Z-axis, depending on the specified CSys. [FL]

ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the point element corresponding to the point object specified by the Name item. If this item is Element, the load assignments are retrieved for the point element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for all point elements directly or indirectly specified in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for all point elements directly or indirectly selected and the Name item is ignored. See Item Type for Elements for more information.

Remarks This function retrieves the joint force load assignments to point elements. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetPointElmForceLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim PointName() As String Dim LoadPat() As String Dim LCStep() As Long Dim CSys() As String Dim F1() As Double Dim F2() As Double Dim F3() As Double Dim M1() As Double Dim M2() As Double Dim M3() As Double Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add joint force load Redim Value(5) Value(0) = 10 ret = SapModel.PointObj.SetLoadForce("1", "DEAD", Value) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get point element force load

ret = SapModel.PointElm.GetLoadForce("ALL", NumberItems, PointName, LoadPat, LCStep, CSys, F1, F2, F3, M1, M2, M3, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLocalAxes Syntax SapObject.SapModel.PointElm.GetLocalAxes

VB6 Procedure Function GetLocalAxes(ByVal Name As String, ByRef a As Double, ByRef b As Double, ByRef c As Double) As Long

Parameters Name

The name of an existing point element. a, b, c

The local axes of the point are defined by first setting the positive local 1, 2 and 3 axes the same as the positive global X, Y and Z axes and then doing the following: [deg] 1. Rotate about the 3 axis by angle a. 2. Rotate about the resulting 2 axis by angle b. 3. Rotate about the resulting 1 axis by angle c.

Remarks This function retrieves the local axes angles for a point element. The function returns zero if the local axes angles are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetPointElmLocalAxes() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim a As Double, b As Double, c As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get local axes assignments ret = SapModel.PointElm.GetLocalAxes("1", a, b, c) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMergeNumber Syntax SapObject.SapModel.PointElm.GetMergeNumber

VB6 Procedure Function GetMergeNumber(ByVal Name As String, ByRef MergeNumber As Long) As Long

Parameters Name

The name of an existing point element. MergeNumber

The merge number assigned to the specified point element.

Remarks This function retrieves the merge number for a point element. By default the merge number for a point is zero. Points with different merge numbers are not automatically merged by the program. The function returns zero if the merge number is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetPointElmMergeNumber() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim m As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'set merge number ret = SapModel.PointObj.SetMergeNumber("3", 2) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get merge number ret = SapModel.PointElm.GetMergeNumber("3", m) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetNameList Syntax SapObject.SapModel.PointElm.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of point element names retrieved by the program. MyName

This is a one-dimensional array of point element names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined point elements. The function returns zero if the names are successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetPointElementNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get point element names ret = SapModel.PointElm.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetObj Syntax SapObject.SapModel.PointElm.GetObj

VB6 Procedure Function GetObj(ByVal Name As String, ByRef Obj As String, ByRef ObjType As Long) As Long

Parameters Name

The name of an existing point element. Obj

The name of the object or defined item associated with the specified point element. The type of object or item is determined from the ObjType variable. ObjType

A number indicating the type of object or defined item that is associated with the point element. 1 Obj is the point object corresponding to the specified point element. 2 Obj is a line object that is internally meshed by the program to create the specified point element. 3 Obj is an area object that is internally meshed by the program to create the specified point element. 6 Obj is a solid object that is internally meshed by the program to create the specified point element. 9 Obj is a point object that has a panel zone assignment. The specified point element is internally added by the program at the point object (panel zone) location to model the panel zone. The specified point element does not directly correspond to the point object returned; it is an added point at the same location as the point object. 21 Obj is a defined diaphragm constraint. The specified point element was internally added by the program for application of auto wind and auto seismic loads.

Remarks This function retrieves the object or defined item associated with a specified point element. The function returns zero if the object is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetObjForPointElm() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Obj As String Dim ObjType As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get object or defined item for point element "3" ret = SapModel.PointElm.GetObj("3", Obj, ObjType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPatternValue Syntax SapObject.SapModel.PointElm.GetPatternValue

VB6 Procedure Function GetPatternValue(ByVal Name As String, ByVal PatternName As String, ByRef Value As Double) As Long

Parameters Name

The name of an existing point element. PatternName

The name of a defined joint pattern. Value

The value that the specified point element has for the specified joint pattern.

Remarks This function retrieves the joint pattern value for a specific point element and joint pattern. The function returns zero if the value is successfully retrieved, otherwise it returns a nonzero value. Joint pattern values are unitless.

VBA Example Sub GetPointElmPatternData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add joint pattern assignment ret = SapModel.PointObj.SetPatternByXYZ("ALL", "Default", 0, 0, 10, 0, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get joint pattern assignment for point element ret = SapModel.PointElm.GetPatternValue("3", "Default", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetRestraint Syntax SapObject.SapModel.PointElm.GetRestraint

VB6 Procedure Function GetRestraint(ByVal Name As String, ByRef Value() As Boolean) As Long

Parameters Name

The name of an existing point element. Value

This is an array of six restraint values. Value(0) Value(1) Value(2) Value(3) Value(4) Value(5)

= = = = = =

U1 U2 U3 R1 R2 R3

Remarks This function retrieves the restraint assignments for a point element. The restraint assignments are always returned in the point local coordinate system. The function returns zero if the restraint assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetPointElmRestraints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get point element restraints Redim Value(5) ret = SapModel.PointElm.GetRestraint("5", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetSpring Syntax SapObject.SapModel.PointElm.GetSpring

VB6 Procedure Function GetSpring(ByVal Name As String, ByRef k() As Double) As Long

Parameters Name

The name of an existing point element. k

This is an array of six spring stiffness values. Value(0) Value(1) Value(2) Value(3) Value(4) Value(5)

= = = = = =

U1 [F/L] U2 [F/L] U3 [F/L] R1 [FL/rad] R2 [FL/rad] R3 [FL/rad]

Remarks This function retrieves uncoupled spring stiffness assignments for a point element; that is, it retrieves the diagonal terms in the 6x6 spring matrix for the point element. The spring stiffnesses reported are the sum of all springs assigned to the point element either directly or indirectly through line, area and solid spring assignments. The spring stiffness values are reported in the point local coordinate system. The function returns zero if the stiffnesses are successfully retrieved, otherwise it returns a nonzero value. If no springs exist at the point element, the function returns a nonzero value.

VBA Example Sub GetPointElmSpring() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim k() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign spring to a point ReDim k(5) k(2) = 10 ret = SapModel.PointObj.SetSpring("3", k) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get spring values at point element ReDim k(5) ret = SapModel.PointElm.GetSpring("3", k) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSpringCoupled IsSpringCoupled

GetSpringCoupled Syntax SapObject.SapModel.PointElm.GetSpringCoupled

VB6 Procedure Function GetSpringCoupled(ByVal Name As String, ByRef k() As Double) As Long

Parameters Name

The name of an existing point element. k

This is an array of twenty one spring stiffness values. Value(0) = U1U1 [F/L] Value(1) = U1U2 [F/L] Value(2) = U2U2 [F/L] Value(3) = U1U3 [F/L] Value(4) = U2U3 [F/L] Value(5) = U3U3 [F/L] Value(6) = U1R1 [F/rad] Value(7) = U2R1 [F/rad] Value(8) = U3R1 [F/rad] Value(9) = R1R1 [FL/rad] Value(10) = U1R2 [F/rad] Value(11) = U2R2 [F/rad] Value(12) = U3R2 [F/rad] Value(13) = R1R2 [FL/rad] Value(14) = R2R2 [FL/rad] Value(15) = U1R3 [F/rad] Value(16) = U2R3 [F/rad] Value(17) = U3R3 [F/rad] Value(18) = R1R3 [FL/rad] Value(19) = R2R3 [FL/rad] Value(20) = R3R3 [FL/rad]

Remarks This function retrieves coupled spring stiffness assignments for a point element. The spring stiffnesses reported are the sum of all springs assigned to the point element either directly or indirectly through line, area and solid spring assignments. The spring stiffness values are reported in the point local coordinate system. The function returns zero if the stiffnesses are successfully retrieved, otherwise it returns a nonzero value. If no springs exist at the point element, the function returns a nonzero value.

VBA Example Sub GetPointElmCoupledSpring() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim k() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign coupled spring to a point ReDim k(20) k(2) = 10 k(17) = 4 ret = SapModel.PointObj.SetSpringCoupled("3", k) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get point element coupled spring values ReDim k(20) ret = SapModel.PointElm.GetSpringCoupled("3", k) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSpring IsSpringCoupled

GetTransformationMatrix Syntax SapObject.SapModel.PointElm.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing point element. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the point element local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array; (Local1, Local2, Local3) are an item (such as a point load) in the point element local coordinate system; and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system.

Remarks The function returns zero if the transformation matrix is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetPointElementMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'set local axes ret = SapModel.PointObj.SetLocalAxes("3", 33, 14, 12) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get point element transformation matrix redim Value(8) ret = SapModel.PointElm.GetTransformationMatrix("3", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

IsSpringCoupled Syntax SapObject.SapModel.PointElm.IsSpringCoupled

VB6 Procedure Function IsSpringCoupled(ByVal Name As String, ByVal IsCoupled As Boolean) As Long

Parameters Name

The name of an existing point element. IsCoupled

This item is True if the spring assignment to the specified point element is coupled, otherwise it is False.

Remarks This function indicates if the spring assignments to a point element are coupled, that is, if there are off-diagonal terms in the 6x6 spring matrix for the point element. The function returns zero if the coupled status is successfully retrieved, otherwise it returns a nonzero value. If no springs exist at the point object, the function returns a nonzero value.

VBA Example Sub CheckIsPointElmSpringCoupled() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim k() As Double Dim IsCoupled As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'assign spring to a point ReDim k(5) k(2) = 10 ret = SapModel.PointObj.SetSpring("3", k) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'determine if point element spring is coupled ret = SapModel.PointElm.IsSpringCoupled("3", IsCoupled) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSpring GetSpringCoupled

Count Syntax Sap2000.SolidElm.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of solid elements in the analysis model.

VBA Example Sub CountSolidElements() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign auto mesh options ret = SapModel.SolidObj.SetAutoMesh("ALL", 1, 2, 2, 2, , , , , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'return number of solid elements Count = SapModel.SolidElm.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetLoadGravity Syntax SapObject.SapModel.SolidElm.GetLoadGravity

VB6 Procedure Function GetLoadGravity(ByVal Name As String, ByRef NumberItems As Long, ByRef SolidName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing solid element or group, depending on the value of the ItemType item. NumberItems

The total number of gravity loads retrieved for the specified solid elements. SolidName

This is an array that includes the name of the solid element associated with each gravity load. LoadPat

This is an array that includes the name of the coordinate system in which the gravity load multipliers are specified. CSys

This is an array that includes the name of the coordinate system associated with each gravity load. x, y, z

These are arrays of gravity load multipliers in the x, y and z directions of the specified coordinate system. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the solid elements corresponding to the solid object specified by the Name item. If this item is Element, the load assignments are retrieved for the solid element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the solid elements corresponding to all solid objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for solid elements corresponding to all selected solid objects, and the Name item is ignored.

Remarks This function retrieves the gravity load assignments to solid elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim SolidName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign auto mesh options ret = SapModel.SolidObj.SetAutoMesh("ALL", 1, 2, 2, 2, , , , , , Group) 'assign solid object gravity loads ret = SapModel.SolidObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element gravity load ret = SapModel.SolidElm.GetLoadGravity("3-1", NumberItems,

SolidName, LoadPat, CSys, x, y, z) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadPorePressure Syntax SapObject.SapModel.SolidElm.GetLoadPorePressure

VB6 Procedure Function GetLoadPorePressure(ByVal Name As String, ByRef NumberItems As Long, ByRef SolidName() As String, ByRef LoadPat() As String, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing solid element or group, depending on the value of the ItemType item. NumberItems

The total number of pore pressure loads retrieved for the specified solid elements. SolidName

This is an array that includes the name of the solid element associated with each pore pressure load. LoadPat

This is an array that includes the name of the load pattern associated with each pore pressure load. Value

This is an array that includes the pore pressure load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the pore pressure load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the solid elements corresponding to the solid object specified by the Name item. If this item is Element, the load assignments are retrieved for the solid element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the solid elements corresponding to all solid objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for solid elements corresponding to all selected solid objects, and the Name item is ignored.

Remarks This function retrieves the pore pressure load assignments to solid elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementPorePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim SolidName() As String Dim LoadPat() As String Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign solid object pore pressure load ret = SapModel.SolidObj.SetLoadPorePressure("ALL", "DEAD", .1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element pore pressure load ret = SapModel.SolidElm.GetLoadPorePressure("ALL", NumberItems, SolidName, LoadPat, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadStrain Syntax SapObject.SapModel.SolidElm.GetLoadStrain

VB6 Procedure Function GetLoadStrain(ByVal Name As String, ByRef NumberItems As Long, ByRef SolidName() As String, ByRef LoadPat() As String, ByRef Component() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing solid element or group, depending on the value of the ItemType item. NumberItems

The total number of strain loads retrieved for the specified solid elements. SolidName

This is an array that includes the name of the solid element associated with each strain load. LoadPat

This is an array that includes the name of the load pattern associated with each strain load. Component

This is 1, 2, 3, 4, 5 or 6, indicating the component to which the strain load is applied. 1= 2= 3= 4= 5= 6=

Strain11 Strain22 Strain33 Strain12 Strain13 Strain23

Value

This is an array that includes the strain value. [L/L] PatternName

This is an array that includes the joint pattern name, if any, used to specify the strain load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the solid elements corresponding to the solid object specified by the Name item. If this item is Element, the load assignments are retrieved for the solid element

specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the solid elements corresponding to all solid objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for solid elements corresponding to all selected solid objects, and the Name item is ignored.

Remarks This function retrieves the strain load assignments to solid elements. The function returns zero if the strain load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim SolidName() As String Dim LoadPat() As String Dim Component() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign solid object strain load ret = SapModel.SolidObj.SetLoadStrain("ALL", "DEAD", 1, 0.001, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element strain load ret = SapModel.SolidElm.GetLoadStrain("1", NumberItems, SolidName, LoadPat, Component, Value, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadSurfacePressure Syntax SapObject.SapModel.SolidElm.GetLoadSurfacePressure

VB6 Procedure Function GetLoadSurfacePressure(ByVal Name As String, ByRef NumberItems As Long, ByRef SolidName() As String, ByRef LoadPat() As String, ByRef Face() As Long, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing solid element or group, depending on the value of the ItemType item. NumberItems

The total number of surface pressure loads retrieved for the specified solid elements. SolidName

This is an array that includes the name of the solid element associated with each surface pressure load. LoadPat

This is an array that includes the name of the load pattern associated with each surface pressure load. Face

This is an array that includes 1, 2, 3, 4, 5 or 6, indicating the solid element face to which the specified load assignment applies. Value

This is an array that includes the surface pressure load value. [F/L2] PatternName

This is an array that includes the joint pattern name, if any, used to specify the surface pressure load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the solid elements corresponding to the solid object specified by the Name item. If this item is Element, the load assignments are retrieved for the solid element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the solid elements corresponding to all solid objects included in the group specified by the Name item.

If this item is SelectionElm, the load assignments are retrieved for solid elements corresponding to all selected solid objects, and the Name item is ignored.

Remarks This function retrieves the surface pressure load assignments to solid objects. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementSurfacePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim SolidName() As String Dim LoadPat() As String Dim Face() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign solid object surface pressure load ret = SapModel.SolidObj.SetLoadSurfacePressure("ALL", "DEAD", 1, .1, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element surface pressure load ret = SapModel.SolidElm.GetLoadSurfacePressure("ALL", NumberItems, SolidName,LoadPat, Face, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLoadTemperature Syntax SapObject.SapModel.SolidElm.GetLoadTemperature

VB6 Procedure Function GetLoadTemperature(ByVal Name As String, ByRef NumberItems As Long, ByRef SolidName() As String, ByRef LoadPat() As String, ByRef Value() As Double, ByRef PatternName() As String, Optional ByVal ItemTypeElm As eItemTypeElm = Element) As Long

Parameters Name

The name of an existing solid element or group, depending on the value of the ItemType item. NumberItems

The total number of temperature loads retrieved for the specified solid elements. SolidName

This is an array that includes the name of the solid element associated with each temperature load. LoadPat

This is an array that includes the name of the load pattern associated with each temperature load. Value

This is an array that includes the temperature load value. [T] PatternName

This is an array that includes the joint pattern name, if any, used to specify the temperature load. ItemTypeElm

This is one of the following items in the eItemTypeElm enumeration: ObjectElm = 0 Element = 1 GroupElm = 2 SelectionElm = 3

If this item is ObjectElm, the load assignments are retrieved for the solid elements corresponding to the solid object specified by the Name item. If this item is Element, the load assignments are retrieved for the solid element specified by the Name item. If this item is GroupElm, the load assignments are retrieved for the solid elements corresponding to all solid objects included in the group specified by the Name item. If this item is SelectionElm, the load assignments are retrieved for solid elements corresponding to all selected solid objects, and the Name item is ignored.

Remarks This function retrieves the temperature load assignments to solid elements. The function returns zero if the load assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim SolidName() As String Dim LoadPat() As String Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign solid object temperature load ret = SapModel.SolidObj.SetLoadTemperature("All", "DEAD", 50, , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element temperature load ret = SapModel.SolidElm.GetLoadTemperature("ALL", NumberItems, SolidName, LoadPat, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetLocalAxes Syntax SapObject.SapModel.SolidElm.GetLocalAxes

VB6 Procedure Function GetLocalAxes(ByVal Name As String, ByRef a As Double, ByRef b As Double, ByRef c As Double) As Long

Parameters Name

The name of an existing solid element. a, b, c

The local axes of the solid element are defined by first setting the positive local 1, 2 and 3 axes the same as the positive global X, Y and Z axes and then doing the following: [deg] 1. Rotate about the 3 axis by angle a. 2. Rotate about the resulting 2 axis by angle b. 3. Rotate about the resulting 1 axis by angle c.

Remarks This function retrieves the local axis angle assignment for solid elements. The function returns zero if the assignment is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementLocalAxisAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim a As Double, b As Double, c As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign local axes angles ret = SapModel.SolidObj.SetLocalAxes("ALL", 30, 40, 50, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element local axis angle ret = SapModel.SolidElm.GetLocalAxes("1", a, b, c) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetMatTemp Syntax SapObject.SapModel.SolidElm.GetMatTemp

VB6 Procedure Function GetMatTemp(ByVal Name As String, ByRef Temp As Double, ByRef PatternName As String) As Long

Parameters Name

The name of an existing solid element. Temp

This is the material temperature value assigned to the solid element. [T] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the material temperature for the solid element is uniform over the element at the value specified by Temp. If PatternName is the name of a defined joint pattern, the material temperature for the solid element may vary. The material temperature at each corner point of the solid element is equal to the specified temperature multiplied by the pattern value at the associated point element. The material temperature at other locations in the solid element is calculated by interpolation from the corner points.

Remarks This function retrieves the material temperature assignments to solid elements. The function returns zero if the material temperature assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementMatTemp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Temp As Double Dim PatternName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign material temperature ret = SapModel.SolidObj.SetMatTemp("ALL", 50, , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get material temperature for solid element ret = SapModel.SolidElm.GetMatTemp("1", Temp, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetNameList Syntax SapObject.SapModel.SolidElm.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of solid element names retrieved by the program. MyName

This is a one-dimensional array of solid element names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the SAP2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined solid elements. The function returns zero if the names are successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetSolidElementNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element names ret = SapModel.SolidElm.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetObj Syntax Sap2000.SolidElm.GetObj

VB6 Procedure Function GetObj(ByVal Name As String, ByRef Obj As String) As Long

Parameters Name

The name of an existing solid element. Obj

The name of the solid object from which the solid element was created.

Remarks This function retrieves the name of the solid object from which a solid element was created. The function returns zero if the information is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetObjForSolidElm() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Obj As String Dim ObjType As Long Dim RDI As Double Dim RDJ As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign auto mesh options ret = SapModel.SolidObj.SetAutoMesh("ALL", 1, 2, 2, 2, , , , , , Group) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get object information for an solid element ret = SapModel.SolidElm.GetObj("3-2", Obj) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPoints Syntax SapObject.SapModel.SolidElm.GetPoints

VB6 Procedure Function GetPoints(ByVal Name As String, ByRef Point() As String) As Long

Parameters Name

The name of an solid element. Point

This is an array containing the names of the eight point elements that define the solid element. The point names are in order around the solid element.

Remarks This function retrieves the names of the eight point elements that define a solid element. The function returns zero if the point element names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElmPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Point() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign auto mesh options ret = SapModel.SolidObj.SetAutoMesh("ALL", 1, 2, 2, 2, , , , , , Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get names of eight corner points ret = SapModel.SolidElm.GetPoints("3-2", Point) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetProperty Syntax SapObject.SapModel.SolidElm.GetProperty

VB6 Procedure Function GetProperty(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined solid element. PropName

The name of the solid property assigned to the solid element.

Remarks This function retrieves the solid property assigned to a solid element. The function returns zero if the property is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid property for element ret = SapModel.SolidElm.GetProperty("1", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTransformationMatrix Syntax Sap2000.SolidElm.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing solid element. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the solid element local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the element local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system.

Remarks The function returns zero if the transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSolidElementMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'assign local axes angles ret = SapModel.SolidObj.SetLocalAxes("ALL", 30, 40, 50, Group) 'create analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get solid element transformation matrix redim Value(8) ret = SapModel.SolidElm.GetTransformationMatrix("1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Divide Syntax SapObject.SapModel.EditArea.Divide

VB6 Procedure Function Divide(ByVal Name As String, ByVal MeshType As Long, ByRef NumberAreas As Long, ByRef AreaName() As String, Optional ByVal n1 As Long = 2, Optional ByVal n2 As Long = 2, Optional ByVal MaxSize1 As Double = 0, Optional ByVal MaxSize2 As Double = 0, Optional ByVal PointOnEdgeFromGrid As Boolean = False, Optional ByVal PointOnEdgeFromLine As Boolean = False, Optional ByVal PointOnEdgeFromPoint As Boolean = False, Optional ByVal ExtendCookieCutLines As Boolean = False, Optional ByVal Rotation As Double = 0, Optional ByVal MaxSizeGeneral As Double = 0, Optional ByVal LocalAxesOnEdge As Boolean = False, Optional ByVal LocalAxesOnFace As Boolean = False, Optional ByVal RestraintsOnEdge As Boolean = False, Optional ByVal RestraintsOnFace As Boolean = False) As Long

Parameters Name

The name of an existing area object. MeshType

This item is 1, 2, 3, 4, 5 or 6, indicating the mesh type for the area object. 1= 2= 3= 4= 5= 6=

Mesh area into a specified number of objects Mesh area into objects of a specified maximum size Mesh area based on points on area edges Cookie cut mesh area based on lines intersecting edges Cookie cut mesh area based on points Mesh area using General Divide Tool

Mesh options 1, 2 and 3 apply to quadrilaterals and triangles only. NumberAreas

The number of area objects created when the specified area object is divided. AreaName

This is an array of the name of each area object created when the specified area object is divided. n1

This item applies when MeshType = 1. It is the number of objects created along the edge of the meshed area object that runs from point 1 to point 2. n2

This item applies when MeshType = 1. It is the number of objects created along the edge of the meshed area object that runs from point 1 to point 3. MaxSize1

This item applies when MeshType = 2. It is the maximum size of objects created along the edge of the meshed area object that runs from point 1 to point 2. [L] If this item is input as 0, the default value is used. The default value is 48 inches if the database units are English or 120 centimeters if the database units are metric. MaxSize2

This item applies when MeshType = 2. It is the maximum size of objects created along the edge of the meshed area object that runs from point 1 to point 3. [L] If this item is input as 0, the default value is used. The default value is 48 inches if the database units are English or 120 centimeters if the database units are

metric. PointOnEdgeFromGrid

This item applies when MeshType = 3. If it is True, points on the area object edges are determined from intersections of visible grid lines with the area object edges. PointOnEdgeFromLine

This item applies when MeshType = 3. If it is True, points on the area object edges are determined from intersections of selected straight line objects with the area object edges. PointOnEdgeFromPoint

This item applies when MeshType = 3. If it is True, points on the area object edges are determined from selected point objects that lie on the area object edges. ExtendCookieCutLines

This item applies when MeshType = 4. MeshType = 4 provides cookie cut meshing based on selected straight line objects that intersect the area object edges. If the ExtendCookieCutLines item is True, all selected straight line objects are extended to intersect the area object edges for the purpose of meshing the area object. Rotation

This item applies when MeshType = 5. MeshType = 5 provides cookie cut meshing based on two perpendicular lines passing through selected point objects. By default these lines align with the area object local 1 and 2 axes. The Rotation item is an angle in degrees that the meshing lines are rotated from their default orientation. [deg] MaxSizeGeneral

This item applies when MeshType = 6. It is the maximum size of objects created by the General Divide Tool. If this item is input as 0, the default value is used. The default value is 48 inches if the database units are English or 120 centimeters if the database units are metric. LocalAxesOnEdge

If this item is True, and if both points along an edge of the original area object have the same local axes, the program makes the local axes for added points along the edge the same as the edge end points.

LocalAxesOnFace

If this item is True, and if all points around the perimeter of the original area object have the same local axes, the program makes the local axes for all added points the same as the perimeter points. RestraintsOnEdge

If this item is True, and if both points along an edge of the original area object have the same restraint/constraint, then, if the added point and the adjacent corner points have the same local axes definition, the program includes the restraint/constraint for added points along the edge. RestraintsOnFace

If this item is True, and if all points around the perimeter of the original area object have the same restraint/constraint, then, if an added point and the perimeter points have the same local axes definition, the program includes the restraint/constraint for the added point.

Remarks This function meshes area objects. The function returns zero if the meshing is successful; otherwise it returns a nonzero value.

VBA Example Sub DivideAreaObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberAreas As Long Dim AreaName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'divide area object ret = SapModel.EditArea.Divide("1", 1, NumberAreas, AreaName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

ExpandShrink Syntax SapObject.SapModel.EditArea.ExpandShrink

VB6 Procedure Function Divide(ByVal OffsetType As Long, ByVal Offset As Double) As Long

Parameters OffsetType

This item is 0, 1 or 2, indicating the offset type for the selected area objects. 0 = Offset all area edges 1 = Offset selected area edges only 2 = Offset selected points of selected areas only Offset

The area edge offset distance. Positive distances expand the object and negative distances shrink the object.[L]

Remarks This function expands or shrinks selected area objects. The function returns zero if it is successful; otherwise it returns a nonzero value.

VBA Example Sub ExpandAreaObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'expand area object ret = SapModel.SelectObj.ClearSelection ret = SapModel.AreaObj.SetSelectedEdge("4", 2, True) ret = SapModel.EditArea.ExpandShrink(1, 48) 'refresh view, updating zoom ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Merge Syntax SapObject.SapModel.EditArea.Merge

VB6 Procedure Function Merge(ByRef NumberAreas As Long, ByRef AreaName() As String) As Long

Parameters NumberAreas

The number of originally selected area objects that remain when the merge is successfully completed. AreaName

This is an array that includes the names of the selected area objects that remain when the merge is successfully completed.

Remarks This function merges selected area objects. The function returns zero if it is successful; otherwise it returns a nonzero value.

VBA Example Sub MergeAreaObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberAreas As Long Dim AreaName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'merge ret ret ret ret ret

area objects = SapModel.SelectObj.ClearSelection = SapModel.AreaObj.SetSelected("1", True) = SapModel.AreaObj.SetSelected("2", True) = SapModel.AreaObj.SetSelected("4", True) = SapModel.EditArea.Merge(NumberAreas, AreaName)

'refresh window ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

PointAdd Syntax SapObject.SapModel.EditArea.PointAdd

VB6 Procedure Function PointAdd() As Long

Parameters None

Remarks This function adds a point object at the midpoint of selected area object edges. The function returns zero if it is successful; otherwise it returns a nonzero value.

VBA Example Sub AddPointToAreaObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'add point to area object ret = SapModel.SelectObj.ClearSelection ret = SapModel.AreaObj.SetSelectedEdge("4", 2, True) ret = SapModel.EditArea.PointAdd 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PointRemove

PointRemove Syntax SapObject.SapModel.EditArea.PointRemove

VB6 Procedure Function PointRemove() As Long

Parameters None

Remarks This function removes selected point objects from selected area objects. Note that in some cases this command can cause the area object to be deleted. The function returns zero if it is successful; otherwise it returns a nonzero value.

VBA Example Sub RemovePointFromAreaObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'remove point from area object ret = SapModel.SelectObj.ClearSelection ret = SapModel.AreaObj.SetSelected("4", True) ret = SapModel.PointObj.SetSelected("9", True) ret = SapModel.EditArea.PointRemove 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PointAdd

ChangeConnectivity Syntax SapObject.SapModel.EditArea.ChangeConnectivity

VB6 Procedure Function ChangeConnectivity(ByVal Name As String, ByVal NumberPoints As Long, ByRef Point() As String) As Long

Parameters Name

The name of an existing area object. NumberPoints

The number of points in the area abject. Point

This is an array containing the names of the point objects that define the added area object. The point object names should be ordered to run clockwise or counter-clockwise around the area object.

Remarks This function modifies the connectivity of an area object. The function returns zero if the area object connectivity is successfully modified; otherwise it returns a nonzero value.

VBA Example Sub ModifyAreaObjConnectivity() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberPoints As Long Dim Point() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'get names of points ret = SapModel.AreaObj.GetPoints("2", NumberPoints, Point) 'modify connectivity NumberPoints = NumberPoints - 1 ReDim Preserve Point(NumberPoints ) ret = SapModel.EditArea.ChangeConnectivity("2", NumberPoints, Point) ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

DivideAtDistance Syntax SapObject.SapModel.EditFrame.DivideAtDistance

VB6 Procedure Function DivideAtDistance(ByVal Name As String, ByVal Dist As Double, ByVal IEnd As Boolean, ByRef NewName() As String) As Long

Parameters Name

The name of an existing straight frame object. Dist

The frame object is divided at this distance from the end specified by the IEnd item.[L] IEnd

If this item is True, the Dist item is measured from the I-end of the frame object. Otherwise it is measured from the J-end of the frame object. Num

This is the number of frame objects into which the specified frame object is divided. NewName

This is an array that includes the names of the two new frame objects.

Remarks This function divides straight frame objects into two objects at a location defined by the Dist and IEnd items. Curved frame objects are not divided. The function returns zero if the frame objects are successfully divided; otherwise it returns a nonzero value.

VBA Example Sub DivideFrameObjectAtDistance() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NewName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'divide frame object at distance ret = SapModel.EditFrame.DivideAtDistance("8", 100, True, NewName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also DivideByRatio DivideAtIntersections

DivideAtIntersections Syntax SapObject.SapModel.EditFrame.DivideAtIntersections

VB6 Procedure Function DivideAtIntersections(ByVal Name As String, ByRef Num As Double, ByRef NewName() As String) As Long

Parameters Name

The name of an existing straight frame object. Num

This is the number of frame objects into which the specified frame object is divided. NewName

This is an array that includes the names of the new frame objects.

Remarks This function divides straight frame objects at intersections with selected point objects, line objects, area edges and solid edges. Curved frame objects are not divided. The function returns zero if the frame objects are successfully divided; otherwise it returns a nonzero value.

VBA Example Sub DivideFrameObjectAtIntersections() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Num As Long Dim NewName() As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add point objects to model and select them ret = SapModel.PointObj.AddCartesian(-188, 0, 288, Name) ret = SapModel.PointObj.SetSelected(Name, True) ret = SapModel.PointObj.AddCartesian(-88, 0, 288, Name) ret = SapModel.PointObj.SetSelected(Name, True) 'divide frame object at intersections ret = SapModel.EditFrame.DivideAtIntersections("8", Num, NewName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also DivideByRatio DivideAtDistance

DivideByRatio Syntax SapObject.SapModel.EditFrame.DivideByRatio

VB6 Procedure Function DivideByRatio(ByVal Name As String, ByVal Num As long, ByVal Ratio As Double, ByRef NewName() As String) As Long

Parameters Name

The name of an existing straight frame object. Num

The frame object is divided into this number of new objects. Ratio

The Last/First length ratio for the new frame objects. NewName

This is an array that includes the names of the new frame objects.

Remarks This function divides straight frame objects based on a specified Last/First length ratio. Curved frame objects are not divided. The function returns zero if the frame objects are successfully divided; otherwise it returns a nonzero value.

VBA Example Sub DivideFrameObjectByRatio() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NewName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'divide frame object by ratio ret = SapModel.EditFrame.DivideByRatio("8", 3, 0.3, NewName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also DivideAtDistance DivideAtIntersections

Extend Syntax SapObject.SapModel.EditFrame.Extend

VB6 Procedure Function Extend(ByVal Name As String, ByVal IEnd As Boolean, ByVal JEnd As Boolean, ByVal Item1 As String, Optional ByVal Item2 As String = "") As Long

Parameters Name

The name of an existing straight frame object to be extended. IEnd

This item is True if the I-End of the frame object specified by the Name item is to be extended. JEnd

This item is True if the J-End of the frame object specified by the Name item is to be extended. Item1

The name of an existing straight frame object used as a extension line. Item2

The name of an existing straight frame object used as a extension line.

Remarks This function extends straight frame objects. Curved frame objects are not extended. The function returns zero if the frame objects are successfully extended; otherwise it returns a nonzero value.

VBA Example Sub ExtendFrameObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add frame object by coordinates ret = SapModel.FrameObj.AddByCoord(-180, 0, 180, -180, 0, 240, Name) 'refresh window ret = SapModel.View.RefreshWindow 'extend frame object ret = SapModel.EditFrame.Extend(Name, True, True, "7", "8") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Trim

Join Syntax SapObject.SapModel.EditFrame.Join

VB6 Procedure Function Join(ByVal Name As String, ByVal Item2 As String) As Long

Parameters Name

The name of an existing frame object to be joined. The new, joined frame object keeps this name. Item2

The name of an existing frame object to be joined.

Remarks This function joins two straight frame objects that have a common end point and are colinear. The function returns zero if the frame objects are successfully joined; otherwise it returns a nonzero value.

VBA Example Sub JoinFrameObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'join frame objects ret = SapModel.EditFrame.Join("8", "10") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also DivideAtDistance DivideAtIntersections DivideByRatio

Trim Syntax SapObject.SapModel.EditFrame.Trim

VB6 Procedure Function Trim(ByVal Name As String, ByVal IEnd As Boolean, ByVal JEnd As Boolean, ByVal Item1 As String, Optional ByVal Item2 As String = "") As Long

Parameters Name

The name of an existing straight frame object to be trimmed. IEnd

This item is True if the I-End of the frame object specified by the Name item is to be trimmed. JEnd

This item is True if the J-End of the frame object specified by the Name item is to be trimmed. Item1

The name of an existing straight frame object used as a trim line. Item2

The name of an existing straight frame object used as a trim line.

Remarks This function trims straight frame objects. Curved frame objects are not trimmed. The function returns zero if the frame objects are successfully trimmed; otherwise it returns a nonzero value.

VBA Example Sub TrimFrameObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add frame object by coordinates ret = SapModel.FrameObj.AddByCoord(-180, 0, 100, -180, 0, 360, Name) 'refresh window ret = SapModel.View.RefreshWindow 'trim frame object ret = SapModel.EditFrame.Trim(Name, True, True, "7", "8") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Extend

ChangeConnectivity Syntax SapObject.SapModel.EditFrame.ChangeConnectivity

VB6 Procedure Function ChangeConnectivity(ByVal Name As String, ByVal Point1 As String, ByVal Point2 As String) As Long

Parameters Name

The name of an existing frame object. Point1

The name of the point object at the I-End of the frame object. Point2

The name of the point object at the J-End of the frame object.

Remarks This function modifies the connectivity of a frame object. The function returns zero if the frame object connectivity is successfully modified; otherwise it returns a nonzero value.

VBA Example Sub ModifyFrameObjConnectivity() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'modify connectivity ret = SapModel.EditFrame.ChangeConnectivity("8", "3", "5") ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

Align Syntax SapObject.SapModel.EditPoint.Align

VB6 Procedure Function Align(ByVal MyType As Long, ByVal Ordinate As Double, ByRef NumberPoints As Long, ByRef PointName() As String) As Long

Parameters MyType

This is 1, 2, 3 or 4, indicating the alignment option. 1 = Align points to X-ordinate in present coordinate system 2 = Align points to Y-ordinate in present coordinate system 3 = Align points to Z-ordinate in present coordinate system 4 = Align points to nearest selected line object, area object edge or solid object edge Ordinate

The X, Y or Z ordinate that applies if MyType is 1, 2 or 3, respectively. [L] NumberPoints

The number of point objects that are in a new location after the alignment is complete. PointName

This is an array of the name of each point object that is in a new location after the alignment is complete.

Remarks This function aligns selected point objects. The function returns zero if the alignment is successful; otherwise it returns a nonzero value.

VBA Example Sub AlignPointObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberPoints As Long Dim PointName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'align point objects ret = SapModel.SelectObj.ClearSelection ret = SapModel.PointObj.SetSelected("1", True) ret = SapModel.PointObj.SetSelected("2", True) ret = SapModel.PointObj.SetSelected("3", True) ret = SapModel.EditPoint.Align(1, -300, NumberPoints, PointName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Connect Syntax SapObject.SapModel.EditPoint.Connect

VB6 Procedure Function Connect(ByRef NumberPoints As Long, ByRef PointName() As String) As Long

Parameters NumberPoints

The number of the point objects that remain at locations where connections were made. PointName

This is an array of the name of each point object that remains at locations where connections were made.

Remarks This function connects objects that have been disconnected using the Disconnect function. If two or more objects have different end points objects that are at the same location, all of those objects can be connected together by selecting the objects, and selecting their end points, and calling the Connect function. The result will be that all of the objects are connected at a single point. The function returns zero if the connect is successful; otherwise it returns a nonzero value.

VBA Example Sub ConnectObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Point1 As String, Point2 As String Dim NumberPoints As Long Dim PointName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'disconnect point objects ret = SapModel.SelectObj.ClearSelection ret = SapModel.PointObj.SetSelected("3", True) ret = SapModel.PointObj.SetSelected("9", True) ret = SapModel.EditPoint.Disconnect(NumberPoints, PointName) 'connect ret = ret = ret = ret = ret = ret = ret = ret =

objects SapModel.SelectObj.ClearSelection SapModel.FrameObj.SetSelected("2", True) SapModel.FrameObj.SetSelected("8", True) SapModel.FrameObj.GetPoints("2", Point1, Point2) SapModel.PointObj.SetSelected(Point2, True) SapModel.FrameObj.GetPoints("8", Point1, Point2) SapModel.PointObj.SetSelected(Point1, True) SapModel.EditPoint.Connect(NumberPoints, PointName)

'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Disconnect

Disconnect Syntax SapObject.SapModel.EditPoint.Disconnect

VB6 Procedure Function Disconnect(ByRef NumberPoints As Long, ByRef PointName() As String) As Long

Parameters NumberPoints

The number of the point objects (including the original selected point objects) that are created by the disconnect action. PointName

This is an array of the name of each point object (including the original selected point objects) that is created by the disconnect action.

Remarks This function disconnects selected point objects. Disconnect creates a separate point for each object that frames into the selected point object. The function returns zero if the disconnect is successful; otherwise it returns a nonzero value.

VBA Example Sub DisconnectPointObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberPoints As Long Dim PointName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'disconnect point objects ret = SapModel.SelectObj.ClearSelection ret = SapModel.PointObj.SetSelected("3", True) ret = SapModel.EditPoint.Disconnect(NumberPoints, PointName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also Connect

Merge Syntax SapObject.SapModel.EditPoint.Merge

VB6 Procedure Function Merge(ByVal MergeTol As Double, ByRef NumberPoints As Long, ByRef PointName() As String) As Long

Parameters MergeTol

Point objects within this distance of one another are merged into one point object. [L] NumberPoints

The number of the selected point objects that still exist after the merge is complete. PointName

This is an array of the name of each selected point object that still exists after the merge is complete.

Remarks This function merges selected point objects that are within a specified distance of one another. The function returns zero if the merge is successful; otherwise it returns a nonzero value.

VBA Example Sub MergePointObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Point1 As String, Point2 As String Dim NumberPoints As Long Dim PointName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add frame object by coordinates ret = SapModel.FrameObj.AddByCoord(-400, 0, 288, -289, 0, 288, Name) 'refresh view ret = SapModel.View.RefreshView(0, False) 'merge ret ret ret ret ret

point objects = SapModel.SelectObj.ClearSelection = SapModel.PointObj.SetSelected("3", True) = SapModel.FrameObj.GetPoints(Name, Point1, Point2) = SapModel.PointObj.SetSelected(Point2, True) = SapModel.EditPoint.Merge(2, NumberPoints, PointName)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

ChangeCoordinates_1 Syntax SapObject.SapModel.EditPoint.ChangeCoordinates_1

VB6 Procedure Function ChangeCoordinates_1(ByVal Name As String, ByVal x As Double, ByVal y As Double, ByVal z As Double, Optional ByVal NoRefresh As Boolean = False) As Long

Parameters Name

The name of an existing point object. x, y, z

These are the new x, y and z coordinates, in the present coordinate system, for the specified point object. NoRefresh

If this item is True, the model display window is not refreshed after the point object is moved.

Remarks This function changes the coordinates of a specified point object. The function returns zero if the coordinate change is successful; otherwise it returns a nonzero value.

VBA Example Sub ChangePointCoordinates_1() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'change point coordinates ret = SapModel.EditPoint.ChangeCoordinates_1("1", -288, 0, 36) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.05. This function supersedes ChangeCoordinates. Modified optional argument NoRefresh to be ByVal in version 12.0.1.

See Also

Divide Syntax SapObject.SapModel.EditSolid.Divide

VB6 Procedure Function Divide(ByVal Name As String, ByVal n1 As Long, ByVal n2 As Long, ByVal n3 As Long, ByRef NumberSolids As Long, ByRef SolidName() As String) As Long

Parameters Name

The name of an existing solid object. n1

This is the number of objects created between faces 2 and 4 of the solid object. n2

This is the number of objects created between faces 1 and 3 of the solid object. n3

This is the number of objects created between faces 5 and 6 of the solid object. NumberSolids

The number of solid objects created when the specified solid object is divided. SolidName

This is an array of the name of each solid object created when the specified solid object is divided.

Remarks This function meshes solid objects. The function returns zero if the meshing is successful; otherwise it returns a nonzero value.

VBA Example Sub DivideSolidObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberSolids As Long Dim SolidName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewSolidBlock(300, 400, 200, , , 2, 2, 2) 'divide solid object ret = SapModel.EditSolid.Divide("1", 2, 3, 4, NumberSolids, SolidName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

ExtrudeAreaToSolidLinearNormal Syntax SapObject.SapModel.EditSolid.ExtrudeAreaToSolidLinearNormal

VB6 Procedure Function ExtrudeAreaToSolidLinearNormal(ByVal Name As String, ByVal PropName As String, ByVal nPlus3 As Long, ByVal tPlus3 As Double, ByVal nMinus3 As Long, ByVal tMinus3 As Double, ByRef NumberSolids As Long, ByRef SolidName() As String, Optional ByVal Remove As Boolean = True) As Long

Parameters Name

The name of an existing area object to be extruded. PropName

This is either Default or the name of a defined solid property to be used for the new extruded solid objects. nPlus3

The number of solid objects created in the positive local 3-axis direction of the specified area object. tPlus3

The thickness of the solid objects created in the positive local 3-axis direction of the specified area object. nMinus3

The number of solid objects created in the negative local 3-axis direction of the specified area object. tMinus3

The thickness of the solid objects created in the negative local 3-axis direction of the specified area object. NumberSolids

The number of solid objects created when the specified area object is extruded. SolidName

This is an array of the name of each solid object created when the specified area object is extruded. Remove

If this item is True, the area object indicated by the Name item is deleted after the extrusion is complete.

Remarks This function creates new solid objects by linearly extruding a specified area object, in the local 3-axis direction of the area object, into solid objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub LinearNormalAreaExtrusionToSolids() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberSolids As Long Dim SolidName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'linearly extrude area to solids normal to area ret = SapModel.EditGeneral.ExtrudeAreaToSolidLinearNormal("2", "Default", 1, 48, 1, 48, NumberSolids, SolidName, True) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ExtrudeAreaToSolidLinearUser ExtrudeAreaToSolidRadial

ExtrudeAreaToSolidLinearUser Syntax SapObject.SapModel.EditSolid.ExtrudeAreaToSolidLinearUser

VB6 Procedure Function ExtrudeAreaToSolidLinearUser(ByVal Name As String, ByVal PropName As String, ByVal dx As Double, ByVal dy As Double, ByVal dz As Double, ByVal Number As Long, ByRef NumberSolids As Long, ByRef SolidName() As String, Optional ByVal Remove As Boolean = True) As Long

Parameters Name

The name of an existing area object to be extruded. PropName

This is either Default or the name of a defined solid property to be used for the new extruded solid objects. dx, dy, dz

These are the x, y and z offsets used, in the present coordinate system, to create each new solid object. Number

The number of increments for the extrusion. NumberSolids

The number of solid objects created when the specified area object is extruded. Usually this item is returned the same as the Number item. However, in some cases, such as when an area object with more than four sides is extruded, this item will be larger than the Number item. SolidName

This is an array of the name of each solid object created when the specified area object is extruded. Remove

If this item is True, the area object indicated by the Name item is deleted after the extrusion is complete.

Remarks This function creates new solid objects by linearly extruding a specified area object, in a user specified direction, into solid objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub LinearUserAreaExtrusionToSolids() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberSolids As Long Dim SolidName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'linearly extrude area to solids in user direction ret = SapModel.EditGeneral.ExtrudeAreaToSolidLinearUser("2", "Default", 20, 144, 0, 3, NumberSolids, SolidName, True) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ExtrudeAreaToSolidLinearNormal ExtrudeAreaToSolidRadial

ExtrudeAreaToSolidRadial Syntax SapObject.SapModel.EditSolid.ExtrudeAreaToSolidRadial

VB6 Procedure Function ExtrudeAreaToSolidRadial(ByVal Name As String, ByVal PropName As String, ByVal RotateAxis As Long, ByVal x As Double, ByVal y As Double, ByVal z As Double, ByVal IncrementAng As Double, ByVal TotalRise As Double, ByVal Number As Long, ByRef NumberSolids As Long, ByRef SolidName() As String, Optional ByVal Remove As Boolean = True) As Long

Parameters Name

The name of an existing area object to be extruded. PropName

This is either Default or the name of a defined solid property to be used for the new extruded solid objects. RotateAxis

This is 0, 1 or 2, indicating the axis that the radial extrusion is around. 0 = X axis 1 = Y axis 2 = Z axis x, y, z

These are the x, y and z coordinates, in the present coordinate system, of the point that the radial extrusion is around. For rotation about the X axis the value of the x coordinate is irrelevant. Similarly, for rotation about the Y and Z axes the y and z coordinates, respectively, are irrelevant. [L] IncrementAng

The angle is rotated by this amount for each added solid object. [deg] TotalRise

The total rise over the full length of the extrusion. [L] Number

The number of angle increments for the extrusion. NumberSolids

The number of solid objects created when the specified area object is extruded. Usually this item is returned the same as the Number item. However, in some cases, such as when an area object with more than four sides is extruded, this item will be larger than the Number item. SolidName

This is an array of the name of each solid object created when the specified area object is extruded. Remove

If this item is True, the area object indicated by the Name item is deleted after the extrusion is complete.

Remarks This function creates new solid objects by radially extruding a specified area object into solid objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub RadialAreaExtrusionToSolids() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberSolids As Long Dim SolidName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(5, 48, 2, 48) 'radially extrude area to solid ret = SapModel.EditGeneral.ExtrudeAreaToSolidRadial("2", "Default", 2, 0, 0, 96, 30, 0, 6, NumberSolids, SolidName) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ExtrudeAreaToSolidLinearNormal ExtrudeAreaToSolidLinearUser

ExtrudeFrameToAreaLinear Syntax SapObject.SapModel.EditSolid.ExtrudeFrameToAreaLinear

VB6 Procedure Function ExtrudeFrameToAreaLinear(ByVal Name As String, ByVal PropName As String, ByVal dx As Double, ByVal dy As Double, ByVal dz As Double, ByVal NumberAreas As Long, ByRef AreaName() As String, Optional ByVal Remove As Boolean = True) As Long

Parameters Name

The name of an existing straight frame object to be extruded. PropName

This is Default, None or the name of a defined area property to be used for the new extruded area objects. dx, dy, dz

These are the x, y and z offsets used, in the present coordinate system, to create each new area object. NumberAreas

The number of area objects created when the specified line object is extruded. AreaName

This is an array of the name of each area object created when the specified line object is extruded. Remove

If this item is True, the straight frame object indicated by the Name item is deleted after the extrusion is complete.

Remarks This function creates new area objects by linearly extruding a specified straight frame object into area objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub LinearFrameExtrusionToAreas() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim AreaName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'linearly extrude frame to areas ret = SapModel.EditGeneral.ExtrudeFrameToAreaLinear("8", "Default", 0, 144, 0, 3, AreaName, True) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ExtrudeFrameToAreaRadial

ExtrudeFrameToAreaRadial Syntax SapObject.SapModel.EditSolid.ExtrudeFrameToAreaRadial

VB6 Procedure Function ExtrudeFrameToAreaRadial(ByVal Name As String, ByVal PropName As String, ByVal RotateAxis As Long, ByVal x As Double, ByVal y As Double, ByVal z As Double, ByVal IncrementAng As Double, ByVal TotalRise As Double, ByVal NumberAreas As Long, ByRef AreaName() As String, Optional ByVal Remove As Boolean = True) As Long

Parameters Name

The name of an existing line object to be extruded. PropName

This is Default, None or the name of a defined area property to be used for the new extruded area objects. RotateAxis

This is 0, 1 or 2, indicating the axis that the radial extrusion is around. 0 = X axis 1 = Y axis 2 = Z axis x, y, z

These are the x, y and z coordinates, in the present coordinate system, of the point that the radial extrusion is around. For rotation about the X axis the value of the x coordinate is irrelevant. Similarly, for rotation about the Y and Z axes the y and z coordinates, respectively, are irrelevant. [L] IncrementAng

The angle is rotated by this amount for each added area object. [deg] TotalRise

The total rise over the full length of the extrusion. [L] NumberAreas

The number of area objects created when the specified line object is extruded. AreaName

This is an array of the name of each area object created when the specified line object is extruded. Remove

If this item is True, the straight frame object indicated by the Name item is deleted after the extrusion is complete.

Remarks This function creates new area objects by radially extruding a specified straight frame object into area objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub RadialFrameExtrusionToAreas() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim AreaName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 3, 288) 'radially extrude frame to areas ret = SapModel.EditGeneral.ExtrudeFrameToAreaRadial("10", "Default", 2, 0, 0, 288, 30, 0, 6, AreaName) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ExtrudeFrameToAreaLinear

ExtrudePointToFrameLinear Syntax SapObject.SapModel.EditSolid.ExtrudePointToFrameLinear

VB6 Procedure Function ExtrudePointToFrameLinear(ByVal Name As String, ByVal PropName As String, ByVal dx As Double, ByVal dy As Double, ByVal dz As Double, ByVal NumberFrames As Long, ByRef FrameName() As String) As Long

Parameters Name

The name of an existing point object to be extruded. PropName

This is Default, None or the name of a defined frame section property to be used for the new extruded frame objects. dx, dy, dz

These are the x, y and z offsets used, in the present coordinate system, to create each new frame object. NumberFrames

The number of frame objects created when the specified point object is extruded. FrameName

This is an array of the name of each frame object created when the specified point object is extruded.

Remarks This function creates new frame objects by linearly extruding a specified point object into frame objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub LinearPointExtrusionToFrames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FrameName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'linearly extrude point to frames ret = SapModel.EditGeneral.ExtrudePointToFrameLinear("3", "FSec1", 0, 144, 0, 3, FrameName) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also ExtrudePointToFrameRadial

ExtrudePointToFrameRadial Syntax SapObject.SapModel.EditSolid.ExtrudePointToFrameRadial

VB6 Procedure Function ExtrudePointToFrameRadial(ByVal Name As String, ByVal PropName As String, ByVal RotateAxis As Long, ByVal x As Double, ByVal y As Double, ByVal z As Double, ByVal IncrementAng As Double, ByVal TotalRise As Double, ByVal NumberFrames As Long, ByRef FrameName() As String) As Long

Parameters Name

The name of an existing point object to be extruded. PropName

This is Default, None or the name of a defined frame section property to be used for the new extruded frame objects. RotateAxis

This is 0, 1 or 2, indicating the axis that the radial extrusion is around. 0 = X axis 1 = Y axis 2 = Z axis x, y, z

These are the x, y and z coordinates, in the present coordinate system, of the point that the radial extrusion is around. For rotation about the X axis, the value of the x coordinate is irrelevant. Similarly, for rotation about the Y and Z axes, the y and z coordinates, respectively, are irrelevant. [L] IncrementAng

The angle is rotated by this amount for each added frame object. [deg] TotalRise

The total rise over the full length of the extrusion. [L] NumberFrames

The number of frame objects created when the specified point object is extruded. FrameName

This is an array of the name of each frame object created when the specified point object is extruded.

Remarks This function creates new frame objects by radially extruding a specified point object into frame objects. The function returns zero if the extrusion is successful; otherwise it returns a nonzero value.

VBA Example Sub RadialPointExtrusionToFrames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FrameName() As String

'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'radially extrude point to frames ret = SapModel.EditGeneral.ExtrudePointToFrameRadial("3", "FSec1", 2, 0, 0, 288, 30, 0, 6, FrameName) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also ExtrudePointToFrameLinear

Move Syntax SapObject.SapModel.EditGeneral.Move

VB6 Procedure Function Move(ByVal dx As Double, ByVal dy As Double, ByVal dz As Double) As Long

Parameters dx, dy, dz

These are the x, y and z offsets used, in the present coordinate system, for moving the selected objects.

Remarks This function moves selected point, frame, cable, tendon, area, solid and link objects. The function returns zero if the move is successful; otherwise it returns a nonzero value.

VBA Example Sub MoveObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FrameName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'move objects ret = SapModel.SelectObj.ClearSelection ret = SapModel.PointObj.SetSelected("3", True) ret = SapModel.PointObj.SetSelected("6", True) ret = SapModel.PointObj.SetSelected("9", True) ret = SapModel.FrameObj.SetSelected("8", True) ret = SapModel.FrameObj.SetSelected("10", True) ret = SapModel.EditGeneral.Move(0, 0, 12) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

ReplicateLinear Syntax SapObject.SapModel.EditSolid.ReplicateLinear

VB6 Procedure Function ReplicateLinear(ByVal dx As Double, ByVal dy As Double, ByVal dz As Double, ByVal Number As Long, ByRef NumberObjects As Long, ByRef ObjectName() As String, ByRef ObjectType() As Long, Optional ByVal Remove As Boolean = False) As Long

Parameters dx, dy, dz

These are the x, y and z offsets used, in the present coordinate system, to replicate the selected objects. Number

The number of times the selected objects are to be replicated. NumberObjects

The number of new objects created by the replication process. ObjectName

This is an array of the name of each object created by the replication process. ObjectType

This is an array of the type of each object created by the replication process. 1= 2= 3= 4= 5= 6= 7=

Point object Frame object Cable object Tendon object Area object Solid object Link object

Remove

If this item is True, the originally selected objects are deleted after the replication is complete.

Remarks This function linearly replicates selected objects. The function returns zero if the replication is successful; otherwise it returns a nonzero value.

VBA Example Sub LinearReplication() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberObjects As Long Dim ObjectName() As String Dim ObjectType() As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'linearly replicate ret = SapModel.SelectObj.All ret = SapModel.EditGeneral.ReplicateLinear(0, 288, 0, 1, NumberObjects, ObjectName, ObjectType) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ReplicateRadial ReplicateMirror

ReplicateMirror Syntax SapObject.SapModel.EditSolid.ReplicateMirror

VB6 Procedure Function ReplicateMirror(ByVal Plane As Long, ByVal x1 As Double, ByVal y1 As Double, ByVal z1 As Double, ByVal x2 As Double, ByVal y2 As Double, ByVal z2 As Double, ByVal x3 As Double, ByVal y3 As Double, ByVal z3 As Double, ByRef NumberObjects As Long, ByRef ObjectName() As String, ByRef ObjectType() As Long, Optional ByVal Remove As Boolean = False) As Long

Parameters Plane

This is 1, 2, 3 or 4, indicating the mirror plane type. 1= 2= 3= 4=

Parallel to Z Parallel to X Parallel to Y 3D plane

x1, y1, z1, x2, y2, z2, x3, y3, z3

These are the coordinates of three points used to define the mirror plane. [L] When Plane = 1, x1, y1, x2 and y2 define the intersection of the mirror plane with the XY plane. When Plane = 2, y1, z1, y2 and z2 define the intersection of the mirror plane with the YZ plane. When Plane = 3, x1, z1, x2 and z2 define the intersection of the mirror plane with the XZ plane. When Plane = 4, x1, y1, z1, x2, y2, z2, x3, y3 and z3 define three points that define the mirror plane. NumberObjects

The number of new objects created by the replication process. ObjectName

This is an array of the name of each object created by the replication process. ObjectType

This is an array of the type of each object created by the replication process. 1= 2= 3= 4= 5= 6= 7=

Point object Frame object Cable object Tendon object Area object Solid object Link object

Remove

If this item is True, the originally selected objects are deleted after the replication is complete.

Remarks This function mirror replicates selected objects. The function returns zero if the replication is successful; otherwise it returns a nonzero value.

VBA Example Sub MirrorReplication() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberObjects As Long Dim ObjectName() As String Dim ObjectType() As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'mirror replicate ret = SapModel.SelectObj.All ret = SapModel.EditGeneral.ReplicateMirror(1, 300, 0, 0, 300, 100, 0, 0, 0, 0, NumberObjects, ObjectName, ObjectType) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ReplicateLinear ReplicateRadial

ReplicateRadial Syntax SapObject.SapModel.EditSolid.ReplicateRadial

VB6 Procedure Function ReplicateRadial(ByVal RotateAxis As Long, ByVal x1 As Double, ByVal y1 As Double, ByVal z1 As Double, ByVal x2 As Double, ByVal y2 As Double, ByVal z2 As Double, ByVal Number As Long, ByVal Ang As Double, ByRef NumberObjects As Long, ByRef ObjectName() As String, ByRef ObjectType() As Long, Optional ByVal Remove As Boolean = False) As Long

Parameters RotateAxis

This is 1, 2, 3 or 4, indicating the rotation axis. 1= 2= 3= 4=

Parallel to X axis Parallel to Y axis Parallel to Z axis 3D line

x1, y1, z1

These are coordinates used to define the rotation axis. [L] When RotateAxis = 1, y1 and z1 define the intersection of the rotation axis with the YZ plane. When RotateAxis = 2, x1 and z1 define the intersection of the rotation axis with the XZ plane. When RotateAxis = 3, x1 and y1 define the intersection of the rotation axis with the XY plane. When RotateAxis = 4, x1, y1 and z1 define one point on the rotation axis. x2, y2, z2

These are coordinates used to define the rotation axis when RotateAxis = 4. x2, y2 and z2 define a second point on the rotation axis. [L] Number

The increment angle for each replication. Ang

The number of times the selected objects are to be replicated. NumberObjects

The number of new objects created by the replication process. ObjectName

This is an array of the name of each object created by the replication process. ObjectType

This is an array of the type of each object created by the replication process. 1= 2= 3= 4= 5=

Point object Frame object Cable object Tendon object Area object

6 = Solid object 7 = Link object Remove

If this item is True, the originally selected objects are deleted after the replication is complete.

Remarks This function radially replicates selected objects. The function returns zero if the replication is successful; otherwise it returns a nonzero value.

VBA Example Sub RadialReplication() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberObjects As Long Dim ObjectName() As String Dim ObjectType() As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'radially replicate ret = SapModel.SelectObj.All ret = SapModel.EditGeneral.ReplicateRadial(3, -360, 0, 0, 0, 0, 0, 2, 45, NumberObjects, ObjectName, ObjectType) 'refresh view ret = SapModel.View.RefreshView(0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Remove to be ByVal in version 12.0.1.

See Also ReplicateLinear ReplicateMirror

New2DFrame Syntax SapObject.SapModel.File.New2DFrame

VB6 Procedure Function New2DFrame(ByVal TempType As e2DFrameType, ByVal NumberStorys As Long, ByVal StoryHeight As Double, ByVal NumberBays As Long, ByVal BayWidth As Double, Optional ByVal Restraint As Boolean = True, Optional ByVal Beam As String = "Default", Optional ByVal Column As String = "Default", Optional ByVal Brace As String = "Default") As Long

Parameters TempType One of the following 2D frame template types in the e2DFrameType enumeration. PortalFrame = 0 ConcentricBraced = 1 EccentricBraced = 2 NumberStorys The number of stories in the frame. StoryHeight The height of each story. [L] NumberBays The number of bays in the frame. BayWidth The width of each bay. [L] Restraint Joint restraints are provided at the base of the frame when this item is True. Beam The frame section property used for all beams in the frame. This must either be Default or the name of a defined frame section property. Column The frame section property used for all columns in the frame. This must either be Default or the name of a defined frame section property. Brace The frame section property used for all braces in the frame. This must either be Default or the name of a defined frame section property. This item does not apply to the portal frame.

Remarks Do not use this function to add to an existing model. This function should be used only for creating a new model and typically would be preceded by calls to ApplicationStart or InitializeNewModel. The function returns zero if the new 2D frame model is successfully created, otherwise it returns a nonzero value.

VBA Example Sub New2DFrameModel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create a 2D frame model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 12, 3, 28) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also New3DFrame NewBeam NewBlank NewSolidBlock NewWall ApplicationStart InitializeNewModel

New3DFrame Syntax SapObject.SapModel.File.New3DFrame

VB6 Procedure Function New3DFrame(ByVal TempType As e3DFrameType, ByVal NumberStorys As Long, ByVal StoryHeight As Double, ByVal NumberBaysX As Long, ByVal BayWidthX As Double, ByVal NumberBaysY As Long, ByVal BayWidthY As Double, Optional ByVal Restraint As Boolean = True, Optional ByVal Beam As String = "Default", Optional ByVal Column As String = "Default", Optional ByVal Area As String = "Default", Optional ByVal NumberXDivisions As Long = 4, Optional ByVal NumberYDivisions As Long = 4) As Long

Parameters TempType One of the following 3D frame template types in the e3DFrameType enumeration. OpenFrame = 0 PerimeterFrame = 1 BeamSlab = 2

FlatPlate = 3 NumberStorys

The number of stories in the frame. StoryHeight

The height of each story. [L] NumberBaysX

The number of bays in the global X direction of the frame. BayWidthX

The width of each bay in the global X direction of the frame. [L] NumberBaysY

The number of bays in the global Y direction of the frame. BayWidthY

The width of each bay in the global Y direction of the frame. [L] Restraint

Joint restraints are provided at the base of the frame when this item is True. Beam

The frame section property used for all beams in the frame. This must either be Default or the name of a defined frame section property. Column

The frame section property used for all columns in the frame. This must either be Default or the name of a defined frame section property. Area

The shell section property used for all floor slabs in the frame. This must either be Default or the name of a defined shell section property. This item does not apply to the open and perimeter frames. NumberXDivisions

The number of divisions for each floor area object in the global X direction. This item does not apply to the open and perimeter frames. NumberYDivisions

The number of divisions for each floor area object in the global Y direction. This item does not apply to the open and perimeter frames.

Remarks Do not use this function to add to an existing model. This function should be used only for creating a new model and typically would be preceded by calls to ApplicationStart or InitializeNewModel. The function returns zero if the new 3D frame model is successfully created, otherwise it returns a nonzero value.

VBA Example Sub New3DFrameModel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create a 3D frame model from template ret = SapModel.File.New3DFrame(BeamSlab, 3, 12, 3, 28, 2, 36) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also NewBeam NewBlank New2DFrame NewSolidBlock NewWall ApplicationStart InitializeNewModel

NewBeam Syntax SapObject.SapModel.File.NewBeam

VB6 Procedure Function NewBeam(ByVal NumberSpans As Long, ByVal SpanLength As Double, Restraint As Boolean = True, Optional ByVal Beam As String = "Default") As Long

Parameters NumberSpans

The number of spans for the beam. SpanLength

The length of each span. [L] Restraint

Joint restraints are provided at the ends of each span when this item is True. Beam

The frame section property used for the beam. This must either be Default or the name of a defined frame section property.

Remarks Do not use this function to add to an existing model. This function should be used only for creating a new model and typically would be preceded by calls to ApplicationStart or InitializeNewModel. The function returns zero if the new beam model is successfully created, otherwise it returns a nonzero value.

VBA Example Sub NewBeam() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create a beam from template ret = SapModel.File.NewBeam(3, 30) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also NewBlank New2DFrame New3DFrame NewSolidBlock NewWall ApplicationStart InitializeNewModel

NewBlank Syntax SapObject.SapModel.File.NewBlank

VB6 Procedure Function NewBlank() As Long

Parameters None

Remarks Do not use this function to add to an existing model. This function should be used only for creating a new model and typically would be preceded by calls to ApplicationStart or InitializeNewModel. The function returns zero if the new blank model is successfully created, otherwise it returns a nonzero value.

VBA Example Sub NewBlankModel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create a blank model from template ret = SapModel.File.NewBlank 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also NewBeam New2DFrame New3DFrame NewSolidBlock NewWall ApplicationStart InitializeNewModel

NewSolidBlock Syntax SapObject.SapModel.File.NewSolidBlock

VB6 Procedure Function NewSolidBlock(ByVal XWidth As Double, ByVal YWidth As Double, ByVal Height As Double, Optional ByVal Restraint As Boolean = True, Optional ByVal Solid As String = "Default", Optional ByVal NumberXDivisions As Long = 5, Optional ByVal NumberYDivisions As Long = 8, Optional ByVal NumberZDivisions As Long = 10) As Long

Parameters XWidth

The total width of the solid block measured in the global X direction. [L] YWidth

The total width of the solid block measured in the global Y direction. [L] Height

The total height of the solid block measured in the global Z direction. [L] Restraint

Joint restraints are provided at the base of the solid block when this item is True. Solid

The solid property used for the solid block. This must either be Default or the name of a defined solid property. NumberXDivisions

The number of solid objects in the global X direction of the block. NumberYDivisions

The number of solid objects in the global Y direction of the block. NumberZDivisions

The number of solid objects in the global Z direction of the block.

Remarks The function returns zero if the new solid block model is successfully created, otherwise it returns a nonzero value.

VBA Example Sub NewSolidBlock() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create a solid model from template ret = SapModel.File.NewSolidBlock(20, 50, 20) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also NewBlank NewBeam New2DFrame New3DFrame NewWall

NewWall Syntax SapObject.SapModel.File.NewWall

VB6 Procedure Function NewWall(ByVal NumberXDivisions As Long, ByVal DivisionWidthX As Double, ByVal NumberZDivisions As Long, ByVal DivisionWidthZ As Double, Optional ByVal Restraint As Boolean = True, Optional ByVal Area As String = "Default") As Long

Parameters NumberXDivisions

The number of area objects in the global X direction of the wall. DivisionWidthX

The width of each area object measured in the global X direction. [L] NumberZDivisions

The number of area objects in the global Z direction of the wall. DivisionWidthZ

The height of each area object measured in the global Z direction. [L] Restraint

Joint restraints are provided at the base of the wall when this item is True. Area

The shell section property used for the wall. This must either be Default or the name of a defined shell section property.

Remarks Do not use this function to add to an existing model. This function should be used only for creating a new model and typically would be preceded by calls to ApplicationStart or InitializeNewModel. The function returns zero if the new wall model is successfully created, otherwise it returns a nonzero value.

VBA Example Sub NewWall() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel(kip_ft_F) 'create a wall model from template ret = SapModel.File.NewWall(6, 4, 6, 4) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also NewBlank NewBeam New2DFrame New3DFrame NewSolidBlock ApplicationStart InitializeNewModel

OpenFile Syntax SapObject.SapModel.File.OpenFile

VB6 Procedure Function OpenFile(ByVal FileName As String) As Long

Parameters FileName The full path of a model file to be opened in the Sap2000 application.

Remarks This function opens an existing Sap2000 file. The file name must have an sdb, $2k, s2k, xlsx, xls, or mdb extension. Files with sdb extensions are opened as standard Sap2000 files. Files with $2k and s2k extensions are imported as text files. Files with xlsx and xls extensions are imported as Microsoft Excel files. Files with mdb extensions are imported as Microsoft Access files. This function returns zero if the file is successfully opened and nonzero if it is not opened. The function is only applicable when you are accessing the Sap2000 API from an external application. It will return an error if you call it from VBA inside Sap2000.

VBA Example Sub OpenSDB() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim FileName as String Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\Example 1-019a.sdb" ret = SapModel.File.OpenFile(FileName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Added reference to xlsx file extension in SAP2000 v15.0.0 and CSiBridge v15.1.0.

See Also ApplicationStart Save

Save Syntax SapObject.SapModel.File.Save

VB6 Procedure Function FileSave(Optional ByVal FileName As String = "") As Long

Parameters FileName The full path to which the model file is saved.

Remarks If a file name is specified, it should have an .sdb extension. If no file name is specified, the file is saved using its current name. If there is no current name for the file (the file has not been saved previously) and this function is called with no file name specified, an error will be returned. This function returns zero if the file is successfully saved and nonzero if it is not saved.

VBA Example Sub SaveSDB() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim FileName as String Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'start a new template model ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'save SDB file ret=SapModel.File.Save("C:\SapAPI\x.sdb") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also OpenFile

GetBridgeUpdateData Syntax SapObject.SapModel.BridgeObj.GetBridgeUpdateData

VB6 Procedure Function GetBridgeUpdateData(ByVal Name As String, ByRef LinkedModelExists As Boolean, ByRef ModelType As Long, ByRef MaxDeckSegLength As Double, ByRef MaxCapSegLength As Double, ByRef MaxColSegLength As Double, ByRef SubMeshSize As Double) As Long

Parameters Name

The name of an existing bridge object. LinkedModelExists

This item is True if a linked bridge model exists for the specified bridge object. ModelType

This is 1, 2 or 3, indicating the linked bridge model type. This item applies only when the LinkedModelExists item is True. 1 = Spine model (frame). 2 = Area model. 3 = Solid model. MaxDeckSegLength

The maximum length for the deck objects in the linked bridge model. This item applies only when the LinkedModelExists item is True. [L] MaxCapSegLength

The maximum length for the cap beam objects in the linked bridge model. This item applies only when the LinkedModelExists item is True. [L] MaxColSegLength

The maximum length for the column objects in the linked bridge model. This item applies only when the LinkedModelExists item is True. [L] SubMeshSize

The maximum submesh size for area and solid objects in the linked bridge model. This item applies only when the LinkedModelExists item is True and the ModelType item is 2 or 3 (area or solid model). [L]

Remarks This function returns a flag indicating if the specified bridge object is currently linked to existing objects in the model. If the bridge object is linked, it returns the model type (spine, area or solid) and meshing data used when the linked bridge model was updated. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value.

VBA Example This example assumes that a file MyBridge.sdb exists and has a bridge object named BOBJ1 in it. Sub GetBridgeObjectUpdateData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim LinkedModelExists As Boolean Dim ModelType As Long Dim MaxDeckSegLength As Double Dim MaxCapSegLength As Double Dim MaxColSegLength As Double Dim SubMeshSize As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get bridge update data ret = SapModel.BridgeObj.GetBridgeUpdateData("BOBJ1", LinkedModelExists, ModelType, MaxDeckSegLength, MaxCapSegLength, MaxColSegLength, SubMeshSize) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.20.

See Also SetBridgeUpdateData

GetBridgeUpdateForAnalysisFlag Syntax SapObject.SapModel.BridgeObj.GetBridgeUpdateForAnalysisFlag

VB6 Procedure Function GetBridgeUpdateForAnalysisFlag() As Boolean

Parameters None

Remarks When this flag is True, the program automatically updates bridge objects before running an analysis if it detects anything has been changed that might affect the bridge analysis. This flag is by default set to True for each new Sap2000 Object.

VBA Example Sub GetBridgeAnalysisFlag() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Flag as Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'get flag Flag = SapModel.BridgeObj.GetBridgeUpdateForAnalysisFlag 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetBridgeUpdateForAnalysisFlag

SetBridgeUpdateData Syntax SapObject.SapModel.BridgeObj.SetBridgeUpdateData

VB6 Procedure Function SetBridgeUpdateData(ByVal Name As String, ByVal Action As Long, ByVal ModelType As Long, ByVal MaxDeckSegLength As Double, ByVal MaxCapSegLength As Double, ByVal MaxColSegLength As Double, ByVal SubMeshSize As Double) As Long

Parameters Name

The name of an existing bridge object. Action

This is 1, 2 or 3, indicating the action to be taken. 1 = Update linked model. 2 = Clear all from linked model. 3 = Convert to unlinked model. ModelType

This is 1, 2 or 3, indicating the linked bridge model type. This item applies only when the Action item is 1 (update linked model). 1 = Spine model (frame). 2 = Area model. 3 = Solid model. MaxDeckSegLength

The maximum length for the deck objects in the linked bridge model. This item applies only when the Action item is 1 (update linked model). [L] MaxCapSegLength

The maximum length for the cap beam objects in the linked bridge model. This item applies only when the Action item is 1 (update linked model). [L] MaxColSegLength

The maximum length for the column objects in the linked bridge model. This item applies only when the Action item is 1 (update linked model). [L] SubMeshSize

The maximum submesh size for area and solid objects in the linked bridge model. This item applies only when the Action item is 1 (update linked model) and the ModelType item is 2 or 3 (area or solid model). [L]

Remarks This function updates a linked bridge model, clears all objects from a linked bridge model, or converts a linked bridge model to an unlinked model. The function returns zero if it is successful.

VBA Example This example assumes that a file MyBridge.sdb exists and has a bridge object named BOBJ1 in it. Sub SetBridgeObjectUpdateData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'update linked bridge model ret = SapModel.BridgeObj.SetBridgeUpdateData("BOBJ1", 1, 2, 150, 150, 150, 50) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.20.

See Also GetBridgeUpdateData

SetBridgeUpdateForAnalysisFlag Syntax SapObject.SapModel.BridgeObj.SetBridgeUpdateForAnalysisFlag

VB6 Procedure Function GetBridgeUpdateForAnalysisFlag(Value As Boolean) As Long

Parameters Value

A boolean (True or False) value. When this item is True the program automatically updates bridge objects before running an analysis if it detects anything has been changed that might affect the bridge analysis.

Remarks This function returns zero if the flag is successfully set, otherwise it returns a nonzero value. This flag is by default set to True for each new Sap2000 Object.

VBA Example Sub SetBridgeAnalysisFlag() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Flag as Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'set flag Flag = False ret = SapModel.BridgeObj.SetBridgeUpdateForAnalysisFlag(Flag) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetBridgeUpdateForAnalysisFlag

Add Syntax SapObject.SapModel.RespCombo.Add

VB6 Procedure Function Add(ByVal Name As String, ByVal ComboType As Long) As Long

Parameters Name

The name of a new load combination. ComboType

This is 0, 1, 2, 3 or 4 indicating the load combination type. 0= 1= 2= 3= 4=

Linear Additive Envelope Absolute Additive SRSS Range Additive

Remarks This function adds a new load combination. The function returns zero if the load combination is successfully added, otherwise it returns a nonzero value. The new load combination must have a different name from all other load combinations and all load cases. If the name is not unique, an error will be returned.

VBA Example Sub AddNewCombo() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also AddDesignDefaultCombos

AddDesignDefaultCombos Syntax SapObject.SapModel.RespCombo.AddDesignDefaultCombos

VB6 Procedure Function AddDesignDefaultCombos(ByVal DesignSteel As Boolean, ByVal DesignConcrete As Boolean, ByVal DesignAluminum As Boolean, ByVal DesignColdFormed As Boolean) As Long

Parameters DesignSteel

If this item is True, default steel design combinations are to be added to the model. DesignConcrete

If this item is True, default concrete design combinations are to be added to the model. DesignAluminum

If this item is True, default aluminum design combinations are to be added to the model. DesignColdFormed

If this item is True, default cold formed design combinations are to be added to the model.

Remarks This function adds a new default design load combinations to the model. The function returns zero if the load combinations are successfully added, otherwise it returns a nonzero value.

VBA Example Sub AddNewDefaultSteelDesignCombos() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add combo ret = SapModel.RespCombo.AddDesignDefaultCombos(True, False, False, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also Add

ChangeName Syntax SapObject.SapModel.RespCombo.ChangeName

VB6 Procedure Function ChangeName(ByVal Name As String, ByVal NewName As String) As Long

Parameters Name

The existing name of a defined load combination. NewName

The new name for the combination.

Remarks The function returns zero if the new name is successfully applied, otherwise it returns a nonzero value. The new load combination name must be different from all other load combinations and all load cases. If the name is not unique, an error will be returned.

VBA Example Sub ChangeComboName() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 1) 'change combo name ret = SapModel.RespCombo.ChangeName("COMB1", "MyCombo") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

Count Syntax SapObject.SapModel.RespCombo.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns the total number of load combinations defined in the model.

VBA Example Sub CountCombos() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 1) 'return number of combos Count = SapModel.RespCombo.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

CountCase Syntax SapObject.SapModel.RespCombo.CountCase

VB6 Procedure Function CountCase(ByVal Name As String, ByRef Count As Long) As Long

Parameters Name

The name of an existing load combination. Count

The number of load case and/or combinations included in the specified combination.

Remarks This function retrieves the total number of load case and/or combinations included in a specified load combination. The function returns zero if the count is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub CountComboCases() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'add load case to combo ret = SapModel.RespCombo.SetCaseList("COMB1", LoadCase, "DEAD", 1.4) 'count cases and combos in combo COMB1 ret = SapModel.RespCombo.CountCase("COMB1", Count) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetCaseList SetCaseList

Delete Syntax SapObject.SapModel.RespCombo.Delete

VB6 Procedure Function Delete(ByVal Name As String) As Long

Parameters Name

The name of an existing load combination.

Remarks This function deletes the specified load combination. The function returns zero if the combination is successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCombo() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'delete combo ret = SapModel.RespCombo.Delete("COMB1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also Add

DeleteCase Syntax SapObject.SapModel.RespCombo.DeleteCase

VB6 Procedure Function DeleteCase(ByVal Name As String, ByVal CType As eCType, ByVal CName As String) As Long

Parameters Name

The name of an existing load combination. CType

This is one of the following items in the eCType enumeration: LoadCase = 0 LoadCombo = 1

This item indicates whether the CName item is an analysis case (LoadCase) or a load combination (LoadCombo). CName

The name of the load case or load combination to be deleted from the specified combination.

Remarks This function deletes one load case or load combination from the list of cases included in the specified load combination. The function returns zero if the item is successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteComboCase() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'add load case to combo ret = SapModel.RespCombo.SetCaseList("COMB1", LoadCase, "DEAD", 1.4) 'delete load case from combo ret = SapModel.RespCombo.DeleteCase("COMB1", LoadCase, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetCaseList SetCaseList

GetCaseList Syntax SapObject.SapModel.RespCombo.GetCaseList

VB6 Procedure Function GetCaseList(ByVal Name As String, ByRef NumberItems As Long, ByRef CType() As eCType, ByRef CName() As String, ByRef SF() As Double) As Long

Parameters Name

The name of an existing load combination. NumberItems

The total number of load cases and load combinations included in the load combination specified by the Name item. CType

This is an array of one of the following items in the eCType enumeration: LoadCase = 0 LoadCombo = 1

This item indicates if the associated CName item is an load case (LoadCase) or a load combination (LoadCombo). CName

This is an array of the names of the load cases or load combinations included in the load combination specified by the Name item. SF

The scale factor multiplying the case or combination indicated by the CName item.

Remarks This function returns all load cases and response combinations included in the load combination specified by the Name item. The function returns zero if the data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCasesInCombo() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CType() As eCType Dim CName() As String Dim SF() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'add load case to combo ret = SapModel.RespCombo.SetCaseList("COMB1", LoadCase, "DEAD", 1.4) 'get all cases and combos included in combo COMB1 ret = SapModel.RespCombo.GetCaseList("COMB1", NumberItems, CType, CName, SF) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetCaseList

GetNameList Syntax SapObject.SapModel.RespCombo.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of load combination names retrieved by the program. MyName

This is a one-dimensional array of load combination names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined response combinations. The function returns zero if the names are successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetComboNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combos ret = SapModel.RespCombo.Add("COMB1", 0) ret = SapModel.RespCombo.Add("COMB2", 2) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetNote Syntax SapObject.SapModel.RespCombo.GetNote

VB6 Procedure Function GetNote(ByVal Name As String, ByRef Note As String) As Long

Parameters Name

The name of an existing load combination. Note

The user note, if any, included with the specified combination.

Remarks This function retrieves the user note for specified response combination. The note may be blank. The function returns zero if the note is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetComboNote() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Note As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'add note to combo ret = SapModel.RespCombo.SetNote("COMB1", "My combo note") 'get note for combo ret = SapModel.RespCombo.GetNote("COMB1", Note) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetNote

GetTypeOAPI Syntax SapObject.SapModel.RespCombo.GetTypeOAPI

VB6 Procedure Function GetTypeOAPI(ByVal Name As String, ByRef ComboType As Long) As Long

Parameters Name

The name of an existing load combination. ComboType

This is 0, 1, 2, 3 or 4 indicating the load combination type. 0= 1= 2= 3= 4=

Linear Additive Envelope Absolute Additive SRSS Range Additive

Remarks This function retrieves the combination type for specified load combination. The function returns zero if the type is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetComboType() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ComboType As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 2) 'get combo type ret = SapModel.RespCombo.GetTypeOAPI("COMB1", ComboType ) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. Changed function name to GetTypeOAPI in v17.0.0.

See Also SetTypeOAPI

SetCaseList Syntax SapObject.SapModel.RespCombo.SetCaseList

VB6 Procedure Function SetCaseList(ByVal Name As String, CType As eCType, ByVal CName As String, ByVal SF As Double) As Long

Parameters Name

The name of an existing load combination. CType

This is one of the following items in the eCType enumeration: LoadCase = 0 LoadCombo = 1

This item indicates if the CName item is an load case (LoadCase) or a load combination (LoadCombo). CName

The name of the load case or load combination to be added to or modified in the combination specified by the Name item. If the load case or combination already exists in the combination specified by the Name item, the scale factor is modified as indicated by the SF item for that load case or combination. If the analysis case or combination does not exist in the combination specified by the Name item, it is added. SF

The scale factor multiplying the case or combination indicated by the CName item.

Remarks This function adds or modifies one load case or response combination in the list of cases included in the load combination specified by the Name item. The function returns zero if the item is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub AddCaseToCombo() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'add load case to combo ret = SapModel.RespCombo.SetCaseList("COMB1", LoadCase, "DEAD", 1.4) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetCaseList

SetNote Syntax SapObject.SapModel.RespCombo.SetNote

VB6 Procedure Function SetNote(ByVal Name As String, ByVal Note As String) As Long

Parameters Name

The name of an existing load combination. Note

The user note included with the specified combination. It may be a blank string.

Remarks This function sets the user note for specified response combination. The note may be blank. The function returns zero if the note is successfully set, otherwise it returns a nonzero value.

VBA Example Sub AddComboNote() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Note As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'add note to combo ret = SapModel.RespCombo.SetNote("COMB1", "My combo note") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetNote

SetTypeOAPI Syntax SapObject.SapModel.RespCombo.SetTypeOAPI

VB6 Procedure Function SetTypeOAPI(ByVal Name As String, ByVal ComboType As Long) As Long

Parameters Name

The name of an existing load combination. ComboType

This is 0, 1, 2, 3 or 4 indicating the load combination type. 0= 1= 2= 3= 4=

Linear Additive Envelope Absolute Additive SRSS Range Additive

Remarks This function sets the combination type for specified load combination. The function returns zero if the type is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetComboType() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add combo ret = SapModel.RespCombo.Add("COMB1", 0) 'set combo type to Envelope ret = SapModel.RespCombo.SetTypeOAPI("COMB1", 1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. Changed function name to SetTypeOAPI in v17.0.0.

See Also GetTypeOAPI

ChangeName Syntax SapObject.SapModel.ConstraintDef.ChangeName

VB6 Procedure Function ChangeName(ByVal Name As String, ByVal NewName As String) As Long

Parameters Name

The existing name of a defined constraint. NewName

The new name for the constraint.

Remarks The function returns zero if the new name is successfully applied, otherwise it returns a nonzero value.

VBA Example Sub ChangeConstraintName() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1", AutoAxis) 'change name of contraint ret = SapModel.ConstraintDef.ChangeName("Diaph1", "MyConstraint") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax SapObject.SapModel.ConstraintDef.Count

VB6 Procedure Function Count(Optional ByVal ConstraintType As eConstraintType) As Long

Parameters ConstraintType

This optional value is one of the following items in the eConstraintType enumeration. CONSTRAINT_BODY = 1 CONSTRAINT_DIAPHRAGM = 2 CONSTRAINT_PLATE = 3 CONSTRAINT_ROD = 4 CONSTRAINT_BEAM = 5 CONSTRAINT_EQUAL = 6 CONSTRAINT_LOCAL = 7 CONSTRAINT_WELD = 8 CONSTRAINT_LINE = 13

Remarks If the ConstraintType item is specified, the function returns the number of defined constraints of the specified type. Otherwise it returns the total number of defined constraints without regard for type.

VBA Example Sub CountConstraints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'return number of defined constraints ret = SapModel.ConstraintDef.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument ConstraintType to be ByVal in version 12.0.1.

See Also

Delete Syntax SapObject.Sap2000.ConstraintDef.Delete

VB6 Procedure Function Delete(ByVal Name As String) As Long

Parameters Name

The name of an existing constraint.

Remarks The function deletes the specified constraint. All constraint assignments for that constraint are also deleted. The function returns zero if the constraint is successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1", AutoAxis) 'delete constraint ret = SapModel.ConstraintDef.Delete("Diaph1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetBeam SetBody SetDiaphragm SetEqual SetLine SetLocal SetPlate SetRod SetWeld

GetBeam Syntax SapObject.SapModel.ConstraintDef.GetBeam

VB6 Procedure Function GetBeam(ByVal Name As String, ByRef Axis As eConstraintAxis, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is parallel to the axis of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetBeamConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ConstraintType As eConstraintType Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint ret = SapModel.ConstraintDef.SetBeam("Beam1") 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Beam1", ConstraintType) If ConstraintType = CONSTRAINT_BEAM Then ret = SapModel.ConstraintDef.GetBeam("Beam1", Axis, CSys) End If 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetBeam

GetBody Syntax SapObject.SapModel.ConstraintDef.GetBody

VB6 Procedure Function GetBody(ByVal Name As String, ByRef Value() As Boolean, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetBodyConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean Dim CSys as String Dim UY as Boolean Dim ConstraintType As eConstraintType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetBody("Body1", Value) 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Body1", ConstraintType) If ConstraintType = CONSTRAINT_BODY Then ret = SapModel.ConstraintDef.GetBody("Body1", Value, CSys) if ret = 0 Then UY = Value(1) End If

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetBody

GetConstraintType Syntax SapObject.SapModel.ConstraintDef.GetConstraintType

VB6 Procedure Function GetConstraintType(ByVal Name As String, ByRef ConstraintType As eConstraintType) As Long

Parameters Name

The name of an existing constraint. ConstraintType

This optional value is one of the following items in the eConstraintType enumeration. CONSTRAINT_BODY = 1 CONSTRAINT_DIAPHRAGM = 2 CONSTRAINT_PLATE = 3 CONSTRAINT_ROD = 4 CONSTRAINT_BEAM = 5 CONSTRAINT_EQUAL = 6 CONSTRAINT_LOCAL = 7 CONSTRAINT_WELD = 8 CONSTRAINT_LINE = 13

Remarks The function returns the constraint type for the specified constraint. The function returns zero if the constraint type is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub ConstraintType() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim ConstraintType As eConstraintType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1", AutoAxis) 'get constraint type ret = SapModel.ConstraintDef.GetConstraintType("Diaph1", ConstraintType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetBeam GetBody GetDiaphragm GetEqual GetLine GetLocal GetPlate GetRod GetWeld

GetDiaphragm Syntax SapObject.SapModel.ConstraintDef.GetDiaphragm

VB6 Procedure Function GetDiaphragm(ByVal Name As String, ByRef Axis As eConstraintAxis, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is perpendicular to the plane of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetDiaphragmConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ConstraintType As eConstraintType Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1") 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Diaph1", ConstraintType) If ConstraintType = CONSTRAINT_DIAPHRAGM Then ret = SapModel.ConstraintDef.GetDiaphragm("Diaph1", Axis, CSys) End If 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetDiaphragm

GetEqual Syntax SapObject.SapModel.ConstraintDef.GetEqual

VB6 Procedure Function GetEqual(ByVal Name As String, ByRef Value() As Boolean, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetEqualConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean Dim CSys as String Dim UY as Boolean Dim ConstraintType As eConstraintType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetEqual("Equal1", Value) 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Equal1", ConstraintType) If ConstraintType = CONSTRAINT_EQUAL Then ret = SapModel.ConstraintDef.GetEqual("Equal1", Value, CSys) if ret = 0 Then UY = Value(1) End If

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetEqual

GetLine Syntax SapObject.SapModel.ConstraintDef.GetLine

VB6 Procedure Function GetLine(ByVal Name As String, ByRef Value() As Boolean, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetLineConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean Dim CSys as String Dim UY as Boolean Dim ConstraintType As eConstraintType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetLine("Line1", Value) 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Line1", ConstraintType) If ConstraintType = CONSTRAINT_LINE Then ret = SapModel.ConstraintDef.GetLine("Line1", Value, CSys) if ret = 0 Then UY = Value(1) End If

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetLine

GetLocal Syntax SapObject.SapModel.ConstraintDef.GetLocal

VB6 Procedure Function GetLocal(ByVal Name As String, ByRef Value() As Boolean) As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are U1, U2, U3, R1, R2 and R3.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetLocalConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean Dim UY as Boolean Dim ConstraintType As eConstraintType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetLocal("Local1", Value) 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Local1", ConstraintType) If ConstraintType = CONSTRAINT_LOCAL Then ret = SapModel.ConstraintDef.GetLocal("Local1", Value) if ret = 0 Then UY = Value(1) End If 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetLocal

GetNameList Syntax SapObject.SapModel.ConstraintDef.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of joint constraint names retrieved by the program. MyName

This is a one-dimensional array of joint constraint names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined joint constraints. The function returns zero if the names are successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetJointConstraintNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1", AutoAxis) 'get constraint names ret = SapModel.ConstraintDef.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetPlate Syntax SapObject.SapModel.ConstraintDef.GetPlate

VB6 Procedure Function GetPlate(ByVal Name As String, ByRef Axis As eConstraintAxis, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is perpendicular to the plane of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetPlateConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ConstraintType As eConstraintType Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetPlate("Plate1") 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Plate1", ConstraintType) If ConstraintType = CONSTRAINT_PLATE Then ret = SapModel.ConstraintDef.GetPlate("Plate1", Axis, CSys) End If 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetPlate

GetRod Syntax SapObject.SapModel.ConstraintDef.GetRod

VB6 Procedure Function GetRod(ByVal Name As String, ByRef Axis As eConstraintAxis, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is parallel to the axis of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetRodConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ConstraintType As eConstraintType Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetRod("Rod1") 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Rod1", ConstraintType) If ConstraintType = CONSTRAINT_ROD Then ret = SapModel.ConstraintDef.GetRod("Rod1", Axis, CSys) End If 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetRod

GetSpecialRigidDiaphragmList Syntax SapObject.SapModel.ConstraintDef.GetSpecialRigidDiaphragmList

VB6 Procedure Function GetSpecialRigidDiaphragmList(ByRef Num As Long, ByRefDiaph() As String) As Long

Parameters Num

The number of special rigid diaphragm constraints. Diaph

This is an array that includes the name of each special rigid diaphragm constraint.

Remarks This function retrieves the list of the names of each special rigid diaphragm constraint. A special rigid diaphragm constraint is required for assignment of auto seismic load diaphragm eccentricity overwrites. It is also required for calculation of auto wind loads whose exposure widths are determined from the extents of rigid diaphragms. A special rigid diaphragm constraint is a constraint with the following features: 1. The constraint type is CONSTRAINT_DIAPHRAGM = 2. 2. The constraint coordinate system is Global. 3. The constraint axis is Z.

The function returns zero if the name list is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSpecialDiaphragmList() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Num As Long Dim Diaph() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New3DFrame(BeamSlab, 2, 144, 3, 336, 2, 432) 'define diaphragm constraints ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1", Z) ret = SapModel.ConstraintDef.SetDiaphragm("Diaph2") ret = SapModel.ConstraintDef.SetDiaphragm("Diaph3", Z) 'get special rigid diaphragm name list ret = SapModel.ConstraintDef.GetSpecialRigidDiaphragmList(Num, Diaph) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetWeld Syntax SapObject.SapModel.ConstraintDef.GetWeld

VB6 Procedure Function GetWeld(ByVal Name As String, ByRef Value() As Boolean, ByRef Tolerance As Double, ByRef CSys As String) As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. Tolerance

Joints within this distance of each other are constrained together. CSys

The name of the coordinate system in which the constraint is defined.

Remarks The function returns the definition for the specified constraint. The function returns zero if the constraint data is successfully obtained, otherwise it returns a nonzero value.

VBA Example Sub GetWeldConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean Dim Tolerance As Double Dim CSys as String Dim UY as Boolean Dim ConstraintType As eConstraintType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint redim Value(5) for i = 0 To 5 Value(i) = True Next i Tolerance = 2 ret = SapModel.ConstraintDef.SetWeld("Weld1", Value, Tolerance) 'get constraint data ret = SapModel.ConstraintDef.GetConstraintType("Weld1", ConstraintType) If ConstraintType = CONSTRAINT_WELD Then ret = SapModel.ConstraintDef.GetWeld("Weld1", Value, Tolerance, CSys)

if ret = 0 Then UY = Value(1) End If 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetWeld

SetBeam Syntax SapObject.SapModel.ConstraintDef.SetBeam

VB6 Procedure Function SetBeam(ByVal Name As String, Optional ByVal Axis As eConstraintAxis = AutoAxis, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of a constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is parallel to the axis of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Beam constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Beam constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Beam constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetBeamConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetBeam("Beam1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetBeam

SetBody Syntax SapObject.SapModel.ConstraintDef.SetBody

VB6 Procedure Function SetBody(ByVal Name As String, ByRef Value() As Boolean, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Body constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Body constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Body constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetBodyConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetBody("Body1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetBody

SetDiaphragm Syntax SapObject.SapModel.ConstraintDef.SetDiaphragm

VB6 Procedure Function SetDiaphragm(ByVal Name As String, Optional ByVal Axis As eConstraintAxis = AutoAxis, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of a constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is perpendicular to the plane of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Diaphragm constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Diaphragm constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Diaphragm constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetDiaphragmConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetDiaphragm

SetEqual Syntax SapObject.SapModel.ConstraintDef.SetEqual

VB6 Procedure Function SetEqual(ByVal Name As String, ByRef Value() As Boolean, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines an Equal constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Equal constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not an Equal constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetEqualConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetEqual("Equal1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetEqual

SetLine Syntax SapObject.SapModel.ConstraintDef.SetLine

VB6 Procedure Function SetLine(ByVal Name As String, ByRef Value() As Boolean, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Line constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Line constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Line constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetLineConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetLine("Line1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetLine

SetLocal Syntax SapObject.SapModel.ConstraintDef.SetLocal

VB6 Procedure Function SetLocal(ByVal Name As String, ByRef Value() As Boolean) As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are U1, U2, U3, R1, R2 and R3.

Remarks This function defines a Local constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Local constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Local constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetLocalConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint redim Value(5) for i = 0 To 5 Value(i) = True Next i ret = SapModel.ConstraintDef.SetLocal("Local1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetLocal

SetPlate Syntax SapObject.SapModel.ConstraintDef.SetPlate

VB6 Procedure Function SetPlate(ByVal Name As String, Optional ByVal Axis As eConstraintAxis = AutoAxis, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of a constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is perpendicular to the plane of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Plate constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Plate constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Plate constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetPlateConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetPlate("Plate1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetPlate

SetRod Syntax SapObject.SapModel.ConstraintDef.SetRod

VB6 Procedure Function SetRod(ByVal Name As String, Optional ByVal Axis As eConstraintAxis = AutoAxis, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of a constraint. Axis

This is one of the following items from the eConstraintAxis enumeration. It specifies the axis in the specified coordinate system that is parallel to the axis of the constraint. If AutoAxis is specified, the axis of the constraint is automatically determined from the joints assigned to the constraint. X=1 Y=2 Z=3 AutoAxis = 4 CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Rod constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Rod constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Rod constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetRodConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Axis As eConstraintAxis Dim CSys as String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new constraint ret = SapModel.ConstraintDef.SetRod("Rod1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetRod

SetWeld Syntax SapObject.SapModel.ConstraintDef.SetWeld

VB6 Procedure Function SetWeld(ByVal Name As String, ByRef Value() As Boolean, ByVal Tolerance As Double, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of an existing constraint. Value

Value is an array of six booleans that indicate which joint degrees of freedom are included in the constraint. In order, the degrees of freedom addressed in the array are UX, UY, UZ, RX, RY and RZ. Tolerance

Joints within this distance of each other are constrained together. CSys

The name of the coordinate system in which the constraint is defined.

Remarks This function defines a Weld constraint. If the specified name is not used for a constraint, a new constraint is defined using the specified name. If the specified name is already used for another Weld constraint, the definition of that constraint is modified. If the specified name is already used for some constraint that is not a Weld constraint, an error is returned. The function returns zero if the constraint data is successfully added or modified, otherwise it returns a nonzero value.

VBA Example Sub SetWeldConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim i as long Dim ret As Long Dim Value() As Boolean Dim Tolerance As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new contraint redim Value(5) for i = 0 To 5 Value(i) = True Next i Tolerance = 1 ret = SapModel.ConstraintDef.SetWeld("Weld1", Value, Tolerance) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetWeld

ChangeName Syntax SapObject.SapModel.CoordSys.ChangeName

VB6 Procedure Function ChangeName(ByVal Name As String, ByVal NewName As String) As Long

Parameters Name

The existing name of a defined coordinate system. NewName

The new name for the coordinate system.

Remarks The function returns zero if the new name is successfully applied, otherwise it returns a nonzero value. Changing the name of the Global coordinate system will fail and return an error.

VBA Example Sub ChangeCoordSystemName() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'change name of new coordinate system ret = SapModel.CoordSys.ChangeName("CSys1", "MyCSys") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax SapObject.SapModel.CoordSys.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks The function returns the number of defined coordinate systems.

VBA Example Sub CountCoordSystems() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'return number of defined coordinate systems ret = SapModel.CoordSys.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Delete Syntax SapObject.SapModel.CoordSys.Delete

VB6 Procedure Function Delete(ByVal Name As String) As Long

Parameters Name

The name of an existing coordinate system.

Remarks The function deletes the specified coordinate system. Attempting to delete the Global coordinate system will fail and return an error. The function returns zero if the coordinate system is successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCoordSystem() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'delete coordinate system ret = SapModel.CoordSys.Delete("CSys1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetCoordSys

GetCoordSys Syntax SapObject.SapModel.CoordSys.GetCoordSys

VB6 Procedure Function GetCoordSys(ByVal Name As String, ByRef x As Double, ByRef y As Double, ByRef z As Double, ByRef RZ As Double, ByRef RY As Double, ByRef RX As Double) As Long

Parameters Name

The name of an existing coordinate system. x

The global X coordinate of the origin of the coordinate system. [L] y

The global Y coordinate of the origin of the coordinate system. [L] z

The global Z coordinate of the origin of the coordinate system. [L] RZ, RY, RX

The rotation of an axis of the new coordinate system relative to the global coordinate system is defined as follows: (1) Rotate the coordinate system about the positive global Z-axis as defined by the RZ item. (2) Rotate the coordinate system about the positive global Y-axis as defined by the RY item. (3) Rotate the coordinate system about the positive global X-axis as defined by the RX item. Note that the order in which these rotations are performed is important. RX, RY and RZ are angles in degrees [deg].

Remarks The function returns zero if the coordinate system data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCoordSystem() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim x as Double, y as Double, z as Double Dim RX as Double, RY as Double, RZ as Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'get new coordinate system data ret = SapModel.CoordSys.GetCoordSys("CSys1", x, y, z, RZ, RY, RX) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetCoordSys

GetNameList Syntax SapObject.SapModel.CoordSys.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of coordinate system names retrieved by the program. MyName

This is a one-dimensional array of coordinate system names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the API user.

Remarks This function retrieves the names of all defined coordinate systems. The function returns zero if the names are successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetCoordinateSystemNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'get coordinate system names ret = SapModel.CoordSys.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetTransformationMatrix Syntax SapObject.SapModel.CoordSys.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing coordinate system. Value

Value is an array of nine direction cosines that define the transformation matrix from the specified global coordinate system to the global coordinate system. The following matrix equation shows how the transformation matrix is used to convert coordinates from a coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array; (x, y, z) are the coordinates of a point in the CSys coordinate system; (ux, uy, uz) are the offset of the origin of the CSys coordinate system from the global coordinate system; and (gx, gy, gz) are the global coordinates of the point.

Remarks The function returns zero if the coordinate system transformation matrix is successfully returned, otherwise it returns a nonzero value.

VBA Example Sub GetCoordSystemMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim Value() as double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'get coordinate system transformation matrix redim Value(8) ret = SapModel.CoordSys.GetTransformationMatrix("CSys1", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

SetCoordSys Syntax SapObject.SapModel.CoordSys.SetCoordSys

VB6 Procedure Function SetCoordSys(ByVal Name As String, ByVal x As Double, ByVal y As Double, ByVal z As Double, ByVal RZ As Double, ByVal RY As Double, ByVal RX As Double) As Long

Parameters Name

This is the name of a coordinate system. If this is the name of an existing coordinate system, that coordinate system is modified, otherwise a new coordinate system is added. x

The global X coordinate of the origin of the coordinate system. [L] y

The global Y coordinate of the origin of the coordinate system. [L] z

The global Z coordinate of the origin of the coordinate system. [L] RZ, RY, RX

The rotation of an axis of the new coordinate system relative to the global coordinate system is defined as follows: (1) Rotate the coordinate system about the positive global Z-axis as defined by the RZ item. (2) Rotate the coordinate system about the positive global Y-axis as defined by the RY item. (3) Rotate the coordinate system about the positive global X-axis as defined by the RX item. Note that the order in which these rotations are performed is important. RX, RY and RZ are angles in degrees [deg].

Remarks The function returns zero if the coordinate system is successfully added or modified, otherwise it returns a nonzero value. Modifying the Global coordinate system will fail and return an error.

VBA Example Sub AddCoordSystem() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define new coordinate system ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetCoordSys Delete

ChangeName Syntax SapObject.SapModel.Func.ChangeName

VB6 Procedure Function ChangeName(ByVal Name As String, ByVal NewName As String) As Long

Parameters Name

The existing name of a defined function. NewName

The new name for the function.

Remarks This function changes the name of an existing function. The function returns zero if the new name is successfully applied; otherwise it returns a nonzero value.

VBA Example Sub ChangeFunctionName() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'change name of function ret = SapModel.Func.ChangeName("UNIFRS", "MyFunc") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.01.

See Also

ConvertToUser Syntax SapObject.SapModel.Func.ConvertToUser

VB6 Procedure Function ConvertToUser(ByVal Name As String) As Long

Parameters Name

The name of an existing function that is not a user defined function.

Remarks This function converts an existing function to a user defined function. The function returns zero if the function definition is successfully converted; otherwise it returns a nonzero value. An error is returned if the specified function is already a user defined function.

VBA Example Sub ConvertFuncToUser() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add sine TH function ret = SapModel.Func.FuncTH.SetSine("TH-1", 1, 16, 4, 1.25) 'convert to user function ret = SapModel.Func.ConvertToUser("TH-1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

Count Syntax SapObject.SapModel.Func.Count

VB6 Procedure Function Count(Optional ByVal FuncType As Long = 0) As Long

Parameters FuncType

This optional value is one of the following numbers, indicating the type of function for which the count is desired. 0= 1= 2= 3= 4=

All function types Response spectrum Time history Power spectral density Steady state

Remarks This function returns the total number of defined functions in the model of the specified type.

VBA Example Sub CountFunctions() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'return number of defined functions of all types Count = SapModel.Func.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.01.

See Also

Delete Syntax SapObject.SapModel.Func.Delete

VB6 Procedure Function Delete(ByVal Name As String) As Long

Parameters Name

The name of an existing function.

Remarks The function deletes a specified function. The function returns zero if the function is successfully deleted; otherwise it returns a nonzero value. It returns an error if the specified function can not be deleted if, for example, it is being used in an load case.

VBA Example Sub DeleteFunction() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'delete function ret = SapModel.Func.Delete("UNIFRS") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.01. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also

GetNameList Syntax SapObject.SapModel.Func.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String, Optional ByVal FuncType As Long = 0) As Long

Parameters NumberNames

The number of function names retrieved by the program. MyName

This is a one-dimensional array of function names. The MyName array is created as a dynamic, zero-based array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames - 1) inside the SAP2000 program, filled with the names, and returned to the API user. FuncType

This is one of the following numbers, indicating the type of function for which the name list is desired. 0= 1= 2= 3= 4=

All function types Response spectrum Time history Power spectral density Steady state

Remarks This function retrieves the names of all defined functions of the specified type. The function returns zero if the names are successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetFunctionNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get function names ret = SapModel.Func.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.01.

See Also

GetTypeOAPI Syntax SapObject.SapModel.Func.GetTypeOAPI

VB6 Procedure Function GetTypeOAPI(ByVal Name As String, ByRef FuncType As Long, ByRef AddType As Long) As Long

Parameters Name

The name of an existing function. FuncType

This is one of the following numbers, indicating the type of function. 1= 2= 3= 4=

Response spectrum Time history Power spectral density Steady state

AddType

The is one of the following items, indicating the function subtype. Response Spectrum Functions 0 = From file 1 = User 2 = UBC 94 3 = UBC 97 4 = BOCA 96 5 = NBCC 95 6 = IBC 2003 7 = NEHRP 97 8 = Eurocode 8-1998 9 = NZS4203 1992 10 = Chinese 2010 11 = Italian Ordinanza 3274 12 = IS1893:2002 13 = AASHTO LRFD 2006 14 = NCHRP Project 20-07 15 = IBC 2006 16 = NBCC 2005 17 = Eurocode 8-2004 18 = AS 1170.4-2007 19 = NZS 1170.5-2004 20 = AASHTO 2007 21 = Chinese JTG/T B02-2013 22 = Chinese GB 50111-2006 23 = IBC 2009 24 = NBCC 2010 25 = NTC 2008 26 = AASHTO 2012 27 = IBC 2012

28 = 29 = 30 = 31 = 32 = 33 = 34 = 35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 =

TSC 2007 SI 413(1995) Argentina INPRES-CIRSOC 103 Chile Norma NCh433+DS61 Chile Norma NCh2369-2003 Colombia NSR-10 Ecuador NEC-11 Capitulo 2 Guatemala AGIES NSE 2-10 Mexico NTC 2004 Peru Norma E.030 Dominican Republic R-001 Venezuela COVENIN 1756-2:2001 KBC 2009 Mexico CFE-93 Peru NTE E.030 2014 Mexico CFE-2008 Ecuado Norma NEC-SE-DS 2015 Costa Rica Seismic Code 2010 SP 14.13330.2014 Chinese CJJ 166-2011

Time History Functions 0 = From file 1 = User 2 = Sine 3 = Cosine 4 = Ramp 5 = Sawtooth 6 = Triangular 7 = User periodic Power Spectral Density Functions 0 = From file 1 = User Steady State Functions 0 = From file 1 = User

Remarks This function retrieves the function type for the specified function. The function returns zero if the type is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetFunctionType() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FuncType As Long Dim AddType As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get function type ret = SapModel.Func.GetTypeOAPI("UNIFRS", FuncType, AddType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.01. Changed function name to GetTypeOAPI in v17.0.0. Updated list of AddType values for response spectrum functions in v18.2.0.

See Also

GetValues Syntax SapObject.SapModel.Func.GetValues

VB6 Procedure Function GetValues(ByVal Name As String, ByRef NumberItems As Long, ByRef MyTime() As Double, ByRef Value() As Double) As Long

Parameters Name

The name of an existing function. NumberItems

The number of time and function value pairs retrieved. MyTime

This is an array that includes the time value for each data point. [s] for response spectrum and time history functions, [cyc/s] for power spectral density and steady state functions Value

This is an array that includes the function value for each data point.

Remarks This function retrieves the time and function values for any defined function. The function returns zero if the function definition is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFuncValues() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim MyTime() As Double Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add sine TH function ret = SapModel.Func.FuncTH.SetSine("TH-1", 1, 16, 4, 1.25) 'get function values ret = SapModel.Func.GetValues("TH-1", NumberItems, MyTime, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

GetFromFile Syntax SapObject.SapModel.Func.FuncPSD.GetFromFile

VB6 Procedure Function GetFromFile(ByVal Name As String, ByRef FileName As String, ByRef HeadLines As Long, ByRef PreChars As Long, ByRef PointsPerLine As Long, ByRef ValueType As Long, ByRef FreeFormat As Boolean, ByRef NumberFixed As Long, ByRef FreqTypeInFile As Long) As Long

Parameters Name

The name of a defined power spectral density function specified to be from a text file. FileName

The full path of the text file containing the function data. HeadLines

The number of header lines in the text file to be skipped before starting to read function data. PreChars

The number of prefix characters to be skipped on each line in the text file. PointsPerLine

The number of function points included on each text file line. ValueType

This is either 1 or 2, indicating value type. 1 = Values at equal time intervals 2 = Time and function values FreeFormat

This item is True if the data is provided in a free format. It is False if it is in a fixed format. NumberFixed

This item applies only when the FreeFormat item is False. It is the number of characters per item. FreqTypeInFile

This is either 1 or 2, indicating frequency type. 1 = Hz 2 = RPM

Remarks This function retrieves the definition of a power spectral density function from file. The function returns zero if the function definition is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPSDFuncFromFile() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim HeadLines As Long Dim PreChars As Long Dim PointsPerLine As Long Dim ValueType As Long Dim FreeFormat As Boolean Dim NumberFixed As Long Dim FreqTypeInFile As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add PSD function from file ret = SapModel.Func.FuncPSD.SetFromFile("PSD-1", "C:\SapAPI\FuncPSD.txt", 2, 0, 1, 2, True) 'get PSD function from file ret = SapModel.Func.FuncPSD.GetFromFile("PSD-1", FileName, HeadLines, PreChars, PointsPerLine, ValueType, FreeFormat, NumberFixed, FreqTypeInFile) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Text File Following is the contents of the text file name FuncPSD.txt used in the VBA Example. Power Spectral Density Function One pair of Frequency (Hz) and Value items per line 0 1 1 1 2 2 3 2

Release Notes Initial release in version 11.02.

See Also SetFromFile

GetUser Syntax SapObject.SapModel.Func.FuncPSD.GetUser

VB6 Procedure Function GetUser(ByVal Name As String, ByRef NumberItems As Long, ByRef Frequency() As Double, ByRef Value() As Double) As Long

Parameters Name

The name of a user defined power spectral density function. NumberItems

The number of frequency and value pairs defined. Frequency

This is an array that includes the frequency in Hz for each data point. [cyc/s] Value

This is an array that includes the function value for each data point.

Remarks This function retrieves the definition of a user defined power spectral density function. The function returns zero if the function definition is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetPSDFuncUser() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Num As Long Dim Freq() As Double Dim Val() As Double Dim NumberItems As Long Dim Frequency() As Double Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add user PSD function Num = 4 ReDim Freq(Num - 1) ReDim Val(Num - 1) Freq(0) = 0: Val(0) = 1 Freq(1) = 1: Val(1) = 1 Freq(2) = 2: Val(2) = 2 Freq(3) = 3: Val(3) = 2 ret = SapModel.Func.FuncPSD.SetUser("PSD-1", Num, Freq, Val) 'get user PSD function ret = SapModel.Func.FuncPSD.GetUser("PSD-1", NumberItems, Frequency, Value) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetUser

SetFromFile Syntax SapObject.SapModel.Func.FuncPSD.SetFromFile

VB6 Procedure Function SetFromFile(ByVal Name As String, ByVal FileName As String, ByVal HeadLines As Long, ByVal PreChars As Long, ByVal PointsPerLine As Long, ByVal ValueType As Long, ByVal FreeFormat As Boolean, Optional ByVal NumberFixed As Long = 10, Optional ByVal FreqTypeInFile As Long = 1) As Long

Parameters Name

The name of an existing or new function. If this is an existing function, that function is modified; otherwise, a new function is added. FileName

The full path of the text file containing the function data. HeadLines

The number of header lines in the text file to be skipped before starting to read function data. PreChars

The number of prefix characters to be skipped on each line in the text file. PointsPerLine

The number of function points included on each text file line. ValueType

This is either 1 or 2, indicating value type. 1 = Values at equal time intervals 2 = Time and function values FreeFormat

This item is True if the data is provided in a free format. It is False if it is in a fixed format. NumberFixed

This item only applies when the FreeFormat item is False. It is the number of characters per item. FreqTypeInFile

This is either 1 or 2, indicating frequency type. 1 = Hz 2 = RPM

Remarks This function defines a power spectral density function from file. The function returns zero if the function is successfully defined; otherwise it returns a nonzero value.

VBA Example Sub SetPSDFuncFromFile() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add PSD function from file ret = SapModel.Func.FuncPSD.SetFromFile("PSD-1", "C:\SapAPI\FuncPSD.txt", 2, 0, 1, 2, True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Text File Following is the contents of the text file name FuncPSD.txt used in the VBA Example. Power Spectral Density Function One pair of Frequency (Hz) and Value items per line 0 1 1 1 2 2 3 2

Release Notes Initial release in version 11.02.

See Also GetFromFile

SetUser Syntax SapObject.SapModel.Func.FuncPSD.SetUser

VB6 Procedure Function SetUser(ByVal Name As String, ByVal NumberItems As Long, ByRef Frequency() As Double, ByRef Value() As Double) As Long

Parameters Name

The name of an existing or new function. If this is an existing function, that function is modified; otherwise, a new function is added. NumberItems

The number of frequency and value pairs defined. Frequency

This is an array that includes the frequency in Hz for each data point. [cyc/s] Value

This is an array that includes the function value for each data point.

Remarks This function defines a user power spectral density function. The function returns zero if the function is successfully defined; otherwise it returns a nonzero value.

VBA Example Sub SetPSDFuncUser() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim Frequency() As Double Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add user PSD function NumberItems = 4 ReDim Frequency(NumberItems - 1) ReDim Value(NumberItems - 1) Frequency(0) = 0: Value(0) = 1 Frequency(1) = 1: Value(1) = 1 Frequency(2) = 2: Value(2) = 2 Frequency(3) = 3: Value(3) = 2 ret = SapModel.Func.FuncPSD.SetUser("PSD-1", NumberItems, Frequency, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetUser

GetAASHTO2006 Syntax SapObject.SapModel.Func.FuncRS.GetAASHTO2006

VB6 Procedure Function GetAASHTO2006(ByVal Name As String, ByRef AASHTO2006A As Double, ByRef AASHTO2006SoilProfileType As Long, ByRef DampRatio As Double) As Long

Parameters Name

The name of an AASHTO2006 response spectrum function. AASHTO2006A

The acceleration coefficient, A. AASHTO2006SoilProfileType

This is 1, 2, 3 or 4, indicating the soil profile type. 1= 2= 3= 4=

I II III IV

DampRatio

The damping ratio for the function, 0 = 0.7. DampRatio

The damping ratio for the function, 0 0) B2 (> 0) B3 (> 0) B4 (>= 0) B5 (>= 0) B6 (>= 0)

Section dimensions B1 through B6 are defined on the precast concrete U girder definition form. d

This is an array, dimensioned to 6, containing the vertical section dimensions. [L] d(0) d(1) d(2) d(3) d(4) d(5) d(6)

= = = = = = =

D1 (> 0) D2 (> 0) D3 (>= 0) D4 (>= 0) D5 (>= 0) D6 (>= 0) D7 (>= 0)

Section dimensions D1 through D7 are defined on the precast concrete U girder definition form. Color

The display color assigned to the section. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section.

Remarks This function retrieves frame section property data for a precast concrete U girder frame section. The function returns zero if the section property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropPrecastU() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim MatProp As String Dim bb() As Double Dim dd() As Double Dim b() As Double Dim d() As Double Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set present units to kN-mm ret = SapModel.SetPresentUnits(kN_mm_C) 'set new ReDim ReDim bb(0) bb(1) bb(2) bb(3) bb(4) bb(5)

frame section property bb(5) dd(6) = 2350 = 1500 = 200 = 75 = 143.8447 = 0

dd(0) dd(1) dd(2) dd(3) dd(4) dd(5) dd(6) ret =

= 1700 = 175 = 75 = 0 = 0 = 125 = 175 SapModel.PropFrame.SetPrecastU("PC1", "4000Psi", bb,

dd) 'get frame section property data ret = SapModel.PropFrame.GetPrecastU("PC1", FileName, MatProp, b, d, Color, Notes, GUID) 'set present units to kip-in ret = SapModel.SetPresentUnits(kip_in_F) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetPrecastU

GetPropFileNameList Syntax SapObject.SapModel.PropFrame.GetPropFileNameList

VB6 Procedure Function GetPropFileNameList(ByVal FileName As String, ByRef NumberNames As Long, ByRef MyName() As String, ByRef MyPropType() As eFramePropType, Optional ByVal PropType As eFramePropType) As Long

Parameters FileName

The name of the frame section property file from which to get the name list. In most cases, inputting only the name of the property file (e.g. Sections8.pro) is required, and the program will be able to find it. In some cases, inputting the full path to the property file may be necessary. NumberNames

The number of frame section property names retrieved by the program. MyName

This is an array the includes the property names obtained from the frame section property file. MyType

This is an array the includes the property type for each property obtained from the frame section property file. See the PropType item below for a list of the possible property types. PropType

This optional value is one of the following items in the eFramePropType enumeration. SECTION_I = 1 SECTION_CHANNEL = 2 SECTION_T = 3 SECTION_ANGLE = 4 SECTION_DBLANGLE = 5 SECTION_BOX = 6 SECTION_PIPE = 7 SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9 SECTION_GENERAL = 10 SECTION_DBCHANNEL = 11 SECTION_AUTO = 12 SECTION_SD = 13 SECTION_VARIABLE = 14 SECTION_JOIST = 15 SECTION_BRIDGE = 16 SECTION_COLD_C = 17 SECTION_COLD_2C = 18 SECTION_COLD_Z = 19 SECTION_COLD_L = 20

SECTION_COLD_2L = 21 SECTION_COLD_HAT = 22 SECTION_BUILTUP_I_COVERPLATE = 23 SECTION_PCC_GIRDER_I = 24 SECTION_PCC_GIRDER_U = 25 SECTION_BUILTUP_I_HYBRID = 26 SECTION_BUILTUP_U_HYBRID = 27

If no value is input for PropType, names are returned for all frame section properties in the specified file regardless of type.

Remarks This function retrieves the names of all defined frame section properties of a specified type in a specified frame section property file. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropNamesFromFile() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String Dim MyType() As eFramePropType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get frame section property names ret = SapModel.PropFrame.GetPropFileNameList("Sections8.pro", NumberNames, MyName, MyType, SECTION_I) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Builtup I Hybrid and Builitup U Hybrid added with Version 15.0.0.

See Also ImportProp

GetRebarBeam Syntax SapObject.SapModel.PropFrame.GetRebarBeam

VB6 Procedure Function GetRebarBeam(ByVal Name As String, ByRef MatPropLong As String, ByRef MatPropConfine As String, ByRef CoverTop As Double, ByRef CoverBot As Double, ByRef TopLeftArea As Double, ByRef TopRightArea As Double, ByRef BotLeftArea As Double, ByRef BotRightArea As Double) As Long

Parameters Name

The name of an existing frame section property. MatPropLong

The name of the rebar material property for the longitudinal rebar. MatPropConfine

The name of the rebar material property for the confinement rebar. CoverTop

The distance from the top of the beam to the centroid of the top longitudinal reinforcement. [L] CoverBot

The distance from the bottom of the beam to the centroid of the bottom longitudinal reinforcement. [L] TopLeftArea

The total area of longitudinal reinforcement at the top left end of the beam. [L2] TopRightArea

The total area of longitudinal reinforcement at the top right end of the beam. [L2] BotLeftArea

The total area of longitudinal reinforcement at the bottom left end of the beam. [L2] BotRightArea

The total area of longitudinal reinforcement at the bottom right end of the beam. [L2]

Remarks This function retrieves beam rebar data for frame sections. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. This function applies only to the following section types. Calling this function for any other type of frame section property returns an error. SECTION_T = 3 SECTION_ANGLE = 4 SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9

The material assigned to the specified frame section property must be concrete or this function returns an error.

VBA Example Sub GetBeamRebar() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim RebarName As String Dim MatPropLong As String Dim MatPropConfine As String Dim CoverTop As Double Dim CoverBot As Double Dim TopLeftArea As Double Dim TopRightArea As Double Dim BotLeftArea As Double Dim BotRightArea As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(RebarName, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'set beam rebar data ret = SapModel.PropFrame.SetRebarBeam("R1", RebarName, RebarName, 3.5, 3, 4.1, 4.2, 4.3, 4.4)

'get beam rebar data ret = SapModel.PropFrame.GetRebarBeam("R1", MatPropLong, MatPropConfine, CoverTop, CoverBot, TopLeftArea, TopRightArea, BotLeftArea, BotRightArea) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetRebarBeam

GetRebarColumn Syntax SapObject.SapModel.PropFrame.GetRebarColumn

VB6 Procedure Function GetRebarColumn(ByVal Name As String, ByRef MatPropLong As String, ByRef MatPropConfine As String, ByRef Pattern As Long, ByRef ConfineType As Long, ByRef Cover As Double, ByRef NumberCBars As Long, ByRef NumberR3Bars As Long, ByRef NumberR2Bars As Long, ByRef RebarSize As String, ByRef TieSize As String, ByRef TieSpacingLongit As Double, ByRef Number2DirTieBars As Long, ByRef Number3DirTieBars As Long, ByRef ToBeDesigned As Boolean) As Long

Parameters Name

The name of an existing frame section property. MatPropLong

The name of the rebar material property for the longitudinal rebar. MatPropConfine

The name of the rebar material property for the confinement rebar. Pattern

This is either 1 or 2, indicating the rebar configuration. 1 = Rectangular 2 = Circular

For circular frame section properties, this item must be 2; otherwise an error is returned. ConfineType

This is either 1 or 2, indicating the confinement bar type. 1 = Ties 2 = Spiral

This item applies only when Pattern = 2. If Pattern = 1, the confinement bar type is assumed to be ties. Cover

The clear cover for the confinement steel (ties). In the special case of circular reinforcement in a rectangular column, this is the minimum clear cover. [L] NumberCBars

This item applies to a circular rebar configuration, Pattern = 2. It is the total number of longitudinal reinforcing bars in the column. NumberR3Bars

This item applies to a rectangular rebar configuration, Pattern = 1. It is the number of longitudinal bars (including the corner bar) on each face of the column that is parallel to the local 3-axis of the column. NumberR2Bars

This item applies to a rectangular rebar configuration, Pattern = 1. It is the number of longitudinal bars (including the corner bar) on each face of the column that is parallel to the local 2-axis of the column. RebarSize

The rebar name for the longitudinal rebar in the column. TieSize

The rebar name for the confinement rebar in the column. TieSpacingLongit

The longitudinal spacing of the confinement bars (ties). [L] Number2DirTieBars

This item applies to a rectangular reinforcing configuration, Pattern = 1. It is the number of confinement bars (tie legs) extending in the local 2-axis direction of the column. Number3DirTieBars

This item applies to a rectangular reinforcing configuration, Pattern = 1. It is the number of confinement bars (tie legs) extending in the local 3-axis direction of the column. ToBeDesigned

If this item is True, the column longitudinal rebar is to be designed; otherwise it is to be checked.

Remarks This function retrieves column rebar data for frame sections. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. This function applies only to the following section types. Calling this function for any other type of frame section property returns an error. SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9

The material assigned to the specified frame section property must be concrete or else this function returns an error.

VBA Example Sub GetColumnRebar() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim RebarName As String Dim MatPropLong As String Dim MatPropConfine As String Dim Pattern As Long Dim ConfineType As Long Dim Cover As Double Dim NumberCBars As Long Dim NumberR3Bars As Long Dim NumberR2Bars As Long Dim RebarSize As String Dim TieSize As String Dim TieSpacingLongit As Double Dim Number2DirTieBars As Long Dim Number3DirTieBars As Long Dim ToBeDesigned As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(RebarName,

MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'set column rebar data ret = SapModel.PropFrame.SetRebarColumn("R1", RebarName, RebarName, 2, 2, 2, 10, 0, 0, "#10", "#5", 4, 0, 0, False) 'get column rebar data ret = SapModel.PropFrame.GetRebarColumn("R1", MatPropLong, MatPropConfine, Pattern, ConfineType, Cover, NumberCBars, NumberR3Bars, NumberR2Bars, RebarSize, TieSize, TieSpacingLongit, Number2DirTieBars, Number3DirTieBars, ToBeDesigned) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetRebarColumn

GetRectangle Syntax SapObject.SapModel.PropFrame.GetRectangle

VB6 Procedure Function GetRectangle(ByVal Name As String, ByRef FileName As String, ByRef MatProp As String, ByRef t3 As Double, ByRef t2 As Double, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing rectangular frame section property. FileName

If the section property was imported from a property file, this is the name of that file. If the section property was not imported, this item is blank. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] Color

The display color assigned to the section. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section.

Remarks This function retrieves frame section property data for a rectangular frame section. The function returns zero if the section property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropRectangle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim MatProp As String Dim t3 As Double Dim t2 As Double Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'get frame section property data ret = SapModel.PropFrame.GetRectangle("R1", FileName, MatProp, t3, t2, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetRectangle SetRebarBeam SetRebarColumn GetRebarBeam GetRebarColumn

GetSDSection Syntax SapObject.SapModel.PropFrame.GetSDSection

VB6 Procedure Function GetSDSection(ByVal Name As String, ByRef MatProp As String, ByRef NumberItems As Long, ByRef ShapeName() As String, ByRef MyType() As Long, ByRef DesignType As Long, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing section designer property. MatProp

The name of the base material property for the section. NumberItems

The number of shapes defined in the section designer section. ShapeName

This is an array that includes the name of each shape in the section designer section. MyType

This is an array that includes the type of each shape in the section designer section. 1= 2= 3= 4= 5= 6= 7= 8=

I-section Channel Tee Angle Double Angle Box Pipe Plate

101 = 102 = 103 = 104 =

Solid Rectangle Solid Circle Solid Segment Solid Sector

201 = Polygon 301 = 302 = 303 = 304 =

Reinforcing Single Reinforcing Line Reinforcing Rectangle Reinforcing Circle

401 = Reference Line 402 = Reference Circle 501 = Caltrans Square 502 = Caltrans Circle

503 = Caltrans Hexagon 504 = Caltrans Octagon DesignType

This is 0, 1, 2 or 3, indicating the design option for the section. 0= 1= 2= 3=

No design Design as general steel section Design as a concrete column; check the reinforcing Design as a concrete column; design the reinforcing

Color

The display color assigned to the section. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section.

Remarks This function retrieves section property data for a section designer section. The function returns zero if the section property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropSDSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim NumberItems As Long Dim ShapeName() As String Dim MyType() As Long Dim DesignType As Long Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add I-section shapes to new property ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH2", "A992Fy50", "", -9, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH3", "A992Fy50", "", 9, -9, 0, -1, 18, 6, 1, 0.5, 6, 1)

'get section designer section property data ret = SapModel.PropFrame.GetSDSection("SD1", MatProp, NumberItems, ShapeName, MyType, DesignType, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetSDSection

GetSectProps Syntax SapObject.SapModel.PropFrame.GetSectProps

VB6 Procedure Function GetSectProps(ByVal Name As String, ByRef Area As Double, ByRef As2 As Double, ByRef As3 As Double, ByRef Torsion As Double, ByRef I22 As Double, ByRef I33 As Double, ByRef S22 As Double, ByRef S33 As Double, ByRef Z22 As Double, ByRef Z33 As Double, ByRef R22 As Double, ByRef R33 As Double) As Long

Parameters Name

The name of an existing frame section property. Area

The cross-sectional area. [L2] As2

The shear area for forces in the section local 2-axis direction. [L2] As3

The shear area for forces in the section local 3-axis direction. [L2] Torsion

The torsional constant. [L4] I22

The moment of inertia for bending about the local 2 axis. [L4] I33

The moment of inertia for bending about the local 3 axis. [L4] S22

The section modulus for bending about the local 2 axis. [L3] S33

The section modulus for bending about the local 3 axis. [L3] Z22

The plastic modulus for bending about the local 2 axis. [L3] Z33

The plastic modulus for bending about the local 3 axis. [L3] R22

The radius of gyration about the local 2 axis. [L] R33

The radius of gyration about the local 3 axis. [L]

Remarks This function retrieves properties for frame section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropProperties() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Area As Double Dim as2 As Double Dim as3 As Double Dim Torsion As Double Dim I22 As Double Dim I33 As Double Dim S22 As Double Dim S33 As Double Dim Z22 As Double Dim Z33 As Double Dim R22 As Double Dim R33 As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get frame section properties ret = SapModel.PropFrame.GetSectProps("FSEC1", Area, As2, As3, Torsion, I22, I33, S22, S33, Z22, Z33, R22, R33) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

GetTee Syntax SapObject.SapModel.PropFrame.GetTee

VB6 Procedure Function GetTee(ByVal Name As String, ByRef FileName As String, ByRef MatProp As String, ByRef t3 As Double, ByRef t2 As Double, ByRef tf As Double, ByRef tw As Double, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing frame section property. FileName

If the section property was imported from a property file, this is the name of that file. If the section property was not imported, this item is blank. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Color

The display color assigned to the section. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section.

Remarks This function retrieves frame section property data for a tee-type frame section. The function returns zero if the section property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropTee() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim MatProp As String Dim t3 As Double Dim t2 As Double Dim tf As Double Dim tw As Double Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetTee("TEE1", "A992Fy50", 12, 10, 0.6, 0.3) 'get frame section property data ret = SapModel.PropFrame.GetTee("TEE1", FileName, MatProp, t3, t2, tf, tw, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.02.

See Also SetTee SetRebarBeam GetRebarBeam

GetTube Syntax SapObject.SapModel.PropFrame.GetTube

VB6 Procedure Function GetTube(ByVal Name As String, ByRef FileName As String, ByRef MatProp As String, ByRef t3 As Double, ByRef t2 As Double, ByRef tf As Double, ByRef tw As Double, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing frame section property. FileName

If the section property was imported from a property file, this is the name of that file. If the section property was not imported, this item is blank. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Color

The display color assigned to the section. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section.

Remarks This function retrieves frame section property data for a tube-type frame section. The function returns zero if the section property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropTube() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim MatProp As String Dim t3 As Double Dim t2 As Double Dim tf As Double Dim tw As Double Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetTube("TUBE1", "A992Fy50", 8, 6, 0.5, 0.5) 'get frame section property data ret = SapModel.PropFrame.GetTube("TUBE1", FileName, MatProp, t3, t2, tf, tw, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.02.

See Also SetTube

GetTypeOAPI Syntax SapObject.SapModel.PropFrame.GetTypeOAPI

VB6 Procedure Function GetTypeOAPI(ByVal Name As String, ByRef PropType As eFramePropType) As Long

Parameters Name

The name of an existing frame section property. PropType

This is one of the following items in the eFramePropType enumeration. SECTION_I = 1 SECTION_CHANNEL = 2 SECTION_T = 3 SECTION_ANGLE = 4 SECTION_DBLANGLE = 5 SECTION_BOX = 6 SECTION_PIPE = 7 SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9 SECTION_GENERAL = 10 SECTION_DBCHANNEL = 11 SECTION_AUTO = 12 SECTION_SD = 13 SECTION_VARIABLE = 14 SECTION_JOIST = 15 SECTION_BRIDGE = 16 SECTION_COLD_C = 17 SECTION_COLD_2C = 18 SECTION_COLD_Z = 19 SECTION_COLD_L = 20 SECTION_COLD_2L = 21 SECTION_COLD_HAT = 22 SECTION_BUILTUP_I_COVERPLATE = 23 SECTION_PCC_GIRDER_I = 24 SECTION_PCC_GIRDER_U = 25

Remarks This function retrieves the property type for the specified frame section property. The function returns zero if the type is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetFramePropType() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropType As eFramePropType 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get frame property type ret = SapModel.PropFrame.GetTypeOAPI("FSEC1", PropType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. Changed function name to GetTypeOAPI in v17.0.0.

See Also

GetTypeRebar Syntax SapObject.SapModel.PropFrame.GetTypeRebar

VB6 Procedure Function GetTypeRebar(ByVal Name As String, ByRef MyType As Long) As Long

Parameters Name

The name of an existing frame section property. PropType

This is 0, 1 or 2, indicating the rebar design type. 0 = None 1 = Column 2 = Beam

Remarks This function retrieves the rebar design type for the specified frame section property. The function returns zero if the type is successfully retrieved; otherwise it returns nonzero. This function applies only to the following section property types. Calling this function for any other type of frame section property returns an error. SECTION_T = 3 SECTION_ANGLE = 4 SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9

A nonzero rebar type is returned only if the frame section property has a concrete material.

VBA Example Sub GetFramePropRebarType() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyType As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'get rebar design type ret = SapModel.PropFrame.GetTypeRebar("R1", MyType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

ImportProp Syntax SapObject.SapModel.PropFrame.ImportProp

VB6 Procedure Function ImportProp(ByVal Name As String, ByVal MatProp As String, ByVal FileName As String, ByVal PropName As String, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. This name does not need to be the same as the PropName item. MatProp

The name of the material property for the section. FileName

The name of the frame section property file from which to get the frame section property specified by the PropName item. In most cases you can input just the name of the property file (e.g. Sections8.pro) and the program will be able to find it. In some cases you may have to input the full path to the property file. PropName

The name of the frame section property, inside the property file specified by the FileName item, that is to be imported. Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function imports a frame section property from a property file. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value. If the property file is not found, or the specified property name is not found in the property file, the section is set to be a general section with default properties.

VBA Example Sub ImportFrameProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'import new frame section property ret = SapModel.PropFrame.ImportProp("W18X35", "A992Fy50", "Sections8.pro", "W18X35") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetPropFileNameList

SetAngle Syntax SapObject.SapModel.PropFrame.SetAngle

VB6 Procedure Function SetAngle(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal tf As Double, ByVal tw As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The vertical leg depth. [L] t2

The horizontal leg width. [L] tf

The horizontal leg thickness. [L] tw

The vertical leg thickness. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, then the program assigns a GUID to the section.

Remarks This function initializes an angle-type frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetAngle("ANGLE1", "A992Fy50", 6, 4, 0.5, 0.5) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetAngle SetRebarBeam GetRebarBeam

SetAutoSelectAluminum Syntax SapObject.SapModel.PropFrame.SetAutoSelectAluminum

VB6 Procedure Function SetAutoSelectAluminum(ByVal Name As String, ByVal NumberItems As Long, ByRef SectName() As String, Optional ByVal AutoStartSection As String = "Median", Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. NumberItems

The number of frame section properties included in the auto select list. SectName

This is an array of the names of the frame section properties included in the auto select list. Auto select lists and nonprismatic (variable) sections are not allowed in this array. AutoStartSection

This is Median or the name of a frame section property in the SectName array. It is the starting section for the auto select list. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function assigns frame section properties to an auto select list. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the auto select list is successfully filled; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropAutoSelectAluminum() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section properties ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) ret = SapModel.PropFrame.SetISection("AI2", Name , 18, 6, 0.6, 0.3, 6, 0.6) ret = SapModel.PropFrame.SetISection("AI3", Name , 18, 6, 0.7, 0.3, 6, 0.7) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'define new auto select list frame section property ReDim MyName(2) MyName(0) = "AI" MyName(1) = "AI2" MyName(2) = "AI3" ret = SapModel.PropFrame.SetAutoSelectAluminum("AUTO1", 3,

MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetAutoSelectAluminum

SetAutoSelectColdFormed Syntax SapObject.SapModel.PropFrame.SetAutoSelectColdFormed

VB6 Procedure Function SetAutoSelectColdFormed(ByVal Name As String, ByVal NumberItems As Long, ByRef SectName() As String, Optional ByVal AutoStartSection As String = "Median", Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. NumberItems

The number of frame section properties included in the auto select list. SectName

This is an array of the names of the frame section properties included in the auto select list. Auto select lists and nonprismatic (variable) sections are not allowed in this array. AutoStartSection

This is Median or the name of a frame section property in the SectName array. It is the starting section for the auto select list. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function assigns frame section properties to an auto select list. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the auto select list is successfully filled; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropAutoSelectColdFormed() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section properties ret = SapModel.PropFrame.SetISection("CI", Name , 18, 6, 0.5, 0.3, 6, 0.5) ret = SapModel.PropFrame.SetISection("CI2", Name , 18, 6, 0.6, 0.3, 6, 0.6) ret = SapModel.PropFrame.SetISection("CI3", Name , 18, 6, 0.7, 0.3, 6, 0.7) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "CI", "CI") 'define new auto select list frame section property ReDim MyName(2) MyName(0) = "CI" MyName(1) = "CI2" MyName(2) = "CI3"

ret = SapModel.PropFrame.SetAutoSelectColdFormed("AUTO1", 3, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetAutoSelectColdFormed

SetAutoSelectSteel Syntax SapObject.SapModel.PropFrame.SetAutoSelectSteel

VB6 Procedure Function SetAutoSelectSteel(ByVal Name As String, ByVal NumberItems As Long, ByRef SectName() As String, Optional ByVal AutoStartSection As String = "Median", Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. NumberItems

The number of frame section properties included in the auto select list. SectName

This is an array of the names of the frame section properties included in the auto select list. Auto select lists and nonprismatic (variable) sections are not allowed in this array. AutoStartSection

This is either Median or the name of a frame section property in the SectName array. It is the starting section for the auto select list. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function assigns frame section properties to an auto select list. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the auto select list is successfully filled; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropAutoSelectSteel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new I-type frame section property ret = SapModel.PropFrame.SetISection("ISEC1", "A992Fy50", 24, 8, 0.5, 0.3, 8, 0.5) 'set new I-type frame section property ret = SapModel.PropFrame.SetISection("ISEC2", "A992Fy50", 20, 8, 0.5, 0.3, 8, 0.5) 'set new I-type frame section property ret = SapModel.PropFrame.SetISection("ISEC3", "A992Fy50", 16, 8, 0.5, 0.3, 8, 0.5) 'set new auto select list frame section property ReDim MyName(2) MyName(0) = "ISEC1" MyName(1) = "ISEC2" MyName(2) = "ISEC3" ret = SapModel.PropFrame.SetAutoSelectSteel("AUTO1", 3, MyName, "ISEC2")

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetAutoSelectSteel

SetChannel Syntax SapObject.SapModel.PropFrame.SetChannel

VB6 Procedure Function SetChannel(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal tf As Double, ByVal tw As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a channel-type frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropChannel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetChannel("CHN1", "A992Fy50", 24, 6, 0.5, 0.3) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetChannel

SetCircle Syntax SapObject.SapModel.PropFrame.SetCircle

VB6 Procedure Function SetCircle(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section diameter. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a solid circular frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetCircle("C1", "4000Psi", 20) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetCircle SetRebarBeam SetRebarColumn GetRebarBeam GetRebarColumn

SetColdC Syntax SapObject.SapModel.PropFrame.SetColdC

VB6 Procedure Function SetColdC(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal Thickness As Double, ByVal Radius As Double, ByVal LipDepth As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] Thickness

The section thickness. [L] Radius

The corner radius, if any. [L] LipDepth

The lip depth, if any. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes an cold formed C-type frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropColdC() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'set new frame section property ret = SapModel.PropFrame.SetColdC("CC1", Name, 10, 3.2, 0.08, 0.3, 0.6) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetColdC

SetColdHat Syntax SapObject.SapModel.PropFrame.SetColdHat

VB6 Procedure Function SetColdHat(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal Thickness As Double, ByVal Radius As Double, ByVal LipDepth As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] Thickness

The section thickness. [L] Radius

The corner radius, if any. [L] LipDepth

The lip depth, if any. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, then the program assigns a GUID to the section.

Remarks This function initializes an cold formed hat-type frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropColdHat() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'set new frame section property ret = SapModel.PropFrame.SetColdHat("CH1", Name, 10, 3.2, 0.08, 0.3, 0.6) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetColdHat

SetColdZ Syntax SapObject.SapModel.PropFrame.SetColdZ

VB6 Procedure Function SetColdZ(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal Thickness As Double, ByVal Radius As Double, ByVal LipDepth As Double, ByVal LipAngle As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property then that property is modified, otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] Thickness

The section thickness. [L] Radius

The corner radius, if any. [L] LipDepth

The lip depth, if any. [L] LipAngle

The lip angle measured from horizontal (0 0) B3 (>= 0) B4 (>= 0)

Section dimensions B1 through B4 are defined on the precast concrete I girder definition form. d

This is an array, dimensioned to 5, containing the vertical section dimensions. [L] d(0) d(1) d(2) d(3) d(4) d(5) d(6)

= = = = = = =

D1 (> 0) D2 (> 0) D3 (>= 0) D4 (>= 0) D5 (> 0) D6 (>= 0) D7 (>=0)

Section dimensions D1 through D7 are defined on the precast concrete I girder definition form. t

This is an array, dimensioned to 1, containing the web thickness dimensions. [L] T(0) = T1 (> 0) T(1) = T2 (> 0) Section dimensions T1 and T2 are defined on the precast I girder definition form. c

The bottom flange chamfer dimension, denoted as C1 on the precast concrete I girder definition form.

Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a precast concrete I girder frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropPrecastI_1() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim bb() As Double Dim dd() As Double Dim tt() As Double Dim cc As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ReDim bb(3) ReDim dd(5) bb(0) = 12 bb(1) = 16 bb(2) = 0 bb(3) = 0 dd(0) = 28 dd(1) = 4 dd(2) = 3 dd(3) = 0 dd(4) = 5 dd(5) = 5 dd(6) = 0 tt(0) = 6 tt(1) = 6 cc = 0

ret = SapModel.PropFrame.SetPrecastI_1("PC1", "4000Psi", bb, dd, tt, cc) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.2.0. The function supersedes by SetPrecastI.

See Also GetPrecastI_1

SetPrecastU Syntax SapObject.SapModel.PropFrame.SetPrecastU

VB6 Procedure Function SetPrecastU(ByVal Name As String, ByVal MatProp As String, ByRef b() As Double, ByRef d() As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. b

This is an array, dimensioned to 5, containing the horizontal section dimensions. [L] b(0) b(1) b(2) b(3) b(4) b(5)

= = = = = =

B1 (> 0) B2 (> 0) B3 (> 0) B4 (>= 0) B5 (>= 0) B6 (>= 0)

Section dimensions B1 through B6 are defined on the precast concrete U girder definition form. d

This is an array, dimensioned to 6, containing the vertical section dimensions. [L] d(0) d(1) d(2) d(3) d(4) d(5) d(6)

= = = = = = =

D1 (> 0) D2 (> 0) D3 (>= 0) D4 (>= 0) D5 (>= 0) D6 (>= 0) D7 (>= 0)

Section dimensions D1 through D7 are defined on the precast concrete U girder definition form. Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a precast concrete U girder frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropPrecastU() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim bb() As Double Dim dd() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set present units to kN-mm ret = SapModel.SetPresentUnits(kN_mm_C) 'set new ReDim ReDim bb(0) bb(1) bb(2) bb(3) bb(4) bb(5) dd(0) dd(1) dd(2) dd(3) dd(4) dd(5) dd(6)

frame section property bb(5) dd(6) = 2350 = 1500 = 200 = 75 = 143.8447 = 0 = 1700 = 175 = 75 = 0 = 0 = 125 = 175

ret = SapModel.PropFrame.SetPrecastU("PC1", "4000Psi", bb, dd) 'set present units to kip-in ret = SapModel.SetPresentUnits(kip_in_F) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetPrecastU

SetRebarBeam Syntax SapObject.SapModel.PropFrame.SetRebarBeam

VB6 Procedure Function SetRebarBeam(ByVal Name As String, ByVal MatPropLong As String, ByVal MatPropConfine As String, ByVal CoverTop As Double, ByVal CoverBot As Double, ByVal TopLeftArea As Double, ByVal TopRightArea As Double, ByVal BotLeftArea As Double, ByVal BotRightArea As Double) As Long

Parameters Name

The name of an existing frame section property. MatPropLong

The name of the rebar material property for the longitudinal rebar. MatPropConfine

The name of the rebar material property for the confinement rebar. CoverTop

The distance from the top of the beam to the centroid of the top longitudinal reinforcement. [L] CoverBot

The distance from the bottom of the beam to the centroid of the bottom longitudinal reinforcement. [L] TopLeftArea

The total area of longitudinal reinforcement at the top left end of the beam. [L2] TopRightArea

The total area of longitudinal reinforcement at the top right end of the beam. [L2] BotLeftArea

The total area of longitudinal reinforcement at the bottom left end of the beam. [L2] BotRightArea

The total area of longitudinal reinforcement at the bottom right end of the beam. [L2]

Remarks This function assigns beam rebar data to frame sections. The function returns zero if the rebar data is successfully assigned; otherwise it returns a nonzero value. This function applies only to the following section types. Calling this function for any other type of frame section property returns an error. SECTION_T = 3 SECTION_ANGLE = 4 SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9

The material assigned to the specified frame section property must be concrete or this function returns an error.

VBA Example Sub AssignBeamRebar() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim RebarName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(RebarName, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'set beam rebar data ret = SapModel.PropFrame.SetRebarBeam("R1", RebarName, RebarName, 3.5, 3, 4.1, 4.2, 4.3, 4.4) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetRebarBeam

SetRebarColumn Syntax SapObject.SapModel.PropFrame.SetRebarColumn

VB6 Procedure Function SetRebarColumn(ByVal Name As String, ByVal MatPropLong As String, ByVal MatPropConfine As String, ByVal Pattern As Long, ByVal ConfineType As Long, ByVal Cover As Double, ByVal NumberCBars As Long, ByVal NumberR3Bars As Long, ByVal NumberR2Bars As Long, ByVal RebarSize As String, ByVal TieSize As String, ByVal TieSpacingLongit As Double, ByVal Number2DirTieBars As Long, ByVal Number3DirTieBars As Long, ByVal ToBeDesigned As Boolean) As Long

Parameters Name

The name of an existing frame section property. MatPropLong

The name of the rebar material property for the longitudinal rebar. MatPropConfine

The name of the rebar material property for the confinement rebar. Pattern

This is either 1 or 2, indicating the rebar configuration. 1 = Rectangular 2 = Circular

For circular frame section properties this item must be 2; otherwise an error is returned. ConfineType

This is either 1 or 2, indicating the confinement bar type. 1 = Ties 2 = Spiral

This item applies only when Pattern = 2. If Pattern = 1, the confinement bar type is assumed to be ties. Cover

The clear cover for the confinement steel (ties). In the special case of circular reinforcement in a rectangular column, this is the minimum clear cover. [L] NumberCBars

This item applies to a circular rebar configuration, Pattern = 2. It is the total number of longitudinal reinforcing bars in the column. NumberR3Bars

This item applies to a rectangular rebar configuration, Pattern = 1. It is the number of longitudinal bars (including the corner bar) on each face of the column that is parallel to the local 3-axis of the column. NumberR2Bars

This item applies to a rectangular rebar configuration, Pattern = 1. It is the number of longitudinal bars (including the corner bar) on each face of the column that is parallel to the local 2-axis of the column. RebarSize

The rebar name for the longitudinal rebar in the column. TieSize

The rebar name for the confinement rebar in the column. TieSpacingLongit

The longitudinal spacing of the confinement bars (ties). [L] Number2DirTieBars

This item applies to a rectangular reinforcing configuration, Pattern = 1. It is the number of confinement bars (tie legs) running in the local 2-axis direction of the column. Number3DirTieBars

This item applies to a rectangular reinforcing configuration, Pattern = 1. It is the number of confinement bars (tie legs) running in the local 3-axis direction of the column. ToBeDesigned

If this item is True, the column longitudinal rebar is to be designed; otherwise it is to be checked.

Remarks This function assigns column rebar data to frame sections. The function returns zero if the rebar data is successfully assigned; otherwise it returns a nonzero value. This function applies only to the following section types. Calling this function for any other type of frame section property returns an error. SECTION_RECTANGULAR = 8 SECTION_CIRCLE = 9

The material assigned to the specified frame section property must be concrete or else this function returns an error.

VBA Example Sub AssignColumnRebar() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim RebarName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 30, 30) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(RebarName, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'set column rebar data ret = SapModel.PropFrame.SetRebarColumn("R1", RebarName, RebarName, 2, 2, 2, 10, 0, 0, "#10", "#5", 4, 0, 0, False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetRebarColumn

SetRectangle Syntax SapObject.SapModel.PropFrame.SetRectangle

VB6 Procedure Function SetRectangle(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a solid rectangular frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropRectangle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetRectangle SetRebarBeam SetRebarColumn GetRebarBeam GetRebarColumn

SetSDSection Syntax SapObject.SapModel.PropFrame.SetSDSection

VB6 Procedure Function SetSDSection(ByVal Name As String, ByVal MatProp As String, Optional ByVal DesignType As Long = 0, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the base material property for the section. DesignType

This is 0, 1, 2 or 3, indicating the design option for the section. 0= 1= 2= 3=

No design Design as general steel section Design as a concrete column; check the reinforcing Design as a concrete column; design the reinforcing

When DesignType = 1 is assigned, the material property specified by the MatProp item must be a steel material; otherwise the program sets DesignType = 0. Similarly, when DesignType = 2 or DesignType = 3 is assigned, the material property specified by the MatProp item must be a concrete material; otherwise the program sets DesignType = 0. Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a section designer property. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropSDSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetSDSection

SetTee Syntax SapObject.SapModel.PropFrame.SetTee

VB6 Procedure Function SetTee(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal tf As Double, ByVal tw As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a tee-type frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropTee() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetTee("TEE1", "A992Fy50", 12, 10, 0.6, 0.3) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetTee SetRebarBeam GetRebarBeam

SetTube Syntax SapObject.SapModel.PropFrame.SetTube

VB6 Procedure Function SetTube(ByVal Name As String, ByVal MatProp As String, ByVal t3 As Double, ByVal t2 As Double, ByVal tf As Double, ByVal tw As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. t3

The section depth. [L] t2

The section width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a tube-type frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropTube() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new frame section property ret = SapModel.PropFrame.SetTube("TUBE1", "A992Fy50", 8, 6, 0.5, 0.5) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also GetTube

Delete Syntax SapObject.SapModel.PropFrame.SDShape.Delete

VB6 Procedure Function Delete(ByVal Name As String, ByRef ShapeName As String, Optional ByVal All As Boolean = False) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing shape in a section designer property. If the All item is True, this item may be specified as a blank string. All

If this item is True, all shapes in the section designer property specified by the Name item are deleted.

Remarks This function deletes shapes from a section designer property. The function returns zero if the shape is successfully deleted; otherwise it returns a nonzero value.

VBA Example Sub DeleteFrameSDPropShape() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add I-section shapes to new property ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH2", "A992Fy50", "", -9, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH3", "A992Fy50", "", 9, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) 'delete shape from section designer property ret = SapModel.PropFrame.SDShape.Delete("SD1", "SH1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00. Modified optional argument All to be ByVal in version 12.0.1.

See Also

GetAngle Syntax SapObject.SapModel.PropFrame.SDShape.GetAngle

VB6 Procedure Function GetAngle(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef bf As Double, ByRef tf As Double, ByRef tw As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Angle shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Angle property that has been imported from a section property file. If it is the name of a defined Angle property, the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] bf

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for an Angle shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim bf As Double Dim tf As Double Dim tw As Double Dim Rotation As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Angle shape to new property ret = SapModel.PropFrame.SDShape.SetAngle("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'get Angle shape property data ret = SapModel.PropFrame.SDShape.GetAngle("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, h, bf, tf, tw, Rotation)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetAngle

GetChannel Syntax SapObject.SapModel.PropFrame.SDShape.GetChannel

VB6 Procedure Function GetChannel(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef bf As Double, ByRef tf As Double, ByRef tw As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Channel shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Channel property that has been imported from a section property file. If it is the name of a defined Channel property, the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] bf

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for a Channel shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropChannel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim bf As Double Dim tf As Double Dim tw As Double Dim Rotation As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Channel shape to new property ret = SapModel.PropFrame.SDShape.SetChannel("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'get Channel shape property data ret = SapModel.PropFrame.SDShape.GetChannel("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, h, bf, tf, tw, Rotation)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetChannel

GetDblAngle Syntax SapObject.SapModel.PropFrame.SDShape.GetDblAngle

VB6 Procedure Function GetDblAngle(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef w As Double, ByRef tf As Double, ByRef tw As Double, ByRef dis As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Double Angle shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Double Angle property that has been imported from a section property file. If it is the name of a defined Double Angle property, then the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] w

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] dis

Separation between the two flanges that are parallel. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for a Double Angle shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropDblAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim w As Double Dim tf As Double Dim tw As Double Dim dis As Double Dim Rotation As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Double Angle shape to new property ret = SapModel.PropFrame.SDShape.SetDblAngle("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5, 2) 'get Double Angle shape property data ret = SapModel.PropFrame.SDShape.GetDblAngle("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, h, w, tf, tw,

dis,

Rotation)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetDblAngle

GetISection Syntax SapObject.SapModel.PropFrame.SDShape.GetISection

VB6 Procedure Function GetISection(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef bf As Double, ByRef tf As Double, ByRef tw As Double, ByRef bfb As Double, ByRef tfb As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing I-section shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined I-section property that has been imported from a section property file. If it is the name of a defined I-section property, the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] bf

The top flange width. [L] tf

The top flange thickness. [L] tw

The web thickness. [L] bfb

The bottom flange width. [L] tfb

The bottom flange thickness. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for an I-section shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropISection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim bf As Double Dim tf As Double Dim tw As Double Dim bfb As Double Dim tfb As Double Dim Rotation As Double

'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add I-section shape to new property ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) 'get I-section shape property data

ret = SapModel.PropFrame.SDShape.GetISection("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, h, bf, tf, tw, bfb, tfb, Rotation) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetISection

GetPipe Syntax SapObject.SapModel.PropFrame.SDShape.GetPipe

VB6 Procedure Function GetPipe(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef diameter As Double, ByRef thickness As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Pipe shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Pipe property that has been imported from a section property file. If it is the name of a defined Pipe property, the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] diameter

The outer diameter of the Pipe. [L] thickness

The wall thickness of the Pipe. [L]

Remarks This function retrieves property data for a Pipe shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropPipe() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim diameter As Double Dim thickness As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Pipe shape to new property ret = SapModel.PropFrame.SDShape.SetPipe("SD1", "SH1", "A992Fy50", "", 0, -9, -1, 12, 1) 'get Pipe shape property data ret = SapModel.PropFrame.SDShape.GetPipe("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, diameter, thickness) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetPipe

GetPlate Syntax SapObject.SapModel.PropFrame.SDShape.GetPlate

VB6 Procedure Function GetPlate(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef thickness As Double, ByRef w As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Plate shape in the specified frame section property. MatProp

The name of the material property for the shape. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] thickness

The thickness of the plate. [L] w

The width of the Plate. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for an Plate shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropPlate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim thickness As Double Dim w As Double Dim Rotation As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Plate shape to new property ret = SapModel.PropFrame.SDShape.SetPlate("SD1", "SH1", "A992Fy50", 0, -9, 0, -1, 2, 6) 'get Plate shape property data ret = SapModel.PropFrame.SDShape.GetPlate("SD1", "SH1", MatProp, Color, Xcenter, Ycenter, thickness, w, Rotation) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetPlate

GetPolygon Syntax SapObject.SapModel.PropFrame.SDShape.GetPolygon

VB6 Procedure Function GetPolygon(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef SSOverwrite As String, ByRef NumberPoints As Long, ByRef X() As Double, ByRef Y() As Double, ByRef Radius() As Double, ByRef Color As Long, ByRef Reinf As Boolean, ByRef MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing polygon shape in the specified frame section property. MatProp

The name of the material property for the shape. SSOverwrite

This is a blank string, Default, or the name of a defined stress-strain curve. If this item is a blank string or Default, the shape stress-strain curve is based on the assigned material property. NumberPoints

The number of point coordinates used to define the polygon. X

This is an array that contains the X-coordinates of the polygon points. [L] Y

This is an array that contains the Y-coordinates of the polygon points. [L] Radius

This is an array that contains the radius to be applied at each of the polygon points. [L] Color

The fill color assigned to the shape. Reinf

This item is True when there is edge and corner reinforcing steel associated with the shape. The MatProp item must refer to a concrete material for this item to be True. MatRebar

The material property for the edge and corner reinforcing steel associated with the shape. This item applies only when the MatProp item is a concrete material and the Reinf item is True.

Remarks This function retrieves property data for a polygon shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropPolygon() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MatProp As String Dim SSOverwrite As String Dim NumberPoints As Long Dim NumberPointsGet As Long Dim X() As Double Dim Y() As Double Dim Radius() As Double Dim XGet() As Double Dim YGet() As Double Dim RadiusGet() As Double Dim Color As Long Dim Reinf As Boolean Dim MatRebar As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, eMatType.eMatType_Rebar, , , , , eMatTypeRebar.eMatTypeRebar_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50")

'add polygon shape to new property NumberPoints = 5 ReDim X(4) ReDim Y(4) ReDim Radius(4) X(0) = -26 Y(0) = -26 Radius(0) = 0 X(1) = -20 Y(1) = -20 Radius(1) = 5 X(2) = -25 Y(2) = 15 Radius(2) = 0 X(3) = 20 Y(3) = 12 Radius(3) = 3 X(4) = 25 Y(4) = -15 Radius(4) = 0 ret = SapModel.PropFrame.SDShape.SetPolygon("SD1", "SH1", "4000Psi", "Default", NumberPoints, X, Y, Radius, -1, True, Name) 'get polygon shape property data ret = SapModel.PropFrame.SDShape.GetPolygon("SD1", "SH1", MatProp, SSOverwrite, NumberPointsGet, XGet, YGet, RadiusGet, Color, Reinf, MatRebar) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.1.0.

See Also SetPolygon

GetRefCircle Syntax SapObject.SapModel.PropFrame.SDShape.GetRefCircle

VB6 Procedure Function GetRefCircle(ByVal Name As String, ByVal ShapeName As String, ByRef XCenter As Double, ByRef YCenter As Double, ByRef Diameter As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Diameter

The diameter of the circular shape. [L]

Remarks This function retrieves property data for a reference circle shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropRefCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim XCenter As Double Dim YCenter As Double Dim Diameter As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add reference circle shape to new property ret = SapModel.PropFrame.SDShape.SetRefCircle("SD1", "SH1", 5, 5, 120) 'get reference circle shape property data ret = SapModel.PropFrame.SDShape.GetRefCircle("SD1", "SH1", XCenter, YCenter, Diameter) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetRefCircle

GetRefLine Syntax SapObject.SapModel.PropFrame.SDShape.GetRefLine

VB6 Procedure Function GetRefLine(ByVal Name As String, ByVal ShapeName As String, ByRef X1 As Double, ByRef Y1 As Double, ByRef X2 As Double, ByRef Y2 As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of a reference line shape in the section designer section. X1

The section designer X coordinate of the first drawn end point of the line pattern reinforcing. [L] Y1

The section designer Y coordinate of the first drawn end point of the line pattern reinforcing. [L] X2

The section designer X coordinate of the second drawn end point of the line pattern reinforcing. [L] Y2

The section designer Y coordinate of the second drawn end point of the line pattern reinforcing. [L]

Remarks This function retrieves property data for a reference line shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropRefLine() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatRebar As String Dim X1 As Double Dim Y1 As Double Dim X2 As Double Dim Y2 As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add Line Pattern Reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetRefLine("SD1", "SH1", 5, 5, 2, 2) 'get Reference Line shape property data ret = SapModel.PropFrame.SDShape.GetRefLine("SD1", "SH1", X1, Y1, X2, Y2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetRefLine

GetReinfCircle Syntax SapObject.SapModel.PropFrame.SDShape.GetReinfCircle

VB6 Procedure Function GetReinfCircle(ByVal Name As String, ByVal ShapeName As String, ByRef XCenter As Double, ByRef YCenter As Double, ByRef Diameter As Double, ByRef Numberbars As Long, ByRef Rotation As Double, ByRef RebarSize As String, ByRef MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of a circular reinforcing shape in the section designer section. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Diameter

The diameter of the circular shape. [L] NumberBars

The number of equally spaced bars for the circular reinforcing. Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Barsize

It is the size of the reinforcing bar. MatRebar

The material property for the reinforcing steel.

Remarks This function retrieves property data for a circular reinforcing shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropReinfCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatRebar As String Dim XCenter As Double Dim YCenter As Double Dim Diameter As Double Dim Numberbars As Long Dim Rotation As Double Dim RebarSize As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add circular reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfCircle("SD1", "SH1", 0, 0, 12, 4, 45, "#9", Name) 'get circular reinforcing shape property data

ret = SapModel.PropFrame.SDShape.GetReinfCircle("SD1", "SH1", Xcenter, Ycenter, Diameter, Numberbars, Rotation, RebarSize, MatRebar) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetReinfCircle

GetReinfCorner Syntax SapObject.SapModel.PropFrame.SDShape.GetReinfCorner

VB6 Procedure Function GetReinfCorner(ByVal Name As String, ByVal ShapeName As String, ByRef NumberItems As Long, ByRef PointNum() As Long, ByRef RebarSize() As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid rectangle shape in the specified frame section property. NumberItems

The number of edges in the shape. PointNum

This is an array that includes the corner point number in the shape. RebarSize

This is an array that includes None or the name of a defined rebar, indicating the rebar assignment to the considered corner point.

Remarks This function retrieves corner point reinforcing data for solid rectangle, circle and polygon shapes in a section designer property. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropReinfCorner() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim PointNum() As Long Dim RebarSize() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add solid rectangle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidRect("SD1", "SH1", "4000Psi", "Default", 0, 0, 24, 16, 0, -1, True, Name) 'specify corner reinforcing ret = SapModel.PropFrame.SDShape.SetReinfCorner("SD1", "SH1", 1, "#9", True) ret = SapModel.PropFrame.SDShape.SetReinfCorner("SD1", "SH1", 1, "#8")

'get corner point reinforcing ret = SapModel.PropFrame.SDShape.GetReinfCorner("SD1", "SH1", NumberItems, PointNum, RebarSize) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetReinfCorner SetReinfEdge GetReinfEdge

GetReinfEdge Syntax SapObject.SapModel.PropFrame.SDShape.GetReinfEdge

VB6 Procedure Function GetReinfEdge(ByVal Name As String, ByVal ShapeName As String, ByRef NumberItems As Long, ByRef EdgeNum() As Long, ByRef RebarSize() As String, ByRef Spacing() As Double, ByRef Cover() As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid rectangle shape in the specified frame section property. NumberItems

The number of edges in the shape. EdgeNum

This is an array that includes the edge number in the shape. RebarSize

This is an array that includes None or the name of a defined rebar, indicating the rebar assignment to the considered edge. Spacing

This is an array that includes the rebar maximum center-to-center along the considered edge. [L] Cover

This is an array that includes the rebar clear cover along the considered edge. [L]

Remarks This function retrieves edge reinforcing data for solid rectangle, circle, polygon, and rectangular reinforcing shapes in a section designer property. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropReinfEdge() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim EdgeNum() As Long Dim RebarSize() As String Dim Spacing() As Double Dim Cover() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add solid rectangle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidRect("SD1", "SH1", "4000Psi", "Default", 0, 0, 24, 16, 0, -1, True, Name) 'specify ret = 1, "#7", 8, ret =

edge reinforcing SapModel.PropFrame.SDShape.SetReinfEdge("SD1", "SH1", 1.75, True) SapModel.PropFrame.SDShape.SetReinfEdge("SD1", "SH1",

1, "#4", 4, 1.5) 'get edge reinforcing ret = SapModel.PropFrame.SDShape.GetReinfEdge("SD1", "SH1", NumberItems, EdgeNum, RebarSize, Spacing, Cover) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetReinfEdge SetReinfCorner GetReinfCorner

GetReinfLine Syntax SapObject.SapModel.PropFrame.SDShape.GetReinfLine

VB6 Procedure Function GetReinfLine(ByVal Name As String, ByVal ShapeName As String, ByRef X1 As Double, ByRef Y1 As Double, ByRef X2 As Double, ByRef Y2 As Double, ByRef Spacing As Double, ByRef RebarSize As String, ByRef EndBars As Boolean, ByRef MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of a line reinforcing shape in the section designer section. X1

The section designer X coordinate of the first drawn end point of the line reinforcing. [L] Y1

The section designer Y coordinate of the first drawn end point of the line reinforcing. [L] X2

The section designer X coordinate of the second drawn end point of the line reinforcing. [L] Y2

The section designer Y coordinate of the second drawn end point of the line reinforcing. [L] Spacing

The center-to-center spacing of the bars in the line pattern shape. [L] Bar Size

The size of the reinforcing bars used in the line reinforcing shape. EndBars

This item is True when there are bars at the end points of the line reinforcing. MatRebar

The material property for the reinforcing steel.

Remarks This function retrieves property data for a line reinforcing shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropReinfLine() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatRebar As String Dim X1 As Double Dim Y1 As Double Dim X2 As Double Dim Y2 As Double Dim Spacing As Double Dim RebarSize As String Dim EndBars As Boolean Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add line reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfLine("SD1", "SH1", 0, 0, 5, 2, 12, "#9", True, Name) 'get line reinforcing shape property data

ret = SapModel.PropFrame.SDShape.GetReinfLine("SD1", "SH1", X1, Y1, X2, Y2, Spacing, RebarSize, EndBars, MatRebar) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetReinfLine

GetReinfRectangular Syntax SapObject.SapModel.PropFrame.SDShape.GetReinfRectangular

VB6 Procedure Function GetReinfRectangular(ByVal Name As String, ByVal ShapeName As String, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef w As Double, ByRef Rotation As Double, ByRef MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of a rectangular reinforcing shape in the section designer section. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] w

The top flange width. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] MatRebar

The material property for the reinforcing steel.

Remarks This function retrieves property data for a rectangular reinforcing shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropReinfRectangular() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatRebar As String Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim w As Double Dim Rotation As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add rectangular reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfRectangular("SD1", "SH1", 0, 0, 12, 12, 45, Name) 'get rectangular reinforcing shape property data ret = SapModel.PropFrame.SDShape.GetReinfRectangular("SD1", "SH1", Xcenter, Ycenter, h, w, Rotation, MatRebar)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetReinfRectangular

GetReinfSingle Syntax SapObject.SapModel.PropFrame.SDShape.GetReinfSingle

VB6 Procedure Function GetReinfSingle(ByVal Name As String, ByVal ShapeName As String, ByRef XCenter As Double, ByRef YCenter As Double, ByRef RebarSize As String, ByRef MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of a single bar reinforcing shape in the section designer section. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Barsize

The size of the reinforcing bar. MatRebar

The material property for the reinforcing steel.

Remarks This function retrieves property data for a single bar reinforcing shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropReinfSingle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatRebar As String Dim XCenter As Double Dim YCenter As Double Dim RebarSize As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add single bar reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfSingle("SD1", "SH1", 5, 5, "#9", Name) 'get single bar reinforcing shape property data ret = SapModel.PropFrame.SDShape.GetReinfSingle("SD1", "SH1", XCenter, YCenter, RebarSize, MatRebar) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetReinfSingle

GetSolidCircle Syntax SapObject.SapModel.PropFrame.SDShape.GetSolidCircle

VB6 Procedure Function GetSolidCircle(ByVal Name As String, ByValShapeName As String, ByRefMatProp As String, ByRefSSOverwrite As String, ByRef Color As Long, ByRefXCenter As Double, ByRefYCenter As Double, Optional ByRefDiameter As Double, ByRefReinfAs Boolean, ByRefNumberBarsAs Long = 8, ByRef Rotation As Double, ByRef Cover As Double, ByRefRebarSize As String, ByRefMatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid circle shape in the specified frame section property. MatProp

The name of the material property for the shape. SSOverwrite

This is a blank string, Default, or the name of a defined stress-strain curve. If this item is a blank string or Default, the shape stress-strain curve is based on the assigned material property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Diameter

The diameter of the circle.[L] Reinf

This item is True when there is edge and corner reinforcing steel associated with the shape. The MatProp item must refer to a concrete material for this item to be True. # Bars

This item is visible only if the Reinforcing item is set to True. It is the number of equally spaced bars for the circular reinforcing. Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Barcover

This item is visible only if the Reinforcing item is set to True. It is the clear cover

for the specified rebar. Bar Size

This item is visible only if the Reinforcing item is set to True. It is the size of the reinforcing bar. MatRebar

The material property for the edge and corner reinforcing steel associated with the shape. This item applies only when the MatProp item is a concrete material and the Reinf item is True.

Remarks This function retrieves property data for a solid circle shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropSolidCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MatProp As String Dim SSOverwrite As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim Diameter As Long Dim Reinf As Boolean Dim NumberBars As Long Dim Rotation As Double Dim Cover As Double Dim RebarSize As String Dim MatRebar As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'addASTMA706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add solid circle shape to new property

ret = SapModel.PropFrame.SDShape.SetSolidCircle("SD1", "SH1", "4000psi", "Default", 0, 0, 12, -1, True, 16, 0, 16, "#4", Name) 'get solid circle shape property data ret = SapModel.PropFrame.SDShape.GetSolidCircle("SD1", "SH1", MatProp, SSOverwrite, Color, XCenter, YCenter, Diameter, Reinf, NumberBars, Rotation, Cover, RebarSize, MatRebar) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetSolidCircle

GetSolidRect Syntax SapObject.SapModel.PropFrame.SDShape.GetSolidRect

VB6 Procedure Function GetSolidRect(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef SSOverwrite As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef w As Double, ByRef Rotation As Double, ByRef Reinf As Boolean, ByRef MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid rectangle shape in the specified frame section property. MatProp

The name of the material property for the shape. SSOverwrite

This is a blank string, Default, or the name of a defined stress-strain curve. If this item is a blank string or Default, the shape stress-strain curve is based on the assigned material property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] w

The section width. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Reinf

This item is True when there is edge and corner reinforcing steel associated with the shape. The MatProp item must refer to a concrete material for this item to be True. MatRebar

The material property for the edge and corner reinforcing steel associated with the shape. This item applies only when the MatProp item is a concrete material

and the Reinf item is True.

Remarks This function retrieves property data for a solid rectangular shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropSolidRect() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MatProp As String Dim SSOverwrite As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim w As Double Dim Rotation As Double Dim Reinf As Boolean Dim MatRebar As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add solid rectangle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidRect("SD1", "SH1", "4000Psi", "Default", 0, 0, 24, 16, 0, -1, True, Name)

'get solid rectangle shape property data ret = SapModel.PropFrame.SDShape.GetSolidRect("SD1", "SH1", MatProp, SSOverwrite, Color, Xcenter, Ycenter, h, w, Rotation, Reinf, MatRebar) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetSolidRect

GetSolidSector Syntax SapObject.SapModel.PropFrame.SDShape.GetSolidSector

VB6 Procedure Function GetSolidSector(ByVal Name As String, ByValShapeName As String, ByRefMatProp As String, ByRef Color As Long, ByRefXCenter As Double, ByRefYCenter As Double, ByRef Angle As Double, ByRefRotation As Double, ByRef Radius As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid sector shape in the specified frame section property. MatProp

The name of the material property for the shape. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Angle

The angle between the two radii that define the circular sector. [deg] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Radius

The radius of the circle defining the Sector. [L]

Remarks This function retrieves property data for a solid sector shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropSolidSector() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MatProp As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim Angle As Double Dim Rotation As Double Dim Radius As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'addASTMA706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add solid sector shape to new property ret = SapModel.PropFrame.SDShape.SetSolidSector("SD1", "SH1", "4000Psi", 0, 0, 95, 0, 10, -1) 'get solid sector shape property data ret = SapModel.PropFrame.SDShape.GetSolidSector("SD1",

"SH1", MatProp, Color, Xcenter, Ycenter, Angle, Rotation, Radius) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetSolidSector

GetSolidSegment Syntax SapObject.SapModel.PropFrame.SDShape.GetSolidSegment

VB6 Procedure Function GetSolidSegment(ByVal Name As String, ByValShapeName As String, ByRefMatProp As String, ByRef Color As Long, ByRefXCenter As Double, ByRefYCenter As Double, ByRef Angle As Double, ByRefRotation As Double, ByRef Radius As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid segment shape in the specified frame section property. MatProp

The name of the material property for the shape. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Angle

The angle between lines drawn from the center of the circle to the end points of the chord tat defines the segment. [deg] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Radius

The radius of the circle defining the segment.

Remarks This function retrieves property data for a solid segment shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropSolidSegment() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MatProp As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim Angle As Double Dim Rotation As Double Dim Radius As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add solid segment shape to new property ret = SapModel.PropFrame.SDShape.SetSolidSegment("SD1", "SH1", "4000Psi", 0, 0, 95, 0, 10, -1) 'get solid segment shape property data ret = SapModel.PropFrame.SDShape.GetSolidSegment("SD1", "SH1", MatProp, Color, Xcenter, Ycenter, Angle, Rotation, Radius) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetSolidSegment

GetTee Syntax SapObject.SapModel.PropFrame.SDShape.GetTee

VB6 Procedure Function GetTee(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef bf As Double, ByRef tf As Double, ByRef tw As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Tee shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Tee property that has been imported from a section property file. If it is the name of a defined Tee property, the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section depth. [L] bf

The section width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for a Tee shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropTee() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim bf As Double Dim tf As Double Dim tw As Double Dim Rotation As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Tee shape to new property ret = SapModel.PropFrame.SDShape.SetTee("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'get Tee shape property data ret = SapModel.PropFrame.SDShape.GetTee("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, h, bf, tf, tw, Rotation)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetTee

GetTube Syntax SapObject.SapModel.PropFrame.SDShape.GetTube

VB6 Procedure Function GetTube(ByVal Name As String, ByVal ShapeName As String, ByRef MatProp As String, ByRef PropName As String, ByRef Color As Long, ByRef XCenter As Double, ByRef YCenter As Double, ByRef h As Double, ByRef w As Double, ByRef tf As Double, ByRef tw As Double, ByRef Rotation As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing Tube shape in the specified frame section property. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Tube property that has been imported from a section property file. If it is the name of a defined Tube property, the section dimensions are taken from that property. Color

The fill color assigned to the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] h

The section height. [L] w

The section width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg]

Remarks This function retrieves property data for a Tube shape in a section designer section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFrameSDPropTube() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatProp As String Dim PropName As String Dim Color As Long Dim XCenter As Double Dim YCenter As Double Dim h As Double Dim w As Double Dim tf As Double Dim tw As Double Dim Rotation As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Tube shape to new property ret = SapModel.PropFrame.SDShape.SetTube("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'get Tube shape property data ret = SapModel.PropFrame.SDShape.GetTube("SD1", "SH1", MatProp, PropName, Color, Xcenter, Ycenter, h, w, tf, tw, Rotation)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetTube

SetAngle Syntax SapObject.SapModel.PropFrame.SDShape.SetAngle

VB6 Procedure Function SetAngle(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal h As Double = 24, Optional ByVal bf As Double = 24, Optional ByVal tf As Double = 2.4, Optional ByVal tw As Double = 2.4) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Angle property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined Angle property that has been imported from a section property file, the section dimensions are taken from the specified Angle property. If this item is not blank, and the specified property name is not an Angle that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section depth. [L]

bf

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L]

Remarks This function adds a new Angle shape or modifies an existing shape to be an Angle shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Angle shape to new property ret = SapModel.PropFrame.SDShape.SetAngle("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetAngle

SetChannel Syntax SapObject.SapModel.PropFrame.SDShape.SetChannel

VB6 Procedure Function SetChannel (ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal h As Double = 24, Optional ByVal bf As Double = 24, Optional ByVal tf As Double = 2.4, Optional ByVal tw As Double = 2.4) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Channel property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined Channel property that has been imported from a section property file, the section dimensions are taken from the specified Channel property. If this item is not blank, and the specified property name is not an Channel that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section depth. [L]

bf

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L]

Remarks This function adds a new Channel shape or modifies an existing shape to be a Channel shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropChannel() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Channel shape to new property ret = SapModel.PropFrame.SDShape.SetChannel("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetChannel

SetDblAngle Syntax SapObject.SapModel.PropFrame.SDShape.SetDblAngle

VB6 Procedure Function SetDblAngle(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal h As Double = 24, Optional ByVal w As Double = 24, Optional ByVal tf As Double = 2.4, Optional ByVal tw As Double = 2.4, Optional ByVal dis As Double = 1.2) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined DblAngle property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined DblAngle property that has been imported from a section property file, the section dimensions are taken from the specified DblAngle property. If this item is not blank and the specified property name is not an DblAngle that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section depth. [L]

w

The flange width. [L] tf

The flange thickness. [L] tw

The web thickness. [L] dis

Separation between the two flanges that are parallel. [L]

Remarks This function adds a new Double Angle shape or modifies an existing shape to be an Double Angle shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropDblAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Double Angle shape to new property ret = SapModel.PropFrame.SDShape.SetDblAngle("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetDblAngle

SetISection Syntax SapObject.SapModel.PropFrame.SDShape.SetISection

VB6 Procedure Function SetISection(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal h As Double = 24, Optional ByVal bf As Double = 24, Optional ByVal tf As Double = 2.4, Optional ByVal tw As Double = 2.4, Optional ByVal bfb As Double = 24, Optional ByVal tfb As Double = 2.4) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined I-section property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined I-section property that has been imported from a section property file, the section dimensions are taken from the specified I-section property. If this item is not blank, and the specified property name is not an I-section that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section depth. [L]

bf

The top flange width. [L] tf

The top flange thickness. [L] tw

The web thickness. [L] bfb

The bottom flange width. [L] tfb

The bottom flange thickness. [L]

Remarks This function adds a new I-section shape or modifies an existing shape to be an I-section shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropISection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add I-section shape to new property ret = SapModel.PropFrame.SDShape.SetISection("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5, 6, 1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetISection

SetPipe Syntax SapObject.SapModel.PropFrame.SDShape.SetPipe

VB6 Procedure Function SetPipe(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, Optional ByVal Color As Long = -1, Optional ByVal diameter As Double = 24, Optional ByVal thickness As Double = 2.4) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Pipe property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined Pipe property that has been imported from a section property file, the section dimensions are taken from the specified Pipe property. If this item is not blank and the specified property name is not a Pipe that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. diameter

The outer diameter of the Pipe. [L] thickness

The wall thickness of the Pipe. [L]

Remarks This function adds a new Pipe shape or modifies an existing shape to be a Pipe shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropPipe() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Pipe shape to new property ret = SapModel.PropFrame.SDShape.SetPipe("SD1", "SH1", "A992Fy50", "", 0, -9, -1, 12, 1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetPipe

SetPlate Syntax SapObject.SapModel.PropFrame.SDShape.SetPlate

VB6 Procedure Function SetPlate(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal thickness As Double = 2.4, Optional ByVal w As Double = 24) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape,n that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. thickness

The thickness of the plate. [L] w

The width of the Plate. [L]

Remarks This function adds a new Plate shape or modifies an existing shape to be a Plate shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropPlate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Plate shape to new property ret = SapModel.PropFrame.SDShape.SetPlate("SD1", "SH1", "A992Fy50", 0, -9, 0, -1, 2, 6) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetPlate

SetPolygon Syntax SapObject.SapModel.PropFrame.SDShape.SetPolygon

VB6 Procedure Function SetPolygon(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal SSOverwrite As String, ByVal NumberPoints As Long, ByRef X() As Double, ByRef Y() As Double, ByRef Radius() As Double, Optional ByVal Color As Long = -1, Optional ByVal Reinf As Boolean = False, Optional ByVal MatRebar As String = "") As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. SSOverwrite

This is a blank string, Default, or the name of a defined stress-strain curve. If this item is a blank string or Default, the shape stress-strain curve is based on the assigned material property. NumberPoints

The number of point coordinates used to define the polygon. X

This is an array that contains the X-coordinates of the polygon points. [L] Y

This is an array that contains the Y-coordinates of the polygon points. [L] Radius

This is an array that contains the radius to be applied at each of the polygon points. [L] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. Reinf

This item is True when there is edge and corner reinforcing steel associated with the shape. If the MatProp item is not a concrete material, this item is always assumed to be False. MatRebar

The material property for the edge and corner reinforcing steel associated with

the shape. This item applies only when the MatProp item is a concrete material and the Reinf item is True.

Remarks This function adds a new polygon shape or modifies an existing shape to be a polygon shape in a section designer property. The polygon points must be defined in order around the polygon, otherwise the shape will be created incorrectly or the creation of the shape will fail. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero val .

VBA Example Sub SetFrameSDPropPolygon() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberPoints As Long Dim X() As Double Dim Y() As Double Dim Radius() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, eMatType.eMatType_Rebar, , , , , eMatTypeRebar.eMatTypeRebar_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add polygon shape to new property NumberPoints = 5 ReDim X(4) ReDim Y(4) ReDim Radius(4) X(0) = -26 Y(0) = -26 Radius(0) = 0

X(1) = -20 Y(1) = -20 Radius(1) = 5 X(2) = -25 Y(2) = 15 Radius(2) = 0 X(3) = 20 Y(3) = 12 Radius(3) = 3 X(4) = 25 Y(4) = -15 Radius(4) = 0 ret = SapModel.PropFrame.SDShape.SetPolygon("SD1", "SH1", "4000Psi", "Default", NumberPoints, X, Y, Radius, -1, True, Name)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.1.0.

See Also GetPolygon

SetRefCircle Syntax SapObject.SapModel.PropFrame.SDShape.SetRefCircle

VB6 Procedure Function SetRefCircle(ByVal Name As String, ByRef ShapeName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Diameter As Double)As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Diameter

The diameter of the circular shape. [L]

Remarks This function adds a new reference circle shape or modifies an existing shape to be a reference circle shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropRefCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add reference circle shape to new property ret = SapModel.PropFrame.SDShape.SetRefCircle("SD1", "SH1", 0, 0, 12) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetRefCircle

SetRefLine Syntax SapObject.SapModel.PropFrame.SDShape.SetRefLine

VB6 Procedure Function SetRefLine(ByVal Name As String, ByRef ShapeName As String, ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. X1

The section designer X coordinate of the first drawn end point of the line pattern reinforcing. [L] Y1

The section designer Y coordinate of the first drawn end point of the line pattern reinforcing. [L] X2

The section designer X coordinate of the second drawn end point of the line pattern reinforcing. [L] Y2

The section designer Y coordinate of the second drawn end point of the line pattern reinforcing. [L]

Remarks This function adds a new reference line shape or modifies an existing shape to be a reference line shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropRefLine() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add Line Pattern Reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetRefLine("SD1", "SH1", 5, 5, 2, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetRefLine

SetReinfCircle Syntax SapObject.SapModel.PropFrame.SDShape.SetReinfCircle

VB6 Procedure Function SetReinfCircle(ByVal Name As String, ByRef ShapeName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Diameter As Double, ByVal Numberbars As Long, ByVal Rotation As Double, ByVal RebarSize As Double, Optional ByVal MatRebar As String = "") As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Diameter

The diameter of the circular shape. [L] NumberBars

The number of equally spaced bars for the circular reinforcing. Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Barsize

It is the size of the reinforcing bar. MatRebar

The material property for the reinforcing steel.

Remarks This function adds a new circular reinforcing shape or modifies an existing shape to be an circular reinforcing shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropReinfCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add circular reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfCircle("SD1", "SH1", 0, 0, 12, 4, 45, "#9", Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetReinfCircle

SetReinfCorner Syntax SapObject.SapModel.PropFrame.SDShape.SetReinfCorner

VB6 Procedure Function SetReinfCorner(ByVal Name As String, ByRef ShapeName As String, ByVal PointNum As Long, ByVal RebarSize As String, Optional ByVal All As Boolean = False) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid rectangle, circle or polygon shape in the specified section. PointNum

An corner point number in the shape. This item is ignored if the All item is True. RebarSize

This is None or the name of a defined rebar, indicating the rebar assignment to the specified corner. All

If this item is True, the specified rebar data applies to all corners in the shape.

Remarks This function specifies corner reinforcing in solid rectangle, circle and polygon shapes in a section designer property. The function returns zero if the reinforcing is successfully specified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropReinfCorner() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add solid rectangle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidRect("SD1", "SH1", "4000Psi", "Default", 0, 0, 24, 16, 0, -1, True, Name) 'specify corner reinforcing ret = SapModel.PropFrame.SDShape.SetReinfCorner("SD1", "SH1", 1, "#9", True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetReinfCorner SetReinfEdge GetReinfEdge

SetReinfEdge Syntax SapObject.SapModel.PropFrame.SDShape.SetReinfEdge

VB6 Procedure Function SetReinfEdge(ByVal Name As String, ByRef ShapeName As String, ByVal EdgeNum As Long, ByVal RebarSize As String, ByVal Spacing As Double, ByVal Cover As Double, Optional ByVal All As Boolean = False) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing solid rectangle, circle or polygon shape in the specified section. EdgeNum

An edge number in the shape. This item is ignored if the All item is True. RebarSize

This is None or the name of a defined rebar, indicating the rebar assignment to the specified edge. Spacing

This is the rebar maximum center-to-center along the specified edge. [L] Cover

This is the rebar clear cover along the specified edge. [L] All

If this item is True, the specified rebar data applies to all edges in the shape.

Remarks This function specifies edge reinforcing in solid rectangle, circle, polygon and rectangular reinforcing shapes in a section designer property. The function returns zero if the reinforcing is successfully specified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropReinfEdge() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add solid rectangle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidRect("SD1", "SH1", "4000Psi", "Default", 0, 0, 24, 16, 0, -1, True, Name) 'specify edge reinforcing ret = SapModel.PropFrame.SDShape.SetReinfEdge("SD1", "SH1", 1, "#7", 8, 1.75, True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetReinfEdge SetReinfCorner GetReinfCorner

SetReinfLine Syntax SapObject.SapModel.PropFrame.SDShape.SetReinfLine

VB6 Procedure Function SetReinfLine(ByVal Name As String, ByRef ShapeName As String, ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double, Optional ByVal Spacing As Double = 6, Optional ByVal RebarSize As String = "", Optional ByVal EndBars As Boolean = False, ByVal MatRebar As String) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. X1

The section designer X coordinate of the first drawn end point of the line reinforcing. [L] Y1

The section designer Y coordinate of the first drawn end point of the line reinforcing. [L] X2

The section designer X coordinate of the second drawn end point of the line reinforcing. [L] Y2

The section designer Y coordinate of the second drawn end point of the line reinforcing. [L] Spacing

The center-to-center spacing of the bars in the line pattern shape. [L] Bar Size

The size of the reinforcing bars used in the line reinforcing shape. EndBars

This item is True when there are bars at the end points of the line reinforcing. MatRebar

The material property for the reinforcing steel.

Remarks This function adds a new line reinforcing shape or modifies an existing shape to be a line reinforcing shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropReinfLine() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add Line Pattern Reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfLine("SD1", "SH1", 0, 0, 5, 2, 12, "#9", True, Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetReinfLine

SetReinfRectangular Syntax SapObject.SapModel.PropFrame.SDShape.SetReinfRectangular

VB6 Procedure Function SetReinfRectangular(ByVal Name As String, ByRef ShapeName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, ByVal h As Double, ByVal w As Double, Optional ByVal MatRebar As String = "") As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] h

The section depth. [L] w

The top flange width. [L] MatRebar

The material property for the reinforcing steel.

Remarks This function adds a new rectangular reinforcing shape or modifies an existing shape to be a rectangular reinforcing shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropReinfRectangular() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add rectangular reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfRectangular("SD1", "SH1", 0, 0, 12, 12, 45, Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetReinfRectangular

SetReinfSingle Syntax SapObject.SapModel.PropFrame.SDShape.SetReinfSingle

VB6 Procedure Function SetReinfSingle(ByVal Name As String, ByRef ShapeName As String, ByVal XCenter As Double, ByVal YCenter As Double, Optional ByVal RebarSize As String = "", Optional ByRef MatRebar As String = "") As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Barsize

It is the size of the reinforcing bar. MatRebar

The material property for the reinforcing steel.

Remarks This function adds a new single bar reinforcing shape or modifies an existing shape to be a single bar reinforcing shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropReinfSingle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000psi") 'add single bar reinforcing shape to new property ret = SapModel.PropFrame.SDShape.SetReinfSingle("SD1", "SH1", 5, 5, "#9", Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetReinfSingle

SetSolidCircle Syntax SapObject.SapModel.PropFrame.SDShape.SetSolidCircle

VB6 Procedure Function SetSolidCircle(ByVal Name As String, ByRefShapeNameAs String, ByValMatProp As String, ByValSSOverwrite As String, ByValXCenter As Double, ByValYCenter As Double, Optional ByVal diameter As Double = 24, Optional ByVal color As Long = -1, Optional ByValReinf As Boolean = False, Optional ByValNumberBars As Long = 8, Option ByVal Rotation As Double = 22.5, Optional ByVal Cover As Double = 2, Optional ByValRebarSize As String = "", Optional ByValMatRebar As String = "") As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. SSOverwrite

This is a blank string, Default, or the name of a defined stress-strain curve. If this item is a blank string or Default, the shape stress-strain curve is based on the assigned material property. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Diameter

The diameter of the circle.[L] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. Reinf

This item is True when there is edge and corner reinforcing steel associated with the shape. If the MatProp item is not a concrete material, this item is always assumed to be False. # Bars

This item is visible only if the Reinforcing item is set to True. It is the number of equally spaced bars for the circular reinforcing.

Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Bar Cover

This item is visible only if the Reinforcing item is set to True. It is the clear cover for the specified rebar. [L] Barsize

This item is visible only if the Reinforcing item is set to True. It is the size of the reinforcing bar. MatRebar

The material property for the edge and corner reinforcing steel associated with the shape. This item applies only when the MatProp item is a concrete material and the Reinf item is True.

Remarks This function adds a new solid circle shape or modifies an existing shape to be a solid circle shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropSolidCircle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'addASTMA706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add solid circle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidCircle("SD1", "SH1", "4000psi", "Default", 0, 0, 12, -1, True, 16, 0, 16, "#4", Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetSolidCircle

SetSolidRect Syntax SapObject.SapModel.PropFrame.SDShape.SetSolidRect

VB6 Procedure Function SetSolidRect(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal SSOverwrite As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal h As Double, ByVal w As Double, ByVal Rotation As Double, Optional ByVal color As Long = -1, Optional ByVal Reinf As Boolean = False, Optional ByVal MatRebar As String = "") As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. SSOverwrite

This is a blank string, Default, or the name of a defined stress-strain curve. If this item is a blank string or Default, the shape stress-strain curve is based on the assigned material property. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section depth. [L] w

The section width. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will

automatically assign the default fill color. Reinf

This item is True when there is edge and corner reinforcing steel associated with the shape. If the MatProp item is not a concrete material, this item is always assumed to be False. MatRebar

The material property for the edge and corner reinforcing steel associated with the shape. This item applies only when the MatProp item is a concrete material and the Reinf item is True.

Remarks This function adds a new solid rectangle shape or modifies an existing shape to be an solid rectangle shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropSolidRect() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add solid rectangle shape to new property ret = SapModel.PropFrame.SDShape.SetSolidRect("SD1", "SH1", "4000Psi", "Default", 0, 0, 24, 16, 0, -1, True, Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetSolidRect

SetSolidSector Syntax SapObject.SapModel.PropFrame.SDShape.SetSolidSector

VB6 Procedure Function SetSolidSector(ByVal Name As String, ByRefShapeName As String, ByValMatProp As String, ByValXCenter As Double, ByValYCenter As Double, ByVal Angle As Double, ByVal Rotation As Double, ByValRadius As Double, Optional ByVal Color As Long = -1) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Angle

The angle between the two radii that define the circular sector. [deg] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Radius

The radius of the circle defining the Sector. [L] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color.

Remarks This function adds a new solid sector shape or modifies an existing shape to be a solid sector shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropSolidSector() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'addASTMA706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add solid sector shape to new property ret = SapModel.PropFrame.SDShape.SetSolidSector("SD1", "SH1", "4000Psi", 0, 0, 95, 0, 10, -1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetSolidSector

SetSolidSegment Syntax SapObject.SapModel.PropFrame.SDShape.SetSolidSegment

VB6 Procedure Function SetSolidSegment(ByVal Name As String, ByRefShapeName As String, ByValMatProp As String, ByValXCenter As Double, ByValYCenter As Double, ByVal Angle As Double, ByVal Rotation As Double, ByValRadius as Double, Optional ByVal Color As Long = -1) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Angle

The angle between lines drawn from the center of the circle to the end points of the chord tat defines the segment. [deg] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Radius

The radius of the circle defining the segment. Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color.

Remarks This function adds a new solid segment shape or modifies an existing shape to be a solid segment shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropSolidSegment() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "4000Psi") 'add solid segment shape to new property ret = SapModel.PropFrame.SDShape.SetSolidSegment("SD1", "SH1", "4000Psi", 0, 0, 95, 0, 10, -1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetSolidSegment

SetTee Syntax SapObject.SapModel.PropFrame.SDShape.SetTee

VB6 Procedure Function SetTee(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal h As Double = 24, Optional ByVal bf As Double = 24, Optional ByVal tf As Double = 2.4, Optional ByVal tw As Double = 2.4) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Tee property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined Tee property that has been imported from a section property file, the section dimensions are taken from the specified Tee property. If this item is not blank, and the specified property name is not a Tee that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section depth. [L]

bf

The section width. [L] tf

The flange thickness. [L] tw

The web thickness. [L]

Remarks This function adds a new Tee shape or modifies an existing shape to be a Tee shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropTee() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Tee shape to new property ret = SapModel.PropFrame.SDShape.SetTee("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetTee

SetTube Syntax SapObject.SapModel.PropFrame.SDShape.SetTube

VB6 Procedure Function SetTube(ByVal Name As String, ByRef ShapeName As String, ByVal MatProp As String, ByVal PropName As String, ByVal XCenter As Double, ByVal YCenter As Double, ByVal Rotation As Double, Optional ByVal Color As Long = -1, Optional ByVal h As Double = 24, Optional ByVal w As Double = 24, Optional ByVal tf As Double = 2.4, Optional ByVal tw As Double = 2.4) As Long

Parameters Name

The name of an existing frame section property that is a section designer section. ShapeName

The name of an existing or new shape in a section designer property. If this is an existing shape, that shape is modified; otherwise, a new shape is added. This item may be input as a blank string, in which case the program will assign a shape name to the shape and return that name in the ShapeName variable. MatProp

The name of the material property for the shape. PropName

This is a blank string or the name of a defined Tube property that has been imported from a section property file. If this item is a blank string, the section dimensions are taken from the values input in this function. If this item is the name of a defined Tube property that has been imported from a section property file, the section dimensions are taken from the specified Tube property. If this item is not blank and the specified property name is not an Tube that was imported from a section property file, an error is returned. XCenter

The X-coordinate of the center of the shape in the section designer coordinate system. [L] YCenter

The Y-coordinate of the center of the shape in the section designer coordinate system. [L] Rotation

The counter clockwise rotation of the shape from its default orientation. [deg] Color

The fill color assigned to the shape. If Color is specified as -1, the program will automatically assign the default fill color. h

The section height. [L]

w

The section width. [L] tf

The flange thickness. [L] tw

The web thickness. [L]

Remarks This function adds a new Tube shape or modifies an existing shape to be a Tube shape in a section designer property. The function returns zero if the shape is successfully added or modified; otherwise it returns a nonzero value.

VBA Example Sub SetFrameSDPropTube() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add new section designer frame section property ret = SapModel.PropFrame.SetSDSection("SD1", "A992Fy50") 'add Tube shape to new property ret = SapModel.PropFrame.SDShape.SetTube("SD1", "SH1", "A992Fy50", "", 0, -9, 0, -1, 18, 6, 1, 0.5) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetTube

AddMaterial Syntax SapObject.SapModel.PropMaterial.AddMaterial

VB6 Procedure Function AddMaterial(ByRef Name As String, ByVal MatType As eMatType, ByVal Region As String, ByVal Standard As String, ByVal Grade As String, Optional ByVal UserName As String = "") As Long

Parameters Name

This item is returned by the program. It is the name that the program ultimately assigns for the material property. If no UserName is specified, the program assigns a default name to the material property. If a UserName is specified and that name is not used for another material property, the UserName is assigned to the material property. MatType

This is one of the following items in the eMatType enumeration. MATERIAL_STEEL = 1 MATERIAL_CONCRETE = 2 MATERIAL_NODESIGN = 3 MATERIAL_ALUMINUM = 4 MATERIAL_COLDFORMED = 5 MATERIAL_REBAR = 6 MATERIAL_TENDON = 7 Region

The region name of the material property that is user-predefined in the file "CSiMaterialLibrary*.xml" located in subfolder "Property Libraries" under the CSiBridge installation. Standard

The Standard name of the material property with the specified MatType within the specified region. Grade

The Grade name of the material property with the specified MatType within the specified region and Standard. UserName

This is an optional user specified name for the material property. If a UserName is specified and that name is already used for another material property, the program ignores the UserName.

Remarks This function adds a new material property to the model based on the Codespecified and other pre-defined material properties defined in the installed file "CSiMaterialLibrary*.xml" located in subfolder "Property Libraries" under the CSiBridge installation folder. The function returns zero if the material property is successfully added, otherwise it returns a nonzero value.

VBA Example Sub AddMaterial() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add ASTM A706 rebar material property in United states Region ret = SapModel.PropMaterial.AddMaterial(Name, MATERIAL_REBAR, "United States", "ASTM A706", "Grade 60") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.2.0. The function supercedes AddQuick as of version 15.2.0.

ChangeName Syntax SapObject.SapModel.PropMaterial.ChangeName

VB6 Procedure Function ChangeName(ByVal Name As String, ByVal NewName As String) As Long

Parameters Name

The existing name of a defined material property. NewName

The new name for the material property.

Remarks This function changes the name of an existing material property. The function returns zero if the new name is successfully applied; otherwise it returns a nonzero value.

VBA Example Sub ChangeMaterialName() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'change name of material property ret = SapModel.PropMaterial.ChangeName("4000Psi", "MatConc") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

Count Syntax SapObject.SapModel.PropMaterial.Count

VB6 Procedure Function Count(Optional ByVal MatType As eMatType) As Long

Parameters MatType

This optional value is one of the following items in the eMatType enumeration. MATERIAL_STEEL = 1 MATERIAL_CONCRETE = 2 MATERIAL_NODESIGN = 3 MATERIAL_ALUMINUM = 4 MATERIAL_COLDFORMED = 5 MATERIAL_REBAR = 6 MATERIAL_TENDON = 7

If no value is input for MatType, a count is returned for all material properties in the model regardless of type.

Remarks This function returns the total number of defined material properties in the model. If desired, counts can be returned for all material properties of a specified type in the model.

VBA Example Sub CountMaterials() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'return number of defined materials of all types Count = SapModel.PropMaterial.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

Delete Syntax SapObject.SapModel.PropMaterial.Delete

VB6 Procedure Function Delete(ByVal Name As String) As Long

Parameters Name

The name of an existing material property.

Remarks The function deletes a specified material property. The function returns zero if the material property is successfully deleted; otherwise it returns a nonzero value. It returns an error if the specified material property can not be deleted, for example, if it is being used in a section property.

VBA Example Sub DeleteMaterial() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'delete material ret = SapModel.PropMaterial.Delete("4000Psi") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

GetDamping Syntax SapObject.SapModel.PropMaterial.GetDamping

VB6 Procedure Function GetDamping(ByVal Name As String, ByRef ModalRatio As Double, ByRef ViscousMassCoeff As Double, ByRef ViscousStiffCoeff As Double, ByRef HystereticMassCoeff As Double, ByRef HystereticStiffCoeff As Double, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing material property. ModalRatio

The modal damping ratio. ViscousMassCoeff

The mass coefficient for viscous proportional damping. ViscousStiffCoeff

The stiffness coefficient for viscous proportional damping. HystereticMassCoeff

The mass coefficient for hysteretic proportional damping. HystereticStiffCoeff

The stiffness coefficient for hysteretic proportional damping. Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been previously defined for the material.

Remarks This function retrieves the additional material damping data for the material. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetMatPropDamping() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ModalRatio As Double Dim ViscousMassCoeff As Double Dim ViscousStiffCoeff As Double Dim HystereticMassCoeff As Double Dim HystereticStiffCoeff As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Steel", MATERIAL_STEEL) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Conc", MATERIAL_CONCRETE) 'assign material damping data ret = SapModel.PropMaterial.SetDamping("Conc", 0.04, 0, 0, 0, 0) 'get material damping data ret = SapModel.PropMaterial.GetDamping("Conc", ModalRatio, ViscousMassCoeff, ViscousStiffCoeff, HystereticMassCoeff, HystereticStiffCoeff)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetDamping

GetMaterial Syntax SapObject.SapModel.PropMaterial.GetMaterial

VB6 Procedure Function GetMaterial(ByVal Name As String, ByRef MatType As eMatType, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing material property. MatType

This is one of the following items in the eMatType enumeration. MATERIAL_STEEL = 1 MATERIAL_CONCRETE = 2 MATERIAL_NODESIGN = 3 MATERIAL_ALUMINUM = 4 MATERIAL_COLDFORMED = 5 MATERIAL_REBAR = 6 MATERIAL_TENDON = 7 Color

The display color assigned to the material. Notes

The notes, if any, assigned to the material. GUID

The GUID (global unique identifier), if any, assigned to the material.

Remarks This function retrieves some basic material property data. The function returns zero if the material is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetBasicMatPropData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MatType As eMatType Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Steel", MATERIAL_STEEL, -1, "API example test", "Default") 'get basic material property data ret = SapModel.PropMaterial.GetMaterial("Steel", MatType, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetMaterial

GetMPAnisotropic Syntax SapObject.SapModel.PropMaterial.GetMPAnisotropic

VB6 Procedure Function GetMPAnisotropic(ByVal Name As String, ByRef e As Double, ByRef u As Double, ByRef a As Double, ByRef g As Double, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing material property. e

This is an array that includes the modulus of elasticity. e(0) = E1 [F/L2] e(1) = E2 [F/L2] e(2) = E3 [F/L2] u

This is an array that includes poisson’s ratio. u(0) = U12 u(1) = U13 u(2) = U23 u(3) = U14 u(4) = U24 u(5) = U34 u(6) = U15 u(7) = U25 u(8) = U35 u(9) = U45 u(10) = U16 u(11) = U26 u(12) = U36 u(13) = U46 u(14) = U56 a

This is an array that includes the thermal coefficient. a(0) a(1) a(2) a(3) a(4) a(5)

= = = = = =

A1 [1/T] A2 [1/T] A3 [1/T] A12 [1/T] A13 [1/T] A23 [1/T]

g

This is an array that includes the shear modulus. g(0) = G12 [F/L2] g(1) = G13 [F/L2] g(2) = G23 [F/L2]

Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been previously defined for the material.

Remarks This function retrieves the mechanical properties for a material with an anisotropic directional symmetry type. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the symmetry type of the specified material is not anisotropic.

VBA Example Sub GetMatPropAnisotropic() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyE() As Double Dim MyU() As Double Dim MyA() As Double Dim MyG() As Double Dim e() As Double Dim u() As Double Dim a() As Double Dim g() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Steel", MATERIAL_STEEL) 'assign anisotropic mechanical properties ReDim MyE(2) ReDim MyU(14) ReDim MyA(6) ReDim MyG(2) MyE(0)=30000 MyE(1)=10000 MyE(2)=2000 MyU(0)=0.2

MyU(1)=0.05 MyU(2)=0.1 MyU(3)=0 MyU(4)=0 MyU(5)=0 MyU(6)=0 MyU(7)=0 MyU(8)=0.01 MyU(9)=0 MyU(10)=0 MyU(11)=0 MyU(12)=0 MyU(13)=0 MyU(14)=0 MyA(0)=6.5E-6 MyA(1)=6.5E-6 MyA(2)=6.5E-6 MyA(3)=6.5E-6 MyA(4)=6.5E-6 MyA(5)=6.5E-6 MyG(0)=1500 MyG(1)=2500 MyG(2)=8700 ret = SapModel.PropMaterial.SetMPAnisotropic("Steel", MyE, MyU, MyA, MyG) 'get anisotropic mechanical properties ret = SapModel.PropMaterial.GetMPAnisotropic("Steel", e, u, a, g) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetMPAnisotropic

GetMPIsotropic Syntax SapObject.SapModel.PropMaterial.GetMPIsotropic

VB6 Procedure Function GetMPIsotropic(ByVal Name As String, ByRef e As Double, ByRef u As Double, ByRef a As Double, ByRef g As Double, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing material property. e

The modulus of elasticity. [F/L2] u

Poisson’s ratio. a

The thermal coefficient. [1/T] g

The shear modulus. For isotropic materials this value is program calculated from the modulus of elasticity and poisson’s ratio. [F/L2] Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been defined previously for the material.

Remarks This function retrieves the mechanical properties for a material with an isotropic directional symmetry type. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the symmetry type of the specified material is not isotropic.

VBA Example Sub GetMatPropIsotropic() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim e As Double Dim u As Double Dim a As Double Dim g As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Steel", MATERIAL_STEEL) 'assign isotropic mechanical properties ret = SapModel.PropMaterial.SetMPIsotropic("Steel", 29500, 0.25, 6E-06) 'get isotropic mechanical properties ret = SapModel.PropMaterial.GetMPIsotropic("Steel", e, u, a, g) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetMPIsotropic

GetMPOrthotropic Syntax SapObject.SapModel.PropMaterial.GetMPOrthotropic

VB6 Procedure Function GetMPOrthotropic(ByVal Name As String, ByRef e As Double, ByRef u As Double, ByRef a As Double, ByRef g As Double, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing material property. e

This is an array that includes the modulus of elasticity. e(0) = E1 [F/L2] e(1) = E2 [F/L2] e(2) = E3 [F/L2] u

This is an array that includes poisson’s ratio. u(0) = U12 u(1) = U13 u(2) = U23 a

This is an array that includes the thermal coefficient. a(0) = A1 [1/T] a(1) = A2 [1/T] a(2) = A3 [1/T] g

This is an array that includes the shear modulus. g(0) = G12 [F/L2] g(1) = G13 [F/L2] g(2) = G23 [F/L2] Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been defined previously for the material.

Remarks This function retrieves the mechanical properties for a material with an orthotropic directional symmetry type. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the symmetry type of the specified material is not orthotropic.

VBA Example Sub GetMatPropOrthotropic() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyE() As Double Dim MyU() As Double Dim MyA() As Double Dim MyG() As Double Dim e() As Double Dim u() As Double Dim a() As Double Dim g() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Steel", MATERIAL_STEEL) 'assign orthotropic mechanical properties ReDim MyE(2) ReDim MyU(2) ReDim MyA(2) ReDim MyG(2) MyE(0)=30000 MyE(1)=10000 MyE(2)=2000 MyU(0)=0.2

MyU(1)=0.05 MyU(2)=0.1 MyA(0)=6.5E-6 MyA(1)=6.5E-6 MyA(2)=6.5E-6 MyG(0)=1500 MyG(1)=2500 MyG(2)=8700 ret = SapModel.PropMaterial.SetMPOrthotropic("Steel", MyE, MyU, MyA, MyG) 'get orthotropic mechanical properties ret = SapModel.PropMaterial.GetMPOrthotropic("Steel", e, u, a, g) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetMPOrthotropic

GetMPUniaxial Syntax SapObject.SapModel.PropMaterial.GetMPUniaxial

VB6 Procedure Function GetMPUniaxial(ByVal Name As String, ByRef e As Double, ByRef a As Double, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing material property. e

The modulus of elasticity. [F/L2] a

The thermal coefficient. [1/T] Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been previously defined for the material.

Remarks This function retrieves the mechanical properties for a material with a uniaxial directional symmetry type. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the symmetry type of the specified material is not uniaxial.

VBA Example Sub GetMatPropUniaxial() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim e As Double Dim a As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Rebar", MATERIAL_REBAR) 'assign uniaxial mechanical properties ret = SapModel.PropMaterial.SetMPUniaxial("Rebar", 28500, 6E-06) 'get uniaxial mechanical properties ret = SapModel.PropMaterial.GetMPUniaxial("Rebar", e, a) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetMPUniaxial

GetNameList Syntax SapObject.SapModel.PropMaterial.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String, Optional ByVal MatType As eMatType) As Long

Parameters NumberNames

The number of material property names retrieved by the program. MyName

This is a one-dimensional array of material property names. The MyName array is created as a dynamic, zero-based, array by the API user: Dim MyName() as String

The array is dimensioned to (NumberNames - 1) inside the SAP2000 program, filled with the names, and returned to the API user. MatType

This optional value is one of the following items in the eMatType enumeration. MATERIAL_STEEL = 1 MATERIAL_CONCRETE = 2 MATERIAL_NODESIGN = 3 MATERIAL_ALUMINUM = 4 MATERIAL_COLDFORMED = 5 MATERIAL_REBAR = 6 MATERIAL_TENDON = 7

If no value is input for MatType, names are returned for all material properties in the model regardless of type.

Remarks This function retrieves the names of all defined material properties of the specified type. The function returns zero if the names are successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetMaterialNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get material property names ret = SapModel.PropMaterial.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also

GetOAluminum Syntax SapObject.SapModel.PropMaterial.GetOAluminum

VB6 Procedure Function GetOAluminum(ByVal Name As String, ByVal MyType As Long, ByRef Alloy As String, ByRef Fcy As Double, ByRef Fty As Double, ByRef Ftu As Double, ByRef Fsu As Double, ByRef SSHysType As Long, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing aluminum material property. MyType

This is 1, 2 or 3, indicating the type of aluminum. 1 = Wrought 2 = Cast-Mold 3 = Cast-Sand Alloy

The Alloy designation for the aluminum, for example, 2014-T6 for wrought or 356.0-T7 for cast (mold or sand) aluminum. Fcy

The compressive yield strength of aluminum. [F/L2] Fty

The tensile yield strength of aluminum. [F/L2] Ftu

The tensile ultimate strength of aluminum. [F/L2] Fsu

The shear ultimate strength of aluminum. [F/L2] SSHysType

This is 0, 1 or 2, indicating the stress-strain hysteresis type. 0 = Elastic 1 = Kinematic 2 = Takeda Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been defined previously for the material.

Remarks This function retrieves the other material property data for aluminum materials. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the specified material is not aluminum.

VBA Example Sub GetMatPropAluminumData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyType As Long Dim Alloy As String Dim Fcy As Double Dim Fty As Double Dim Ftu As Double Dim Fsu As Double Dim SSHysType As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("Aluminum", MATERIAL_ALUMINUM) 'assign other properties ret = SapModel.PropMaterial.SetOAluminum("Aluminum", 1, "2014-T6", 34, 34, 37, 23, 2) 'get other properties ret = SapModel.PropMaterial.GetOAluminum("Aluminum", MyType, Alloy, Fcy, Fty, Ftu, Fsu, SSHysType) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetOAluminum

GetOColdFormed Syntax SapObject.SapModel.PropMaterial.GetOColdFormed

VB6 Procedure Function GetOColdFormed(ByVal Name As String, ByRef Fy As Double, ByRef Fu As Double, ByRef SSHysType As Long, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing cold formed material property. Fy

The minimum yield stress. [F/L2] Fu

The minimum tensile stress. [F/L2] SSHysType

This is 0, 1 or 2, indicating the stress-strain hysteresis type. 0 = Elastic 1 = Kinematic 2 = Takeda Temp

This item applies only if the specified material has properties that are temperature dependent. That is, it applies only if properties are specified for the material at more than one temperature. This item is the temperature at which the specified data is to be retrieved. The temperature must have been defined previously for the material.

Remarks This function retrieves the other material property data for cold formed materials. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the specified material is not cold formed.

VBA Example Sub GetMatPropColdFormedData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Fy As Double Dim Fu As Double Dim SSHysType As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'initialize new material property ret = SapModel.PropMaterial.SetMaterial("ColdFormed", MATERIAL_COLDFORMED) 'assign other properties ret = SapModel.PropMaterial.SetOColdFormed("ColdFormed", 52, 67, 1) 'get other properties ret = SapModel.PropMaterial.GetOColdFormed("ColdFormed", Fy, Fu, SSHysType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02.

See Also SetOColdFormed

GetOConcrete_1 Syntax SapObject.SapModel.PropMaterial.GetOConcrete_1

VB6 Procedure Function GetOConcrete_1(ByVal Name As String, ByRef fc As Double, ByRef IsLightweight As Boolean, ByRef fcsfactor As Double, ByRef SSType As Long, ByRef SSHysType As Long, ByRef StrainAtfc As Double, ByRef StrainUltimate As Double, ByRef FinalSlope As Double, ByRef FrictionAngle As Double, ByRef DilatationalAngle As Double, Optional ByVal Temp As Double = 0) As Long

Parameters Name

The name of an existing concrete material property. fc

The concrete compressive strength. [F/L2] IsLightweight

If this item is True, the concrete is assumed to be lightweight concrete. fcsfactor

The shear strength reduction factor for lightweight concrete. SSType

This is 0, 1 or 2, indicating the stress-strain curve type. 0 = User defined 1 = Parametric - Simple 2 = Parametric - Mander SSHysType

This is 0, 1 or 2, indicating the stress-strain hysteresis type. 0 = Elastic 1 = Kinematic 2 = Takeda StrainAtfc

This item applies only to parametric stress-strain curves. It is the strain at the unconfined compressive strength. StrainUltimate

This item applies only to parametric stress-strain curves. It is the ultimate unconfined strain capacity. FinalSlope

This item applies only to parametric stress-strain curves. It is a multiplier on the material modulus of elasticity, E. This value multiplied times E gives the final slope on the compression side of the curve. FrictionAngle

The Drucker-Prager friction angle, 0 0 = Edge face

Note that edge face n is from area object point n to area object point n + 1. For example, edge face 2 is from area object point 2 to area object point 3. SpringLocalOneType

Each value in this array is 1, 2 or 3, indicating the method used to specify the spring positive local 1-axis orientation. 1 = Parallel to area object local axis 2 = Normal to specified area object face

3 = User specified direction vector Dir

Each value in this array is 1, 2, 3, -1, -2 or -3, indicating the area object local axis that corresponds to the positive local 1-axis of the spring. This item applies only when the corresponding SpringLocalOneType = 1. Outward

Each value in this array is True if the spring positive local 1 axis is outward from the specified area object face. This item applies only when SpringLocalOneType = 2. VecX

Each value in this array is the X-axis or area object local 1-axis component (depending on the CSys specified) of the user specified direction vector for the spring local 1-axis. The direction vector is in the coordinate system specified by the CSys item. This item applies only when the corresponding SpringLocalOneType = 3. VecY

Each value in this array is the Y-axis or area object local 2-axis component (depending on the CSys specified) of the user specified direction vector for the spring local 1-axis. The direction vector is in the coordinate system specified by the CSys item. This item applies only when the corresponding SpringLocalOneType = 3. VecZ

Each value in this array is the X-axis or area object local 3-axis component (depending on the CSys specified) of the user specified direction vector for the spring local 1-axis. The direction vector is in the coordinate system specified by the CSys item. This item applies only when the corresponding SpringLocalOneType = 3. CSys

Each value in this array is Local (meaning the area object local coordinate system) or the name of a defined coordinate system. This item is the coordinate system in which the user specified direction vector, Vec, is specified. This item applies only when the corresponding SpringLocalOneType = 3. Ang

Each value in this array is the angle that the link local 2-axis is rotated from its default orientation. This item applies only when the corresponding MyType = 2. [deg]

Remarks This function retrieves the spring assignments to an area object face. The function returns zero if the assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaObjectSprings() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Vec() As Double Dim NumberSprings As Long Dim MyType() As Long Dim s() As Double Dim SimpleSpringType() As Long Dim LinkProp() As String Dim Face() As Long Dim SpringLocalOneType() As Long Dim Dir() As Long Dim Outward() As Boolean Dim VecX() As Double Dim VecY() As Double Dim VecZ() As Double Dim CSys() As String Dim Ang() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign springs to area objects ReDim Vec(2) ret = SapModel.AreaObj.SetSpring("ALL", 1, 1, 1, "", -1, 1, 3, True, Vec, 0, False, "Local", Group) 'get spring assignments to area objects

ret = SapModel.AreaObj.GetSpring("1", NumberSprings, MyType, s, SimpleSpringType, LinkProp, Face, SpringLocalOneType, Dir, Outward, VecX, VecY, VecZ, CSys, Ang) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetSpring DeleteSpring

GetThickness Syntax SapObject.SapModel.AreaObj.GetThickness

VB6 Procedure Function GetThickness(ByVal Name As String, ByRef ThicknessType As Long, ByRef ThicknessPattern As String, ByRef ThicknessPatternSF As Double, ByRef Thickness() As Double) As Long

Parameters Name

The name of an existing area object. ThicknessType

This is 0, 1 or 2, indicating the thickness overwrite type. 0 = No thickness overwrites 1 = User defined thickness overwrites specified by joint pattern 2 = User defined thickness overwrites specified by point ThicknessPattern

This item applies only when ThicknessType = 1. It is the name of the defined joint pattern that is used to calculate the thicknesses. ThicknessPatternSF

This item applies only when ThicknessType = 1. It is the scale factor applied to the joint pattern when calculating the thicknesses. [L] Thickness

This item applies only when ThicknessType = 2. It is an array of thicknesses at each of the points that define the area object. [L]

Remarks This function retrieves the thickness overwrite assignments for area objects. The function returns zero if the assignments are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaObjectThicknessOverwrites() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i as long Dim ThicknessType As Long Dim ThicknessPattern As String Dim ThicknessPatternSF As Double Dim Thickness() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign thickness overwrites ReDim Thickness(3) For i = 0 To 3 Thickness(i) = 11 Next i ret = SapModel.AreaObj.SetThickness("ALL", 2, "", 1, Thickness, Group) 'get thickness overwrites ret = SapModel.AreaObj.GetThickness("3", ThicknessType, ThicknessPattern, ThicknessPatternSF, Thickness) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also SetThickness

GetTransformationMatrix Syntax Sap2000.AreaObj.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double,Optional ByVal IsGlobal As Boolean = True) As Long

Parameters Name

The name of an existing area object. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the area object local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the object local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system. The transformation from the local coordinate system to the present coordinate system is the same as that shown above for the global system if you substitute the present system for the global system. IsGlobal

If this item is True, the transformation matrix is between the Global coordinate system and the area object local coordinate system. If this item is False, the transformation matrix is between the present coordinate system and the area object local coordinate system.

Remarks The function returns zero if the area object transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaObjectMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object local axis angle ret = SapModel.AreaObj.SetLocalAxes("3", 30) 'get area object transformation matrix ReDim Value(8) ret = SapModel.AreaObj.GetTransformationMatrix("3", Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

SetAutoMesh Syntax SapObject.SapModel.AreaObj.SetAutoMesh

VB6 Procedure Function SetAutoMesh(ByVal Name As String, ByVal MeshType As Long, Optional ByVal n1 As Long = 2, Optional ByVal n2 As Long = 2, Optional ByVal MaxSize1 As Double = 0, Optional ByVal MaxSize2 As Double = 0, Optional ByVal PointOnEdgeFromLine As Boolean = False, Optional ByVal PointOnEdgeFromPoint As Boolean = False, Optional ByVal ExtendCookieCutLines As Boolean = False, Optional ByVal Rotation As Double = 0, Optional ByVal MaxSizeGeneral As Double = 0, Optional ByVal LocalAxesOnEdge As Boolean = False, Optional ByVal LocalAxesOnFace As Boolean = False, Optional ByVal RestraintsOnEdge As Boolean = False, Optional ByVal RestraintsOnFace As Boolean = False, Optional ByVal Group As String = "ALL", Optional ByVal SubMesh As Boolean = False, Optional ByVal SubMeshSize As Double = 0, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. MeshType

This item is 0, 1, 2, 3, 4, 5 or 6, indicating the automatic mesh type for the area object. 0= 1= 2= 3= 4= 5= 6=

No automatic meshing Mesh area into a specified number of objects Mesh area into objects of a specified maximum size Mesh area based on points on area edges Cookie cut mesh area based on lines intersecting edges Cookie cut mesh area based on points Mesh area using General Divide Tool

Mesh options 1, 2 and 3 apply to quadrilaterals and triangles only. n1

This item applies when MeshType = 1. It is the number of objects created along the edge of the meshed area object that runs from point 1 to point 2. n2

This item applies when MeshType = 1. It is the number of objects created along the edge of the meshed area object that runs from point 1 to point 3. MaxSize1

This item applies when MeshType = 2. It is the maximum size of objects created along the edge of the meshed area object that runs from point 1 to point 2. [L] If this item is input as 0, the default value is used. The default value is 48 inches if the database units are English or 120 centimeters if the database units are metric. MaxSize2

This item applies when MeshType = 2. It is the maximum size of objects created along the edge of the meshed area object that runs from point 1 to point 3. [L] If this item is input as 0, the default value is used. The default value is 48 inches if the database units are English or 120 centimeters if the database units are metric. PointOnEdgeFromLine

This item applies when MeshType = 3. If it is True, points on the area object

edges are determined from intersections of straight line objects included in the group specified by the Group item with the area object edges. PointOnEdgeFromPoint

This item applies when MeshType = 3. If it is True, points on the area object edges are determined from point objects included in the group specified by the Group item that lie on the area object edges. ExtendCookieCutLines

This item applies when MeshType = 4. MeshType = 4 provides cookie cut meshing based on straight line objects included in the group specified by the Group item that intersect the area object edges. If the ExtendCookieCutLines item is True, all straight line objects included in the group specified by the Group item are extended to intersect the area object edges for the purpose of meshing the area object. Rotation

This item applies when MeshType = 5. MeshType = 5 provides cookie cut meshing based on two perpendicular lines passing through point objects included in the group specified by the Group item. By default these lines align with the area object local 1 and 2 axes. The Rotation item is an angle in degrees that the meshing lines are rotated from their default orientation. [deg] MaxSizeGeneral

This item applies when MeshType = 6. It is the maximum size of objects created by the General Divide Tool. If this item is input as 0, the default value is used. The default value is 48 inches if the database units are English or 120 centimeters if the database units are metric. LocalAxesOnEdge

If this item is True, and if both points along an edge of the original area object have the same local axes, then the program makes the local axes for added points along the edge the same as the edge end points. LocalAxesOnFace

If this item is True, and if all points around the perimeter of the original area object have the same local axes, the program makes the local axes for all added points the same as the perimeter points. RestraintsOnEdge

If this item is True, and if both points along an edge of the original area object

have the same restraint/constraint, then, if the added point and the adjacent corner points have the same local axes definition, the program includes the restraint/constraint for added points along the edge. RestraintsOnFace

If this item is True, and if all points around the perimeter of the original area object have the same restraint/constraint, then, if an added point and the perimeter points have the same local axes definition, the program includes the restraint/constraint for the added point. Group

The name of a defined group. Some of the meshing options make use of point and line objects included in this group. SubMesh

If this item is True, after initial meshing, the program further meshes any area objects that have an edge longer than the length specified by the SubMeshSize item. SubMeshSize

This item applies when the SubMesh item is True. It is the maximum size of area objects to remain when the auto meshing is complete. [L] If this item is input as 0, the default value is used. The default value is 12 inches if the database units are English or 30 centimeters if the database units are metric. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function makes automatic meshing assignments to area objects. The function returns zero if the meshing options are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjAutoMesh() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign auto mesh options ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetAutoMesh

SetEdgeConstraint Syntax SapObject.SapModel.AreaObj.SetEdgeConstraint

VB6 Procedure Function SetEdgeConstraint(ByVal Name As String, ByVal ConstraintExists As Boolean, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. ConstraintExists

This item is True if an automatic edge constraint is generated by the program for the area object in the analysis model. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function makes generated edge constraint assignments to area objects. The function returns zero if the edge constraint option is successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjAutoEdgeConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign auto edge constraint option ret = SapModel.AreaObj.SetEdgeConstraint("ALL", True, Group) ret = SapModel.AreaObj.SetEdgeConstraint("2", False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetEdgeConstraint

SetGroupAssign Syntax SapObject.SapModel.AreaObj.SetGroupAssign

VB6 Procedure Function SetGroupAssign(ByVal Name As String, ByVal GroupName As String, Optional By Val Remove As Boolean = False, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. GroupName

The name of an existing group to which the assignment is made. Remove

If this item is False, the specified area objects are added to the group specified by the GroupName item. If it is True, the area objects are removed from the group. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the area object specified by the Name item is added or removed from the group specified by the GroupName item. If this item is Group, all area objects in the group specified by the Name item are added or removed from the group specified by the GroupName item. If this item is SelectedObjects, all selected area objects are added or removed from the group specified by the GroupName item, and the Name item is ignored.

Remarks This function adds or removes area objects from a specified group. The function returns zero if the group assignment is successful; otherwise it returns a nonzero value.

VBA Example Sub AddAreaObjectsToGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'define new group ret = SapModel.GroupDef.SetGroup("Group1") 'add area objects to group ret = SapModel.AreaObj.SetGroupAssign("1", "Group1") ret = SapModel.AreaObj.SetGroupAssign("3", "Group1") 'select objects in group ret = SapModel.SelectObj.Group("Group1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

SetGUID Syntax SapObject.SapModel.AreaObj.SetGUID

VB6 Procedure Function SetGUID(ByVal Name As String, Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing area object. GUID

The GUID (Global Unique ID) for the specified area object.

Remarks This function sets the GUID for the specified area object. If the GUID is passed in as a blank string, the program automatically creates a GUID for the object. This function returns zero if the area object GUID is successfully set; otherwise, it returns nonzero.

VBA Example Sub SetAreaObjGUID() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set program created GUID ret = SapObject.SapModel.AreaObj.SetGUID("1") 'get GUID ret = SapObject.SapModel.AreaObj.GetGUID("1", GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetGUID

SetLoadGravity Syntax SapObject.SapModel.AreaObj.SetLoadGravity

VB6 Procedure Function SetLoadGravity(ByVal Name As String, ByVal LoadPat As String, ByVal x As Double, ByVal y As Double, ByVal z As Double, Optional ByVal Replace As Boolean = True, Optional ByVal CSys As String = "Global", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. x, y, z

These are the gravity load multipliers in the x, y and z directions of the specified coordinate system. Replace

If this item is True, all previous gravity loads, if any, assigned to the specified area object(s), in the specified load pattern, are deleted before making the new assignment. CSys

The coordinate system in which the x, y and z multipliers are specified. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns gravity load multipliers to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object gravity loads ret = SapModel.AreaObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadGravity DeleteLoadGravity

SetLoadPorePressure Syntax SapObject.SapModel.AreaObj.SetLoadPorePressure

VB6 Procedure Function SetLoadPorePressure(ByVal Name As String, ByVal LoadPat As String, ByVal Value As Double, Optional ByVal PatternName As String = "", Optional ByVal Replace As Boolean = True, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Value

This is the pore pressure value. [F/L2] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the pore pressure load for the area object is uniform over the object at the value specified by Value. If PatternName is the name of a defined joint pattern, the pore pressure load for the area object is based on the specified pore pressure value multiplied by the pattern value at the point objects that define the area object. Replace

If this item is True, all previous pore pressure loads, if any, assigned to the specified area object(s), in the specified load case, are deleted before making the new assignment. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns pore pressure loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectPorePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object pore pressure load ret = SapModel.AreaObj.SetLoadPorePressure("ALL", "DEAD", .1, , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadPorePressure DeleteLoadPorePressure

SetLoadRotate Syntax SapObject.SapModel.AreaObj.SetLoadRotate

VB6 Procedure Function SetLoadRotate(ByVal Name As String, ByVal LoadPat As String, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Value

This is the angular velocity. [Cyc/T]

Remarks This function assigns rotate loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectRotateLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object rotate load ret = SapModel.AreaObj.SetLoadRotate("ALL", "DEAD", 30, , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadRotate DeleteLoadRotate

SetLoadStrain Syntax SapObject.SapModel.AreaObj.SetLoadStrain

VB6 Procedure Function SetLoadStrain(ByVal Name As String, ByVal LoadPat As String, ByVal Component As Long, ByVal Value As Double, Optional ByVal Replace As Boolean = True, Optional ByVal PatternName As String = "", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Component

This is 1, 2, 3, 4, 5, 6, 7, 8, or 9, indicating the component to which the strain load is applied. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Strain11 Strain22 Strain12 Curvature11 Curvature22 Curvature12 Strain13 Strain23 Strain33

Value

This is the strain load value. [L/L] for Component = 1, 2, 3, 7, 8, and 9 and [1/L] for Component = 4, 5 and 6 Replace

If this item is True, all previous strain loads, if any, assigned to the specified area object(s), in the specified load pattern, for the specified degree of freedom, are deleted before making the new assignment. PatternName

This is blank or the name of a defined joint pattern. If it is blank, the strain load for the area object is uniform over the object at the value specified by Value. If PatternName is the name of a defined joint pattern, the strain load for the area object is based on the specified strain value multiplied by the pattern value at the corner points of the area object. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns strain loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object strain load ret = SapModel.AreaObj.SetLoadStrain("ALL", "DEAD", 1, 0.001, , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. Added Strain33 component in v19.0.0.

See Also GetLoadStrain DeleteLoadStrain

SetLoadSurfacePressure Syntax SapObject.SapModel.AreaObj.SetLoadSurfacePressure

VB6 Procedure Function SetLoadSurfacePressure(ByVal Name As String, ByVal LoadPat As String, ByVal Face As Long, ByVal Value As Double, Optional ByVal PatternName As String = "", Optional ByVal Replace As Boolean = True, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Face

This is -1, -2 or a nonzero, positive integer, indicating the area object face to which the specified load assignment applies. -1 = Bottom face -2 = Top face >0 = Edge face

Note that edge face n is from area object point n to area object point n + 1. For example, edge face 2 is from area object point 2 to area object point 3. Value

This is the surface pressure value. [F/L2] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the surface pressure load for the area object face is uniform over the face at the value specified by Value. If PatternName is the name of a defined joint pattern, the surface pressure load for the area object face is based on the specified surface pressure value multiplied by the pattern value at the point objects that are part of the face. Replace

If this item is True, all previous surface pressure loads, if any, assigned to the specified area object(s), in the specified load case, are deleted before making the new assignment. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item.

If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns surface pressure loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectSurfacePressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object surface pressure load ret = SapModel.AreaObj.SetLoadSurfacePressure("ALL", "DEAD", -1, .1, , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadSurfacePressure DeleteLoadSurfacePressure

SetLoadTemperature Syntax SapObject.SapModel.AreaObj.SetLoadTemperature

VB6 Procedure Function SetLoadTemperature(ByVal Name As String, ByVal LoadPat As String, ByVal MyType As Long, ByVal Value As Double, Optional ByVal PatternName As String = "", Optional ByVal Replace As Boolean = True, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. MyType

This is either 1 or 3, indicating the type of temperature load. 1 = Temperature 3 = Temperature gradient along local 3 axis Value

This is the temperature change value. [T] for MyType = 1 and [T/L] for MyType = 3 PatternName

This is blank or the name of a defined joint pattern. If it is blank, the temperature load for the area object is uniform over the object at the value specified by Value. If PatternName is the name of a defined joint pattern the temperature load for the area object is based on the specified temperature value multiplied by the pattern value at the joints that define the area object. Replace

If this item is True, all previous temperature loads, if any, assigned to the specified area object(s), in the specified load case, are deleted before making the new assignment. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects,

and the Name item is ignored.

Remarks This function assigns temperature loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object temperature load ret = SapModel.AreaObj.SetLoadTemperature("All", "DEAD", 1, 50, , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadTemperature DeleteLoadTemperature

SetLoadUniform Syntax SapObject.SapModel.AreaObj.SetLoadUniform

VB6 Procedure Function SetLoadUniform(ByVal Name As String, ByVal LoadPat As String, ByVal Value As Double, ByVal Dir As Long, Optional ByVal Replace As Boolean = True, Optional ByVal CSys As String = "Global", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Value

The uniform load value. [F/L2] Dir

This is an integer between 1 and 11, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 7 = Projected X direction (does not apply when CSys is Local) 8 = Projected Y direction (does not apply when CSys is Local) 9 = Projected Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global) 11 = Projected Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10 and 11) is in the negative Global Z direction. Replace

If this item is True, all previous uniform loads, if any, assigned to the specified area object(s), in the specified load pattern, are deleted before making the new assignment. CSys

This is Local or the name of a defined coordinate system, indicating the coordinate system in which the uniform load is specified. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns uniform loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectUniformLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object uniform loads ret = SapModel.AreaObj.SetLoadUniform("ALL", "DEAD", -0.01, 2, False, "Local", Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadUniform DeleteLoadUniform

SetLoadUniformToFrame Syntax SapObject.SapModel.AreaObj.SetLoadUniformToFrame

VB6 Procedure Function SetLoadUniformToFrame(ByVal Name As String, ByVal LoadPat As String, ByVal Value As Double, ByVal Dir As Long, ByVal DistType As Long, Optional ByVal Replace As Boolean = True, Optional ByVal CSys As String = "Global", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Value

The uniform load value. [F/L2] Dir

This is an integer between 1 and 11, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 7 = Projected X direction (does not apply when CSys is Local) 8 = Projected Y direction (does not apply when CSys is Local) 9 = Projected Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global) 11 = Projected Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10 and 11) is in the negative Global Z direction. DistType

This is either 1 or 2, indicating the load distribution type. 1 = One-way load distribution 2 = Two-way load distribution

One-way distribution is parallel to the area object local 1 axis. Two-way distribution is parallel to the area object local 1 and 2 axes. Replace

If this item is True, all previous uniform loads, if any, assigned to the specified area object(s), in the specified load pattern, are deleted before making the new assignment. CSys

This is Local or the name of a defined coordinate system, indicating the

coordinate system in which the uniform load is specified. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects and the Name item is ignored.

Remarks This function assigns uniform to frame loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectUniformToFrameLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New3DFrame(BeamSlab, 2, 144, 3, 288, 2, 288) 'assign area object uniform to frame loads ret = SapModel.AreaObj.SetLoadUniformToFrame("ALL", "DEAD", 0.01, 10, 2, False, "Global", Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadUniformToFrame DeleteLoadUniformToFrame

SetLoadWindPressure Syntax SapObject.SapModel.AreaObj.SetLoadWindPressure

VB6 Procedure Function SetLoadWindPressure(ByVal Name As String, ByVal LoadPat As String, ByVal MyType As Double, ByVal Cp As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. MyType

This is either 1 or 2, indicating the wind pressure type. 1 = Windward, pressure varies over height 2 = Other, pressure is constant over height Cp

This is the wind pressure coefficient.

Remarks This function assigns wind pressure loads to area objects. The function returns zero if the loads are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectWindPressureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object wind pressure load ret = SapModel.AreaObj.SetLoadWindPressure("ALL", "DEAD", 1, 0.8, Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadWindPressure DeleteLoadWindPressure

SetLocalAxes Syntax SapObject.SapModel.AreaObj.SetLocalAxes

VB6 Procedure Function SetLocalAxes(ByVal Name As String, ByVal Ang As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. Ang

This is the angle that the local 1 and 2 axes are rotated about the positive local 3 axis from the default orientation. The rotation for a positive angle appears counter clockwise when the local +3 axis is pointing toward you. [deg] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns a local axis angle to area objects. The function returns zero if the local axis angle is successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectLocalAxisAngle() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object local axis angle ret = SapModel.AreaObj.SetLocalAxes("3", 30) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetLocalAxes

SetLocalAxesAdvanced Syntax SapObject.SapModel.AreaObj.SetLocalAxesAdvanced

VB6 Procedure Function SetLocalAxesAdvanced(ByVal Name As String, ByVal Active As Boolean, ByVal Plane2 As Long, ByVal PlVectOpt As Long, ByVal PlCSys As String, ByRef PlDir() As Long, ByRef PlPt() As String, ByRef PlVect() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group depending on the value of the ItemType item. Active

This is True if advanced local axes exist. Plane2

This is 31 or 32, indicating that the local plane determined by the plane reference vector is the 3-1 plane or the 3-2 plane. This item applies only when the Active item is True. PlVectOpt

This is 1, 2, or 3, indicating the plane reference vector option. This item applies only when the Active item is True. 1 = Coordinate direction 2 = Two joints 3 = User vector PlCSys

The coordinate system used to define the plane reference vector coordinate directions and the plane user vector. This item applies when the Active item is True and the PlVectOpt item is 1 or 3. PlDir

This is an array dimensioned to 1 (2 integers), indicating the plane reference vector primary and secondary coordinate directions, PlDir(0) and PlDir(1) respectively, taken at the object center in the specified coordinate system and used to determine the plane reference vector. This item applies when the Active item is True and the PlVectOpt item is 1. Possible coordinate direction values are: 1= 2= 3= 4= 5= 6= 7= 8= 9= PlPt

+X +Y +Z +CR +CA +CZ +SR +SA +SB

-1 = -X -2 = -Y -3 = -Z -4 = -CR -5 = -CA -6 = -CZ -7 = -SR -8 = -SA -9 = -SB

This is an array dimensioned to 1 (2 strings) indicating the labels of two joints that define the plane reference vector. Either of these joints may be specified as None to indicate the center of the specified object. If both joints are specified as None, they are not used to define the plane reference vector. This item applies when the Active item is True and the PlVectOpt item is 2. PlVect

This is an array dimensioned to 2 (3 doubles) that defines the plane reference vector. This item applies when the Active item is True and the PlVectOpt item is 3. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 Selection = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is Selection, assignment is made to all selected area objects and the Name item is ignored.

Remarks This function assigns advanced local axes to area objects. The function returns zero if the advanced local axes assignments are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaAdvancedLocalAxes() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyPlDir(1) As Long Dim MyPlPt(1) As String Dim MyPlVect(2) As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area advanced local axes MyPlDir(0) = 2 MyPlDir(1) = 3 ret = SapModel.AreaObj.SetLocalAxesAdvanced("3", True, 31, 1, "Global", MyPlDir, MyPlPt, MyPlVect) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.00.

See Also GetLocalAxesAdvanced GetLocalAxes

SetMass Syntax SapObject.SapModel.AreaObj.SetMass

VB6 Procedure Function SetMass(ByVal Name As String, ByVal MassOverL2 As Double, Optional ByVal Replace As Boolean = False, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. MassOverL2

The mass per unit area assigned to the area object. [M/L2] Replace

If this item is True, all existing mass assignments to the area object are removed before assigning the specified mas. If it is False, the specified mass is added to any existing mass already assigned to the area object. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects and the Name item is ignored.

Remarks This function assigns mass per unit area to area objects. The function returns zero if the mass is successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectMass() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign area object mass ret = SapModel.AreaObj.SetMass("ALL", .0001, False, Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetMass DeleteMass

SetMaterialOverwrite Syntax SapObject.SapModel.AreaObj.SetMaterialOverwrite

VB6 Procedure Function SetMaterialOverwrite(ByVal Name As String, ByVal PropName As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. PropName

This is None or a blank string, indicating that any existing material overwrites assigned to the specified area objects are to be removed, or it is the name of an existing material property. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function sets the material overwrite assignment for area objects. The function returns zero if the material overwrite assignment is successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaMaterialOverwrite() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign material overwrite ret = SapModel.AreaObj.SetMaterialOverwrite("3", "A992Fy50") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetMaterialOverwrite

SetMatTemp Syntax SapObject.SapModel.AreaObj.SetMatTemp

VB6 Procedure Function SetMatTemp(ByVal Name As String, ByVal Temp As Double, Optional ByVal PatternName As String = "", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. Temp

This is the material temperature value assigned to the area object. [T] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the material temperature for the area object is uniform over the object at the value specified by Temp. If PatternName is the name of a defined joint pattern, the material temperature for the area object may vary. The material temperature at each corner point around the area object perimeter is equal to the specified temperature multiplied by the pattern value at the associated point object. The material temperature at other points in the area object is calculated by interpolation from the corner points. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns material temperatures to area objects. The function returns zero if the material temperatures are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectMatTemp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign material temperature ret = SapModel.AreaObj.SetMatTemp("ALL", 50, , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetMatTemp

SetModifiers Syntax SapObject.SapModel.AreaObj.SetModifiers

VB6 Procedure Function SetModifiers(ByVal Name As String, ByRef Value() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. Value

This is an array of ten unitless modifiers. Value(0) Value(1) Value(2) Value(3) Value(4) Value(5) Value(6) Value(7) Value(8) Value(9)

= = = = = = = = = =

Membrane f11 modifier Membrane f22 modifier Membrane f12 modifier Bending m11 modifier Bending m22 modifier Bending m12 modifier Shear v13 modifier Shear v23 modifier Mass modifier Weight modifier

ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function sets the modifier assignment for area objects. The default value for all modifiers is one. The function returns zero if the modifier assignments are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaModifiers() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign modifiers ReDim Value(9) For i = 0 To 9 Value(i) = 1 Next i Value(0) = 0.01 ret = SapModel.AreaObj.SetModifiers("ALL", Value, Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetModifiers DeleteModifiers

SetOffsets Syntax SapObject.SapModel.AreaObj.SetOffsets

VB6 Procedure Function SetOffsets(ByVal Name As String, ByVal OffsetType As Long, ByVal OffsetPattern As String, ByVal OffsetPatternSF As Double, ByRef Offset() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. OffsetType

This is 0, 1 or 2, indicating the joint offset type. 0 = No joint offsets 1 = User defined joint offsets specified by joint pattern 2 = User defined joint offsets specified by point OffsetPattern

This item applies only when OffsetType = 1. It is the name of the defined joint pattern that is used to calculate the joint offsets. OffsetPatternSF

This item applies only when OffsetType = 1. It is the scale factor applied to the joint pattern when calculating the joint offsets. [L] Offset

This item applies only when OffsetType = 2. It is an array of joint offsets for each of the points that define the area object. [L] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function sets the joint offset assignments for area objects. The function returns zero if the offsets are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectJointOffsets() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i as long Dim Offset() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign joint offsets ReDim Offset(3) For i = 0 To 3 Offset(i) = 12 Next i ret = SapModel.AreaObj.SetOffsets("ALL", 2, "", 1, Offset, Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetOffsets

SetProperty Syntax SapObject.SapModel.AreaObj.SetProperty

VB6 Procedure Function SetProperty(ByVal name As String, ByVal PropName As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. PropName

This is None or the name of a area property to be assigned to the specified area object(s). None means that no property is assigned to the area object. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function assigns an area property to area objects. The function returns zero if the property is successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub SetAreaObjectProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set area property ret = SapModel.AreaObj.SetProperty("4", "None") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetProperty

SetSelected Syntax Sap2000.AreaObj.SetSelected

VB6 Procedure Function SetSelected(ByVal Name As String, ByVal Selected As Boolean, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. Selected

This item is True if the specified area object is selected, otherwise it is False. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the selected status is set for the area object specified by the Name item. If this item is Group, the selected status is set for all area objects in the group specified by the Name item. If this item is SelectedObjects, the selected status is set for all selected area objects, and the Name item is ignored.

Remarks This function sets the selected status for area objects. The function returns zero if the selected status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAreaObjectSelected() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set area objects selected ret = SapModel.AreaObj.SetSelected("ALL", True, Group) 'update window ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSelected GetSelectedEdge SetSelectedEdge

SetSelectedEdge Syntax Sap2000.AreaObj.SetSelectedEdge

VB6 Procedure Function SetSelectedEdge(ByVal Name As String, ByVal EdgeNum As Long, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing area object. EdgeNum

The area object edge that is have its selected status set. Selected

This item is True if the specified area object edge is selected; otherwise it is False.

Remarks This function sets the selected status for area object edges. The function returns zero if the selected status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAreaObjectEdgeSelected() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set area object edge selected ret = SapModel.AreaObj.SetSelectedEdge("1", 2, True) 'update window ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSelectedEdge GetSelected SetSelected

SetSpring Syntax SapObject.SapModel.AreaObj.SetSpring

VB6 Procedure Function SetSpring(ByVal Name As String, ByVal MyType As Long, ByVal s As Double, ByVal SimpleSpringType As Long, ByVal LinkProp As String, ByVal Face as Long, ByVal SpringLocalOneType As Long, ByVal Dir As Long, ByVal Outward As Boolean, ByRef Vec() As Double, ByVal Ang As Double, ByVal Replace As Boolean, Optional ByVal CSys As String = "Local", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. MyType

This is either 1 or 2, indicating the spring property type. 1 = Simple spring 2 = Link property s

The simple spring stiffness per unit area of the specified area object face. This item applies only when MyType = 1. [F/L3] SimpleSpringType

This is 1, 2 or 3, indicating the simple spring type. This item applies only when MyType = 1. 1 = Spring resists tension and compression 2 = Spring resists compression only 3 = Spring resists tension only LinkProp

The name of the link property assigned to the spring. This item applies only when MyType = 2. Face

This is -1, -2 or a nonzero, positive integer indicating the area object face to which the specified spring assignment applies. -1 = Bottom face -2 = Top face >0 = Edge face

Note that edge face n is from area object point n to area object point n + 1. For example, edge face 2 is from area object point 2 to area object point 3. SpringLocalOneType

This is 1, 2 or 3, indicating the method used to specify the spring positive local 1axis orientation. 1 = Parallel to area object local axis 2 = Normal to specified area object face 3 = User specified direction vector

Dir

This is 1, 2, 3, -1, -2 or -3, indicating the area object local axis that corresponds to the positive local 1-axis of the spring. This item applies only when SpringLocalOneType = 1. Outward

This item is True if the spring positive local 1 axis is outward from the specified area object face. This item applies only when SpringLocalOneType = 2. Vec

This is an array of three values that define the direction vector of the spring positive local 1-axis. The direction vector is in the coordinate system specified by the CSys item. This item applies only when SpringLocalOneType = 3. Ang

This is the angle that the link local 2-axis is rotated from its default orientation. This item applies only when MyType = 2. [deg] Replace

If this item is True, all existing spring assignments to the area object are removed before assigning the specified spring. If it is False, the specified spring is added to any existing springs already assigned to the area object. CSys

This is Local (meaning the area object local coordinate system) or the name of a defined coordinate system. This item is the coordinate system in which the user specified direction vector, Vec, is specified. This item applies only when SpringLocalOneType = 3. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function makes spring assignments to area objects. The springs are assigned to a specified area object face. The function returns zero if the assignments are successfully applied; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectSprings() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Vec() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign springs to area objects ReDim Vec(2) ret = SapModel.AreaObj.SetSpring("ALL", 1, 1, 1, "", -1, 1, 3, True, Vec, 0, False, "Local", Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetSpring DeleteSpring

SetThickness Syntax SapObject.SapModel.AreaObj.SetThickness

VB6 Procedure Function SetThickness(ByVal Name As String, ByVal ThicknessType As Long, ByVal ThicknessPattern As String, ByVal ThicknessPatternSF As Double, ByRef Thickness() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing area object or group, depending on the value of the ItemType item. ThicknessType

This is 0, 1 or 2, indicating the thickness overwrite type. 0 = No thickness overwrites 1 = User defined thickness overwrites specified by joint pattern 2 = User defined thickness overwrites specified by point ThicknessPattern

This item applies only when ThicknessType = 1. It is the name of the defined joint pattern that is used to calculate the thicknesses. ThicknessPatternSF

This item applies only when ThicknessType = 1. It is the scale factor applied to the joint pattern when calculating the thicknesses. [L] Thickness

This item applies only when ThicknessType = 2. It is an array of thicknesses at each of the points that define the area object. [L] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the area object specified by the Name item. If this item is Group, the assignment is made to all area objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected area objects, and the Name item is ignored.

Remarks This function sets the thickness overwrite assignments for area objects. The function returns zero if the thickness overwrites are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignAreaObjectThicknessOverwrites() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i as long Dim Thickness() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'assign thickness overwrites ReDim Thickness(3) For i = 0 To 3 Thickness(i) = 11 Next i ret = SapModel.AreaObj.SetThickness("ALL", 2, "", 1, Thickness, Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetThickness

AddByCoord Syntax SapObject.SapModel.CableObj.AddByCoord

VB6 Procedure Function AddByCoord(ByVal xi As Double, ByVal yi As Double, ByVal zi As Double, ByVal xj As Double, ByVal yj As Double, ByVal zj As Double, ByRef Name As String, Optional ByVal PropName As String = "Default", Optional ByVal UserName As String = "", Optional ByVal CSys As String = "Global") As Long

Parameters xi, yi, zi

The coordinates of the I-End of the added cable object. The coordinates are in the coordinate system defined by the CSys item. xj, yj, zj

The coordinates of the J-End of the added cable object. The coordinates are in the coordinate system defined by the CSys item. Name

This is the name that the program ultimately assigns for the cable object. If no UserName is specified,n the program assigns a default name to the cable object. If a UserName is specified and that name is not used for another frame, cable or tendon object, the UserName is assigned to the cable object; otherwise a default name is assigned to the cable object. PropName

This is Default or the name of a defined cable property. If it is Default, the program assigns a default cable property to the cable object. If it is the name of a defined cable property, that property is assigned to the cable object. UserName

This is an optional user specified name for the cable object. If a UserName is specified and that name is already used for another cable object, the program ignores the UserName. CSys

The name of the coordinate system in which the cable object end point coordinates are defined.

Remarks This function adds a new cable object whose end points are at the specified coordinates. The function returns zero if the cable object is successfully added, otherwise it returns a nonzero value.

VBA Example Sub AddCableObjByCoord() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by coordinates ret = SapModel.CableObj.AddByCoord(-300, 0, 0, -100, 0, 124, Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also AddByPoint SetCableData

AddByPoint Syntax SapObject.SapModel.CableObj.AddByPoint

VB6 Procedure Function AddByPoint(ByVal Point1 as String, ByVal Point2 as String, ByRef Name As String, Optional ByVal PropName As String = "Default", Optional ByVal UserName As String = "") As Long

Parameters Point1

The name of a defined point object at the I-End of the added cable object. Point2

The name of a defined point object at the J-End of the added cable object. Name

This is the name that the program ultimately assigns for the cable object. If no UserName is specified, the program assigns a default name to the cable object. If a UserName is specified and that name is not used for another frame, cable or tendon object, the UserName is assigned to the cable object; otherwise a default name is assigned to the cable object. PropName

This is Default or the name of a defined cable property. If it is Default, the program assigns a default cable property to the cable object. If it is the name of a defined cable property, that property is assigned to the cable object. UserName

This is an optional user specified name for the cable object. If a UserName is specified and that name is already used for another cable object, the program ignores the UserName.

Remarks This function adds a new cable object whose end points are specified by name. The function returns zero if the cable object is successfully added, otherwise it returns a nonzero value.

VBA Example Sub AddCableObjByPoint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also AddByCoord SetCableData

ChangeName Syntax SapObject.SapModel.CableObj.ChangeName

VB6 Procedure Function ChangeName(ByVal Name As String, ByVal NewName As String) As Long

Parameters Name

The existing name of a defined cable object. NewName

The new name for the cable object.

Remarks The function returns zero if the new name is successfully applied, otherwise it returns a nonzero value.

VBA Example Sub ChangeCableObjName() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'change name ret = SapModel.CableObj.ChangeName(Name, "MyCable") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Count Syntax SapObject.SapModel.CableObj.Count

VB6 Procedure Function Count() As Long

Parameters None

Remarks This function returns a count of the cable objects in the model.

VBA Example Sub CountCableObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'return number of cable objects Count = SapModel.CableObj.Count 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Delete Syntax SapObject.SapModel.CableObj.Delete

VB6 Procedure Function Delete(ByVal Name As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group depending on the value of the ItemType item. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the cable object specified by the Name item is deleted. If this item is Group, the all cable objects in the group specified by the Name item are deleted. If this item is SelectedObjects, all selected cable objects are deleted, and the Name item is ignored.

Remarks The function deletes cable objects. The function returns zero if the cable objects are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableObj() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable objects by points ret = SapModel.CableObj.AddByPoint("1", "6", Name1) ret = SapModel.CableObj.AddByPoint("5", "10", Name2) 'delete cable object ret = SapModel.CableObj.Delete(Name1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also AddByCoord AddByPoint

DeleteLoadDeformation Syntax SapObject.SapModel.CableObj.DeleteLoadDeformation

VB6 Procedure Function DeleteLoadDeformation(ByVal Name As String, ByVal LoadPat As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the load assignments are deleted for the cable object specified by the Name item. If this item is Group, the load assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the load assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the deformation load assignments to the specified cable objects for the specified load pattern. The function returns zero if the load assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableDeformationLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable deformation loads ret = SapModel.CableObj.SetLoadDeformation("ALL", "DEAD", 2, Group) 'delete cable deformation load ret = SapModel.CableObj.DeleteLoadDeformation(Name, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadDeformation SetLoadDeformation

DeleteLoadDistributed Syntax SapObject.SapModel.CableObj.DeleteLoadDistributed

VB6 Procedure Function DeleteLoadDistributed(ByVal Name As String, ByVal LoadPat As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the load assignments are deleted for the cable object specified by the Name item. If this item is Group, the load assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the load assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the distributed load assignments to the specified cable objects for the specified load pattern. The function returns zero if the load assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableDistributedLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable distributed load ret = SapModel.CableObj.SetLoadDistributed(Name, "DEAD", 1, 10, 0.08) 'delete cable distributed load ret = SapModel.CableObj.DeleteLoadDistributed(Name, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadDistributed SetLoadDistributed

DeleteLoadDistributedWithGUID Syntax SapObject.SapModel.CableObj.DeleteLoadDistributedWithGUID

VB6 Procedure Function DeleteLoadDistributedWithGUID(ByVal Name As String, ByVal GUID As String) As Long

Parameters Name

The name of an existing cable object. GUID

The global unique ID of one of the distributed loads on that cable object.

Remarks This function deletes the distributed load assignment with the specified global unique ID for the specified cable object. The function returns zero if the load assignment is successfully deleted, otherwise it returns a nonzero value.

Release Notes Initial release in version 17.2.0.

See Also GetLoadDistributedWithGUID SetLoadDistributedWithGUID

DeleteLoadGravity Syntax SapObject.SapModel.CableObj.DeleteLoadGravity

VB6 Procedure Function DeleteLoadGravity(ByVal Name As String, ByVal LoadPat As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the load assignments are deleted for the cable object specified by the Name item. If this item is Group, the load assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the load assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the gravity load assignments to the specified cable objects for the specified load pattern. The function returns zero if the load assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable gravity loads ret = SapModel.CableObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'delete cable gravity load ret = SapModel.CableObj.DeleteLoadGravity(Name, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadGravity SetLoadGravity

DeleteLoadStrain Syntax SapObject.SapModel.CableObj.DeleteLoadStrain

VB6 Procedure Function DeleteLoadStrain(ByVal Name As String, ByVal LoadPat As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the load assignments are deleted for the cable object specified by the Name item. If this item is Group, the load assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the load assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the strain load assignments to the specified cable objects for the specified load pattern. The function returns zero if the load assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable strain load ret = SapModel.CableObj.SetLoadStrain(Name, "DEAD", 0.001) 'delete cable strain load ret = SapModel.CableObj.DeleteLoadStrain(Name, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadStrain SetLoadStrain

DeleteLoadTargetForce Syntax SapObject.SapModel.CableObj.DeleteLoadTargetForce

VB6 Procedure Function DeleteLoadTargetForce(ByVal Name As String, ByVal LoadPat As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the load assignments are deleted for the cable object specified by the Name item. If this item is Group, the load assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the load assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the target force assignments to the specified cable objects for the specified load pattern. The function returns zero if the target force assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableTargetForce() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable target force ret = SapModel.CableObj.SetLoadTargetForce(Name, "DEAD", 50, 0.5) 'delete cable target force ret = SapModel.CableObj.DeleteLoadTargetForce(Name, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadTargetForce SetLoadTargetForce

DeleteLoadTemperature Syntax SapObject.SapModel.CableObj.DeleteLoadTemperature

VB6 Procedure Function DeleteLoadTemperature(ByVal Name As String, ByVal LoadPat As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the load assignments are deleted for the cable object specified by the Name item. If this item is Group, the load assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the load assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the temperature load assignments to the specified cable objects for the specified load pattern. The function returns zero if the load assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable temperature load ret = SapModel.CableObj.SetLoadTemperature("ALL", "DEAD", 50, , , Group) 'delete cable temperature load ret = SapModel.CableObj.DeleteLoadTemperature(Name, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadTemperature SetLoadTemperature

DeleteMass Syntax SapObject.SapModel.CableObj.DeleteMass

VB6 Procedure Function DeleteMass(ByVal Name As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the cable mass assignments are deleted for the cable object specified by the Name item. If this item is Group, the cable mass assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the cable mass assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the cable mass assignments for cable objects. The function returns zero if the mass assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableMass() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable mass ret = SapModel.CableObj.SetMass("ALL", .0001, False, Group) 'delete cable mass ret = SapModel.CableObj.DeleteMass(Name) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetMass SetMass

DeleteModifiers Syntax SapObject.SapModel.CableObj.DeleteModifiers

VB6 Procedure Function DeleteModifiers(ByVal Name As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the cable modifier assignments are deleted for the cable object specified by the Name item. If this item is Group, the cable modifier assignments are deleted for all cable objects in the group specified by the Name item. If this item is SelectedObjects, the cable modifier assignments are deleted for all selected cable objects, and the Name item is ignored.

Remarks This function deletes the cable modifier assignments for cable objects. The function returns zero if the modifier assignments are successfully deleted, otherwise it returns a nonzero value.

VBA Example Sub DeleteCableModifiers() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Value() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign modifiers ReDim Value(2) For i = 0 To 2 Value(i) = 1 Next i Value(0) = 100 ret = SapModel.CableObj.SetModifiers(Name, Value) 'delete modifiers ret = SapModel.CableObj.DeleteModifiers(Name) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetModifiers SetModifiers

GetCableData Syntax SapObject.SapModel.CableObj.GetCableData

VB6 Procedure Function GetCableData(ByRef Name As String, ByRef CableType As Long, ByRef NumSegs As Long, ByRef Weight As Double, ByRef ProjectedLoad As Double, ByRef UseDeformedGeom As Boolean, ByRef ModelUsingFrames As Boolean, ByRef Parameter() As Double) As Long

Parameters Name

The name of a defined cable object. CableType

This is 1, 2, 3, 4, 5, 6, 7, 8, or 9, indicating the cable definition parameter. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Minimum tension at I-End Minimum tension at J-End Tension at I-End Tension at J-End Horizontal tension component Maximum vertical sag Low-point vertical sag Undeformed length Relative undeformed length

NumSegs

This is the number of segments into which the program internally divides the cable. Weight

The added weight per unit length used when calculating the cable shape. [F/L] ProjectedLoad

The projected uniform gravity load used when calculating the cable shape. [F/L] UseDeformedGeom

If this item is True, the program uses the deformed geometry for the cable object; otherwise it uses the undeformed geometry. ModelUsingFrames

If this item is True, the analysis model uses frame elements to model the cable instead of using cable elements. Parameter

This is an array of parameters related to the cable shape. The array is dimensioned by Sap2000. Parameter(0) Parameter(1) Parameter(2) Parameter(3) Parameter(4) Parameter(5)

= = = = = =

Tension at I-End [F] Tension at J-End [F] Horizontal tension component [F] Maximum deformed vertical sag [L] Deformed low-point vertical sag [L] Deformed length [L]

Parameter(6) = Deformed relative length Parameter(7) = Maximum undeformed vertical sag [L] Parameter(8) = Undeformed low-point vertical sag [L] Parameter(9) = Undeformed length [L] Parameter(10) = Undeformed relative length

Remarks This function retrieves definition data for a specified cable object. The function returns zero if the data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableObjectData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim CableType As Long Dim NumSegs As Long Dim Weight As Double Dim ProjectedLoad As Double Dim UseDeformedGeom As Boolean Dim ModelUsingFrames As Boolean Dim Parameter() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'get cable data ret = SapModel.CableObj.GetCableData(Name, CableType, NumSegs, Weight, ProjectedLoad, UseDeformedGeom, ModelUsingFrames, Parameter) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also AddByCoord AddByPoint SetCableData GetCableGeometry

GetCableGeometry Syntax SapObject.SapModel.CableObj.GetCableGeometry

VB6 Procedure Function GetCableGeometry(ByRef Name As String, ByRef NumberPoints As Long, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, ByRef Sag() As Double, ByRef Dist() As Double, ByRef RD() As Double, Optional ByVal CSys As String = "Global") As Long

Parameters Name

The name of a defined cable object. NumberPoints

The number of points defining the cable geometry. x, y, z

The x, y and z coordinates of the considered point on the cable in the coordinate system specified by the CSys item. [L] Sag

The cable vertical sag, measured from the chord, at the considered point. [L] Distance

The distance along the cable, measured from the cable I-End, to the considered point. [L] RD

The relative distance along the cable, measured from the cable I-End, to the considered point. CSys

The name of the coordinate system in which the x, y and z coordinates are to be reported.

Remarks This function retrieves geometric data for a specified cable object. The function returns zero if the data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableObjectGeometry() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberPoints As Long Dim x() As Double Dim y() As Double Dim z() As Double Dim Sag() As Double Dim Dist() As Double Dim RD() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'get cable geometry ret = SapModel.CableObj.GetCableGeometry(Name, NumberPoints , x, y, z, Sag, Dist, RD) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also AddByCoord AddByPoint SetCableData GetCableData

GetElm Syntax SapObject.SapModel.CableObj.GetElm

VB6 Procedure Function GetElm(ByVal Name As String, ByRef nelm As Long, ByRef Elm() as String, ByRef RDI() As Double, ByRef RDJ() As Double) As Long

Parameters Name

The name of an existing cable object. nelm

The number of line elements created from the specified cable object. Elm

An array that includes the name of a line element created from the specified cable object. RDI

An array that includes the relative distance along the cable object to the I-End of the line element. RDJ

An array that includes the relative distance along the cable object to the J-End of the line element.

Remarks This function retrieves the names of the line elements (analysis model lines) associated with a specified cable object in the object-based model. It also retrieves information about the location of the line elements along the cable object. This function returns zero if the line element information is successfully returned; otherwise it returns nonzero. An error occurs if the analysis model does not currently exist.

VBA Example Sub GetLineElementInfoForCableObject() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim nelm As Long Dim Elm() As String Dim RDI() As Double Dim RDJ() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'create the analysis model ret = SapModel.Analyze.CreateAnalysisModel 'get line element information ret = SapModel.CableObj.GetElm(Name, nelm, Elm, RDI, RDJ) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also

GetGUID Syntax SapObject.SapModel.CableObj.GetGUID

VB6 Procedure Function GetGUID(ByVal name As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing cable object. GUID

The GUID (Global Unique ID) for the specified cable object.

Remarks This function retrieves the GUID for the specified cable object. This function returns zero if the cable object GUID is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetCableObjGUID() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'set program created GUID ret = SapObject.SapModel.CableObj.SetGUID(Name) 'get GUID ret = SapObject.SapModel.CableObj.GetGUID(Name, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also SetGUID

GetInsertionPoint Syntax SapObject.SapModel.CableObj.GetInsertionPoint

VB6 Procedure Function GetInsertionPoint(ByVal Name As String, ByRef StiffTransform As Boolean, ByRef Offset1() As Double, ByRef Offset2() As Double, ByRef CSys As String) As Long

Parameters Name

The name of an existing cable object. StiffTransform

If this item is True, the cable object stiffness is transformed for cardinal point and joint offsets from the cable section centroid. Offset1

This is an array of three joint offset distances, in the coordinate directions specified by CSys, at the I-End of the cable object. [L] Offset1(0) = Offset in the 1-axis or X-axis direction Offset1(1) = Offset in the 2-axis or Y-axis direction Offset1(2) = Offset in the 3-axis or Z-axis direction Offset2

This is an array of three joint offset distances, in the coordinate directions specified by CSys, at the J-End of the cable object. [L] Offset2(0) = Offset in the 1-axis or X-axis direction Offset2(1) = Offset in the 2-axis or Y-axis direction Offset2(2) = Offset in the 3-axis or Z-axis direction CSys

This is Local or the name of a defined coordinate system. It is the coordinate system in which the Offset1 and Offset2 items are specified.

Remarks This function retrieves cable object insertion point assignments. The assignments include the end joint offsets. The function returns zero if the insertion point data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableInsertionPoint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim StiffTransform As Boolean Dim Offset1() As Double Dim Offset2() As Double Dim CSys As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable insertion point ReDim Offset1(2) ReDim Offset2(2) For i = 0 To 2 Offset1(i)=10 + i Offset2(i)=20 + i Next i ret = SapModel.CableObj.SetInsertionPoint(Name, True, Offset1, Offset2)

'get cable insertion point ReDim Offset1(2) ReDim Offset2(2) ret = SapModel.CableObj.GetInsertionPoint(Name, StiffTransform, Offset1, Offset2, CSys) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetInsertionPoint

GetLoadDeformation Syntax SapObject.SapModel.CableObj.GetLoadDeformation

VB6 Procedure Function GetLoadDeformation(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef U1() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of deformation loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each deformation load. LoadPat

This is an array that includes the name of the load pattern associated with each deformation load. U1

This is an array of axial deformation load values. [L] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the deformation load assignments to cable objects. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableDeformationLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CableName() As String Dim LoadPat() As String Dim U1() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable deformation loads ret = SapModel.CableObj.SetLoadDeformation("ALL", "DEAD", 2, Group) 'get cable deformation loads ret = SapModel.CableObj.GetLoadDeformation(Name, NumberItems, CableName, LoadPat, U1) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetLoadDeformation DeleteLoadDeformation

GetLoadDistributed Syntax SapObject.SapModel.CableObj.GetLoadDistributed

VB6 Procedure Function GetLoadDistributed(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef CSys() As String, ByRef Dir() As Long, ByRef ByRef Value() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of distributed loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each distributed load. LoadPat

This is an array that includes the name of the coordinate system in which the distributed loads are specified. MyType

This is an array that includes 1 or 2, indicating the type of distributed load. 1 = Force 2 = Moment CSys

This is an array that includes the name of the coordinate system in which each distributed load is defined. It may be Local or the name of a defined coordinate system. Dir

This is 1, 2, 3, 4, 5, 6 or 10, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10) is in the negative Global Z direction. Value

This is the load value of the distributed load. The distributed load is applied over the full length of the cable. [F/L] when MyType is 1 and [FL/L] when MyType is 2 ItemType

This is one of the following items in the eItemType enumeration:

Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the distributed load assignments to cable objects. The loads are uniformly distributed over the full length of cable objects. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableDistributedLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CableName() As String Dim LoadPat() As String Dim MyType() As Long Dim CSys() As String Dim Dir() As Long Dim Value() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable distributed load ret = SapModel.CableObj.SetLoadDistributed(Name, "DEAD", 1, 10, 0.08) 'get cable distributed loads ret = SapModel.CableObj.GetLoadDistributed("ALL", NumberItems, CableName, LoadPat, MyType, CSys, Dir, Value, Group)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetLoadDistributed DeleteLoadDistributed

GetLoadDistributedWithGUID Syntax SapObject.SapModel.CableObj.GetLoadDistributedWithGUID

VB6 Procedure Function GetLoadDistributedWithGUID(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef CSys() As String, ByRef Dir() As Long, ByRef Value() As Double, ByRefGUID() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of distributed loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each distributed load. LoadPat

This is an array that includes the name of the coordinate system in which the distributed loads are specified. MyType

This is an array that includes 1 or 2, indicating the type of distributed load. 1 = Force 2 = Moment CSys

This is an array that includes the name of the coordinate system in which each distributed load is defined. It may be Local or the name of a defined coordinate system. Dir

This is 1, 2, 3, 4, 5, 6 or 10, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10) is in the negative Global Z direction. Value

This is the load value of the distributed load. The distributed load is applied over the full length of the cable. [F/L] when MyType is 1 and [FL/L] when MyType is 2 GUID

This is an array that includes the global unique ID of each load.

ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the distributed load assignments to cable objects. The loads are uniformly distributed over the full length of cable objects. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

Release Notes Initial release in version 17.2.0.

See Also SetLoadDistributedWithGUID DeleteLoadDistributedWithGUID

GetLoadGravity Syntax SapObject.SapModel.CableObj.GetLoadGravity

VB6 Procedure Function GetLoadGravity(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef CSys() As String, ByRef x() As Double, ByRef y() As Double, ByRef z() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of gravity loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each gravity load. LoadPat

This is an array that includes the name of the coordinate system in which the gravity load multipliers are specified. CSys

This is an array that includes the name of the coordinate system associated with each gravity load. x, y, z

These are arrays of gravity load multipliers in the x, y and z directions of the specified coordinate system. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the gravity load assignments to cable objects. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CableName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable gravity loads ret = SapModel.CableObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'get cable gravity load ret = SapModel.CableObj.GetLoadGravity(Name, NumberItems, CableName, LoadPat, CSys, x, y, z)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetLoadGravity DeleteLoadGravity

GetLoadStrain Syntax SapObject.SapModel.CableObj.GetLoadStrain

VB6 Procedure Function GetLoadStrain(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef Strain() As Double, ByRef PatternName() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of strain loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each strain load. LoadPat

This is an array that includes the name of the load pattern associated with each strain load. Strain

This is an array that includes the axial strain value. [L/L] PatternName

This is an array that includes the joint pattern name, if any, used to specify the strain load. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the strain load assignments to cable objects. The function returns zero if the strain load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CableName() As String Dim LoadPat() As String Dim Strain() As Double Dim PatternName() As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable strain load ret = SapModel.CableObj.SetLoadStrain(Name, "DEAD", 0.001) 'get cable strain load ret = SapModel.CableObj.GetLoadStrain(Name, NumberItems, CableName, LoadPat, Strain,PatternName) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetLoadStrain DeleteLoadStrain

GetLoadTargetForce Syntax SapObject.SapModel.CableObj.GetLoadTargetForce

VB6 Procedure Function GetLoadTargetForce(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef P() As Double, ByRef RD() As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of deformation loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each target force. LoadPat

This is an array that includes the name of the load pattern associated with each target force. P

This is an array of axial target force values. [F] RD

This is an array of the relative distances along the cable objects where the axial target force values apply. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the target force assignments to cable objects. The function returns zero if the target force assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableTargetForce() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CableName() As String Dim LoadPat() As String Dim P() As double Dim RD() As double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable target force ret = SapModel.CableObj.SetLoadTargetForce(Name, "DEAD", 50, 0.5) 'get cable target force ret = SapModel.CableObj.GetLoadTargetForce(Name, NumberItems, CableName, LoadPat, P, RD) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetLoadTargetForce DeleteLoadTargetForce

GetLoadTemperature Syntax SapObject.SapModel.CableObj.GetLoadTemperature

VB6 Procedure Function GetLoadTemperature(ByVal Name As String, ByRef NumberItems As Long, ByRef CableName() As String, ByRef LoadPat() As String, ByRef MyType() As Long, ByRef Val() As Double, ByRef PatternName() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. NumberItems

The total number of temperature loads retrieved for the specified cable objects. CableName

This is an array that includes the name of the cable object associated with each temperature load. LoadPat

This is an array that includes the name of the load pattern associated with each temperature load. Val

This is an array that includes the temperature load value. [T] PatternName

This is an array that includes the joint pattern name, if any, used to specify the temperature load. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignments are retrieved for the cable object specified by the Name item. If this item is Group, the assignments are retrieved for all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignments are retrieved for all selected cable objects, and the Name item is ignored.

Remarks This function retrieves the temperature load assignments to cable objects. The function returns zero if the load assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableTemperatureLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim CableName() As String Dim LoadPat() As String Dim Val() As Double Dim PatternName() As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable temperature load ret = SapModel.CableObj.SetLoadTemperature("ALL", "DEAD", 50, , , Group) 'get cable temperature load ret = SapModel.CableObj.GetLoadTemperature("ALL", NumberItems, CableName, LoadPat, Val, PatternName, Group) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetLoadTemperature DeleteLoadTemperature

GetMass Syntax SapObject.SapModel.CableObj.GetMass

VB6 Procedure Function GetMass(ByVal Name As String, ByRef MassOverL As Double) As Long

Parameters Name

The name of an existing cable object. MassOverL

The mass per unit length assigned to the cable object. [M/L]

Remarks This function retrieves the mass per unit length assignment for cable objects. The function returns zero if the mass assignment is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableMass() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MassOverL As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable mass ret = SapModel.CableObj.SetMass("ALL", .0001, False, Group) 'get cable mass assignment ret = SapModel.CableObj.GetMass(Name, MassOverL) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetMass DeleteMass

GetMaterialOverwrite Syntax SapObject.SapModel.CableObj.GetMaterialOverwrite

VB6 Procedure Function GetMaterialOverwrite(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined cable object. PropName

This is None, indicating that no material overwrite exists for the specified cable object, or it is the name of an existing material property.

Remarks This function retrieves the material overwrite assigned to a cable object, if any. It returns None if there is no material overwrite assignment. The function returns zero if the material overwrite assignment is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableMaterialOverwrite() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by coordinates ret = SapModel.CableObj.AddByCoord(-300, 0, 0, -100, 0, 124, Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign material overwrite ret = SapModel.CableObj.SetMaterialOverwrite(Name, "4000Psi") 'get material overwrite assignment ret = SapModel.CableObj.GetMaterialOverwrite(Name, PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetMaterialOverwrite

GetMatTemp Syntax SapObject.SapModel.CableObj.GetMatTemp

VB6 Procedure Function GetMatTemp(ByVal Name As String, ByRef Temp As Double, ByRef PatternName As String) As Long

Parameters Name

The name of an existing cable object. Temp

This is the material temperature value assigned to the cable object. [T] PatternName

This is blank or the name of a defined joint pattern. If it is blank, the material temperature for the cable object is uniform along the object at the value specified by Temp. If PatternName is the name of a defined joint pattern, the material temperature for the cable object may vary from one end to the other. The material temperature at each end of the object is equal to the specified temperature multiplied by the pattern value at the joint at the end of the cable object.

Remarks This function retrieves the material temperature assignments to cable objects. The function returns zero if the material temperature assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableMatTemp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Temp As Double Dim PatternName As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign material temperature ret = SapModel.CableObj.SetMatTemp("ALL", 50, , Group) 'get material temperature ret = SapModel.CableObj.GetMatTemp(Name, Temp, PatternName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetMatTemp

GetModifiers Syntax SapObject.SapModel.CableObj.GetModifiers

VB6 Procedure Function GetModifiers(ByVal Name As String, ByRef Value() As Double) As Long

Parameters Name

The name of an existing cable object. Value

This is an array of three unitless modifiers. Value(0) = Cross sectional area modifier Value(1) = Mass modifier Value(2) = Weight modifier

Remarks This function retrieves the cable modifier assignment for cable objects. The default value for all modifiers is one. The function returns zero if the modifier assignments are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableModifiers() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Value() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign modifiers ReDim Value(2) For i = 0 To 2 Value(i) = 1 Next i Value(0) = 100 ret = SapModel.CableObj.SetModifiers(Name, Value) 'get modifiers ReDim Value(2) ret = SapModel.CableObj.GetModifiers(Name, Value)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetModifiers DeleteModifiers

GetNameList Syntax SapObject.SapModel.CableObj.GetNameList

VB6 Procedure Function GetNameList(ByRef NumberNames As Long, ByRef MyName() As String) As Long

Parameters NumberNames

The number of cable object names retrieved by the program. MyName

This is a one-dimensional array of cable object names. The MyName array is created as a dynamic, zero-based, array by the APIuser: Dim MyName() as String

The array is dimensioned to (NumberNames – 1) inside the Sap2000 program, filled with the names, and returned to the APIuser.

Remarks This function retrieves the names of all defined cable objects. The function returns zero if the names are successfully retrieved, otherwise it returns nonzero.

VBA Example Sub GetCableObjectNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberNames As Long Dim MyName() As String Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name1) ret = SapModel.CableObj.AddByPoint("5", "10", Name2) 'set cable data ret = SapModel.CableObj.SetCableData(Name1, 7, 1, 0, 0, 24) ret = SapModel.CableObj.SetCableData(Name2, 7, 1, 0, 0, 24) 'get cable object names ret = SapModel.CableObj.GetNameList(NumberNames, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetOutputStations Syntax SapObject.SapModel.CableObj.GetOutputStations

VB6 Procedure Function GetOutputStations(ByVal Name As String, ByRef MyType As Long, ByRef MaxSegSize As Double, ByRef MinSections As Long, ByRef NoOutPutAndDesignAtElementEnds As Boolean, ByRef NoOutPutAndDesignAtPointLoads As Boolean) As Long

Parameters Name

The name of an existing cable object. MyType

This is 1 or 2, indicating how the output stations are specified. 1 = maximum segment size, that is, maximum station spacing 2 = minimum number of stations MaxSegSize

The maximum segment size, that is, the maximum station spacing. This item applies only when MyType = 1. [L] MinSections

The minimum number of stations. This item applies only when MyType = 2. NoOutPutAndDesignAtElementEnds

If this item is True, no additional output stations are added at the ends of line elements when the cable object is internally meshed. NoOutPutAndDesignAtPointLoads

If this item is True, no additional output stations are added at point load locations.

Remarks This function retrieves cable object output station data. The function returns zero if the data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableOutputStationData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyType As Long Dim MaxSegSize As Double Dim MinSections As Long Dim NoOutPutAndDesignAtElementEnds As Boolean Dim NoOutPutAndDesignAtPointLoads As Boolean Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'get cable output station data ret = SapModel.CableObj.GetOutputStations(Name, MyType, MaxSegSize, MinSections, NoOutPutAndDesignAtElementEnds, NoOutPutAndDesignAtPointLoads) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also SetOutputStations

GetPoints Syntax SapObject.SapModel.CableObj.GetPoints

VB6 Procedure Function GetPoints(ByVal Name As String, ByRef Point1 As String, ByRef Point2 As String) As Long

Parameters Name

The name of a defined cable object. Point1

The name of the point object at the I-End of the specified cable object. Point2

The name of the point object at the J-End of the specified cable object.

Remarks This function retrieves the names of the point objects at each end of a specified cable object. The function returns zero if the point names are successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableObjPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Point1 As String Dim Point2 As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by coordinates ret = SapModel.CableObj.AddByCoord(-300, 0, 0, -100, 0, 124, Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'get names of points ret = SapModel.CableObj.GetPoints(Name, Point1, Point2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetProperty Syntax SapObject.SapModel.CableObj.GetProperty

VB6 Procedure Function GetProperty(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a defined cable object. PropName

The name of the cable property assigned to the cable object.

Remarks This function retrieves the cable property assigned to a cable object. The function returns zero if the cable object property is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableSectionProp() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'get cable property ret = SapModel.CableObj.GetProperty(Name, PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also SetProperty

GetSelected Syntax Sap2000.CableObj.GetSelected

VB6 Procedure Function GetSelected(ByVal Name As String, ByRef Selected As Boolean) As Long

Parameters Name

The name of an existing cable object. Selected

This item returns True if the specified cable object is selected, otherwise it returns False.

Remarks This function retrieves the selected status for a cable object. The function returns zero if the selected status is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetCableObjectSelectedStatus() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Selected As Boolean Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name1) ret = SapModel.CableObj.AddByPoint("5", "10", Name2) 'set cable data ret = SapModel.CableObj.SetCableData(Name1, 7, 1, 0, 0, 24) ret = SapModel.CableObj.SetCableData(Name2, 7, 1, 0, 0, 24) 'set all cables selected ret = SapModel.CableObj.SetSelected("All", True, Group) 'get cable object selected status ret = SapModel.CableObj.GetSelected(Name1, Selected) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.00.

See Also SetSelected

GetTransformationMatrix Syntax Sap2000.CableObj.GetTransformationMatrix

VB6 Procedure Function GetTransformationMatrix(ByVal Name As String, ByRef Value() As Double,Optional ByVal IsGlobal As Boolean = True) As Long

Parameters Name

The name of an existing cable object. Value

Value is an array of nine direction cosines that define the transformation matrix. The following matrix equation shows how the transformation matrix is used to convert items from the cable object local coordinate system to the global coordinate system.

In the equation, c0 through c8 are the nine values from the transformation array, (Local1, Local2, Local3) are an item (such as a load) in the object local coordinate system, and (GlobalX, GlobalY, GlobalZ) are the same item in the global coordinate system. The transformation from the local coordinate system to the present coordinate system is the same as that shown above for the global system if you substitute the present system for the global system. IsGlobal

If this item is True, the transformation matrix is between the Global coordinate system and the cable object local coordinate system. If this item is False, the transformation matrix is between the present coordinate system and the cable object local coordinate system.

Remarks The function returns zero if the cable object transformation matrix is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetCableObjectMatrix() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'get cable object transformation matrix ReDim Value(8) ret = SapModel.CableObj.GetTransformationMatrix(Name, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

SetCableData Syntax SapObject.SapModel.CableObj.SetCableData

VB6 Procedure Function SetCableData(ByVal Name As String, ByVal CableType As Long, ByVal NumSegs As Long, ByVal Weight As Double, ByVal ProjectedLoad As Double, ByVal Value As Double, Optional ByVal UseDeformedGeom As Boolean = False, Optional ByVal ModelUsingFrames As Boolean = False) As Long

Parameters Name

The name of a defined cable object. CableType

This is 1, 2, 3, 4, 5, 6, 7, 8, or 9, indicating the cable definition parameter. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Minimum tension at I-End Minimum tension at J-End Tension at I-End Tension at J-End Horizontal tension component Maximum vertical sag Low-point vertical sag Undeformed length Relative undeformed length

NumSegs

This is the number of segments into which the program internally divides the cable. Weight

The added weight per unit length used when calculating the cable shape. [F/L] ProjectedLoad

The projected uniform gravity load used when calculating the cable shape. [F/L] Value

This is the value of the parameter used to define the cable shape. The item that Value represents depends on the CableType item. CableType = CableType = CableType = CableType = CableType = CableType = CableType = CableType = CableType =

1: 2: 3: 4: 5: 6: 7: 8: 9:

Not Used Not Used Tension at I-End [F] Tension at J-End [F] Horizontal tension component [F] Maximum vertical sag [L] Low-point vertical sag [L] Undeformed length [L] Relative undeformed length

UseDeformedGeom

If this item is True, the program uses the deformed geometry for the cable object; otherwise it uses the undeformed geometry.

ModelUsingFrames

If this item is True, the analysis model uses frame elements to model the cable instead of using cable elements.

Remarks This function assigns the cable definition parameters to a cable object. The function returns zero if the cable object is successfully defined; otherwise it returns a nonzero value. If the cable object is not successfully defined, it may be deleted.

VBA Example Sub SetCableDefinitionData() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional arguments UseDeformedGeom and ModelUsingFrames to both be ByVal in version 12.0.1.

See Also AddByCoord AddByPoint GetCableData GetCableGeometry

SetGroupAssign Syntax SapObject.SapModel.CableObj.SetGroupAssign

VB6 Procedure Function SetGroupAssign(ByVal Name As String, ByVal GroupName As String, Optional By Val Remove As Boolean = False, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. GroupName

The name of an existing group to which the assignment is made. Remove

If this item is False, the specified cable objects are added to the group specified by the GroupName item. If it is True, the cable objects are removed from the group. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the cable object specified by the Name item is added or removed from the group specified by the GroupName item. If this item is Group, all cable objects in the group specified by the Name item are added or removed from the group specified by the GroupName item. If this item is SelectedObjects, all selected cable objects are added or removed from the group specified by the GroupName item, and the Name item is ignored.

Remarks This function adds or removes cable objects from a specified group. The function returns zero if the group assignment is successful, otherwise it returns a nonzero value.

VBA Example Sub AddCableObjectsToGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name1 As String Dim Name2 As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name1) ret = SapModel.CableObj.AddByPoint("5", "10", Name2) 'set cable data ret = SapModel.CableObj.SetCableData(Name1, 7, 1, 0, 0, 24) ret = SapModel.CableObj.SetCableData(Name2, 7, 1, 0, 0, 24) 'define new group ret = SapModel.GroupDef.SetGroup("Group1") 'add cable objects to group ret = SapModel.CableObj.SetGroupAssign(Name1, "Group1") ret = SapModel.CableObj.SetGroupAssign(Name2, "Group1") 'select objects in group ret = SapModel.SelectObj.Group("Group1") 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

SetGUID Syntax SapObject.SapModel.CableObj.SetGUID

VB6 Procedure Function SetGUID(ByVal Name As String, Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing cable object. GUID

The GUID (Global Unique ID) for the specified cable object.

Remarks This function sets the GUID for the specified cable object. If the GUID is passed in as a blank string, the program automatically creates a GUID for the object. This function returns zero if the cable object GUID is successfully set; otherwise it returns nonzero.

VBA Example Sub SetCableObjGUID() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'set program created GUID ret = SapObject.SapModel.CableObj.SetGUID(Name) 'get GUID ret = SapObject.SapModel.CableObj.GetGUID(Name, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also GetGUID

SetInsertionPoint Syntax SapObject.SapModel.CableObj.SetInsertionPoint

VB6 Procedure Function SetInsertionPoint(ByVal Name As String, ByVal StiffTransform As Boolean, ByRef Offset1() As Double, ByRef Offset2() As Double, Optional ByVal CSys As String = "Local", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. StiffTransform

If this item is True, the cable object stiffness is transformed for cardinal point and joint offsets from the cable section centroid. Offset1

This is an array of three joint offset distances, in the coordinate directions specified by CSys, at the I-End of the cable object. [L] Offset1(0) = Offset in the 1-axis or X-axis direction Offset1(1) = Offset in the 2-axis or Y-axis direction Offset1(2) = Offset in the 3-axis or Z-axis direction Offset2

This is an array of three joint offset distances, in the coordinate directions specified by CSys, at the J-End of the cable object. [L] Offset2(0) = Offset in the 1-axis or X-axis direction Offset2(1) = Offset in the 2-axis or Y-axis direction Offset2(2) = Offset in the 3-axis or Z-axis direction CSys

This is Local or the name of a defined coordinate system. It is the coordinate system in which the Offset1 and Offset2 items are specified. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the cable object specified by the Name item. If this item is Group, the assignment is made to all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected cable objects, and the Name item is ignored.

Remarks This function assigns cable object insertion point data. The assignments include the end joint offsets. The function returns zero if the insertion point data is successfully assigned, otherwise it returns a nonzero value.

VBA Example Sub AssignCableInsertionPoint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Offset1() As Double Dim Offset2() As Double Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable insertion point ReDim Offset1(2) ReDim Offset2(2) For i = 0 To 2 Offset1(i)=10 + i Offset2(i)=20 + i Next i ret = SapModel.CableObj.SetInsertionPoint(Name, True, Offset1, Offset2) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also GetInsertionPoint

SetLoadDeformation Syntax SapObject.SapModel.CableObj.SetLoadDeformation

VB6 Procedure Function SetLoadDeformation(ByVal Name As String, ByVal LoadPat As String, ByRef d As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. d

This is the axial deformation load value. [L] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the cable object specified by the Name item. If this item is Group, the assignment is made to all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected cable objects, and the Name item is ignored.

Remarks This function assigns deformation loads to cable objects. The function returns zero if the loads are successfully assigned, otherwise it returns a nonzero value.

VBA Example Sub AssignCableDeformationLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable deformation loads ret = SapModel.CableObj.SetLoadDeformation("ALL", "DEAD", 2, Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadDeformation DeleteLoadDeformation

SetLoadDistributed Syntax SapObject.SapModel.CableObj.SetLoadDistributed

VB6 Procedure Function SetLoadDistributed(ByVal Name As String, ByVal LoadPat As String, ByVal MyType As Long, ByVal Dir As Long, ByVal Value As Double, Optional ByVal CSys As String = "Global", Optional ByVal Replace As Boolean = True, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. MyType

This is 1 or 2, indicating the type of distributed load. 1 = Force per unit length 2 = Moment per unit length Dir

This is 1, 2, 3, 4, 5, 6 or 10, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10) is in the negative Global Z direction. Value

This is the load value of the distributed load. The distributed load is applied over the full length of the cable. [F/L] when MyType is 1 and [FL/L] when MyType is 2 CSys

This is Local or the name of a defined coordinate system. It is the coordinate system in which the loads are specified. Replace

If this item is True, all previous loads, if any, assigned to the specified cable object(s), in the specified load pattern, are deleted before making the new assignment. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the cable object specified by the Name item. If this item is Group, the assignment is made to all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected cable objects, and the Name item is ignored.

Remarks This function assigns uniform distributed loads over the full length of cable objects. The function returns zero if the loads are successfully assigned, otherwise it returns a nonzero value.

VBA Example Sub AssignCableDistributedLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable distributed load ret = SapModel.CableObj.SetLoadDistributed(Name, "DEAD", 1, 10, 0.08) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadDistributed DeleteLoadDistributed

SetLoadDistributedWithGUID Syntax SapObject.SapModel.CableObj.SetLoadDistributedWithGUID

VB6 Procedure Function SetLoadDistributedWithGUID (ByVal Name As String, ByVal LoadPat As String, ByVal MyType As Long, ByVal Dir As Long, ByVal Value As Double, ByRef GUID As String, Optional ByVal CSys As String = "Global", Optional ByVal Replace As Boolean = True) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. MyType

This is 1 or 2, indicating the type of distributed load. 1 = Force per unit length 2 = Moment per unit length Dir

This is 1, 2, 3, 4, 5, 6 or 10, indicating the direction of the load. 1 = Local 1 axis (only applies when CSys is Local) 2 = Local 2 axis (only applies when CSys is Local) 3 = Local 3 axis (only applies when CSys is Local) 4 = X direction (does not apply when CSys is Local) 5 = Y direction (does not apply when CSys is Local) 6 = Z direction (does not apply when CSys is Local) 10 = Gravity direction (only applies when CSys is Global)

The positive gravity direction (see Dir = 10) is in the negative Global Z direction. Value

This is the load value of the distributed load. The distributed load is applied over the full length of the cable. [F/L] when MyType is 1 and [FL/L] when MyType is 2 GUID

This is the global unique ID of a distributed load assigned to the cable object or if it is not the global unique ID of a distributed load assigned to the cable object and it is not blank, the global unique ID which is assigned to the newly assigned load. If left blank, a new load assigned to the cable object and the value of this parameter is set to the global unique ID of the newly assigned load. CSys

This is Local or the name of a defined coordinate system. It is the coordinate system in which the loads are specified. Replace

If this item is True and the input GUID is not the GUID of any distributed load assigned to the cable object, all previous distributed loads, if any, assigned to the

specified cable object, in the specified load pattern, are deleted before making the new assignment. If the input GUID is the GUID of a distributed load already assigned to the frame object, the parameters of the distributed load are updated with the values provided and this item is ignored. If this item is True, all previous loads, if any, assigned to the specified cable object(s), in the specified load pattern, are deleted before making the new assignment.

Remarks If the cable object is already assigned a distributed load with a global unique ID matching the specified global unique ID, this function modifies that distributed load. Otherwise, this function assigns a new distributed load over the full length of the cable object and sets its global unique ID to the specified global unique ID. This function assigns uniform distributed loads over the full length of cable objects. The function returns zero if the loads are successfully assigned, otherwise it returns a nonzero value.

Release Notes Initial release in version 17.2.0.

See Also GetLoadDistributedWithGUID DeleteLoadDistributedWithGUID

SetLoadGravity Syntax SapObject.SapModel.CableObj.SetLoadGravity

VB6 Procedure Function SetLoadGravity(ByVal Name As String, ByVal LoadPat As String, ByVal x As Double, ByVal y As Double, ByVal z As Double, Optional ByVal Replace As Boolean = True, Optional ByVal CSys As String = "Global", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. x, y, z

These are the gravity load multipliers in the x, y and z directions of the specified coordinate system. Replace

If this item is True, all previous gravity loads, if any, assigned to the specified cable object(s), in the specified load pattern, are deleted before making the new assignment. CSys

The coordinate system in which the x, y and z multipliers are specified. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the cable object specified by the Name item. If this item is Group, the assignment is made to all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected cable objects, and the Name item is ignored.

Remarks This function assigns gravity load multipliers to cable objects. The function returns zero if the loads are successfully assigned, otherwise it returns a nonzero value.

VBA Example Sub AssignCableGravityLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret = SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret = SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable gravity loads ret = SapModel.CableObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadGravity DeleteLoadGravity

SetLoadStrain Syntax SapObject.SapModel.CableObj.SetLoadStrain

VB6 Procedure Function SetLoadStrain(ByVal Name As String, ByVal LoadPat As String, ByVal Strain As Double, Optional ByVal Replace As Boolean = True, Optional ByVal PatternName As String = "", Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. Strain

This is the axial strain load value. [L/L] Replace

If this item is True, all previous strain loads, if any, assigned to the specified cable object(s), in the specified load pattern, are deleted before making the new assignment. PatternName

This is blank or the name of a defined joint pattern. If it is blank, the strain load for the cable object is uniform along the object at the value specified by Strain. If PatternName is the name of a defined joint pattern, the strain load for the cable object is based on the specified strain value multiplied by the pattern value at the joints at each end of the cable object. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the cable object specified by the Name item. If this item is Group, the assignment is made to all cable objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected cable objects, and the Name item is ignored.

Remarks This function assigns strain loads to cable objects. The function returns zero if the loads are successfully assigned, otherwise it returns a nonzero value.

VBA Example Sub AssignCableStrainLoad() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create apModel object Set SapModel = SapObject.SapModel 'initialize model ret= SapModel.InitializeNewModel 'create model from template ret= SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add cable object by points ret= SapModel.CableObj.AddByPoint("1", "6", Name) 'set cable data ret= SapModel.CableObj.SetCableData(Name, 7, 1, 0, 0, 24) 'assign cable strain load ret= SapModel.CableObj.SetLoadStrain(Name, "DEAD", 0.001) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetLoadStrain DeleteLoadStrain

SetLoadTargetForce Syntax SapObject.SapModel.CableObj.SetLoadTargetForce

VB6 Procedure Function SetLoadTargetForce(ByVal Name As String, ByVal LoadPat As String, ByRef P As Double, ByRef RD As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing cable object or group, depending on the value of the ItemType item. LoadPat

The name of a defined load pattern. P

This is the axial target force value. [F] RD

This is the relative distance along the cable object to the location where the target force value applies. The relative distance must be between 0 and 1, 0 = 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 21 = Effective length factor, K1 Major Value >= 0; 0 means use program determined value.

22 = Effective length factor, K1 Minor Value >= 0; 0 means use program determined value. 23 = Effective length factor, K2 Major Value >= 0; 0 means use program determined value. 24 = Effective length factor, K2 Minor Value >= 0; 0 means use program determined value. 25 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 26 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 27 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 28 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 29 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 30 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 31 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 32 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 33 = Reduce HSS thickness 0 = Program default 1 = No 2 = Yes 34 = HSS welding type 0 = Program default 1 = ERW 2 = SAW

35 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 36 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. 37 = Compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 38 = Tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 39 = Major bending capacity, Mn3 Value >= 0; 0 means use program determined value. [FL] 40 = Minor bending capacity, Mn2 Value >= 0; 0 means use program determined value. [FL] 41 = Major shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 42 = Minor shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] 43 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAISC360_05_IBC2006() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-05/IBC2006") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.AISC360_05_IBC2006.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.AISC360_05_IBC2006.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 26, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design category 3 = Design provision 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 5 = Notional load coefficient 6 = Phi bending 7 = Phi compression 8 = Phi tension yielding 9 = Phi tension fracture 10 = Phi shear 11 = Phi shear sort webbed rolled I 12 = Phi torsion 13 = Ignore seismic code 14 = Ignore special seismic load 15 = Doubler plate is plug welded 16 = HSS welding type 17 = Reduce HSS thickness 18 = Consider deflection 19 = DL deflection limit, L/Value 20 = SDL + LL deflection limit, L/Value 21 = LL deflection limit, L/Value 22 = Total load deflection limit, L/Value 23 = Total camber limit, L/Value 24 = Pattern live load factor 25 = Demand/capacity ratio limit 26 = Multi-response case design 27 = Analysis Method 28 = Second Order Method 29 = Stiffness Reduction Method 30 = Importance Factor 31 = Design Systems Rho 32 = Design Systems Sds 33 = Design Systems R 34 = Design Systems Omega0 35 = Design Systems Cd Value

The value of the considered preference item.

1 = Framing type 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 3 = Design provision 1 = LRFD 2 = ASD 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 1 = Gen 2nd Order Elastic 2 = 2nd Order By Amp 1st Order 3 = Limited 1st Order Elastic 4 = DAM Gen 2nd Order Taub Variable 5 = DAM Gen 2nd Order Taub Fixed 6 = DAM Amp 1st Order Taub Variable 7 = DAM Amp 1st Order Taub Fixed 5 = Notional load coefficient Value > 0 6 = Phi bending Value > 0 7 = Phi compression Value > 0 8 = Phi tension yielding Value > 0 9 = Phi tension fracture

Value > 0 10 = Phi shear Value > 0 11 = Phi shear sort webbed rolled I Value > 0 12 = Phi torsion Value > 0 13 = Ignore seismic code 0 = No Any other value = Yes 14 = Ignore special seismic load 0 = No Any other value = Yes 15 = Doubler plate is plug welded 0 = No Any other value = Yes 16 = HSS welding type 1 = ERW 2 = SAW 17 = Reduce HSS thickness 0 = No Any other value = Yes 18 = Consider deflection 0 = No Any other value = Yes 19 = DL deflection limit, L/Value Value > 0 20 = SDL + LL deflection limit, L/Value Value > 0 21 = LL deflection limit, L/Value Value > 0

22 = Total load deflection limit, L/Value Value > 0 23 = Total camber limit, L/Value Value > 0 24 = Pattern live load factor Value >= 0 25 = Demand/capacity ratio limit Value > 0 26 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 27 = Analysis Method 1 = Direct Analysis 2 = Effective Length 3 = Limited 1st Order 28 = Second Order Method 1 = General 2nd Order 2 = Amplified 1st Order 29 = Stiffness Reduction Method 1 = Tau-b variable 2 = Tau-b Fixed 3 = No Modification 30 = Importance Factor Value > 0 31 = Design System Rho Value > 0 32 = Design System Sds Value >= 0

33 = Design System R Value > 0 34 = Design System Omega0 Value > 0 35 = Design System Cd Value > 0

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAISC360_05_IBC2006() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-05/IBC2006") 'get preference item ret = SapModel.DesignSteel.AISC360_05_IBC2006.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added items 27, 28, and 29, and noted Item 4 is obsolete in Version 12.00. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1. Added items 30 through 35 in v17.3.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC360_05_IBC2006.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 43, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, K1 Major 22 = Effective length factor, K1 Minor 23 = Effective length factor, K2 Major 24 = Effective length factor, K2 Minor 25 = Effective length factor, K Lateral Torsional Buckling 26 = Moment coefficient, Cm Major 27 = Moment coefficient, Cm Minor 28 = Bending coefficient, Cb 29 = Nonsway moment factor, B1 Major 30 = Nonsway moment factor, B1 Minor 31 = Sway moment factor, B2 Major 32 = Sway moment factor, B2 Minor 33 = Reduce HSS thickness 34 = HSS welding type

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 =

Yield stress, Fy Expected to specified Fy ratio, Ry Compressive capacity, Pnc Tensile capacity, Pnt Major bending capacity, Mn3 Minor bending capacity, Mn2 Major shear capacity, Vn2 Minor shear capacity, Vn3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program default 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 21 = Effective length factor, K1 Major Value >= 0; 0 means use program determined value.

22 = Effective length factor, K1 Minor Value >= 0; 0 means use program determined value. 23 = Effective length factor, K2 Major Value >= 0; 0 means use program determined value. 24 = Effective length factor, K2 Minor Value >= 0; 0 means use program determined value. 25 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 26 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 27 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 28 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 29 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 30 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 31 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 32 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 33 = Reduce HSS thickness 0 = Program default 1 = No 2 = Yes 34 = HSS welding type 0 = Program default 1 = ERW 2 = SAW

35 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 36 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. 37 = Compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 38 = Tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 39 = Major bending capacity, Mn3 Value >= 0; 0 means use program determined value. [FL] 40 = Minor bending capacity, Mn2 Value >= 0; 0 means use program determined value. [FL] 41 = Major shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 42 = Minor shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] 43 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAISC360_05_IBC2006() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-05/IBC2006") 'set overwrite item ret = SapModel.DesignSteel.AISC360_05_IBC2006.SetOverwrite("8", 1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.AISC360_05_IBC2006.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 26, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design category 3 = Design provision 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 5 = Notional load coefficient 6 = Phi bending 7 = Phi compression 8 = Phi tension yielding 9 = Phi tension fracture 10 = Phi shear 11 = Phi shear sort webbed rolled I 12 = Phi torsion 13 = Ignore seismic code 14 = Ignore special seismic load 15 = Doubler plate is plug welded 16 = HSS welding type 17 = Reduce HSS thickness 18 = Consider deflection 19 = DL deflection limit, L/Value 20 = SDL + LL deflection limit, L/Value 21 = LL deflection limit, L/Value 22 = Total load deflection limit, L/Value 23 = Total camber limit, L/Value 24 = Pattern live load factor 25 = Demand/capacity ratio limit 26 = Multi-response case design 27 = Analysis Method 28 = Second Order Method 29 = Stiffness Reduction Method 30 = Importance Factor 31 = Design Systems Rho 32 = Design Systems Sds 33 = Design Systems R 34 = Design Systems Omega0 35 = Design Systems Cd Value

The value of the considered preference item.

1 = Framing type 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 3 = Design provision 1 = LRFD 2 = ASD 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 1 = Gen 2nd Order Elastic 2 = 2nd Order By Amp 1st Order 3 = Limited 1st Order Elastic 4 = DAM Gen 2nd Order Taub Variable 5 = DAM Gen 2nd Order Taub Fixed 6 = DAM Amp 1st Order Taub Variable 7 = DAM Amp 1st Order Taub Fixed 5 = Notional load coefficient Value > 0 6 = Phi bending Value > 0 7 = Phi compression Value > 0 8 = Phi tension yielding Value > 0 9 = Phi tension fracture

Value > 0 10 = Phi shear Value > 0 11 = Phi shear sort webbed rolled I Value > 0 12 = Phi torsion Value > 0 13 = Ignore seismic code 0 = No Any other value = Yes 14 = Ignore special seismic load 0 = No Any other value = Yes 15 = Doubler plate is plug welded 0 = No Any other value = Yes 16 = HSS welding type 1 = ERW 2 = SAW 17 = Reduce HSS thickness 0 = No Any other value = Yes 18 = Consider deflection 0 = No Any other value = Yes 19 = DL deflection limit, L/Value Value > 0 20 = SDL + LL deflection limit, L/Value Value > 0 21 = LL deflection limit, L/Value Value > 0

22 = Total load deflection limit, L/Value Value > 0 23 = Total camber limit, L/Value Value > 0 24 = Pattern live load factor Value >= 0 25 = Demand/capacity ratio limit Value > 0 26 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 27 = Analysis Method 1 = Direct Analysis 2 = Effective Length 3 = Limited 1st Order 28 = Second Order Method 1 = General 2nd Order 2 = Amplified 1st Order 29 = Stiffness Reduction Method 1 = Tau-b variable 2 = Tau-b Fixed 3 = No Modification 30 = Importance Factor Value > 0 31 = Design System Rho Value > 0 32 = Design System Sds Value >= 0

33 = Design System R Value > 0 34 = Design System Omega0 Value > 0 35 = Design System Cd Value > 0

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAISC360_05_IBC2006() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-05/IBC2006") 'set preference item ret = SapModel.DesignSteel.AISC360_05_IBC2006.SetPreference(1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added items 27, 28, and 29, and noted Item 4 is obsolete in Version 12.00. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1. Added items 30 through 35 in v17.3.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC360_10.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 43, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, K1 Major 22 = Effective length factor, K1 Minor 23 = Effective length factor, K2 Major 24 = Effective length factor, K2 Minor 25 = Effective length factor, K Lateral Torsional Buckling 26 = Moment coefficient, Cm Major 27 = Moment coefficient, Cm Minor 28 = Bending coefficient, Cb 29 = Nonsway moment factor, B1 Major 30 = Nonsway moment factor, B1 Minor 31 = Sway moment factor, B2 Major 32 = Sway moment factor, B2 Minor 33 = Reduce HSS thickness 34 = HSS welding type 35 = Yield stress, Fy

36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 =

Expected to specified Fy ratio, Ry Compressive capacity, Pnc Tensile capacity, Pnt Major bending capacity, Mn3 Minor bending capacity, Mn2 Major shear capacity, Vn2 Minor shear capacity, Vn3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program default 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item.

8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 21 = Effective length factor, K1 Major Value >= 0; 0 means use program determined value.

22 = Effective length factor, K1 Minor Value >= 0; 0 means use program determined value. 23 = Effective length factor, K2 Major Value >= 0; 0 means use program determined value. 24 = Effective length factor, K2 Minor Value >= 0; 0 means use program determined value. 25 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 26 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 27 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 28 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 29 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 30 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 31 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 32 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 33 = Reduce HSS thickness 0 = Program default 1 = No 2 = Yes 34 = HSS welding type 0 = Program default 1 = ERW 2 = SAW

35 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 36 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. 37 = Compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 38 = Tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 39 = Major bending capacity, Mn3 Value >= 0; 0 means use program determined value. [FL] 40 = Minor bending capacity, Mn2 Value >= 0; 0 means use program determined value. [FL] 41 = Major shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 42 = Minor shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] 43 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAISC360_10() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-10") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.AISC360_10.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.0.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.AISC360_10.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 26, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design category 3 = Design provision 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 5 = Notional load coefficient 6 = Phi bending 7 = Phi compression 8 = Phi tension yielding 9 = Phi tension fracture 10 = Phi shear 11 = Phi shear sort webbed rolled I 12 = Phi torsion 13 = Ignore seismic code 14 = Ignore special seismic load 15 = Doubler plate is plug welded 16 = HSS welding type 17 = Reduce HSS thickness 18 = Consider deflection 19 = DL deflection limit, L/Value 20 = SDL + LL deflection limit, L/Value 21 = LL deflection limit, L/Value 22 = Total load deflection limit, L/Value 23 = Total camber limit, L/Value 24 = Pattern live load factor 25 = Demand/capacity ratio limit 26 = Multi-response case design 27 = Analysis Method 28 = Second Order Method 29 = Stiffness Reduction Method 30 = Importance Factor 31 = Design Systems Rho 32 = Design Systems Sds 33 = Design Systems R 34 = Design Systems Omega0 35 = Design Systems Cd Value

The value of the considered preference item.

1 = Framing type 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 3 = Design provision 1 = LRFD 2 = ASD 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 1 = Gen 2nd Order Elastic 2 = 2nd Order By Amp 1st Order 3 = Limited 1st Order Elastic 4 = DAM Gen 2nd Order Taub Variable 5 = DAM Gen 2nd Order Taub Fixed 6 = DAM Amp 1st Order Taub Variable 7 = DAM Amp 1st Order Taub Fixed 5 = Notional load coefficient Value > 0 6 = Phi bending Value > 0 7 = Phi compression Value > 0 8 = Phi tension yielding Value > 0 9 = Phi tension fracture

Value > 0 10 = Phi shear Value > 0 11 = Phi shear sort webbed rolled I Value > 0 12 = Phi torsion Value > 0 13 = Ignore seismic code 0 = No Any other value = Yes 14 = Ignore special seismic load 0 = No Any other value = Yes 15 = Doubler plate is plug welded 0 = No Any other value = Yes 16 = HSS welding type 1 = ERW 2 = SAW 17 = Reduce HSS thickness 0 = No Any other value = Yes 18 = Consider deflection 0 = No Any other value = Yes 19 = DL deflection limit, L/Value Value > 0 20 = SDL + LL deflection limit, L/Value Value > 0 21 = LL deflection limit, L/Value Value > 0

22 = Total load deflection limit, L/Value Value > 0 23 = Total camber limit, L/Value Value > 0 24 = Pattern live load factor Value >= 0 25 = Demand/capacity ratio limit Value > 0 26 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 27 = Analysis Method 1 = Direct Analysis 2 = Effective Length 3 = Limited 1st Order 28 = Second Order Method 1 = General 2nd Order 2 = Amplified 1st Order 29 = Stiffness Reduction Method 1 = Tau-b variable 2 = Tau-b Fixed 3 = No Modification 30 = Importance Factor Value > 0 31 = Design System Rho Value > 0 32 = Design System Sds Value >= 0

33 = Design System R Value > 0 34 = Design System Omega0 Value > 0 35 = Design System Cd Value > 0

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAISC360_10() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-10") 'get preference item ret = SapModel.DesignSteel.AISC360_10.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.0.0. Added items 30 through 35 in v17.3.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC360_10.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 43, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, K1 Major 22 = Effective length factor, K1 Minor 23 = Effective length factor, K2 Major 24 = Effective length factor, K2 Minor 25 = Effective length factor, K Lateral Torsional Buckling 26 = Moment coefficient, Cm Major 27 = Moment coefficient, Cm Minor 28 = Bending coefficient, Cb 29 = Nonsway moment factor, B1 Major 30 = Nonsway moment factor, B1 Minor 31 = Sway moment factor, B2 Major 32 = Sway moment factor, B2 Minor 33 = Reduce HSS thickness 34 = HSS welding type

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 =

Yield stress, Fy Expected to specified Fy ratio, Ry Compressive capacity, Pnc Tensile capacity, Pnt Major bending capacity, Mn3 Minor bending capacity, Mn2 Major shear capacity, Vn2 Minor shear capacity, Vn3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program default 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 21 = Effective length factor, K1 Major Value >= 0; 0 means use program determined value.

22 = Effective length factor, K1 Minor Value >= 0; 0 means use program determined value. 23 = Effective length factor, K2 Major Value >= 0; 0 means use program determined value. 24 = Effective length factor, K2 Minor Value >= 0; 0 means use program determined value. 25 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 26 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 27 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 28 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 29 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 30 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 31 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 32 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 33 = Reduce HSS thickness 0 = Program default 1 = No 2 = Yes 34 = HSS welding type 0 = Program default 1 = ERW 2 = SAW

35 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 36 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. 37 = Compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 38 = Tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 39 = Major bending capacity, Mn3 Value >= 0; 0 means use program determined value. [FL] 40 = Minor bending capacity, Mn2 Value >= 0; 0 means use program determined value. [FL] 41 = Major shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 42 = Minor shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] 43 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAISC360_10() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-10") 'set overwrite item ret = SapModel.DesignSteel.AISC360_10.SetOverwrite("8", 1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.0.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.AISC360_10.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 26, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design category 3 = Design provision 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 5 = Notional load coefficient 6 = Phi bending 7 = Phi compression 8 = Phi tension yielding 9 = Phi tension fracture 10 = Phi shear 11 = Phi shear sort webbed rolled I 12 = Phi torsion 13 = Ignore seismic code 14 = Ignore special seismic load 15 = Doubler plate is plug welded 16 = HSS welding type 17 = Reduce HSS thickness 18 = Consider deflection 19 = DL deflection limit, L/Value 20 = SDL + LL deflection limit, L/Value 21 = LL deflection limit, L/Value 22 = Total load deflection limit, L/Value 23 = Total camber limit, L/Value 24 = Pattern live load factor 25 = Demand/capacity ratio limit 26 = Multi-response case design 27 = Analysis Method 28 = Second Order Method 29 = Stiffness Reduction Method 30 = Importance Factor 31 = Design Systems Rho 32 = Design Systems Sds 33 = Design Systems R 34 = Design Systems Omega0 35 = Design Systems Cd Value

The value of the considered preference item.

1 = Framing type 1 = SMF 2 = IMF 3 = OMF 4 = SCBF 5 = OCBF 6 = OCBFI 7 = EBF 2 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 3 = Design provision 1 = LRFD 2 = ASD 4 = Analysis method (Obsolete, replaced by 27, 28, and 29) 1 = Gen 2nd Order Elastic 2 = 2nd Order By Amp 1st Order 3 = Limited 1st Order Elastic 4 = DAM Gen 2nd Order Taub Variable 5 = DAM Gen 2nd Order Taub Fixed 6 = DAM Amp 1st Order Taub Variable 7 = DAM Amp 1st Order Taub Fixed 5 = Notional load coefficient Value > 0 6 = Phi bending Value > 0 7 = Phi compression Value > 0 8 = Phi tension yielding Value > 0 9 = Phi tension fracture

Value > 0 10 = Phi shear Value > 0 11 = Phi shear sort webbed rolled I Value > 0 12 = Phi torsion Value > 0 13 = Ignore seismic code 0 = No Any other value = Yes 14 = Ignore special seismic load 0 = No Any other value = Yes 15 = Doubler plate is plug welded 0 = No Any other value = Yes 16 = HSS welding type 1 = ERW 2 = SAW 17 = Reduce HSS thickness 0 = No Any other value = Yes 18 = Consider deflection 0 = No Any other value = Yes 19 = DL deflection limit, L/Value Value > 0 20 = SDL + LL deflection limit, L/Value Value > 0 21 = LL deflection limit, L/Value Value > 0

22 = Total load deflection limit, L/Value Value > 0 23 = Total camber limit, L/Value Value > 0 24 = Pattern live load factor Value >= 0 25 = Demand/capacity ratio limit Value > 0 26 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 27 = Analysis Method 1 = Direct Analysis 2 = Effective Length 3 = Limited 1st Order 28 = Second Order Method 1 = General 2nd Order 2 = Amplified 1st Order 29 = Stiffness Reduction Method 1 = Tau-b variable 2 = Tau-b Fixed 3 = No Modification 30 = Importance Factor Value > 0 31 = Design System Rho Value > 0 32 = Design System Sds Value >= 0

33 = Design System R Value > 0 34 = Design System Omega0 Value > 0 35 = Design System Cd Value > 0

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAISC360_10() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC360-10") 'set preference item ret = SapModel.DesignSteel.AISC360_10.SetPreference(1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.0.0. Added items 30 through 35 in v17.3.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC_ASD89.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 31, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Yield stress, Fy 25 = Compressive stress, Fa 26 = Tensile stress, Ft 27 = Major bending stress, Fb3 28 = Minor bending stress, Fb2 29 = Major shear stress, Fv2 30 = Minor shear stress, Fv3 31 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type

0 = Program Default 1 = Moment Frame 2 = Brace Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute

Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 26 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 27 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2]

28 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 29 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 31 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAISC_ASD89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-ASD89") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.AISC_ASD89.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.AISC_ASD89.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Lateral factor 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Lateral factor Value > 0 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0 8 = Total camber limit, L/Value

Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAISC_ASD89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-ASD89") 'get preference item ret = SapModel.DesignSteel.AISC_ASD89.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC_ASD89.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 31, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Yield stress, Fy 25 = Compressive stress, Fa 26 = Tensile stress, Ft 27 = Major bending stress, Fb3 28 = Minor bending stress, Fb2 29 = Major shear stress, Fv2 30 = Minor shear stress, Fv3 31 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Brace Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral TorsionalBuckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 26 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 27 = Major bending stress, Fb3

Value >= 0; 0 means use program determined value. [F/L2] 28 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 29 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 31 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemASIC_ASD89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-ASD89") 'set overwrite item ret = SapModel.DesignSteel.AISC_ASD89.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.AISC_ASD89.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Lateral factor 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Lateral factor Value > 0 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0 8 = Total camber limit, L/Value

Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAISC_ASD89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-ASD89") 'set preference item ret = SapModel.DesignSteel.AISC_ASD89.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC_LRFD93.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 35, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Non-sway moment factor, B1 Major 25 = Non-sway moment factor, B1 Minor 26 = Sway moment factor, B2 Major 27 = Sway moment factor, B2 Minor 28 = Yield stress, Fy 29 = Compressive capacity, phi*Pnc 30 = Tensile capacity, phi*Pnt 31 = Major bending capacity, phi*Mn3 32 = Minor bending capacity, phi*Mn2 33 = Major shear capacity, phi*Vn2 34 = Minor shear capacity, phi*Vn3 35 = Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Non-sway moment factor, B1 Major Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 26 = Sway moment factor, B2 Major

Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 33 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 34 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 35 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAISC_LRFD93() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD93") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.AISC_LRFD93.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.AISC_LRFD93.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 15, inclusive, indicating the preference item considered. 1 = Framing type 2 = Phi bending 3 = Phi compression 4 = Phi tension 5 = Phi shear 6 = Phi compression, angle 7 = Consider deflection 8 = DL deflection limit, L/Value 9 = SDL + LL deflection limit, L/Value 10 = LL deflection limit, L/Value 11 = Total deflection limit, L/Value 12 = Total camber limit, L/Value 13 = Pattern live load factor 14 = Demand/capacity ratio limit 15 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Phi bending Value > 0 3 = Phi compression Value > 0 4 = Phi tension Value > 0 5 = Phi shear Value > 0 6 = Phi compression, angle Value > 0 7 = Consider deflection

0 = No Any other value = Yes 8 = DL deflection limit, L/Value Value > 0 9 = SDL + LL deflection limit, L/Value Value > 0 10 = LL deflection limit, L/Value Value > 0 11 = Total deflection limit, L/Value Value > 0 12 = Total camber limit, L/Value Value > 0 13 = Pattern live load factor Value >= 0 14 = Demand/capacity ratio limit Value > 0 15 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAISC_LRFD93() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD93") 'get preference item ret = SapModel.DesignSteel.AISC_LRFD93.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC_LRFD93.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 35, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Non-sway moment factor, B1 Major 25 = Non-sway moment factor, B1 Minor 26 = Sway moment factor, B2 Major 27 = Sway moment factor, B2 Minor 28 = Yield stress, Fy 29 = Compressive capacity, phi*Pnc 30 = Tensile capacity, phi*Pnt 31 = Major bending capacity, phi*Mn3 32 = Minor bending capacity, phi*Mn2 33 = Major shear capacity, phi*Vn2 34 = Minor shear capacity, phi*Vn3

35 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 25 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value.

26 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 33 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 34 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 35 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects= 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects,

and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAISC_LRFD93() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD93") 'set overwrite item ret = SapModel.DesignSteel.AISC_LRFD93.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.AISC_LRFD93.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 15, inclusive, indicating the preference item considered. 1 = Framing type 2 = Phi bending 3 = Phi compression 4 = Phi tension 5 = Phi shear 6 = Phi compression, angle 7 = Consider deflection 8 = DL deflection limit, L/Value 9 = SDL + LL deflection limit, L/Value 10 = LL deflection limit, L/Value 11 = Total deflection limit, L/Value 12 = Total camber limit, L/Value 13 = Pattern live load factor 14 = Demand/capacity ratio limit 15 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Phi bending Value > 0 3 = Phi compression Value > 0 4 = Phi tension Value > 0 5 = Phi shear Value > 0 6 = Phi compression, angle Value > 0 7 = Consider deflection

0 = No Any other value = Yes 8 = DL deflection limit, L/Value Value > 0 9 = SDL + LL deflection limit, L/Value Value > 0 10 = LL deflection limit, L/Value Value > 0 11 = Total deflection limit, L/Value Value > 0 12 = Total camber limit, L/Value Value > 0 13 = Pattern live load factor Value >= 0 14 = Demand/capacity ratio limit Value > 0 15 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAISC_LRFD93 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD93") 'set preference item ret = SapModel.DesignSteel.AISC_LRFD93.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.API_RP2A_LRFD97.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 37, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Non-sway moment factor, B1 Major 25 = Non-sway moment factor, B1 Minor 26 = Sway moment factor, B2 Major 27 = Sway moment factor, B2 Minor 28 = Pressure equalized 29 = External pressure 30 = Yield stress, Fy 31 = Compressive capacity, phi*Pnc 32 = Tensile capacity, phi*Pnt 33 = Major bending capacity, phi*Mn3 34 = Minor bending capacity, phi*Mn2 35 = Major shear capacity, phi*Vn2

36 = Minor shear capacity, phi*Vn3 37 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Non-sway moment factor, B1 Major Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor, B1 Minor Value >= 0; 0 means use program determined value.

26 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 28 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 29 = External pressure. [F/L2] Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2] 30 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 31 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 32 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 33 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 34 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 35 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 36 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 37 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAPI_RP2A_LRFD97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-LRFD 97") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.API_RP2A_LRFD97.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Modified Item 29 in version 14.1.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.API_RP2A_LRFD97.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Tubular joint punching load method 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Tubular joint punching load method 1 = Punching Shear 2 = Nominal Load 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit, L/Value Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0

8 = Total camber limit, L/Value Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAPI_RP2A_LRFD97 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-LRFD 97") 'get preference item ret = SapModel.DesignSteel.API_RP2A_LRFD97.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.API_RP2A_LRFD97.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemTypeitem. Item

This is an integer between 1 and 37, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Non-sway moment factor, B1 Major 25 = Non-sway moment factor, B1 Minor 26 = Sway moment factor, B2 Major 27 = Sway moment factor, B2 Minor 28 = Pressure equalized 29 = External pressure 30 = Yield stress, Fy 31 = Compressive capacity, phi*Pnc 32 = Tensile capacity, phi*Pnt 33 = Major bending capacity, phi*Mn3 34 = Minor bending capacity, phi*Mn2

35 = Major shear capacity, phi*Vn2 36 = Minor shear capacity, phi*Vn3 37 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Non-sway moment factor, B1 Major Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor, B1 Minor

Value >= 0; 0 means use program determined value. 26 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 28 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 29 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2] 30 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 31 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 32 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 33 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 34 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 35 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 36 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 37 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration:

Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAPI_RP2A_LRFD97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-LRFD 97") 'set overwrite item ret = SapModel.DesignSteel.API_RP2A_LRFD97.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Modified Item 29 in version 14.1.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.API_RP2A_LRFD97.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Tubular joint punching load method 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Tubular joint punching load method 1 = Punching Shear 2 = Nominal Load 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit, L/Value Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0

8 = Total camber limit, L/Value Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAPI_RP2A_LRFD97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject= New Sap2000v16.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel= SapObject.SapModel 'initialize model ret= SapModel.InitializeNewModel 'create model from template ret= SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret= SapModel.DesignSteel.SetCode("API RP2A-LRFD 97") 'set preference item ret= SapModel.DesignSteel.API_RP2A_LRFD97.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel= Nothing Set SapObject= Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2000.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 33, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral TorsionalBuckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Pressure equalized 25 = External pressure 26 = Yield stress, Fy 27 = Compressive stress, Fa 28 = Tensile stress, Ft 29 = Major bending stress, Fb3 30 = Minor bending stress, Fb2 31 = Major shear stress, Fv2 32 = Minor shear stress, Fv3 33 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 25 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension.. [F/L2] 26 = Yield stress, Fy

Value >= 0; 0 means use program determined value. [F/L2] 27 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 28 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 29 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 32 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 33 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAPI_RP2A_WSD2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-WSD2000") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.API_RP2A_WSD2000.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03. Modified Item 25 in version 14.1.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2000.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = Tubular joint punching load method 3 = Lateral factor, L/Value 4 = Consider deflection 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total deflection limit, L/Value 9 = Total camber limit, L/Value 10 = Pattern live load factor 11 = Demand/capacity ratio limit 12 = Multi-response case design 13 = Code supplements Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Tubular joint punching load method 1 = Punching Shear 2 = Nominal Load 3 = Lateral Factor Value > 0 4 = Consider deflection 0 = No Any other value = Yes 5 = DL deflection limit, L/Value Value > 0 6 = SDL + LL deflection limit, L/Value Value > 0 7 = LL deflection limit, L/Value

Value > 0 8 = Total deflection limit, L/Value Value > 0 9 = Total camber limit, L/Value Value > 0 10 = Pattern live load factor Value >= 0 11 = Demand/capacity ratio limit Value > 0 12 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 13 = Code supplements 1 = None 2 = Supplements 2 and 3

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAPI_RP2A_WSD2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-WSD2000") 'get preference item ret = SapModel.DesignSteel.API_RP2A_WSD2000.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1. Added code supplements item in version 16.1.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2000.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 33, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Pressure equalized 25 = External pressure 26 = Yield stress, Fy 27 = Compressive stress, Fa 28 = Tensile stress, Ft 29 = Major bending stress, Fb3 30 = Minor bending stress, Fb2 31 = Major shear stress, Fv2 32 = Minor shear stress, Fv3 33 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 25 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2]

26 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 27 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 28 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 29 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 32 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 33 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAPI_RP2A_WSD2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-WSD2000") 'set overwrite item ret = SapModel.DesignSteel.API_RP2A_WSD2000.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Modified Item 25 in version 14.1.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2000.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = Tubular joint punching load method 3 = Lateral factor, L/Value 4 = Consider deflection 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total deflection limit, L/Value 9 = Total camber limit, L/Value 10 = Pattern live load factor 11 = Demand/capacity ratio limit 12 = Multi-response case design 13 = Code supplements Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Tubular joint punching load method 1 = Punching Shear 2 = Nominal Load 3 = Lateral factor Value > 0 4 = Consider deflection 0 = No Any other value = Yes 5 = DL deflection limit, L/Value Value > 0 6 = SDL + LL deflection limit, L/Value Value > 0 7 = LL deflection limit, L/Value

Value > 0 8 = Total deflection limit, L/Value Value > 0 9 = Total camber limit, L/Value Value >= 0 10 = Pattern live load factor Value >= 0 11 = Demand/capacity ratio limit Value > 0 12 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 13 = Code supplements 1 = None 2 = Supplements 2 and 3

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAPI_RP2A_WSD2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject= New Sap2000v16.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel= SapObject.SapModel 'initialize model ret= SapModel.InitializeNewModel 'create model from template ret= SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret= SapModel.DesignSteel.SetCode("API RP2A-WSD2000") 'set preference item ret= SapModel.DesignSteel.API_RP2A_WSD2000.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel= Nothing Set SapObject= Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1. Added code supplements item in version 16.1.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2014.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 33, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral TorsionalBuckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Pressure equalized 25 = External pressure 26 = Yield stress, Fy 27 = Compressive stress, Fa 28 = Tensile stress, Ft 29 = Major bending stress, Fb3 30 = Minor bending stress, Fb2 31 = Major shear stress, Fv2 32 = Minor shear stress, Fv3 33 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 25 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension.. [F/L2] 26 = Yield stress, Fy

Value >= 0; 0 means use program determined value. [F/L2] 27 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 28 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 29 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 32 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 33 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAPI_RP2A_WSD2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-WSD2014") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.API_RP2A_WSD2014.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 19.1.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2014.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Lateral factor, L/Value 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Lateral Factor Value > 0 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit, L/Value Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0

8 = Total camber limit, L/Value Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAPI_RP2A_WSD2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-WSD2014") 'get preference item ret = SapModel.DesignSteel.API_RP2A_WSD2014.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.1.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2014.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 33, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Pressure equalized 25 = External pressure 26 = Yield stress, Fy 27 = Compressive stress, Fa 28 = Tensile stress, Ft 29 = Major bending stress, Fb3 30 = Minor bending stress, Fb2 31 = Major shear stress, Fv2 32 = Minor shear stress, Fv3 33 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 25 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2]

26 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 27 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 28 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 29 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 32 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 33 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAPI_RP2A_WSD2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("API RP2A-WSD2014") 'set overwrite item ret = SapModel.DesignSteel.API_RP2A_WSD2000.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.1.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.API_RP2A_WSD2000.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Lateral factor, L/Value 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Lateral Factor Value > 0 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit, L/Value Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0 8 = Total camber limit, L/Value

Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAPI_RP2A_WSD2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject= New Sap2000v16.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel= SapObject.SapModel 'initialize model ret= SapModel.InitializeNewModel 'create model from template ret= SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret= SapModel.DesignSteel.SetCode("API RP2A-WSD2014") 'set preference item ret= SapModel.DesignSteel.API_RP2A_WSD2014.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel= Nothing Set SapObject= Nothing End Sub

Release Notes Initial release in version 19.1.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Australian_AS4100_1998.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 46, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Steel type 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, Ke Major Braced 22 = Effective length factor, Ke Minor Braced 23 = Effective length factor, Ke Major Sway 24 = Effective length factor, Ke Minor Sway 25 = Twist restraint factor for LTB (kt) 26 = lateral rotation restraint factor (kr) 27 = Load height factor for LTB (kl) 28 = Moment coefficient, Cm Major 29 = Moment coefficient, Cm Minor 30 = Moment modification factor, Alpha_m 31 = Slender reduction factor, Alpha_s 32 = Nonsway moment factor, Db Major 33 = Nonsway moment factor, Db Minor 34 = Sway moment factor, Ds Major

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 =

Sway moment factor, Ds Minor Form factor, Kf Axial capacity correction factor, Kt Yield stress, Fy Compressive capacity, Nc Tensile capacity, Nt Major bending capacity, Ms33 Minor bending capacity, Ms22 Major bending capacity, Mb33 Major shear capacity, Vu2 Minor shear capacity, Vu3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment frame 2 = Braced frame 2 = Steel type 1 = Hot rolled 2 = Hot finished 3 = Cold form 4 = Stress relieved 5 = Lightly welded 6 = Heavily welded 3 = Consider deflection 0 = No Any other value = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value.

21 = Effective length factor, Ke Major Braced Value >= 0; 0 means use program determined value. 22 = Effective length factor, Ke Minor Braced Value >= 0; 0 means use program determined value. 23 = Effective length factor, Ke Major Sway Value >= 0; 0 means use program determined value. 24 = Effective length factor, Ke Minor Sway Value >= 0; 0 means use program determined value. 25 = Twist restraint factor for LTB (kt) Value >= 0; 0 means use program determined value. 26 = Lateral rotation restraint factor (kr) Value >= 0; 0 means use program determined value. 27 = Load height factor for LTB (kl) Value >= 0; 0 means use program determined value. 28 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 29 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 30 = Moment modification factor, Alpha_m Value >= 0; 0 means use program determined value. 31 = Slender reduction factor, Alpha_s Value >= 0; 0 means use program determined value. 32 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 33 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 34 = Sway moment factor, Bs Major Value >= 0; 0 means use program determined value.

35 = Sway moment factor, Bs Minor Value >= 0; 0 means use program determined value. 36 = Form factor, Kf Value >= 0; 0 means use program determined value. 37 = Axial capacity correction factor, Kt Value >= 0; 0 means use program determined value. 38 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 39 = Compressive capacity, Nc Value >= 0; 0 means use program determined value. [F] 40 = Tensile capacity, Nt Value >= 0; 0 means use program determined value. [F] 41 = Major bending capacity, Ms33 Value >= 0; 0 means use program determined value. [FL] 42 = Minor bending capacity, Ms22 Value >= 0; 0 means use program determined value. [FL] 43 = Minor bending capacity, Mb33 Value >= 0; 0 means use program determined value. [FL] 44 = Major shear capacity, Vu2 Value >= 0; 0 means use program determined value. [F] 45 = Minor shear capacity, Vu3 Value >= 0; 0 means use program determined value. [F] 46 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True then the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAustralian_AS4100_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") '

start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AS 4100-1998") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign

'get overwrite item ret = SapModel.DesignSteel.Australian_AS4100_1998.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 15.0.1.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Australian_AS4100_1998.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 17, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Structural analysis method 4 = Steel type 5 = Capacity factor, Phi bending 6 = Capacity factor, Phi compression 7 = Capacity factor, Phi tension yielding 8 = Capacity factor, Phi tension fracture 9 = Capacity factor, Phi shear 10 = Consider deflection 11 = DL deflection limit, L/Value 12 = SDL + LL deflection limit, L/Value 13 = LL deflection limit, L/Value 14 = Total load deflection limit, L/Value 15 = Total camber limit, L/Value 16 = Pattern live load factor 17 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Moment frame 2 = Braced frame 3 = Structural analysis method 1 = General 2nd Order 2 = Amplified 1st Order 4 = Steel type 1 = Hot rolled

2= 3= 4= 5= 6=

Hot finished Cold form Stress relieved Lightly welded Heavily welded

5 = Capacity factor, Phi bending Value > 0 6 = Capacity factor, Phi compression Value > 0 7 = Capacity factor, Phi tension yielding Value > 0 8 = Capacity factor, Phi tension fracture Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Consider deflection 0 = No Any other value = Yes 11 = DL deflection limit, L/Value Value > 0 12 = SDL + LL deflection limit, L/Value Value > 0 13 = LL deflection limit, L/Value Value > 0 14 = Total load deflection limit, L/Value Value > 0 15 = Total camber limit, L/Value Value > 0 16 = Pattern live load factor Value >= 0

17 = Demand/capacity ratio limit Value > 0

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItem Australian_AS4100_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AS 4100-1998") 'get preference item ret = SapModel.DesignSteel.Australian_AS4100_1998.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Australian_AS4100_1998.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 46, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Steel type 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, Ke Major Braced 22 = Effective length factor, Ke Minor Braced 23 = Effective length factor, Ke Major Sway 24 = Effective length factor, Ke Minor Sway 25 = Twist restraint factor for LTB (kt) 26 = lateral rotation restraint factor (kr) 27 = Load height factor for LTB (kl) 28 = Moment coefficient, Cm Major 29 = Moment coefficient, Cm Minor 30 = Moment modification factor, Alpha_m 31 = Slender reduction factor, Alpha_s 32 = Nonsway moment factor, Db Major 33 = Nonsway moment factor, Db Minor 34 = Sway moment factor, Ds Major

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 =

Sway moment factor, Ds Minor Form factor, Kf Axial capacity correction factor, Kt Yield stress, Fy Compressive capacity, Nc Tensile capacity, Nt Major bending capacity, Ms33 Minor bending capacity, Ms22 Major bending capacity, Mb33 Major shear capacity, Vu2 Minor shear capacity, Vu3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment frame 2 = Braced frame 2 = Steel type 1 = Hot rolled 2 = Hot finished 3 = Cold form 4 = Stress relieved 5 = Lightly welded 6 = Heavily welded 3 = Consider deflection 0 = No Any other value = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value.

21 = Effective length factor, Ke Major Braced Value >= 0; 0 means use program determined value. 22 = Effective length factor, Ke Minor Braced Value >= 0; 0 means use program determined value. 23 = Effective length factor, Ke Major Sway Value >= 0; 0 means use program determined value. 24 = Effective length factor, Ke Minor Sway Value >= 0; 0 means use program determined value. 25 = Twist restraint factor for LTB (kt) Value >= 0; 0 means use program determined value. 26 = Lateral rotation restraint factor (kr) Value >= 0; 0 means use program determined value. 27 = Load height factor for LTB (kl) Value >= 0; 0 means use program determined value. 28 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 29 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 30 = Moment modification factor, Alpha_m Value >= 0; 0 means use program determined value. 31 = Slender reduction factor, Alpha_s Value >= 0; 0 means use program determined value. 32 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 33 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 34 = Sway moment factor, Bs Major Value >= 0; 0 means use program determined value.

35 = Sway moment factor, Bs Minor Value >= 0; 0 means use program determined value. 36 = Form factor, Kf Value >= 0; 0 means use program determined value. 37 = Axial capacity correction factor, Kt Value >= 0; 0 means use program determined value. 38 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 39 = Compressive capacity, Nc Value >= 0; 0 means use program determined value. [F] 40 = Tensile capacity, Nt Value >= 0; 0 means use program determined value. [F] 41 = Major bending capacity, Ms33 Value >= 0; 0 means use program determined value. [FL] 42 = Minor bending capacity, Ms22 Value >= 0; 0 means use program determined value. [FL] 43 = Minor bending capacity, Mb33 Value >= 0; 0 means use program determined value. [FL] 44 = Major shear capacity, Vu2 Value >= 0; 0 means use program determined value. [F] 45 = Minor shear capacity, Vu3 Value >= 0; 0 means use program determined value. [F] 46 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAustralian_AS4100_1998 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AS 4100-1998") 'set overwrite item ret = SapModel.DesignSteel.Australian_AS4100_1998.SetOverwrite("8", 1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.Australian_AS4100_1998.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 17, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Structural analysis method 4 = Steel type 5 = Capacity factor, Phi bending 6 = Capacity factor, Phi compression 7 = Capacity factor, Phi tension yielding 8 = Capacity factor, Phi tension fracture 9 = Capacity factor, Phi shear 10 = Consider deflection 11 = DL deflection limit, L/Value 12 = SDL + LL deflection limit, L/Value 13 = LL deflection limit, L/Value 14 = Total load deflection limit, L/Value 15 = Total camber limit, L/Value 16 = Pattern live load factor 17 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Moment frame 2 = Braced frame 3 = Structural analysis method 1 = General 2nd Order 2 = Amplified 1st Order 4 = Steel type 1 = Hot rolled

2= 3= 4= 5= 6=

Hot finished Cold form Stress relieved Lightly welded Heavily welded

5 = Capacity factor, Phi bending Value > 0 6 = Capacity factor, Phi compression Value > 0 7 = Capacity factor, Phi tension yielding Value > 0 8 = Capacity factor, Phi tension fracture Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Consider deflection 0 = No Any other value = Yes 11 = DL deflection limit, L/Value Value > 0 12 = SDL + LL deflection limit, L/Value Value > 0 13 = LL deflection limit, L/Value Value > 0 14 = Total load deflection limit, L/Value Value > 0 15 = Total camber limit, L/Value Value > 0 16 = Pattern live load factor Value >= 0

17 = Demand/capacity ratio limit Value > 0

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAustralian_AS4100_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AS 4100-1998") 'set preference item ret = SapModel.DesignSteel.Australian_AS4100_1998.SetPreference(1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.ASCE_10_97.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 31, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Yield stress, Fy 25 = Compressive capacity, Pac 26 = Tensile capacity, Pat 27 = Major bending capacity, Ma3 28 = Minor bending capacity, Ma2 29 = Major shear stress, Fv2 30 = Minor shear stress, Fv3 31 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type

0 = Program Default 1 = Moment Frame 2 = Brace Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute

Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive capacity, Pac Value >= 0; 0 means use program determined value. [F] 26 = Tensile capacity, Pat Value >= 0; 0 means use program determined value. [F] 27 = Major bending capacity, Ma3 Value >= 0; 0 means use program determined value. [FL]

28 = Minor bending capacity, Ma2 Value >= 0; 0 means use program determined value. [FL] 29 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 31 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemASCE_10_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("ASCE 10-97") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.ASCE_10_97.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.ASCE_10_97.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflection limit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflection limit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemASCE_10_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("ASCE 10-97") 'get preference item ret = SapModel.DesignSteel.ASCE_10_97.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.ASCE_10_97.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 31, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Cm Major 22 = Moment coefficient, Cm Minor 23 = Bending coefficient, Cb 24 = Yield stress, Fy 25 = Compressive capacity, Pac 26 = Tensile capacity, Pat 27 = Major bending capacity, Ma3 28 = Minor bending capacity, Ma2 29 = Major shear stress, Fv2 30 = Minor shear stress, Fv3 31 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Brace Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive capacity, Pac Value >= 0; 0 means use program determined value. [F] 26 = Tensile capacity, Pat Value >= 0; 0 means use program determined value. [F] 27 = Major bending capacity, Ma3

Value >= 0; 0 means use program determined value. [FL] 28 = Minor bending capacity, Ma2 Value >= 0; 0 means use program determined value. [FL] 29 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 31 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemASCE_10_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("ASCE 10-97") 'set overwrite item ret = SapModel.DesignSteel. ASCE_10_97.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.ASCE_10_97.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflection limit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflection limit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemASCE_10_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("ASCE 10-97") 'set preference item ret = SapModel.DesignSteel.ASCE_10_97.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.BS5950_2000.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Uniform moment factor, m Major 22 = Uniform moment factor, m Minor 23 = Eqv. uniform moment factor, mLT 24 = Yield stress, Fy 25 = Compressive capacity, Pc 26 = Tensile capacity, Pt 27 = Major bending capacity, Mc3 28 = Minor bending capacity, Mc2 29 = Buckling resistance moment, Mb 30 = Major shear capacity, Pv2 31 = Minor shear capacity, Pv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Uniform moment factor, m Major Value >= 0; 0 means use program determined value. 22 = Uniform moment factor, m Minor Value >= 0; 0 means use program determined value. 23 = Eqv. Uniform moment factor, mLT Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive capacity, Pc Value >= 0; 0 means use program determined value. [F] 26 = Tensile capacity, Pt Value >= 0; 0 means use program determined value. [F] 27 = Major bending capacity, Mc3

Value >= 0; 0 means use program determined value. [FL] 28 = Minor bending capacity, Mc2 Value >= 0; 0 means use program determined value. [FL] 29 = Buckling resistance moment, Mb Value >= 0; 0 means use program determined value. [FL] 30 = Major shear capacity, Pv2 Value >= 0; 0 means use program determined value. [F] 31 = Minor shear capacity, Pv3 Value >= 0; 0 means use program determined value. [F] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemBS5950_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 2000") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.BS5950_2000.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.BS5950_2000.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflection limit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflection limit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemBS5950_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 2000") 'get preference item ret = SapModel.DesignSteel.BS5950_2000.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.BS5950_2000.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Uniform moment factor, m Major 22 = Uniform moment factor, m Minor 23 = Eqv. uniform moment factor, mLT 24 = Yield stress, Fy 25 = Compressive capacity, Pc 26 = Tensile capacity, Pt 27 = Major bending capacity, Mc3 28 = Minor bending capacity, Mc2 29 = Buckling resistance moment, Mb 30 = Major shear capacity, Pv2 31 = Minor shear capacity, Pv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Uniform moment factor, m Major Value >= 0; 0 means use program determined value. 22 = Uniform moment factor, m Minor Value >= 0; 0 means use program determined value. 23 = Eqv. Uniform moment factor, mLT Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive capacity, Pc Value >= 0; 0 means use program determined value. [F] 26 = Tensile capacity, Pt Value >= 0; 0 means use program determined value. [F] 27 = Major bending capacity, Mc3

Value >= 0; 0 means use program determined value. [FL] 28 = Minor bending capacity, Mc2 Value >= 0; 0 means use program determined value. [FL] 29 = Buckling resistance moment, Mb Value >= 0; 0 means use program determined value. [FL] 30 = Major shear capacity, Pv2 Value >= 0; 0 means use program determined value. [F] 31 = Minor shear capacity, Pv3 Value >= 0; 0 means use program determined value. [F] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemBS5950_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 2000") 'set overwrite item ret = SapModel.DesignSteel.BS5950_2000.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.BS5950_2000.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflection limit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflection limit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemBS5950_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 2000") 'set preference item ret = SapModel.DesignSteel.BS5950_2000.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Chinese_2010.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 51, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Element type 3 = Is transfer column 4 = Seismic magnification factor 5 = Is rolled section 6 = Is flange edge cut by gas 7 = Is both end pinned 8 = Ignore b/t check 9 = Classify beam as flexo-compression member 10 = Is beam top loaded 11 = Consider deflection 12 = Deflection check type 13 = DL deflection limit, L/Value 14 = SDL + LL deflection limit, L/Value 15 = LL deflection limit, L/Value 16 = Total load deflection limit, L/Value 17 = Total camber limit, L/Value 18 = DL deflection limit, absolute 19 = SDL + LL deflection limit, absolute 20 = LL deflection limit, absolute 21 = Total load deflection limit, absolute 22 = Total camber limit, absolute 23 = Specified camber 24 = Net area to total area ratio 25 = Live load reduction factor 26 = Unbraced length ratio, Major 27 = Unbraced length ratio, Minor Lateral Torsional Buckling 28 = Effective length factor, Mue Major 29 = Effective length factor, Mue Minor 30 = Moment coefficient, Beta_m Major 31 = Moment coefficient, Beta_m Minor 32 = Moment coefficient, Beta_t Major 33 = Moment coefficient, Beta_t Minor 34 = Axial stability coefficient, Phi Major 35 = Axial stability coefficient, Phi Minor

36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 = 48 = 49 = 50 = 51 =

Flexural stability coeff, Phi_bMajor Flexural stability coeff, Phi_bMinor Plasticity factor, Gamma Major Plasticity factor, Gamma Minor Section influence coefficient, Eta B/C capacity factor, Eta Euler moment factor, Delta Major Euler moment factor, Delta Minor Yield stress, Fy Allowable normal stress, f Allowable shear stress, fv Consider fictitious shear Demand/capacity ratio limit Dual system magnification factor Lo/r limit in compression L/r limit in tension

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Element type 0 = Program Determined 1 = Column 2 = Beam 3 = Brace 4 = Truss 3 = Is transfer column 0 = Program Determined 1 = No 2 = Yes 4 = Seismic magnification factor Value >= 0; 0 means no check for this item. 5 = Is rolled section 0 = Program Determined

1 = No 2 = Yes 6 = Is flange edge cut by gas 0 = Program Determined 1 = No 2 = Yes 7 = Is both end pinned 0 = Program Determined 1 = No 2 = Yes 8 = Ignore b/t check 0 = Program Determined 1 = No 2 = Yes 9 = Classify beam as flexo-compression member 0 = Program Determined 1 = No 2 = Yes 10 = Is beam top loaded 0 = Program Determined 1 = No 2 = Yes 11 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 12 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 13 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 14 = SDL + LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 15 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 16 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 17 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 18 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 19 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 20 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 21 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 22 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 23 = Specified camber Value >= 0. [L] 24 = Net area to total area ratio Value >= 0; 0 means use program default value. 25 = Live load reduction factor Value >= 0; 0 means use program determined value. 26 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 27 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 28 = Effective length factor, Mue Major Value >= 0; 0 means use program determined value.

29 = Effective length factor, Mue Minor Value >= 0; 0 means use program determined value. 30 = Moment coefficient, Beta_m Major Value >= 0; 0 means use program determined value. 31 = Moment coefficient, Beta_m Minor Value >= 0; 0 means use program determined value. 32 = Moment coefficient, Beta_t Major Value >= 0; 0 means use program determined value. 33 = Moment coefficient, Beta_t Minor Value >= 0; 0 means use program determined value. 34 = Axial stability coefficient, Phi Major Value >= 0; 0 means use program determined value. 35 = Axial stability coefficient, Phi Minor Value >= 0; 0 means use program determined value. 36 = Flexural stability coefficient, Phi_b Major Value >= 0; 0 means use program determined value. 37 = Flexural stability coefficient, Phi_b Minor Value >= 0; 0 means use program determined value. 38 = Plasticity factor, Gamma Major Value >= 0; 0 means use program determined value. 39 = Plasticity factor, Gamma Minor Value >= 0; 0 means use program determined value. 40 = Section influence coefficient, Eta Value >= 0; 0 means use program determined value. 41 = B/C capacity factor, Eta Value >= 0; 0 means use program determined value. 42 = Euler moment factor, Delta Major Value >= 0; 0 means use program determined value.

43 = Euler moment factor, Delta Minor Value >= 0; 0 means use program determined value. 44 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 45 = Allowable normal stress, f Value >= 0; 0 means use program determined value. [F/L2] 46 = Allowable shear stress, fv Value >= 0; 0 means use program determined value. [F/L2] 47 = Consider fictitious shear 0 = Program Determined 1 = No 2 = Yes 48 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. 49 = Dual system magnification factor Value >= 0; 0 means use program default value. 50 = Lo/r limit in compression Value >= 0; 0 means use program determined value. 51 = L/r limit in tension Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2010") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Chinese_2010.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Chinese_2010.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Gamma0 3 = Ignore b/t check 4 = Classify beam as flexo compression member 5 = Consider deflection 6 = DL deflection limit, L/Value 7 = SDL + LL deflection limit, L/Value 8 = LL deflection limit, L/Value 9 = Total load deflection limit, L/Value 10 = Total camber limit, L/Value 11 = Pattern live load factor 12 = Demand/capacity ratio limit 13 = Multi-response case design 14 = Is tall building? 15 = Seismic Design Grade Value

The value of the considered preference item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Gamma0 Value > 0 3 = Ignore b/t check 0 = No Any other value = Yes 4 = Classify beam as flexo compression member 0 = No Any other value = Yes 5 = Consider deflection 0 = No

Any other value = Yes 6 = DL deflection limit, L/Value Value > 0 7 = SDL + LL deflection limit, L/Value Value > 0 8 = LL deflection limit, L/Value Value > 0 9 = Total load deflection limit, L/Value Value > 0 10 = Total camber limit, L/Value Value > 0 11 = Pattern live load factor Value >= 0 12 = Demand/capacity ratio limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 14 = Tall building 0 = No 1 = Yes 15 = Seismic Design Grade 1 = Grade I 2 = Grade II 3 = Grade III 4 = Grade IV 5 = Non Seismic

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2010") 'get preference item ret = SapModel.DesignSteel.Chinese_2010.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2. Added Seismic Design Grade preference item in v18.0.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Chinese_2010.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 51, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Element type 3 = Is transfer column 4 = Seismic magnification factor 5 = Is rolled section 6 = Is flange edge cut by gas 7 = Is both end pinned 8 = Ignore b/t check 9 = Classify beam as flexo-compression member 10 = Is beam top loaded 11 = Consider deflection 12 = Deflection check type 13 = DL deflection limit, L/Value 14 = SDL + LL deflection limit, L/Value 15 = LL deflection limit, L/Value 16 = Total load deflection limit, L/Value 17 = Total camber limit, L/Value 18 = DL deflection limit, absolute 19 = SDL + LL deflection limit, absolute 20 = LL deflection limit, absolute 21 = Total load deflection limit, absolute 22 = Total camber limit, absolute 23 = Specified camber 24 = Net area to total area ratio 25 = Live load reduction factor 26 = Unbraced length ratio, Major 27 = Unbraced length ratio, Minor Lateral TorsionalBuckling 28 = Effective length factor, Mue Major 29 = Effective length factor, Mue Minor 30 = Moment coefficient, Beta_m Major 31 = Moment coefficient, Beta_m Minor 32 = Moment coefficient, Beta_t Major 33 = Moment coefficient, Beta_t Minor 34 = Axial stability coefficient, Phi Major

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 = 48 = 49 = 50 = 51 =

Axial stability coefficient, Phi Minor Flexural stability coeff, Phi_bMajor Flexural stability coeff, Phi_bMinor Plasticity factor, Gamma Major Plasticity factor, Gamma Minor Section influence coefficient, Eta B/C capacity factor, Eta Euler moment factor, Delta Major Euler moment factor, Delta Minor Yield stress, Fy Allowable normal stress, f Allowable shear stress, fv Consider fictitious shear Demand/capacity ratio limit Dual system magnification factor Lo/r limit in compression L/r limit in tension

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Element type 0 = Program Determined 1 = Column 2 = Beam 3 = Brace 4 = Truss 3 = Is transfer column 0 = Program Determined 1 = No 2 = Yes 4 = Seismic magnification factor Value >= 0; 0 means no check for this item.

5 = Is rolled section 0 = Program Determined 1 = No 2 = Yes 6 = Is flange edge cut by gas 0 = Program Determined 1 = No 2 = Yes 7 = Is both end pinned 0 = Program Determined 1 = No 2 = Yes 8 = Ignore b/t check 0 = Program Determined 1 = No 2 = Yes 9 = Classify beam as flexo-compression member 0 = Program Determined 1 = No 2 = Yes 10 = Is beam top loaded 0 = Program Determined 1 = No 2 = Yes 11 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 12 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 13 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item.

14 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 15 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 16 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 17 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 18 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 19 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 20 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 21 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 22 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 23 = Specified camber Value >= 0. [L] 24 = Net area to total area ratio Value >= 0; 0 means use program default value. 25 = Live load reduction factor Value >= 0; 0 means use program determined value. 26 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 27 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value.

28 = Effective length factor, Mue Major Value >= 0; 0 means use program determined value. 29 = Effective length factor, Mue Minor Value >= 0; 0 means use program determined value. 30 = Moment coefficient, Beta_m Major Value >= 0; 0 means use program determined value. 31 = Moment coefficient, Beta_m Minor Value >= 0; 0 means use program determined value. 32 = Moment coefficient, Beta_t Major Value >= 0; 0 means use program determined value. 33 = Moment coefficient, Beta_t Minor Value >= 0; 0 means use program determined value. 34 = Axial stability coefficient, Phi Major Value >= 0; 0 means use program determined value. 35 = Axial stability coefficient, Phi Minor Value >= 0; 0 means use program determined value. 36 = Flexural stability coefficient, Phi_b Major Value >= 0; 0 means use program determined value. 37 = Flexural stability coefficient, Phi_b Minor Value >= 0; 0 means use program determined value. 38 = Plasticity factor, Gamma Major Value >= 0; 0 means use program determined value. 39 = Plasticity factor, Gamma Minor Value >= 0; 0 means use program determined value. 40 = Section influence coefficient, Eta Value >= 0; 0 means use program determined value. 41 = B/C capacity factor, Eta Value >= 0; 0 means use program determined value. 42 = Euler moment factor, Delta Major

Value >= 0; 0 means use program determined value. 43 = Euler moment factor, Delta Minor Value >= 0; 0 means use program determined value. 44 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 45 = Allowable normal stress, f Value >= 0; 0 means use program determined value. [F/L2] 46 = Allowable shear stress, fv Value >= 0; 0 means use program determined value. [F/L2] 47 = Consider fictitious shear 0 = Program Determined 1 = No 2 = Yes 48 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value 49 = Dual system magnification factor Value >= 0; 0 means use program default value. 50 = Lo/r limit in compression Value >= 0; 0 means use program determined value. 51 = L/r limit in tension Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects= 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects,

and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2010") 'set overwrite item ret = SapModel.DesignSteel.Chinese_2010.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.Chinese_2010.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Gamma0 3 = Ignore b/t check 4 = Classify beam as flexo compression member 5 = Consider deflection 6 = DL deflection limit, L/Value 7 = SDL + LL deflection limit, L/Value 8 = LL deflection limit, L/Value 9 = Total load deflection limit, L/Value 10 = Total camber limit, L/Value 11 = Pattern live load factor 12 = Demand/capacity ratio limit 13 = Multi-response case design 14 = Is tall building? 15 = Seismic Design Grade Value

The value of the considered preference item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Gamma0 Value > 0 3 = Ignore b/t check 0 = No Any other value = Yes 4 = Classify beam as flexo compression member 0 = No Any other value = Yes 5 = Consider deflection 0 = No

Any other value = Yes 6 = DL deflection limit, L/Value Value > 0 7 = SDL + LL deflection limit, L/Value Value > 0 8 = LL deflection limit, L/Value Value > 0 9 = Total load deflection limit, L/Value Value > 0 10 = Total camber limit, L/Value Value > 0 11 = Pattern live load factor Value >= 0 12 = Demand/capacity ratio limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 14 = Tall building 0 = No 1 = Yes 15 = Seismic Design Grade 1 = Grade I 2 = Grade II 3 = Grade III 4 = Grade IV 5 = Non Seismic

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2010") 'set preference item ret = SapModel.DesignSteel.Chinese_2010.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2. Added Seismic Design Grade preference item in v18.0.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Canadian_S16_09.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 39, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor LTB 19 = Unbraced length ratio, Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Effective length factor, K LTB 23 = Moment coefficient, Omega1 Major 24 = Moment coefficient, Omega1 Minor 25 = Bending coefficient, Omega2 26 = Nonsway moment factor, U1 Major 27 = Nonsway moment factor, U1 Minor 28 = Sway moment factor, U2 Major 29 = Sway moment factor, U2 Minor 30 = Parameter for compressive resistance, n 31 = Yield stress, Fy 32 = Expected to specified Fy ratio, Ry 33 = Compressive resistance, Cr 34 = Tensile resistance, Tr 35 = Major bending resistance, Mr3

36 = 37 = 38 = 39 =

Minor bending resistance, Mr2 Major shear resistance, Vr2 Minor shear resistance, Vr3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC) 6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 2 = Consider deflection 0 = No Any other value = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L} 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value.

21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Effective length factor, K LTB Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Omega1 Major Value >= 0; 0 means use program determined value. 24 = Moment coefficient, Omega1 Minor Value >= 0; 0 means use program determined value. 25 = Moment coefficient, Omega2 Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, U1 Major Value >= 0; 0 means use program determined value. 27 = Nonsway moment factor, U1 Minor Value >= 0; 0 means use program determined value. 28 = Sway moment factor, U2 Major Value >= 0; 0 means use program determined value. 29 = Sway moment factor, U2 Minor Value >= 0; 0 means use program determined value. 30 = Parameter for compressive resistance, n Value >= 0; 0 means use program determined value. 31 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 32 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. [F/L2]= 33 = Compressive resistance, Cr Value >= 0; 0 means use program determined value. [F] 34 = Tensile resistance, Tr Value >= 0; 0 means use program determined value. [F]

35 = Major bending resistance, Mr3 Value >= 0; 0 means use program determined value. [FL] 36 = Minor bending resistance, Mr2 Value >= 0; 0 means use program determined value. [FL] 37 = Major shear resistance, Vr2 Value >= 0; 0 means use program determined value. [F] 38 = Minor shear resistance, Vr3 Value >= 0; 0 means use program determined value. [F] 39 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemCanadian_S16_09 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CSA-S16-09") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Canadian_S16_09.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Canadian_S16_09.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 21, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) 4 = Ductility related modification factor, Rd 5 = Overstrength related modification factor, Ro 6 = Capacity factor, Phi bending 7 = Capacity factor, Phi compression 8 = Capacity factor, Phi tension 9 = Capacity factor, Phi shear 10 = Slender section modification 11 = Ignore seismic code 12 = Ignore special seismic load 13 = Doubler plate is plug welded 14 = Consider deflection 15 = DL deflection limit, L/Value 16 = SDL + LL deflection limit, L/Value 17 = LL deflection limit, L/Value 18 = Total load deflection limit, L/Value 19 = Total camber limit, L/Value 20 = Pattern live load factor 21 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC)

6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) Value > 0 4 = Ductility related modification factor, Rd Value > 0 5 = Overstrength related modification factor, Ro Value > 0 6 = Capacity factor, Phi bending Value > 0 7 = Capacity factor, Phi compression Value > 0 8 = Capacity factor, Phi tension Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Slender section modification 1 = Modified geometry 2 = modified Fy 11 = Ignore seismic code 0 = No Any other value = Yes 12 = Ignore special seismic load 0 = No Any other value = Yes

13 = Doubler plate is plug welded 0 = No Any other value = Yes 14 = Consider deflection 0 = No Any other value = Yes 15 = DL deflection limit, L/Value Value > 0 16 = SDL + LL deflection limit, L/Value Value > 0 17 = LL deflection limit, L/Value Value > 0 18 = Total load deflection limit, L/Value Value > 0 19 = Total camber limit, L/Value Value > 0 20 = Pattern live load factor Value >= 0 21 = Demand/capacity ratio limit Value > 0

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemCanadian_S16_09 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CSA-S16-09") 'get preference item ret = SapModel.DesignSteel.Canadian_S16_09.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Canadian_S16_09.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 39, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor LTB 19 = Unbraced length ratio, Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Effective length factor, K LTB 23 = Moment coefficient, Omega1 Major 24 = Moment coefficient, Omega1 Minor 25 = Bending coefficient, Omega2 26 = Nonsway moment factor, U1 Major 27 = Nonsway moment factor, U1 Minor 28 = Sway moment factor, U2 Major 29 = Sway moment factor, U2 Minor 30 = Parameter for compressive resistance, n 31 = Yield stress, Fy 32 = Expected to specified Fy ratio, Ry 33 = Compressive resistance, Cr 34 = Tensile resistance, Tr

35 = 36 = 37 = 38 = 39 =

Major bending resistance, Mr3 Minor bending resistance, Mr2 Major shear resistance, Vr2 Minor shear resistance, Vr3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC) 6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 2 = Consider deflection 0 = No Any other value = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item.

6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L} 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major

Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Effective length factor, K LTB Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Omega1 Major Value >= 0; 0 means use program determined value. 24 = Moment coefficient, Omega1 Minor Value >= 0; 0 means use program determined value. 25 = Moment coefficient, Omega2 Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, U1 Major Value >= 0; 0 means use program determined value. 27 = Nonsway moment factor, U1 Minor Value >= 0; 0 means use program determined value. 28 = Sway moment factor, U2 Major Value >= 0; 0 means use program determined value. 29 = Sway moment factor, U2 Minor Value >= 0; 0 means use program determined value. 30 = Parameter for compressive resistance, n Value >= 0; 0 means use program determined value. 31 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 32 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. [F/L2]= 33 = Compressive resistance, Cr Value >= 0; 0 means use program determined value. [F] 34 = Tensile resistance, Tr Value >= 0; 0 means use program determined value. [F]

35 = Major bending resistance, Mr3 Value >= 0; 0 means use program determined value. [FL] 36 = Minor bending resistance, Mr2 Value >= 0; 0 means use program determined value. [FL] 37 = Major shear resistance, Vr2 Value >= 0; 0 means use program determined value. [F] 38 = Minor shear resistance, Vr3 Value >= 0; 0 means use program determined value. [F] 39 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemCanadian_S16_09 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CSA-S16-09") 'set overwrite item ret = SapModel.DesignSteel.Canadian_S16_09.SetOverwrite("8", 1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.Canadian_S16_09.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 21, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) 4 = Ductility related modification factor, Rd 5 = Overstrength related modification factor, Ro 6 = Capacity factor, Phi bending 7 = Capacity factor, Phi compression 8 = Capacity factor, Phi tension 9 = Capacity factor, Phi shear 10 = Slender section modification 11 = Ignore seismic code 12 = Ignore special seismic load 13 = Doubler plate is plug welded 14 = Consider deflection 15 = DL deflection limit, L/Value 16 = SDL + LL deflection limit, L/Value 17 = LL deflection limit, L/Value 18 = Total load deflection limit, L/Value 19 = Total camber limit, L/Value 20 = Pattern live load factor 21 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC)

6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) Value > 0 4 = Ductility related modification factor, Rd Value > 0 5 = Overstrength related modification factor, Ro Value > 0 6 = Capacity factor, Phi bending Value > 0 7 = Capacity factor, Phi compression Value > 0 8 = Capacity factor, Phi tension Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Slender section modification 1 = Modified geometry 2 = modified Fy 11 = Ignore seismic code 0 = No Any other value = Yes 12 = Ignore special seismic load 0 = No Any other value = Yes

13 = Doubler plate is plug welded 0 = No Any other value = Yes 14 = Consider deflection 0 = No Any other value = Yes 15 = DL deflection limit, L/Value Value > 0 16 = SDL + LL deflection limit, L/Value Value > 0 17 = LL deflection limit, L/Value Value > 0 18 = Total load deflection limit, L/Value Value > 0 19 = Total camber limit, L/Value Value > 0 20 = Pattern live load factor Value >= 0 21 = Demand/capacity ratio limit Value > 0

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemCanadian_S16_09 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CSA-S16-09") 'set preference item ret = SapModel.DesignSteel.Canadian_S16_09.SetPreference(1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Eurocode_3_2005.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 48, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor 19 = Effective length factor sway, K2 Major 20 = Effective length factor sway, K2 Minor 21 = Moment coefficient, kyy Major 22 = Moment coefficient, kzz Minor 23 = Bending coefficient, C1 24 = Moment coefficient, kzy 25 = Moment coefficient, kyz 26 = Yield stress, Fy 27 = Compressive capacity, Nc.Rd 28 = Tensile capacity, Nt.Rd 29 = Major bending capacity, Mc3.Rd 30 = Minor bending capacity, Mc2.Rd 31 = Buckling resistance moment, Mb.Rd 32 = Major shear capacity, V2.Rd 33 = Minor shear capacity, V3.Rd 34 = Demand/capacity ratio limit 35 = Section class

36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 = 48 = Value

Column buckling curve, y-y Column buckling curve, z-z Buckling curve for LTB System overstrength factor, Omega Is rolled section Unbraced length ratio, LTB Effective length factor braced, K1 Major Effective length factor braced, K1 Major Effective length factor, K LTB Material overstrength factor, GammaOV Warping constant, Iw Elastic torsional buckling force, Ncr T Elastic torsional-flexural buckling force, Ncr TF

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item.

8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Effective length factor sway, K2 Major Value >= 0; 0 means use program determined value. 20 = Effective length factor sway, K2 Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, kyy Major Value >= 0; 0 means use program determined value.

22 = Moment coefficient, kzz Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, kzy Value >= 0; 0 means use program determined value. 25 = Moment coefficient, kyz Value >= 0; 0 means use program determined value. 26 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 27 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 28 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 29 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 30 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 31 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Major shear capacity, V2.Rd Value >= 0; 0 means use program determined value. [F] 33 = Minor shear capacity, V3.Rd Value >= 0; 0 means use program determined value. [F] 34 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. 35 = Section class 0 = Program default 1 = Class 1 2 = Class 2

3 = Class 3 4 = Class 4 36 = Column buckling curve, y-y 0 = Program default 1 = a0 2=a 3=b 4=c 5=d 37 = Column buckling curve, z-z 0 = Program default 1 = a0 2=a 3=b 4=c 5=d 38 = Buckling curve for LTB 0 = Program default 1 = a0 2=a 3=b 4=c 5=d 39 = System overstrength factor, Omega Value >= 0; 0 means use program determined value. 40 = Is rolled section 0 = Program Determined 1 = No 2 = Yes 41 = Unbraced length ratio, LTB Value >= 0; 0 means use program determined value. 42 = Effective length factor braced, K1 Major Value >= 0; 0 means use program determined value. 43 = Effective length factor braced, K1 Minor Value >= 0; 0 means use program determined value.

44 = Effective length factor, K LTB Value >= 0; 0 means use program determined value. 45 = Material overstrength factor, GammaOV Value >= 0; 0 means use program determined value. 46 = Warping constant, Iw Value >= 0; 0 means use program determined value. [L6] 47 = Elastic torsional buckling force, Ncr T Value >= 0; 0 means use program determined value. [F] 48 = Elastic torsional-flexural buckling force, Ncr TF Value >= 0; 0 means use program determined value. [F] ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemEurocode_3_2005() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Eurocode 3-2005") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Eurocode_3_2005.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Updated the list of items in v18.0.0. Added items 46 – 48 in v18.2.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Eurocode_3_2005.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Country 2 = Combos equation 3 = K factor method 4 = Framing type 5 = GammaM0 6 = GammeM1 7 = GammaM2 8 = Consider deflection 9 = DL deflection limit, L/Value 10 = SDL + LL deflection limit, L/Value 11 = LL deflection limit, L/Value 12 = Total deflection limit, L/Value 13 = Total camber limit, L/Value 14 = Pattern live load factor 15 = Demand/capacity ratio limit 16 = Multi-response case design 17 = Reliability Class Value

The value of the considered preference item. 1 = Country 1 = CEN Default 2 = United Kingdom 3 = Slovenia 4 = Bulgaria 5 = Norway 7 = Sweden 8 = Finland 9 = Denmark 10 = Portugal 11 = Germany 2 = Combos equation 1 = 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 3 = K factor method 1 = Method 1 (Annex A)

2 = Method 2 (Annex B) 4 = Framing type 1 = Moment Frame 2 = Braced Frame 5 = GammaM0 Value > 0 6 = GammeM1 Value > 0 7 = GammeM2 Value > 0 8 = Consider deflection 0 = No Any other value = Yes 9 = DL deflection limit, L/Value Value > 0 10 = SDL + LL deflection limit, L/Value Value > 0 11 = LL deflection limit, L/Value Value > 0 12 = Total deflection limit, L/Value Value > 0 13 = Total camber limit, L/Value Value > 0 14 = Pattern live load factor Value >= 0 15 = Demand/capacity ratio limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step

3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 17 = Reliability Class 1 = Class 1 2 = Class 2 3 = Class 3

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemEurocode_3_2005() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Eurocode 3-2005") 'get preference item ret = SapModel.DesignSteel.EUROCODE_3_2005.GetPreference(4, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Fixed typographical error in version 14.1.0. Added Reliability Class parameter and added Sweden, Finland, and Denmark as Country parameters in version 14.2.2. Added Portugal and Germany as Country parameters in SAP2000 Version 15.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Eurocode_3_2005.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 48, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor 19 = Effective length factor, K2 Major 20 = Effective length factor, K2 Minor 21 = Moment coefficient, kyy Major 22 = Moment coefficient, kzz Minor 23 = Bending coefficient, C1 24 = Moment coefficient, kzy 25 = Moment coefficient, kyz 26 = Yield stress, Fy 27 = Compressive capacity, Nc.Rd 28 = Tensile capacity, Nt.Rd 29 = Major bending capacity, Mc3.Rd 30 = Minor bending capacity, Mc2.Rd 31 = Buckling resistance moment, Mb.Rd 32 = Major shear capacity, V2.Rd 33 = Minor shear capacity, V3.RD 34 = Demand/capacity ratio limit

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 = 48 =

Section class Column buckling curve, y-y Column buckling curve, z-z Buckling curve for LTB System overstrength factor, Omega Is rolled section Unbraced length ratio, LTB Effective length factor braced, K1 Major Effective length factor braced, K1 Major Effective length factor, K LTB Material overstrength factor, GammaOV Warping constant, Iw Elastic torsional buckling force, Ncr T Elastic torsional-flexural buckling force, Ncr TF

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item.

7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Effective length factor sway, K2 Major Value >= 0; 0 means use program determined value. 20 = Effective length factor sway, K2 Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, kyy Major

Value >= 0; 0 means use program determined value. 22 = Moment coefficient, kzz Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, kzy Value >= 0; 0 means use program determined value. 25 = Moment coefficient, kyz Value >= 0; 0 means use program determined value. 26 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 27 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 28 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 29 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 30 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 31 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Major shear capacity, V2.Rd Value >= 0; 0 means use program determined value. [F] 33 = Minor shear capacity, V3.Rd Value >= 0; 0 means use program determined value. [F] 34 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. 35 = Section class 0 = Program default

1= 2= 3= 4=

Class 1 Class 2 Class 3 Class 4

36 = Column buckling curve, y-y 0 = Program default 1 = a0 2=a 3=b 4=c 5=d 37 = Column buckling curve, z-z 0 = Program default 1 = a0 2=a 3=b 4=c 5=d 38 = Buckling curve for LTB 0 = Program default 1 = a0 2=a 3=b 4=c 5=d 39 = System overstrength factor, Omega Value >= 0; 0 means use program determined value. 40 = Is rolled section 0 = Program Determined 1 = No 2 = Yes 41 = Unbraced length ratio, LTB Value >= 0; 0 means use program determined value. 42 = Effective length factor braced, K1 Major Value >= 0; 0 means use program determined value.

43 = Effective length factor braced, K1 Minor Value >= 0; 0 means use program determined value. 44 = Effective length factor, K LTB Value >= 0; 0 means use program determined value. 45 = Material overstrength factor, GammaOV Value >= 0; 0 means use program determined value. 46 = Warping constant, Iw Value >= 0; 0 means use program determined value. [L6] 47 = Elastic torsional buckling force, Ncr T Value >= 0; 0 means use program determined value. [F] 48 = Elastic torsional-flexural buckling force, Ncr TF Value >= 0; 0 means use program determined value. [F]

ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise, it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemEurocode_3_2005() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Eurocode 3-2005") 'set overwrite item ret = SapModel.DesignSteel.EUROCODE_3_2005.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. In version 14.1.0, fixed typographical error. Updated the list of items in v18.0.0. Added items 46 – 48 in v18.2.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.Eurocode_3_2005.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Country 2 = Combos equation 3 = K factor method 4 = Framing type 5 = GammaM0 6 = GammeM1 7 = GammaM2 8 = Consider deflection 9 = DL deflection limit, L/Value 10 = SDL + LL deflection limit, L/Value 11 = LL deflection limit, L/Value 12 = Total deflection limit, L/Value 13 = Total camber limit, L/Value 14 = Pattern live load factor 15 = Demand/capacity ratio limit 16 = Multi-response case design 17 = Reliability Class Value

The value of the considered preference item. 1 = Country 1 = CEN Default 2 = United Kingdom 3 = Slovenia 4 = Bulgaria 5 = Norway 7 = Sweden 8 = Finland 9 = Denmark 10 = Portugal 11 = Germany 2 = Combos equation 1 = 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 3 = K factor method 1 = Method 1 (Annex A)

2 = Method 2 (Annex B) 4 = Framing type 1 = Moment Frame 2 = Braced Frame 5 = GammaM0 Value > 0 6 = GammeM1 Value > 0 7 = GammeM2 Value > 0 8 = Consider deflection 0 = No Any other value = Yes 9 = DL deflection limit, L/Value Value > 0 10 = SDL + LL deflection limit, L/Value Value > 0 11 = LL deflection limit, L/Value Value > 0 12 = Total deflection limit, L/Value Value > 0 13 = Total camber limit, L/Value Value > 0 14 = Pattern live load factor Value >= 0 15 = Demand/capacity ratio limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step

3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 17 = Reliability Class 1 = Class 1 2 = Class 2 3 = Class 3

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise, it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemEurocode_3_2005() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Eurocode 3-2005") 'set preference item ret = SapModel.DesignSteel.Eurocode_3_2005.SetPreference(4, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Added Norway as a Country parameter in version 14.1.0. Added Reliability Class parameter and added Sweden, Finland, and Denmark as Country parameters in version 14.2.2. Added Portugal and Germany as Country parameters in SAP2000 Version 15.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Indian_IS_800_2007.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 44, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Section class 3 = Column buckling curve (z-z) 4 = Column buckling curve (y-y) 5 = Is rolled section 6 = Consider deflection 7 = Deflection check type 8 = DL deflection limit, L/Value 9 = SDL + LL deflection limit, L/Value 10 = LL deflection limit, L/Value 11 = Total load deflection limit, L/Value 12 = Total camber limit, L/Value 13 = DL deflection limit, absolute 14 = SDL + LL deflection limit, absolute 15 = LL deflection limit, absolute 16 = Total load deflection limit, absolute 17 = Total camber limit, absolute 18 = Specified camber 19 = Net area to total area ratio 20 = Live load reduction factor 21 = Unbraced length ratio, Major 22 = Unbraced length ratio, Minor 23 = Unbraced length ratio, Lateral Torsional Buckling 24 = Effective length factor Braced, K1 Major 25 = Effective length factor Braced, K1 Minor 26 = Effective length factor Sway, K2 Major 27 = Effective length factor Sway, K2 Minor 28 = Effective length factor, K Lateral Torsional Buckling 29 = Bending coefficient, C1 30 = Uniform moment factor, Cmz 31 = Uniform moment factor, Cmy 32 = Uniform moment factor, CmLT 33 = Moment coefficient, kz 34 = Moment coefficient, ky 35 = Moment coefficient, k_LT

36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 =

Yield stress, Fy Compressive capacity, Pd Tensile capacity, Td Major bending capacity, Mdz Minor bending capacity, Mdy Critical buckling moment, Mcr Major shear capacity, Vdy Minor shear capacity, Vdz Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = SMF 2 = OMF 3 = SCBF 4 = OCBF 5 = EBF 6 = Secondary 2 = Section class 1 = Class 1 (Plastic) 2 = Class 2 (Compact) 3 = Class 3 (Semicompact) 4 = Class 4 (Slender) 3 = Column buckling curve (z-z) 1=a 2=b 3=c 4=d 4 = Column buckling curve (y-y) 1=a 2=b 3=c 4=d 5 = Is rolled section Value >= 0; 0 means use program default value

6 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 7 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 8 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 10 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 11 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 12 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 13 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 16 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 17 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 18 = Specified camber Value >= 0. [L]

19 = Net area to total area ratio Value >= 0; 0 means use program default value. 20 = Live load reduction factor Value >= 0; 0 means use program determined value. 21 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 22 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 23 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 24 = Effective length factor Braced, K1 Major Value >= 0; 0 means use program determined value. 25 = Effective length factor Braced, K1 Minor Value >= 0; 0 means use program determined value. 26 = Effective length factor Sway, K2 Major Value >= 0; 0 means use program determined value. 27 = Effective length Sway factor, K2 Minor Value >= 0; 0 means use program determined value. 28 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 29 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 30 = Uniform moment factor, Cmz Value >= 0; 0 means use program determined value. 31 = Uniform moment factor, Cmy Value >= 0; 0 means use program determined value. 32 = Uniform moment factor, CmLT Value >= 0; 0 means use program determined value.

33 = Moment coefficient, kz Value >= 0; 0 means use program determined value. 34 = Moment coefficient, ky Value >= 0; 0 means use program determined value. 35 = Moment coefficient, k_LT Value >= 0; 0 means use program determined value. 36 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 37 = Compressive capacity, Pd Value >= 0; 0 means use program determined value. [F] 38 = Tensile capacity, Td Value >= 0; 0 means use program determined value. [F] 39 = Major bending capacity, Mdz Value >= 0; 0 means use program determined value. [F-L] 40 = Minor bending capacity, Mdy Value >= 0; 0 means use program determined value. [F-L] 41 = Critical buckling moment, Mcr Value >= 0; 0 means use program determined value. [F-L] 42 = Major shear capacity, Vdy Value >= 0; 0 means use program determined value. [F] 43 = Minor shear capacity, Vdz Value >= 0; 0 means use program determined value. [F] 44 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True then the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemINDIAN_IS_800_2007() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-2007") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.INDIAN_IS_800_2007.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 15.0.1.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Indian_IS_800_2007.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 18, inclusive, indicating the preference item considered. 1 = Framing type 2 = Importance factor 3 = Seismic Zone 4 = Consider P-delta Done 5 = GammaM0 6 = GammaM1 7 = Ignore sseismic code 8 = Ignore special seismic load 9 = Is doubler plate plug-welded 10 = Consider deflection 11 = DL deflection limit, L/Value 12 = SDL + LL deflection limit, L/Value 13 = LL deflection limit, L/Value 14 = Total deflection limit, L/Value 15 = Total camber limit, L/Value 16 = Pattern live load factor 17 = Demand/capacity ratio limit 18 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = SMF 2 = OMF 3 = SCBF 4 = OCBF 5 = EBF 6 = Secondary 2 = Importance factor Value > 0 3 = Seismic Zone 1 = Zone I 2 = Zone II 3 = Zone III 4 = Zone IV

5 = Zone V 4 = Consider P-delta Done 0 = No Any other value = Yes 5 = GammaM0 Value > 0 6 = GammaM1 Value > 0 7 = Ignore sseismic code 0 = No Any other value = Yes 8 = Ignore special seismic load 0 = No Any other value = Yes 9 = Is doubler plate plug-welded 0 = No Any other value = Yes 10 = Consider deflection 0 = No Any other value = Yes 11 = DL deflection limit, L/Value Value > 0 12 = SDL + LL deflection limit, L/Value Value > 0 13 = LL deflection limit, L/Value Value > 0 14 = Total deflection limit, L/Value Value > 0 15 = Total camber limit, L/Value Value > 0

16 = Pattern live load factor Value >= 0 17 = Demand/capacity ratio limit Value > 0 18 = Time history design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemIndian_IS_800_2007() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS 800:2007") 'get preference item ret = SapModel.DesignSteel.Indian_IS_800_2007.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Indian_IS_800_2007.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 44, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Section class 3 = Column buckling curve (z-z) 4 = Column buckling curve (y-y) 5 = Is rolled section 6 = Consider deflection 7 = Deflection check type 8 = DL deflection limit, L/Value 9 = SDL + LL deflection limit, L/Value 10 = LL deflection limit, L/Value 11 = Total load deflection limit, L/Value 12 = Total camber limit, L/Value 13 = DL deflection limit, absolute 14 = SDL + LL deflection limit, absolute 15 = LL deflection limit, absolute 16 = Total load deflection limit, absolute 17 = Total camber limit, absolute 18 = Specified camber 19 = Net area to total area ratio 20 = Live load reduction factor 21 = Unbraced length ratio, Major 22 = Unbraced length ratio, Minor 23 = Unbraced length ratio, Lateral Torsional Buckling 24 = Effective length factor Braced, K1 Major 25 = Effective length factor Braced, K1 Minor 26 = Effective length factor Sway, K2 Major 27 = Effective length factor Sway, K2 Minor 28 = Effective length factor, K Lateral Torsional Buckling 29 = Bending coefficient, C1 30 = Uniform moment factor, Cmz 31 = Uniform moment factor, Cmy 32 = Uniform moment factor, CmLT 33 = Moment coefficient, kz 34 = Moment coefficient, ky

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 =

Moment coefficient, k_LT Yield stress, Fy Compressive capacity, Pd Tensile capacity, Td Major bending capacity, Mdz Minor bending capacity, Mdy Critical buckling moment, Mcr Major shear capacity, Vdy Minor shear capacity, Vdz Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = SMF 2 = OMF 3 = SCBF 4 = OCBF 5 = EBF 6 = Secondary 2 = Section class 1 = Class 1 (Plastic) 2 = Class 2 (Compact) 3 = Class 3 (Semicompact) 4 = Class 4 (Slender) 3 = Column buckling curve (z-z) 1=a 2=b 3=c 4=d 4 = Column buckling curve (y-y) 1=a 2=b 3=c 4=d 5 = Is rolled section Value >= 0; 0 means use program default value

6 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 7 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 8 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 10 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 11 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 12 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 13 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 16 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 17 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 18 = Specified camber

Value >= 0. [L] 19 = Net area to total area ratio Value >= 0; 0 means use program default value. 20 = Live load reduction factor Value >= 0; 0 means use program determined value. 21 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 22 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 23 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 24 = Effective length factor Braced, K1 Major Value >= 0; 0 means use program determined value. 25 = Effective length factor Braced, K1 Minor Value >= 0; 0 means use program determined value. 26 = Effective length factor Sway, K2 Major Value >= 0; 0 means use program determined value. 27 = Effective length Sway factor, K2 Minor Value >= 0; 0 means use program determined value. 28 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 29 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 30 = Uniform moment factor, Cmz Value >= 0; 0 means use program determined value. 31 = Uniform moment factor, Cmy Value >= 0; 0 means use program determined value. 32 = Uniform moment factor, CmLT Value >= 0; 0 means use program determined value.

33 = Moment coefficient, kz Value >= 0; 0 means use program determined value. 34 = Moment coefficient, ky Value >= 0; 0 means use program determined value. 35 = Moment coefficient, k_LT Value >= 0; 0 means use program determined value. 36 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 37 = Compressive capacity, Pd Value >= 0; 0 means use program determined value. [F] 38 = Tensile capacity, Td Value >= 0; 0 means use program determined value. [F] 39 = Major bending capacity, Mdz Value >= 0; 0 means use program determined value. [F-L] 40 = Minor bending capacity, Mdy Value >= 0; 0 means use program determined value. [F-L] 41 = Critical buckling moment, Mcr Value >= 0; 0 means use program determined value. [F-L] 42 = Major shear capacity, Vdy Value >= 0; 0 means use program determined value. [F] 43 = Minor shear capacity, Vdz Value >= 0; 0 means use program determined value. [F] 44 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemINDIAN_IS_800_2007() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-2007") 'set overwrite item ret = SapModel.DesignSteel.INDIAN_IS_800_2007.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.Indian_IS_800_2007.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 18, inclusive, indicating the preference item considered. 1 = Framing type 2 = Importance factor 3 = Seismic Zone 4 = Consider P-delta Done 5 = GammaM0 6 = GammaM1 7 = Ignore seismic code 8 = Ignore special seismic load 9 = Is doubler plate plug-welded 10 = Consider deflection 11 = DL deflection limit, L/Value 12 = SDL + LL deflection limit, L/Value 13 = LL deflection limit, L/Value 14 = Total deflection limit, L/Value 15 = Total camber limit, L/Value 16 = Pattern live load factor 17 = Demand/capacity ratio limit 18 = Multi-response case design Value

The value of the considered preference item. The value of the considered preference item. 1 = Framing type 1 = SMF 2 = OMF 3 = SCBF 4 = OCBF 5 = EBF 6 = Secondary 2 = Importance factor Value > 0 3 = Seismic Zone 1 = Zone I 2 = Zone II 3 = Zone III

4 = Zone IV 5 = Zone V 4 = Consider P-delta Done 0 = No Any other value = Yes 5 = GammaM0 Value > 0 6 = GammaM1 Value > 0 7 = Ignore sseismic code 0 = No Any other value = Yes 8 = Ignore special seismic load 0 = No Any other value = Yes 9 = Is doubler plate plug-welded 0 = No Any other value = Yes 10 = Consider deflection 0 = No Any other value = Yes 11 = DL deflection limit, L/Value Value > 0 12 = SDL + LL deflection limit, L/Value Value > 0 13 = LL deflection limit, L/Value Value > 0 14 = Total deflection limit, L/Value Value > 0 15 = Total camber limit, L/Value Value > 0

16 = Pattern live load factor Value >= 0 17 = Demand/capacity ratio limit Value > 0 18 = Time history design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemIndian_IS_800_2007() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-2007") 'set preference item ret = SapModel.DesignSteel.Indian_IS_800_2007.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Norsok_N004.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, k Major 22 = Moment coefficient, k Minor 23 = Bending coefficient, C1 24 = Moment coefficient, kzy 25 = Moment coefficient, kyz 26 = Pressure equalized 27 = External pressure 28 = Yield stress, Fy 29 = Compressive capacity, Nc.Rd 30 = Tensile capacity, Nt.Rd 31 = Major bending capacity, Mc3.Rd 32 = Minor bending capacity, Mc2.Rd 33 = Buckling resistance moment, Mb.Rd 34 = Major shear capacity, V2.Rd 35 = Minor shear capacity, V3.RD

36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, k Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, k Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, kzy Value >= 0; 0 means use program determined value. 25 = Moment coefficient, kyz Value >= 0; 0 means use program determined value.

26 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 27 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2] 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 33 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, V2.Rd Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, V3.RD Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemNorsok_N004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Norsok_N004.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Norsok_N004.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Combos equation 2 = K factor method 3 = Pressure interaction method 4 = Framing type 5 = GammaM0 6 = GammeM1 7 = GammaM2 8 = Consider deflection 9 = DL deflection limit, L/Value 10 = SDL + LL deflection limit, L/Value 11 = LL deflection limit, L/Value 12 = Total deflection limit, L/Value 13 = Total camber limit, L/Value 14 = Pattern live load factor 15 = Demand/capacity ratio limit 16 = Multi-response case design Value

The value of the considered preference item. 1 = Combos equation 1 = 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 2 = K factor method 1 = Method 1 (Annex A) 2 = Method 2 (Annex B) 3 = Pressure interaction method 1 = Method A 2 = Method B 4 = Framing type 1 = Moment Frame 2 = Braced Frame 5 = GammaM0 Value > 0

6 = GammeM1 Value > 0 7 = GammeM2 Value > 0 8 = Consider deflection 0 = No Any other value = Yes 9 = DL deflection limit, L/Value Value > 0 10 = SDL + LL deflection limit, L/Value Value > 0 11 = LL deflection limit, L/Value Value > 0 12 = Total deflection limit, L/Value Value > 0 13 = Total camber limit, L/Value Value > 0 14 = Pattern live load factor Value >= 0 15 = Demand/capacity ratio limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemNorsok_N004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004") 'get preference item ret = SapModel.DesignSteel.Norsok_N004.GetPreference(4, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Norsok_N004.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, k Major 22 = Moment coefficient, k Minor 23 = Bending coefficient, C1 24 = Moment coefficient, kzy 25 = Moment coefficient, kyz 26 = Pressure equalized 27 = External pressure 28 = Yield stress, Fy 29 = Compressive capacity, Nc.Rd 30 = Tensile capacity, Nt.Rd 31 = Major bending capacity, Mc3.Rd 32 = Minor bending capacity, Mc2.Rd 33 = Buckling resistance moment, Mb.Rd 34 = Major shear capacity, V2.Rd

35 = Minor shear capacity, V3.RD 36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, k Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, k Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, kzy Value >= 0; 0 means use program determined value. 25 = Moment coefficient, kyz Value >= 0; 0 means use program determined value.

26 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 27 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2] 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 33 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, V2.Rd Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, V3.RD Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemNorsok_N004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004") 'set overwrite item ret = SapModel.DesignSteel.Norsok_N004.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.Norsok_N004.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Combos equation 2 = K factor method 3 = Pressure interaction method 4 = Framing type 5 = GammaM0 6 = GammeM1 7 = GammaM2 8 = Consider deflection 9 = DL deflection limit, L/Value 10 = SDL + LL deflection limit, L/Value 11 = LL deflection limit, L/Value 12 = Total deflection limit, L/Value 13 = Total camber limit, L/Value 14 = Pattern live load factor 15 = Demand/capacity ratio limit 16 = Multi-response case design Value

The value of the considered preference item. 1 = Combos equation 1 = 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 2 = K factor method 1 = Method 1 (Annex A) 2 = Method 2 (Annex B) 3 = Pressure interaction method 1 = Method A 2 = Method B 4 = Framing type 1 = Moment Frame 2 = Braced Frame 5 = GammaM0 Value > 0

6 = GammeM1 Value > 0 7 = GammeM2 Value > 0 8 = Consider deflection 0 = No Any other value = Yes 9 = DL deflection limit, L/Value Value > 0 10 = SDL + LL deflection limit, L/Value Value > 0 11 = LL deflection limit, L/Value Value > 0 12 = Total deflection limit, L/Value Value > 0 13 = Total camber limit, L/Value Value > 0 14 = Pattern live load factor Value >= 0 15 = Demand/capacity ratio limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemNorsok_N004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004") 'set preference item ret = SapModel.DesignSteel.Norsok_N004.SetPreference(4, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Norsok_N0042013.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, k Major 22 = Moment coefficient, k Minor 23 = Bending coefficient, C1 24 = Moment coefficient, kzy 25 = Moment coefficient, kyz 26 = Pressure equalized 27 = External pressure 28 = Yield stress, Fy 29 = Compressive capacity, Nc.Rd 30 = Tensile capacity, Nt.Rd 31 = Major bending capacity, Mc3.Rd 32 = Minor bending capacity, Mc2.Rd 33 = Buckling resistance moment, Mb.Rd 34 = Major shear capacity, V2.Rd 35 = Minor shear capacity, V3.RD

36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, k Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, k Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, kzy Value >= 0; 0 means use program determined value. 25 = Moment coefficient, kyz Value >= 0; 0 means use program determined value.

26 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 27 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2] 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 33 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, V2.Rd Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, V3.RD Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemNorsok_N0042013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004 2013") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Norsok_N0042013.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.1.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.Norsok_N0042013.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Combos equation 2 = K factor method 3 = Pressure interaction method 4 = Framing type 5 = GammaM0 6 = GammeM1 7 = GammaM2 8 = Consider deflection 9 = DL deflection limit, L/Value 10 = SDL + LL deflection limit, L/Value 11 = LL deflection limit, L/Value 12 = Total deflection limit, L/Value 13 = Total camber limit, L/Value 14 = Pattern live load factor 15 = Demand/capacity ratio limit 16 = Multi-response case design Value

The value of the considered preference item. 1 = Combos equation 1 = 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 2 = K factor method 1 = Method 1 (Annex A) 2 = Method 2 (Annex B) 3 = Pressure interaction method 1 = Method A 2 = Method B 4 = Framing type 1 = Moment Frame 2 = Braced Frame 5 = GammaM0 Value > 0

6 = GammeM1 Value > 0 7 = GammeM2 Value > 0 8 = Consider deflection 0 = No Any other value = Yes 9 = DL deflection limit, L/Value Value > 0 10 = SDL + LL deflection limit, L/Value Value > 0 11 = LL deflection limit, L/Value Value > 0 12 = Total deflection limit, L/Value Value > 0 13 = Total camber limit, L/Value Value > 0 14 = Pattern live load factor Value >= 0 15 = Demand/capacity ratio limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemNorsok_N0042013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004 2013") 'get preference item ret = SapModel.DesignSteel.Norsok_N0042013.GetPreference(4, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.1.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Norsok_N0042013.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, k Major 22 = Moment coefficient, k Minor 23 = Bending coefficient, C1 24 = Moment coefficient, kzy 25 = Moment coefficient, kyz 26 = Pressure equalized 27 = External pressure 28 = Yield stress, Fy 29 = Compressive capacity, Nc.Rd 30 = Tensile capacity, Nt.Rd 31 = Major bending capacity, Mc3.Rd 32 = Minor bending capacity, Mc2.Rd 33 = Buckling resistance moment, Mb.Rd 34 = Major shear capacity, V2.Rd

35 = Minor shear capacity, V3.RD 36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, k Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, k Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, kzy Value >= 0; 0 means use program determined value. 25 = Moment coefficient, kyz Value >= 0; 0 means use program determined value.

26 = Pressure equalized 0 = Program Determined 1 = No 2 = Yes 27 = External pressure Any value OK; Positive generates hoop compression and negative generates hoop tension. [F/L2] 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 33 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, V2.Rd Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, V3.RD Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemNorsok_N0042013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004 2013") 'set overwrite item ret = SapModel.DesignSteel.Norsok_N0042013.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.1.0.

See Also GetOverwriteype topic text here.

SetPreference Syntax SapObject.SapModel.DesignSteel.Norsok_N0042013.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Combos equation 2 = K factor method 3 = Pressure interaction method 4 = Framing type 5 = GammaM0 6 = GammeM1 7 = GammaM2 8 = Consider deflection 9 = DL deflection limit, L/Value 10 = SDL + LL deflection limit, L/Value 11 = LL deflection limit, L/Value 12 = Total deflection limit, L/Value 13 = Total camber limit, L/Value 14 = Pattern live load factor 15 = Demand/capacity ratio limit 16 = Multi-response case design Value

The value of the considered preference item. 1 = Combos equation 1 = 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 2 = K factor method 1 = Method 1 (Annex A) 2 = Method 2 (Annex B) 3 = Pressure interaction method 1 = Method A 2 = Method B 4 = Framing type 1 = Moment Frame 2 = Braced Frame 5 = GammaM0 Value > 0

6 = GammeM1 Value > 0 7 = GammeM2 Value > 0 8 = Consider deflection 0 = No Any other value = Yes 9 = DL deflection limit, L/Value Value > 0 10 = SDL + LL deflection limit, L/Value Value > 0 11 = LL deflection limit, L/Value Value > 0 12 = Total deflection limit, L/Value Value > 0 13 = Total camber limit, L/Value Value > 0 14 = Pattern live load factor Value >= 0 15 = Demand/capacity ratio limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemNorsok_N0042013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Norsok N-004 2013") 'set preference item ret = SapModel.DesignSteel.Norsok_N0042013.SetPreference(4, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 16.1.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignSteel.NewZealand_NZS3404_1997.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 46, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Steel type 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, Ke Major Braced 22 = Effective length factor, Ke Minor Braced 23 = Effective length factor, Ke Major Sway 24 = Effective length factor, Ke Minor Sway 25 = Twist restraint factor for LTB (kt) 26 = lateral rotation restraint factor (kr) 27 = Load height factor for LTB (kl) 28 = Moment coefficient, Cm Major 29 = Moment coefficient, Cm Minor 30 = Moment modification factor, Alpha_m 31 = Slender reduction factor, Alpha_s 32 = Nonsway moment factor, Db Major 33 = Nonsway moment factor, Db Minor 34 = Sway moment factor, Ds Major 35 = Sway moment factor, Ds Minor

36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 =

Form factor, Kf Axial capacity correction factor, Kt Yield stress, Fy Compressive capacity, Nc Tensile capacity, Nt Major bending capacity, Ms33 Minor bending capacity, Ms22 Major bending capacity, Mb33 Major shear capacity, Vu2 Minor shear capacity, Vu3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment frame 2 = Braced frame 2 = Steel type 1 = Hot rolled 2 = Hot finished 3 = Cold form 4 = Stress relieved 5 = Lightly welded 6 = Heavily welded 3 = Consider deflection 0 = No Any other value = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item.

7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value.

21 = Effective length factor, Ke Major Braced Value >= 0; 0 means use program determined value. 22 = Effective length factor, Ke Minor Braced Value >= 0; 0 means use program determined value. 23 = Effective length factor, Ke Major Sway Value >= 0; 0 means use program determined value. 24 = Effective length factor, Ke Minor Sway Value >= 0; 0 means use program determined value. 25 = Twist restraint factor for LTB (kt) Value >= 0; 0 means use program determined value. 26 = Lateral rotation restraint factor (kr) Value >= 0; 0 means use program determined value. 27 = Load height factor for LTB (kl) Value >= 0; 0 means use program determined value. 28 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 29 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 30 = Moment modification factor, Alpha_m Value >= 0; 0 means use program determined value. 31 = Slender reduction factor, Alpha_s Value >= 0; 0 means use program determined value. 32 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 33 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 34 = Sway moment factor, Bs Major Value >= 0; 0 means use program determined value. 35 = Sway moment factor, Bs Minor

Value >= 0; 0 means use program determined value. 36 = Form factor, Kf Value >= 0; 0 means use program determined value. 37 = Axial capacity correction factor, Kt Value >= 0; 0 means use program determined value. 38 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 39 = Compressive capacity, Nc Value >= 0; 0 means use program determined value. [F] 40 = Tensile capacity, Nt Value >= 0; 0 means use program determined value. [F] 41 = Major bending capacity, Ms33 Value >= 0; 0 means use program determined value. [FL] 42 = Minor bending capacity, Ms22 Value >= 0; 0 means use program determined value. [FL] 43 = Minor bending capacity, Mb33 Value >= 0; 0 means use program determined value. [FL] 44 = Major shear capacity, Vu2 Value >= 0; 0 means use program determined value. [F] 45 = Minor shear capacity, Vu3 Value >= 0; 0 means use program determined value. [F] 46 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemNewZealand_NZS3404_1997 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("NZS 3404-1997") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.NewZealand_NZS3404_1997.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 15.0.1.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignSteel.NewZealand_NZS3404_1997.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 17, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Structural analysis method 4 = Steel type 5 = Capacity factor, Phi bending 6 = Capacity factor, Phi compression 7 = Capacity factor, Phi tension yielding 8 = Capacity factor, Phi tension fracture 9 = Capacity factor, Phi shear 10 = Consider deflection 11 = DL deflection limit, L/Value 12 = SDL + LL deflection limit, L/Value 13 = LL deflection limit, L/Value 14 = Total load deflection limit, L/Value 15 = Total camber limit, L/Value 16 = Pattern live load factor 17 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Moment frame 2 = Braced frame 3 = Structural analysis method 1 = General 2nd Order 2 = Amplified 1st Order 4 = Steel type 1 = Hot rolled

2= 3= 4= 5= 6=

Hot finished Cold form Stress relieved Lightly welded Heavily welded

5 = Capacity factor, Phi bending Value > 0 6 = Capacity factor, Phi compression Value > 0 7 = Capacity factor, Phi tension yielding Value > 0 8 = Capacity factor, Phi tension fracture Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Consider deflection 0 = No Any other value = Yes 11 = DL deflection limit, L/Value Value > 0 12 = SDL + LL deflection limit, L/Value Value > 0 13 = LL deflection limit, L/Value Value > 0 14 = Total load deflection limit, L/Value Value > 0 15 = Total camber limit, L/Value Value > 0 16 = Pattern live load factor Value >= 0

17 = Demand/capacity ratio limit Value > 0

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemNewZealand_NZS3404_1997 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("NZS 3404-1997") 'get preference item ret = SapModel.DesignSteel.NewZealand_NZS3404_1997.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignSteel.NewZealand_NZS3404_1997.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 46, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Steel type 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor 20 = Unbraced length ratio, Lateral Torsional Buckling 21 = Effective length factor, Ke Major Braced 22 = Effective length factor, Ke Minor Braced 23 = Effective length factor, Ke Major Sway 24 = Effective length factor, Ke Minor Sway 25 = Twist restraint factor for LTB (kt) 26 = lateral rotation restraint factor (kr) 27 = Load height factor for LTB (kl) 28 = Moment coefficient, Cm Major 29 = Moment coefficient, Cm Minor 30 = Moment modification factor, Alpha_m 31 = Slender reduction factor, Alpha_s 32 = Nonsway moment factor, Db Major 33 = Nonsway moment factor, Db Minor 34 = Sway moment factor, Ds Major

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 =

Sway moment factor, Ds Minor Form factor, Kf Axial capacity correction factor, Kt Yield stress, Fy Compressive capacity, Nc Tensile capacity, Nt Major bending capacity, Ms33 Minor bending capacity, Ms22 Major bending capacity, Mb33 Major shear capacity, Vu2 Minor shear capacity, Vu3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Moment frame 2 = Braced frame 2 = Steel type 1 = Hot rolled 2 = Hot finished 3 = Cold form 4 = Stress relieved 5 = Lightly welded 6 = Heavily welded 3 = Consider deflection 0 = No Any other value = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L} 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 20 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value.

21 = Effective length factor, Ke Major Braced Value >= 0; 0 means use program determined value. 22 = Effective length factor, Ke Minor Braced Value >= 0; 0 means use program determined value. 23 = Effective length factor, Ke Major Sway Value >= 0; 0 means use program determined value. 24 = Effective length factor, Ke Minor Sway Value >= 0; 0 means use program determined value. 25 = Twist restraint factor for LTB (kt) Value >= 0; 0 means use program determined value. 26 = Lateral rotation restraint factor (kr) Value >= 0; 0 means use program determined value. 27 = Load height factor for LTB (kl) Value >= 0; 0 means use program determined value. 28 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 29 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 30 = Moment modification factor, Alpha_m Value >= 0; 0 means use program determined value. 31 = Slender reduction factor, Alpha_s Value >= 0; 0 means use program determined value. 32 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 33 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 34 = Sway moment factor, Bs Major Value >= 0; 0 means use program determined value.

35 = Sway moment factor, Bs Minor Value >= 0; 0 means use program determined value. 36 = Form factor, Kf Value >= 0; 0 means use program determined value. 37 = Axial capacity correction factor, Kt Value >= 0; 0 means use program determined value. 38 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 39 = Compressive capacity, Nc Value >= 0; 0 means use program determined value. [F] 40 = Tensile capacity, Nt Value >= 0; 0 means use program determined value. [F] 41 = Major bending capacity, Ms33 Value >= 0; 0 means use program determined value. [FL] 42 = Minor bending capacity, Ms22 Value >= 0; 0 means use program determined value. [FL] 43 = Minor bending capacity, Mb33 Value >= 0; 0 means use program determined value. [FL] 44 = Major shear capacity, Vu2 Value >= 0; 0 means use program determined value. [F] 45 = Minor shear capacity, Vu3 Value >= 0; 0 means use program determined value. [F] 46 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAustralian_AS4100_1998 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("NZS 3404-1997") 'set overwrite item ret = SapModel.DesignSteel.NewZealand_NZS3404_1997.SetOverwrite("8", 1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignSteel.NewZealand_NZS3404_1997.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 17, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Structural analysis method 4 = Steel type 5 = Capacity factor, Phi bending 6 = Capacity factor, Phi compression 7 = Capacity factor, Phi tension yielding 8 = Capacity factor, Phi tension fracture 9 = Capacity factor, Phi shear 10 = Consider deflection 11 = DL deflection limit, L/Value 12 = SDL + LL deflection limit, L/Value 13 = LL deflection limit, L/Value 14 = Total load deflection limit, L/Value 15 = Total camber limit, L/Value 16 = Pattern live load factor 17 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Moment frame 2 = Braced frame 3 = Structural analysis method 1 = General 2nd Order 2 = Amplified 1st Order 4 = Steel type 1 = Hot rolled

2= 3= 4= 5= 6=

Hot finished Cold form Stress relieved Lightly welded Heavily welded

5 = Capacity factor, Phi bending Value > 0 6 = Capacity factor, Phi compression Value > 0 7 = Capacity factor, Phi tension yielding Value > 0 8 = Capacity factor, Phi tension fracture Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Consider deflection 0 = No Any other value = Yes 11 = DL deflection limit, L/Value Value > 0 12 = SDL + LL deflection limit, L/Value Value > 0 13 = LL deflection limit, L/Value Value > 0 14 = Total load deflection limit, L/Value Value > 0 15 = Total camber limit, L/Value Value > 0 16 = Pattern live load factor Value >= 0

17 = Demand/capacity ratio limit Value > 0

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemNewZealand_NZS3404_1997 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("NZS 3404-1997") 'set preference item ret = SapModel.DesignSteel.NewZealand_NZS3404_1997.SetPreference(1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetPreference

DeleteResults Syntax SapObject.SapModel.DesignConcrete.DeleteResults

VB6 Procedure Function DeleteResults() As Long

Parameters None

Remarks This function deletes all concrete frame design results. The function returns zero if the results are successfully deleted; otherwise it returns a nonzero value.

VBA Example Sub DeleteConcreteDesignResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'delete concrete design results ret = SapModel.DesignConcrete.DeleteResults 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

GetCode Syntax SapObject.SapModel.DesignConcrete.GetCode

VB6 Procedure Function GetCode(ByRef CodeName As String) As Long

Parameters CodeName

This is one of the following concrete design code names. AASHTO LRFD 2014 AASHTO LRFD 2012 AASHTO Concrete 07 ACI 318-14 ACI 318-11 ACI 318-08/IBC2009 AS 3600-09 BS8110 97 Chinese 2010 CSA A23.3-14 CSA A23.3-04 Eurocode 2-2004 Hong Kong CP 2013 Indian IS 456-2000 Italian NTC 2008 KBC 2009 Mexican RCDF 2004 NZS 3101:2006 Singapore CP 65:99 SP 63.13330.2012 TS 500-2000

Remarks This function retrieves the concrete design code. The function returns zero if the code is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignCode() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim CodeName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'get concrete design code ret = SapModel.DesignConcrete.GetCode(CodeName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Modified list of codes contained in the CodeName Parameter in version 15.0.1. Updated list of available codes in v17.3.0. Removed older codes which have been removed from the program in v18.0.0. Updated list of available codes in v19.1.0.

See Also SetCode

GetComboAutoGenerate Syntax SapObject.SapModel.DesignConcrete.GetComboAutoGenerate

VB6 Procedure Function GetComboAutoGenerate(ByRef AutoGenerate As Boolean) As Long

Parameters AutoGenerate

If this item is True, the option to automatically generate code-based design load combinations for concrete frame design is turned on. If it is False, the option is turned off.

Remarks This function retrieves the value of the automatically generated code-based design load combinations option for concrete frame design. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignComboAutoGenerate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim AutoGenerate As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set option to not auto generate code-based design load combinations ret = SapModel.DesignConcrete.GetComboAutoGenerate(AutoGenerate) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.1.0.

See Also SetComboAutoGenerate

GetComboStrength Syntax SapObject.SapModel.DesignConcrete.GetComboStrength

VB6 Procedure Function GetComboStrength(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of load combinations selected as design combinations for concrete strength design. MyName

This is an array that includes the name of each response combination selected as a design combination for concrete strength design.

Remarks This function retrieves the names of all load combinations selected as design combinations for concrete strength design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignComboStrength() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim NumberNames As Long Dim MyName2() As String Dim Selected As Boolean Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default concrete design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False, True, False, False) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName2)

'select combos for concrete strength design For i = 0 To NumberNames - 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignConcrete.SetComboStrength(MyName2(i), Selected) Next i 'get combos selected for concrete strength design ret = SapModel.DesignConcrete.GetComboStrength(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetComboStrength

GetDesignSection Syntax SapObject.SapModel.DesignConcrete.GetDesignSection

VB6 Procedure Function GetDesignSection(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. PropName

The name of the design section for the specified frame object.

Remarks This function retrieves the design section for a specified concrete frame object. The function returns zero if the section is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get design section ret = SapModel.DesignConcrete.GetDesignSection("8", PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also SetDesignSection

GetResultsAvailable {Concrete} Syntax SapObject.SapModel.DesignConcrete.GetResultsAvailable

VB6 Procedure Function GetResultsAvailable() As Boolean

Parameters None

Remarks The function returns True if the concrete frame design results are available, otherwise False.

VBA Example Sub GetResultsAvailable() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ResultsAvailable As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'check if design results are available ResultsAvailable = SapModel.DesignConcrete.GetResultsAvailable 'close Sap2000 SapObject.ApplicationExit.False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.2.0.

GetSummaryResultsBeam Syntax SapObject.SapModel.DesignConcrete.GetSummaryResultsBeam

VB6 Procedure Function GetSummaryResultsBeam(ByVal Name As String, ByRef NumberItems As Long, ByRef FrameName() As String, ByRef Location() As Double, ByRef TopCombo() As String, ByRef TopArea() As Double, ByRef BotCombo() As String, ByRef BotArea() As Double, ByRef VmajorCombo() As String, ByRef VmajorArea() As Double, ByRef TLCombo() As String, ByRef TLArea() As Double, ByRef TTCombo() As String, ByRef TTArea() As Double, ByRef ErrorSummary() As String, ByRef WarningSummary() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. NumberItems

The number of frame objects for which results are obtained. FrameName

This is an array that includes each frame object name for which results are obtained. Location

This is an array that includes the distance from the I-end of the frame object to the location where the results are reported. [L] TopCombo

This is an array that includes the name of the design combination for which the controlling top longitudinal rebar area for flexure occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). TopArea

This is an array that includes the total top longitudinal rebar area required for the flexure at the specified location. It does not include the area of steel required for torsion. [L2] BotCombo

This is an array that includes the name of the design combination for which the controlling bottom longitudinal rebar area for flexure occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific, multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). BotArea

This is an array that includes the total bottom longitudinal rebar area required for the flexure at the specified location. It does not include the area of steel required for torsion. [L2] VmajorCombo

This is an array that includes the name of the design combination for which the controlling shear occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific, multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). VmajorArea

This is an array that includes the required area of transverse shear reinforcing per unit length along the frame object for shear at the specified location. [L2/L] TLCombo

This is an array that includes the name of the design combination for which the controlling longitudinal rebar area for torsion occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific, multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). TLArea

This is an array that includes the total longitudinal rebar area required for torsion. [L2] TTCombo

This is an array that includes the name of the design combination for which the controlling transverse reinforcing for torsion occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific, multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). TTArea

This is an array that includes the required area of transverse torsional shear reinforcing per unit length along the frame object for torsion at the specified location. [L2/L] ErrorSummary

This is an array that includes the design error messages for the frame object, if any. WarningSummary

This is an array that includes the design warning messages for the frame object, if any.

ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the design results are retrieved for the frame object specified by the Name item. If this item is Group, the design results are retrieved for all frame objects in the group specified by the Name item. If this item is SelectedObjects, the design results are retrieved for all selected frame objects, and the Name item is ignored.

Remarks This function retrieves summary results for concrete design. The function returns zero if the results are successfully retrieved; otherwise it returns a nonzero value. Note that torsional design is only included for some codes.

VBA Example Sub GetConcreteBeamDesignSummaryResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim FrameName() As String Dim Location() As Double Dim TopCombo() As String Dim TopArea() As Double Dim BotCombo() As String Dim BotArea() As Double Dim VmajorCombo() As String Dim VmajorArea() As Double Dim TLCombo() As String Dim TLArea() As Double Dim TTCombo() As String Dim TTArea() As Double Dim ErrorSummary() As String Dim WarningSummary() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'create new concrete frame section properties ret = SapModel.PropFrame.SetRectangle("COL", "4000Psi", 20, 20) ret = SapModel.PropFrame.SetRectangle("BEAM", "4000Psi", 20,

12) ret = SapModel.PropFrame.SetRebarBeam("BEAM", Name, Name, 2, 2, 2, 2, 2, 2) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "BEAM", "COL") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get summary result data ret = SapModel.DesignConcrete.GetSummaryResultsBeam("8", NumberItems, FrameName, Location, TopCombo, TopArea, BotCombo, BotArea, VmajorCombo, VmajorArea, TLCombo, TLArea, TTCombo, TTArea, ErrorSummary, WarningSummary) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetSummaryResultsColumn GetSummaryResultsJoint

GetSummaryResultsColumn Syntax SapObject.SapModel.DesignConcrete.GetSummaryResultsColumn

VB6 Procedure Function GetSummaryResultsColumn(ByVal Name As String, ByRef NumberItems As Long, ByRef FrameName() As String, ByRef MyOption() As Long, ByRef Location() As Double, ByRef PMMCombo() As String, ByRef PMMArea() As Double, ByRef PMMRatio() As Double, ByRef VmajorCombo() As String, ByRef AVmajor() As Double, ByRef VminorCombo() As String, ByRef AVminor() As Double, ByRef ErrorSummary() As String, ByRef WarningSummary() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. NumberItems

The number of frame objects for which results are obtained. FrameName

This is an array that includes each frame object name for which results are obtained. MyOption

This is an array that includes 1 or 2, indicating the design option for each frame object. 1 = Check 2 = Design Location

This is an array that includes the distance from the I-end of the frame object to the location where the results are reported. [L] PMMCombo

This is an array that includes the name of the design combination for which the controlling PMM ratio or rebar area occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, codespecific multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). PMMArea

This is an array that includes the total longitudinal rebar area required for the axial force plus biaxial moment (PMM) design at the specified location. [L2] This item applies only when MyOption = 2 (design). PMMRatio

This is an array that includes the axial force plus biaxial moment (PMM) stress ratio at the specified location. VmajorComboitem applies only when MyOption = 1 (check). VmajorCombo

This is an array that includes the name of the design combination for which the

controlling major shear occurs. AVmajor

This is an array that includes the required area of transverse shear reinforcing per unit length along the frame object for major shear at the specified location. [L2/L] VminorCombo

This is an array that includes the name of the design combination for which the controlling minor shear occurs. AVminor

This is an array that includes the required area of transverse shear reinforcing per unit length along the frame object for minor shear at the specified location. [L2/L] ErrorSummary

This is an array that includes the design error messages for the frame object, if any. WarningSummary

This is an array that includes the design warning messages for the frame object, if any. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the design results are retrieved for the frame object specified by the Name item. If this item is Group, the design results are retrieved for all frame objects in the group specified by the Name item. If this item is SelectedObjects, the design results are retrieved for all selected frame objects, and the Name item is ignored.

Remarks This function retrieves summary results for concrete design. The function returns zero if the results are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteColumnDesignSummaryResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim FrameName() As String Dim MyOption() As Long Dim Location() As Double Dim PMMCombo() As String Dim PMMArea() As Double Dim PMMRatio() As Double Dim VmajorCombo() As String Dim AVmajor() As Double Dim VminorCombo() As String Dim AVminor() As Double Dim ErrorSummary() As String Dim WarningSummary() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'create new concrete frame section properties ret = SapModel.PropFrame.SetRectangle("COL", "4000Psi", 20, 20) ret = SapModel.PropFrame.SetRectangle("BEAM", "4000Psi", 20, 12) ret = SapModel.PropFrame.SetRebarBeam("BEAM", Name, Name, 2,

2, 2, 2, 2, 2) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "BEAM", "COL") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get summary result data ret = SapModel.DesignConcrete.GetSummaryResultsColumn("1", NumberItems, FrameName, MyOption, Location, PMMCombo, PMMArea, PMMRatio, VmajorCombo, AVmajor, VminorCombo, AVminor, ErrorSummary, WarningSummary) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetSummaryResultsBeam GetSummaryResultsJoint

GetSummaryResultsJoint Syntax SapObject.SapModel.DesignConcrete.GetSummaryResultsJoint

VB6 Procedure Function GetSummaryResultsJoint(ByVal Name As String, ByRef NumberItems As Long, ByRef FrameName() As String, ByRef LCJSRatioMajor() As String, ByRef JSRatioMajor() As Double, ByRef LCJSRatioMinor() As String, ByRef JSRatioMinor() As Double, ByRef LCBCCRatioMajor() As String, ByRef BCCRatioMajor() As Double, ByRef LCBCCRatioMinor() As String, ByRef BCCRatioMinor() As Double, ByRef ErrorSummary() As String, ByRef WarningSummary() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. NumberItems

The number of frame objects for which results are obtained. FrameName

This is an array that includes each frame object name for which results are obtained. LCJSRatioMajor

This is an array that includes the name of the design combination for which the controlling joint shear ratio associated with the column major axis occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). JSRatioMajor

This is an array that includes the joint shear ratio associated with the column major axis. This is the joint shear divided by the joint shear capacity. LCJSRatioMinor

This is an array that includes the name of the design combination for which the controlling joint shear ratio associated with the column minor axis occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). JSRatioMinor

This is an array that includes the joint shear ratio associated with the column minor axis. This is the joint shear divided by the joint shear capacity. LCBCCRatioMajor

This is an array that includes the name of the design combination for which the controlling beam/column capacity ratio associated with the column major axis occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object).

BCCRatioMajor

This is an array that includes the beam/column capacity ratio associated with the column major axis. This is the sum of the column capacities divided by the sum of the beam capacities at the top of the specified column. LCBCCRatioMinor

This is an array that includes the name of the design combination for which the controlling beam/column capacity ratio associated with the column minor axis occurs. A combination name followed by (Sp) indicates that the design loads were obtained by applying special, code-specific multipliers to all or part of the specified design load combination, or that the design was based on the capacity of other objects (or other design locations for the same object). BCCRatioMinor

This is an array that includes the beam/column capacity ratio associated with the column minor axis. This is the sum of the column capacities divided by the sum of the beam capacities at the top of the specified column. ErrorSummary

This is an array that includes the design error messages for the frame object, if any. WarningSummary

This is an array that includes the design warning messages for the frame object, if any. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the design results are retrieved for the frame object specified by the Name item. If this item is Group, the design results are retrieved for all frame objects in the group specified by the Name item. If this item is SelectedObjects, the design results are retrieved for all selected frame objects, and the Name item is ignored.

Remarks This function retrieves summary results for concrete design. The function returns zero if the results are successfully retrieved; otherwise it returns a nonzero value. Note that joint design is only included for some codes.

VBA Example Sub GetConcreteJointDesignSummaryResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim FrameName() As String Dim LCJSRatioMajor() As String Dim JSRatioMajor() As Double Dim LCJSRatioMinor() As String Dim JSRatioMinor() As Double Dim LCBCCRatioMajor() As String Dim BCCRatioMajor() As Double Dim LCBCCRatioMinor() As String Dim BCCRatioMinor() As Double Dim ErrorSummary() As String Dim WarningSummary() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add ASTM A706 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A706) 'create new concrete frame section properties ret = SapModel.PropFrame.SetRectangle("COL", "4000Psi", 20, 20) ret = SapModel.PropFrame.SetRectangle("BEAM", "4000Psi", 20, 12) ret = SapModel.PropFrame.SetRebarBeam("BEAM", Name, Name, 2, 2, 2, 2, 2, 2)

'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "BEAM", "COL") 'add new load pattern ret = SapModel.LoadPatterns.Add("EQX", LTYPE_QUAKE) 'assign IBC2003 parameters ret = SapModel.LoadPatterns.AutoSeismic.SetIBC2003("EQX", 1, 0.05, 1, 0.035, 0, False, 0, 0, 1, 1, 3, 1, 0.4, 0, 0, 8, 3, 5.5) 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-02") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get summary result data ret = SapModel.DesignConcrete.GetSummaryResultsJoint("3", NumberItems, FrameName, LCJSRatioMajor, JSRatioMajor, LCJSRatioMinor, JSRatioMinor, LCBCCRatioMajor, BCCRatioMajor, LCBCCRatioMinor, BCCRatioMinor, ErrorSummary, WarningSummary) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetSummaryResultsBeam GetSummaryResultsColumn

ResetOverwrites Syntax SapObject.SapModel.DesignConcrete.ResetOverwrites

VB6 Procedure Function ResetOverwrites() As Long

Parameters None

Remarks This function resets all concrete frame design overwrites to default values. The function returns zero if the overwrites are successfully reset; otherwise it returns a nonzero value. The function will fail if no concrete frame objects are present.

VBA Example Sub ResetConcreteDesignOverwrites() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'reset concrete design overwrites ret = SapModel.DesignConcrete.ResetOverwrites 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

SetCode Syntax SapObject.SapModel.DesignConcrete.SetCode

VB6 Procedure Function SetCode(ByVal CodeName As String) As Long

Parameters CodeName

This is one of the following concrete design code names. AASHTO LRFD 2014 AASHTO LRFD 2012 AASHTO Concrete 07 ACI 318-14 ACI 318-11 ACI 318-08/IBC2009 AS 3600-09 BS8110 97 Chinese 2010 CSA A23.3-14 CSA A23.3-04 Eurocode 2-2004 Hong Kong CP 2013 Indian IS 456-2000 Italian NTC 2008 KBC 2009 Mexican RCDF 2004 NZS 3101:2006 Singapore CP 65:99 SP 63.13330.2012 TS 500-2000

Remarks This function sets the concrete design code. The function returns zero if the code is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignCode() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-14") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Updated list of available codes in v17.3.0. Removed older codes which have been removed from the program in v18.0.0. Updated list of available codes in v19.1.0.

See Also GetCode

SetComboAutoGenerate Syntax SapObject.SapModel.DesignConcrete.SetComboAutoGenerate

VB6 Procedure Function SetComboAutoGenerate(ByVal AutoGenerate As Boolean) As Long

Parameters AutoGenerate

If this item is True, the option to automatically generate code-based design load combinations for concrete frame design is turned on. If it is False, the option is turned off.

Remarks This function turns on or off the option to automatically generate code-based design load combinations for concrete frame design. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignComboAutoGenerate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'set option to not auto generate code-based design load combinations ret = SapModel.DesignConcrete.SetComboAutoGenerate(False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.1.0.

See Also GetComboAutoGenerate

SetComboStrength Syntax SapObject.SapModel.DesignConcrete.SetComboStrength

VB6 Procedure Function SetComboStrength(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing load combination. Selected

If this item is True, the specified load combination is selected as a design combination for concrete strength design. If it is False, the combination is not selected for concrete strength design.

Remarks This function selects or deselects a load combination for concrete strength design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignComboStrength() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim NumberNames As Long Dim MyName() As String Dim Selected As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section properties ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default concrete design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False, True, False, False) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName) 'select combos for concrete strength design For i = 0 To NumberNames - 1

If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignConcrete.SetComboStrength(MyName(i), Selected) Next i 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetComboStrength

SetDesignSection Syntax SapObject.SapModel.DesignConcrete.SetDesignSection

VB6 Procedure Function SetDesignSection(ByVal Name As String, ByVal PropName As String, ByVal LastAnalysis As Boolean, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. PropName

The name of an existing frame section property to be used as the design section for the specified frame objects. This item applies only when LastAnalysis = False. LastAnalysis

If this item is True, the design section for the specified frame objects is reset to the last analysis section for the frame object. If it is False, the design section is set to that specified by PropName. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, the assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function modifies the design section for all specified frame objects that have a concrete frame design procedure. The function returns zero if the design section is successfully modified; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section properties ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) ret = SapModel.PropFrame.SetRectangle("R2", "4000Psi", 20, 16) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'set design section ret = SapModel.DesignConcrete.SetDesignSection("8", "R2", False) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetDesignSection

StartDesign Syntax SapObject.SapModel.DesignConcrete.StartDesign

VB6 Procedure Function StartDesign() As Long

Parameters None

Remarks This function starts the concrete frame design. The function returns zero if the concrete frame design is successfully started; otherwise it returns a nonzero value. The function will fail if no concrete frame objects are present. It also will fail if analysis results are not available.

VBA Example Sub StartConcreteDesign() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

VerifyPassed Syntax SapObject.SapModel.DesignConcrete.VerifyPassed

VB6 Procedure Function VerifyPassed(ByRef NumberItems As Long, ByRef n1 As Long, ByRef n2 As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of concrete frame objects that did not pass the design check or have not yet been checked. n1

The number of concrete frame objects that did not pass the design check. n2

The number of concrete frame objects that have not yet been checked. MyName

This is an array that includes the name of each frame object that did not pass the design check or has not yet been checked.

Remarks This function retrieves the names of the frame objects that did not pass the design check or have not yet been checked, if any. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub VerifyConcreteDesignPassed() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyName2() As String Dim NumberItems As Long Dim n1 As Long Dim n2 As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'verify frame objects successfully designed ret = SapModel.DesignConcrete.VerifyPassed(NumberItems, n1, n2, MyName)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

VerifySections Syntax SapObject.SapModel.DesignConcrete.VerifySections

VB6 Procedure Function VerifySections(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of frame objects that have different analysis and design sections. MyName

This is an array that includes the name of each frame object that has different analysis and design sections.

Remarks This function retrieves the names of the frame objects that have different analysis and design sections, if any. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub VerifyConcreteDesignSections() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyName2() As String Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'verify analysis versus design section ret = SapModel.DesignConcrete.VerifySections(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.AASHTO_Concrete_07.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 11, inclusive, indicating the overwrite item considered. 1 = Live load reduction factor 2 = Unbraced length ratio, Major 3 = Unbraced length ratio, Minor 4 = Effective length factor, K Major 5 = Effective length factor, K Minor 6 = Moment coefficient, Cm Major 7 = Moment coefficient, Cm Minor 8 = Nonsway moment factor, Db Major 9 = Nonsway moment factor, Db Minor 10 = Sway moment factor, Ds Major 11 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Live load reduction factor Value >= 0; 0 means use program determined value. 2 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 4 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 6 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

8 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 10 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemAASHTO_Concrete_07() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO Concrete 07") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.AASHTO_Concrete_07.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.AASHTO_Concrete_07.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 7, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7=

Number of interaction curves Number of interaction points Consider minimum eccentricity Seismic Zone Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic Zone 0 = Zone 0 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Pattern live load factor Value >= 0 6 = Utilization factor limit Value > 0 7 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItem AASHTO_Concrete_07() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO Concrete 07") 'get preference item ret = SapModel.DesignConcrete.AASHTO_Concrete_07.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.AASHTO_Concrete_07.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 11, inclusive, indicating the overwrite item considered. 1 = Live load reduction factor 2 = Unbraced length ratio, Major 3 = Unbraced length ratio, Minor 4 = Effective length factor, K Major 5 = Effective length factor, K Minor 6 = Moment coefficient, Cm Major 7 = Moment coefficient, Cm Minor 8 = Nonsway moment factor, Db Major 9 = Nonsway moment factor, Db Minor 10 = Sway moment factor, Ds Major 11 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Live load reduction factor Value >= 0; 0 means use program determined value. 2 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 4 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 6 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

8 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 10 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, the assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItem AASHTO_Concrete_07 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO Concrete 07") 'set overwrite item ret = SapModel.DesignConcrete.AASHTO_Concrete_07.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.AASHTO_Concrete_07.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 7, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7=

Number of interaction curves Number of interaction points Consider minimum eccentricity Seismic Zone Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic Zone 0 = Zone 0 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Pattern live load factor Value >= 0 6 = Utilization factor limit Value > 0 7 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItem AASHTO_Concrete_07() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO Concrete 07") 'set preference item ret = SapModel.DesignConcrete.AASHTO_Concrete_07.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.1.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2012.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 11, inclusive, indicating the overwrite item considered. 1 = Live load reduction factor 2 = Unbraced length ratio, Major 3 = Unbraced length ratio, Minor 4 = Effective length factor, K Major 5 = Effective length factor, K Minor 6 = Moment coefficient, Cm Major 7 = Moment coefficient, Cm Minor 8 = Nonsway moment factor, Db Major 9 = Nonsway moment factor, Db Minor 10 = Sway moment factor, Ds Major 11 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Live load reduction factor Value >= 0; 0 means use program determined value. 2 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 4 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 6 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

8 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 10 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemAASHTO_Concrete_LRFD_2012() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2012") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.AASHTO_LRFD_2012.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2012.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 7, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7=

Number of interaction curves Number of interaction points Consider minimum eccentricity Seismic Zone Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic Zone 0 = Zone 0 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Pattern live load factor Value >= 0 6 = Utilization factor limit Value > 0 7 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItem AASHTO_LRFD_2012() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2012") 'get preference item ret = SapModel.DesignConcrete.AASHTO_LRFD_2012.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2012.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 11, inclusive, indicating the overwrite item considered. 1 = Live load reduction factor 2 = Unbraced length ratio, Major 3 = Unbraced length ratio, Minor 4 = Effective length factor, K Major 5 = Effective length factor, K Minor 6 = Moment coefficient, Cm Major 7 = Moment coefficient, Cm Minor 8 = Nonsway moment factor, Db Major 9 = Nonsway moment factor, Db Minor 10 = Sway moment factor, Ds Major 11 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Live load reduction factor Value >= 0; 0 means use program determined value. 2 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 4 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 6 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

8 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 10 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, the assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItem AASHTO_LRFD_2012 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2012") 'set overwrite item ret = SapModel.DesignConcrete.AASHTO_LRFD_2012.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2012.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 7, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7=

Number of interaction curves Number of interaction points Consider minimum eccentricity Seismic Zone Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic Zone 0 = Zone 0 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Pattern live load factor Value >= 0 6 = Utilization factor limit Value > 0 7 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItem AASHTO_LRFD_2012() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2012") 'set preference item ret = SapModel.DesignConcrete.AASHTO_LRFD_2012.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2014.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 11, inclusive, indicating the overwrite item considered. 1 = Live load reduction factor 2 = Unbraced length ratio, Major 3 = Unbraced length ratio, Minor 4 = Effective length factor, K Major 5 = Effective length factor, K Minor 6 = Moment coefficient, Cm Major 7 = Moment coefficient, Cm Minor 8 = Nonsway moment factor, Db Major 9 = Nonsway moment factor, Db Minor 10 = Sway moment factor, Ds Major 11 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Live load reduction factor Value >= 0; 0 means use program determined value. 2 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 4 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 6 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

8 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 10 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemAASHTO_Concrete_LRFD_2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2014") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.AASHTO_LRFD_2014.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2014.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 7, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7=

Number of interaction curves Number of interaction points Consider minimum eccentricity Seismic Zone Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic Zone 0 = Zone 0 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Pattern live load factor Value >= 0 6 = Utilization factor limit Value > 0 7 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItem AASHTO_LRFD_2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2014") 'get preference item ret = SapModel.DesignConcrete.AASHTO_LRFD_2014.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2014.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 11, inclusive, indicating the overwrite item considered. 1 = Live load reduction factor 2 = Unbraced length ratio, Major 3 = Unbraced length ratio, Minor 4 = Effective length factor, K Major 5 = Effective length factor, K Minor 6 = Moment coefficient, Cm Major 7 = Moment coefficient, Cm Minor 8 = Nonsway moment factor, Db Major 9 = Nonsway moment factor, Db Minor 10 = Sway moment factor, Ds Major 11 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Live load reduction factor Value >= 0; 0 means use program determined value. 2 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 4 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 6 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

8 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 10 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, the assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItem AASHTO_LRFD_2014 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2014") 'set overwrite item ret = SapModel.DesignConcrete.AASHTO_LRFD_2014.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.AASHTO_LRFD_2014.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 7, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7=

Number of interaction curves Number of interaction points Consider minimum eccentricity Seismic Zone Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic Zone 0 = Zone 0 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Pattern live load factor Value >= 0 6 = Utilization factor limit Value > 0 7 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItem AASHTO_LRFD_2014() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AASHTO LRFD 2014") 'set preference item ret = SapModel.DesignConcrete.AASHTO_LRFD_2014.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 17.3.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.ACI318_08_IBC2009.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Nonsway moment factor, Dns Major 10 = Nonsway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway Intermediate 3 = Sway Ordinary 4 = Nonsway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemACI318_08_IBC2009() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-08/IBC2009") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.ACI318_08_IBC2009.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.2.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.ACI318_08_IBC2009.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 13, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Seismic design category 5 = Phi tension controlled 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear and/or torsion 9 = Phi shear seismic 10 = Phi joint shear 11 = Pattern live load factor 12 = Utilization factor limit 13 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 5 = Phi tension controlled Value > 0 6 = Phi compression controlled tied

Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear and/or torsion Value > 0 9 = Phi shear seismic Value > 0 10 = Phi joint shear Value > 0 11 = Pattern live load factor Value >= 0 12 = Utilization factor limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by step 3= Last step 4 = Envelopes - All 5 = Step-by step - All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemACI318_08_IBC2009() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-08/IBC2009") 'get preference item ret = SapModel.DesignConcrete.ACI318_08_IBC2009.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.2.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.ACI318_08_IBC2009.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway Intermediate 3 = Sway Ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value.

6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects= 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemACI318_08_IBC2009() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-08/IBC2009") 'set overwrite item ret = SapModel.DesignConcrete.ACI318_08_IBC2009.SetOverwrite("8", 1, 4) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.2.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.ACI318_08_IBC2009.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 13, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Seismic design category 5 = Phi tension controlled 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear and/or torsion 9 = Phi shear seismic 10 = Phi joint shear 11 = Pattern live load factor 12 = Utilization factor limit 13 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 5 = Phi tension controlled Value > 0 6 = Phi compression controlled tied

Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear and/or torsion Value > 0 9 = Phi shear seismic Value > 0 10 = Phi joint shear Value > 0 11 = Pattern live load factor Value >= 0 12 = Utilization factor limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by step 3= Last step 4 = Envelopes - All 5 = Step-by step - All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemACI318_08_IBC2009() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-08/IBC2009") 'set preference item ret = SapModel.DesignConcrete.ACI318_08_IBC2009.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.2.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.AS_3600_09.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, km Major 8 = Moment coefficient, km Minor 9 = Nonsway moment factor, Db Major 10 = Nonsway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Nonsway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, km Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, km Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True then the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemAS_3600_09() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-09") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.AS_3600_09.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.AS_3600_09.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi tension controlled 5 = Phi compression controlled 6 = Phi shear and/or torsion 7 = Phi shear seismic 8 = Phi joint shear 9 = Pattern live load factor 10 = Utilization factor limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi tension controlled Value > 0 5 = Phi compression controlled Value > 0 6 = Phi shear and/or torsion Value > 0 7 = Phi shear seismic Value > 0 8 = Phi joint shear

Value > 0 9 = Pattern live load factor Value >= 0 10 = Utilization factor limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by step 3= Last step 4 = Envelopes - All 5 = Step-by step - All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemAS_3600_09() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-09") 'get preference item ret = SapModel.DesignConcrete.AS_3600_09.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.AS_3600_09.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, km Major 8 = Moment coefficient, km Minor 9 = Nonsway moment factor, Db Major 10 = Nonsway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Nonsway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value.

6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, km Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, km Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2 If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemAS_3600_09() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-09") 'set overwrite item ret = SapModel.DesignConcrete.AS_3600_09.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.AS_3600_09.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi tension controlled 5 = Phi compression controlled 6 = Phi shear and/or torsion 7 = Phi shear seismic 8 = Phi joint shear 9 = Pattern live load factor 10 = Utilization factor limit 11 = Time history design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi tension controlled Value > 0 5 = Phi compression controlled Value > 0 6 = Phi shear and/or torsion Value > 0 7 = Phi shear seismic Value > 0 8 = Phi joint shear Value > 0

9 = Pattern live load factor Value >= 0 10 = Utilization factor limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by step 3= Last step 4 = Envelopes - All 5 = Step-by step - All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise, it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemAS_3600_09() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-00") 'set preference item ret = SapModel.DesignConcrete.AS_3600_09.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.01.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.BS8110_97.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemBS8110_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 97") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.BS8110_97.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.BS8110_97.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and desvisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemBS8110_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 97") 'get preference item ret = SapModel.DesignConcrete.BS8110_97.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.BS8110_97.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemBS8110_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 97") 'set overwrite item ret = SapModel.DesignConcrete.BS8110_97.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete. BS8110_97.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemBS8110_97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 97") 'set preference item ret = SapModel.DesignConcrete.BS8110_97.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Chinese_2010.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 18, inclusive, indicating the overwrite item considered. 1 = Seismic design grade 2 = Dual system SMF 3 = MMF 4 = SMF 5 = AFMF 6 = Column location 7 = Transfer beam of column 8 = Corner column seismic modification 9 = Beam gravity neg moment red factor 10 = Unbraced length ratio, Major 11 = Unbraced length ratio, Minor 12 = Effective length factor, K Major 13 = Effective length factor, K Minor 14 = Torsion modification factor 15 = Torsion design factor, Zeta 16 = Concrete cover for closed stirrup 17 = Effective length factor for gravity, K Major 18 = Effective length factor for gravity, K Minor Value

The value of the considered overwrite item. 1 = Seismic design grade 0 = As specified in preferences 1 = Seismic Super I 2 = Seismic Class I 3 = Seismic Class II 4 = Seismic Class III 5 = Seismic Class IV 6 = NonSeismic 2 = Dual system SMF Value >= 0; 0 means use program determined value. 3 = MMF Value >= 0; 0 means use program determined value.

4 = SMF Value >= 0; 0 means use program determined value. 5 = AFMF Value >= 0; 0 means use program determined value. 6 = Column Location 1 = Center Column 2 = Side Column 3 = Corner Column 4 = End Column 5 = Individual Column 7 = Transfer beam or column 0 = Program Determined 1 = No 2 = Yes 8 = Corner column seismic modification 0 = Program Determined 1 = No 2 = Yes 9 = Beam gravity neg moment red factor Value >= 0; 0 means use program determined value. 10 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 11 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 12 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 13 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 14 = Torsion modification factor Value >= 0; 0 means use program determined value. 15 = Torsion design factor, Zeta

Value >= 0; 0 means use program determined value. 16 = Concrete cover for closed stirrup Value >= 0; 0 means use program determined value. 17 = Effective length factor for gravity, K Major Value >= 0; 0 means use program default value. 18 = Effective length factor for gravity, K Minor Value >= 0; 0 means use program default value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Chinese 2010") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Chinese_2010.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.Chinese_2010.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Importance factor gamma 0 4 = Column design procedure 5 = Seismic design grade 6 = Pattern live load factor 7 = Utilization factor limit 8 = Multi-response case design 9 = Structural system 10 = Is tall building? 11 = Seismic field type Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Importance factor gamma 0 Value > 0 4 = Column design procedure 1 = Appendix F 2 = Simplified 5 = Seismic design grade 1 = Super I 2 = Grade I 3 = Grade II 4 = Grade III 5 = Grade IV 6 = Nonseismic 6 = Pattern live load factor Value >= 0

7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 9 = Structural system 1 = Frame only 2 = Shearwall only 3 = Frame-shearwall 4 = Braced frame only 5 = Frame-braced frame 10 = Is tall building? 0 = No 1 = Yes 11 = Seismic field type 1=I 2 = II 3 = III 4 = IV

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Chinese 2010") 'get preference item ret = SapModel.DesignConcrete.Chinese_2010.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.Chinese_2010.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 18, inclusive, indicating the overwrite item considered. 1 = Seismic design grade 2 = Dual system SMF 3 = MMF 4 = SMF 5 = AFMF 6 = Column location 7 = Transfer beam of column 8 = Corner column seismic modification 9 = Beam gravity neg moment red factor 10 = Unbraced length ratio, Major 11 = Unbraced length ratio, Minor 12 = Effective length factor, K Major 13 = Effective length factor, K Minor 14 = Torsion modification factor 15 = Torsion design factor, Zeta 16 = Concrete cover for closed stirrup 17 = Effective length factor for gravity, K Major 18 = Effective length factor for gravity, K Minor Value

The value of the considered overwrite item. 1 = Seismic design grade 0 = As specified in preferences 1 = Seismic Super I 2 = Seismic Class I 3 = Seismic Class II 4 = Seismic Class III 5 = Seismic Class IV 6 = NonSeismic 2 = Dual system SMF Value >= 0; 0 means use program determined value. 3 = MMF

Value >= 0; 0 means use program determined value. 4 = SMF Value >= 0; 0 means use program determined value. 5 = AFMF Value >= 0; 0 means use program determined value. 6 = Column Location 1 = Center Column 2 = Side Column 3 = Corner Column 4 = End Column 5 = Individual Column 7 = Transfer beam or column 0 = Program Determined 1 = No 2 = Yes 8 = Corner column seismic modification 0 = Program Determined 1 = No 2 = Yes 9 = Beam gravity neg moment red factor Value >= 0; 0 means use program determined value. 10 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 11 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 12 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 13 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 14 = Torsion modification factor Value >= 0; 0 means use program determined value.

15 = Torsion design factor, Zeta Value >= 0; 0 means use program determined value. 16 = Concrete cover for closed stirrup Value >= 0; 0 means use program determined value. 17 = Effective length factor for gravity, K Major Value >= 0; 0 means use program default value. 18 = Effective length factor for gravity, K Minor Value >= 0; 0 means use program default value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'createSap2000 object Set SapObject= New Sap2000v16.SapObject 'startSap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel= SapObject.SapModel 'initialize model ret= SapModel.InitializeNewModel 'create new concrete frame section property ret= SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret= SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret= SapModel.DesignConcrete.SetCode("Chinese 2010") 'set overwrite item ret= SapModel.DesignConcrete.Chinese_2010.SetOverwrite("8", 1, 2) 'closeSap2000 SapObject.ApplicationExit False Set SapModel= Nothing Set SapObject= Nothing End Sub

Release Notes Initial release in version 15.0.2.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.Chinese_2010.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Importance factor gamma 0 4 = Column design procedure 5 = Seismic design grade 6 = Pattern live load factor 7 = Utilization factor limit 8 = Multi-response case design 9 = Structural system 10 = Is tall building? 11 = Seismic field type Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Importance factor gamma 0 Value > 0 4 = Column design procedure 1 = Appendix F 2 = Simplified 5 = Seismic design grade 1 = Super I 2 = Grade I 3 = Grade II 4 = Grade III 5 = Grade IV 6 = Nonseismic 6 = Pattern live load factor Value >= 0

7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 9 = Structural system 1 = Frame only 2 = Shearwall only 3 = Frame-shearwall 4 = Braced frame only 5 = Frame-braced frame 10 = Is tall building? 0 = No 1 = Yes 11 = Seismic field type 1=I 2 = II 3 = III 4 = IV

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemChinese_2010() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Chinese 2010") 'set preference item ret = SapModel.DesignConcrete.Chinese_2010.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.2.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_04.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Db Major 10 = Non-sway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor 13 = Force modification factor, Rd 14 = Force modification factor, Ro 15 = Maximum aggregate size Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ductile 2 = Moderate 3 = Conventional 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value.

6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. 13 = Force modification factor, Rd Value >= 0; 0 means use program determined value. 14 = Force modification factor, Ro Value >= 0; 0 means use program determined value. 15 = Maximum aggregate size Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemCSA_A23_3_04() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA A23.3-04") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.CSA_A23_3_04.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_04.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 8, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8=

Number of interaction curves Number of interaction points Consider minimum eccentricity Phi steel Phi concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi steel Value > 0 5 = Phi concrete Value > 0 6 = Pattern live load factor Value >= 0 7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemCSA_A23_3_04() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA A23.3-04") 'get preference item ret = SapModel.DesignConcrete.CSA_A23_3_04.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_04.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Db Major 10 = Non-sway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor 13 = Force modification factor, Rd 14 = Force modification factor, Ro 15 = Maximum aggregate size Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ductile 2 = Moderate 3 = Conventional 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major

Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. 13 = Force modification factor, Rd Value >= 0; 0 means use program determined value. 14 = Force modification factor, Ro Value >= 0; 0 means use program determined value. 15 = Maximum aggregate size Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item.

If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemCSA_A23_3_04() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA A23.3-04") 'set overwrite item ret = SapModel.DesignConcrete.CSA_A23_3_04.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_04.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 8, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8=

Number of interaction curves Number of interaction points Consider minimum eccentricity Phi steel Phi concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi steel Value > 0 5 = Phi concrete Value > 0 6 = Pattern live load factor Value >= 0 7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemCSA_A23_3_04() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA A23.3-04") 'set preference item ret = SapModel.DesignConcrete.CSA_A23_3_04.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Eurocode_2_2004.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Nonsway moment factor, Dns Major 10 = Nonsway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Nonsway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemEurocode_2_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Eurocode 2-2004") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Eurocode_2_2004.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.Eurocode_2_2004.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Country 2 = Combos equation 3 = Second order method 4 = Number of interaction curves 5 = Number of interaction points 6 = Consider minimum eccentricity 7 = Theta0 8 = Gamma steel 9 = Gamma concrete 10 = AlphaCC 11 = AlphaCT 12 = AlphaLCC 13 = AlphaLCT 14 = Pattern live load factor 15 = Utilization factor limit 16 = Multi-response case design 17 = Reliability Class Value

The value of the considered preference item. 1 = Country 1 = CEN Default 2 = United Kingdom 3 = Slovenia 5 = Norway 6 = Singapore 7 = Sweden 8 = Finland 9 = Denmark 10 = Portugal 11 = Germany 2 = Combos equation 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 3 = Second order method 1 = Nominal stiffness

2 = Nominal curvature 3 = None 4 = Number of interaction curves Value >= 4 and divisible by 4 5 = Number of interaction points Value >= 5 and odd 6 = Consider minimum eccentricity 0 = No Any other value = Yes 7 = Theta0 Value > 0 8 = Gamma steel Value > 0 9 = Gamma concrete Value > 0 10 = AlphaCC Value > 0 11 = AlphaCT Value > 0 12 = AlphaLCC Value > 0 13 = AlphaLCT Value > 0 14 = Pattern live load factor Value >= 0 15 = Utilization factor limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step

3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 17 = Reliability Class 1 = Class 1 2 = Class 2 3 = Class 3

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemEurocode_2_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Eurocode 2-2004") 'get preference item ret = SapModel.DesignConcrete.Eurocode_2_2004.GetPreference(5, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Added Norway as a Country parameter in version 14.1.0. Added Reliability Class parameter and added Sweden, Finland, and Denmark as Country parameters in version 14.2.2. Added Portugal and Germany as Country parameters in SAP2000 Version 15.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.Eurocode_2_2004.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Nonsway moment factor, Dns Major 10 = Nonsway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Nonsway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemEurocode_2_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12)'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Eurocode 2-2004") 'set overwrite item ret = SapModel.DesignConcrete.Eurocode_2_2004.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.Eurocode_2_2004.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 16, inclusive, indicating the preference item considered. 1 = Country 2 = Combos equation 3 = Second order method 4 = Number of interaction curves 5 = Number of interaction points 6 = Consider minimum eccentricity 7 = Theta0 8 = Gamma steel 9 = Gamma concrete 10 = AlphaCC 11 = AlphaCT 12 = AlphaLCC 13 = AlphaLCT 14 = Pattern live load factor 15 = Utilization factor limit 16 = Multi-response case design 17 = Reliability Class Value

The value of the considered preference item. 1 = Country 1 = CEN Default 2 = United Kingdom 3 = Slovenia 5 = Norway 6 = Singapore 7 = Sweden 8 = Finland 9 = Denmark 10 = Portugal 11 = Germany 2 = Combos equation 1 = Eq. 6.10 2 = Max of Eqs. 6.10a and 6.10b 3 = Second order method 1 = Nominal stiffness

2 = Nominal curvature 3 = None 4 = Number of interaction curves Value >= 4 and divisible by 4 5 = Number of interaction points Value >= 5 and odd 6 = Consider minimum eccentricity 0 = No Any other value = Yes 7 = Theta0 Value > 0 8 = Gamma steel Value > 0 9 = Gamma concrete Value > 0 10 = AlphaCC Value > 0 11 = AlphaCT Value > 0 12 = AlphaLCC Value > 0 13 = AlphaLCT Value > 0 14 = Pattern live load factor Value >= 0 15 = Utilization factor limit Value > 0 16 = Multi-response case design 1 = Envelopes 2 = Step-by-step

3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 17 = Reliability Class 1 = Class 1 2 = Class 2 3 = Class 3

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise, it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemEurocode_2_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True,"R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Eurocode 2-2004") 'set preference item ret = SapModel.DesignConcrete.Eurocode_2_2004.SetPreference(5, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Added Norway as a Country parameter in version 14.1.0. Added Reliability Class parameter and added Sweden, Finland, and Denmark as Country parameters in version 14.2.2. Added Portugal and Germany as Country parameters in SAP2000 Version 15.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2013.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemHong_Kong_CP_2013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2013") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Hong_Kong_CP_2013.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2013.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemHong_Kong_CP_2013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2013") 'get preference item ret = SapModel.DesignConcrete.Hong_Kong_CP_2013.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2013.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemHong_Kong_CP_2013() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2013") 'set overwrite item ret = SapModel.DesignConcrete.Hong_Kong_CP_2013.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2013.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemHong_Kong_CP_2013) 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2013") 'set preference item ret = SapModel.DesignConcrete.Hong_Kong_CP_2013.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Indian_IS_456_2000.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 16, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor 13 = Top rebar area of a beam at the left end (I-end) 14 = Bottom rebar area of a beam at the left end (I-end) 15 = Top rebar area of a beam at the right end (J-end) 16 = Bottom rebar area of a beam at the right end (J-end) Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ductile 2 = Ordinary 3 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major

Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. 13 = Top rebar area of a beam at the left end (I-end) Value >= 0; 0 means use program determined value. 14 = Bottom rebar area of a beam at the left end (I-end) Value >= 0; 0 means use program determined value. 15 = Top rebar area of a beam at the right end (J-end) Value >= 0; 0 means use program determined value. 16 = Bottom rebar area of a beam at the right end (J-end) Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemIndian_IS_456_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Indian IS 456-2000") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Indian_IS_456_2000.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 13, 14, 15, and 16 in Version 14.0.0.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.Indian_IS_456_2003.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 8, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Pattern live load factor Value >= 0 7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemIndian_IS_456_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Indian IS 456-2000") 'get preference item ret = SapModel.DesignConcrete.Indian_IS_456_2000.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.Indian_IS_456_2000.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor 13 = Top rebar area of a beam at the left end (I-end) 14 = Bottom rebar area of a beam at the left end (I-end) 15 = Top rebar area of a beam at the right end (J-end) 16 = Bottom rebar area of a beam at the right end (J-end) Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ductile 2 = Ordinary 3 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value.

5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. 13 = Top rebar area of a beam at the left end (I-end) Value >= 0; 0 means use program determined value. 14 = Bottom rebar area of a beam at the left end (I-end) Value >= 0; 0 means use program determined value. 15 = Top rebar area of a beam at the right end (J-end) Value >= 0; 0 means use program determined value. 16 = Bottom rebar area of a beam at the right end (J-end) Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item.

If this item is Group,the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemIndian_IS_456_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Indian IS 456-2000") 'set overwrite item ret = SapModel.DesignConcrete.Indian_IS_456_2000.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 13, 14, 15, and 16 in Version 14.0.0.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.Indian_IS_456_2003.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 8, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Pattern live load factor Value >= 0 7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemIndian_IS_456_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Indian IS 456-2000") 'set preference item ret = SapModel.DesignConcrete.Indian_IS_456_2000.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.KCI_1999.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemKCI_1999() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("KCI-1999") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.KCI_1999.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.KCI_1999.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending tension 5 = Phi compression controlled tied 6 = Phi compression controlled spiral 7 = Phi shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending tension Value > 0 5 = Phi compression controlled tied Value > 0 6 = Phi compression controlled spiral Value > 0 7 = Phi shear Value > 0 8 = Pattern live load factor Value >= 0

9 = Utilization factor limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemKCI_1999() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("KCI-1999") 'get preference item ret = SapModel.DesignConcrete.KCI_1999.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.KCI_1999.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value.

6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemKCI_1999 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("KCI-1999") 'set overwrite item ret = SapModel.DesignConcrete.KCI_1999.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.KCI_1999.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending tension 5 = Phi compression controlled tied 6 = Phi compression controlled spiral 7 = Phi shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending tension Value > 0 5 = Phi compression controlled tied Value > 0 6 = Phi compression controlled spiral Value > 0 7 = Phi shear Value > 0 8 = Pattern live load factor Value >= 0

9 = Utilization factor limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemKCI_1999() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("KCI-1999") 'set preference item ret = SapModel.DesignConcrete.KCI_1999.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Singapore_CP_65_99.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemSingapore_CP_65_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Singapore CP 65:99") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Singapore_CP_65_99.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignConcrete.Singapore_CP_65_99.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemSingapore_CP_65_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Singapore CP 65:99") 'get preference item ret = SapModel.DesignConcrete.Singapore_CP_65_99.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignConcrete.Singaopre_CP_65_99.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemSingapore_CP_65_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Singapore CP 65:99") 'set overwrite item ret = SapModel.DesignConcrete.Singapore_CP_65_99.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignConcrete.Singapore_CP_65_99.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemSingapore_CP_65_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Singapore CP 65:99") 'set preference item ret = SapModel.DesignConcrete.Singapore_CP_65_99.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

GetOverwrite SapObject.SapModel.DesignConcrete.TS_500_2000.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, k Major 6 = Effective length factor, k Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Bns Major 10 = Non-sway moment factor, Bns Minor 11 = Sway moment factor, Bs Major 12 = Sway moment factor, Bs Minor Value

The value of the considered preference item. 1 = Framing type 0 = Program Default 1 = High Ductile 2 = Nominal Ductile 3 = Ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value 5 = Effective length factor, k Major Value >= 0; 0 means use program determined value 6 = Effective length factor, k Minor

Value >= 0; 0 means use program determined value 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value 9 = Non-sway moment factor, Bns Major Value >= 0; 0 means use program determined value 10 = Non-sway moment factor, Bns Minor Value >= 0; 0 means use program determined value 11 = Sway moment factor, Bs Major Value >= 0; 0 means use program determined value 12 = Sway moment factor, Bs Minor Value >= 0; 0 means use program determined value

ProgDet If this Item is true, the specified value is program determined.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemTS_500_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("TS 500-2000") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.TS_500_2000.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also SetOverwrite

GetPreference SapObject.SapModel.DesignConcrete.TS_500_2000.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 10, inclusive, indicating the overwrite item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider maximum eccentricity 4 = Seismic zone 5 = Gamma steel 6 = Gamma concrete 7 = Gamma concrete shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider maximum eccentricity 0 = No Any other value = Yes 4 = Seismic zone 1 = Zone 1 2 = Zone 2 3 = Zone 3 4 = Zone 4 5 = Gamma steel Value > 0 6 = Gamma concrete Value > 0

7 = Gamma concrete shear Value > 0 8 = Pattern live load factor Value >= 0 9 = Utilization factor limit Value >= 0. 10 = Multi-response case design 1 = Envelopes 2 = Step-by-Step 3 = Last Step 4 = Envelopes -- All 5 = Step-by-Step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemTS_500_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("TS 500-2000") 'get preference item ret = SapModel.DesignConcrete.TS_500_2000.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also SetPreference

SetOverwrite SapObject.SapModel.DesignConcrete.TS_500_2000.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, k Major 6 = Effective length factor, k Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Bns Major 10 = Non-sway moment factor, Bns Minor 11 = Sway moment factor, Bs Major 12 = Sway moment factor, Bs Minor Value

The value of the considered preference item. 1 = Framing type 0 = Program Default 1 = High Ductile 2 = Nominal Ductile 3 = Ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value 5 = Effective length factor, k Major Value >= 0; 0 means use program determined value

6 = Effective length factor, k Minor Value >= 0; 0 means use program determined value 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value 9 = Non-sway moment factor, Bns Major Value >= 0; 0 means use program determined value 10 = Non-sway moment factor, Bns Minor Value >= 0; 0 means use program determined value 11 = Sway moment factor, Bs Major Value >= 0; 0 means use program determined value 12 = Sway moment factor, Bs Minor Value >= 0; 0 means use program determined value

ItemType This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 Selected Objects = 2 If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a concrete design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignOverwriteItemTS_500_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("TS 500-2000") 'set overwrite item ret = SapModel.DesignConcrete.TS_500_2000.SetOverwrite(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 19.0.0.

See Also GetOverwrite

DeleteResults Syntax SapObject.SapModel.DesignAluminum.DeleteResults

VB6 Procedure Function DeleteResults() As Long

Parameters None

Remarks This function deletes all aluminum frame design results. The function returns zero if the results are successfully deleted; otherwise it returns a nonzero value.

VBA Example Sub DeleteAluminumDesignResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'delete aluminum design results ret = SapModel.DesignAluminum.DeleteResults 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

GetCode Syntax SapObject.SapModel.DesignAluminum.GetCode

VB6 Procedure Function GetCode(ByRef CodeName As String) As Long

Parameters CodeName

This is one of the following aluminum design code names. AA-ASD 2000 AA-LRFD 2000

Remarks This function retrieves the aluminum design code. The function returns zero if the code is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignCode() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim CodeName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'get aluminum design code ret = SapModel.DesignAluminum.GetCode(CodeName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetCode

GetComboAutoGenerate Syntax SapObject.SapModel.DesignAluminum.GetComboAutoGenerate

VB6 Procedure Function SetComboAutoGenerate(ByRef AutoGenerate As Boolean) As Long

Parameters AutoGenerate

If this item is True, the option to automatically generate code-based design load combinations for aluminum frame design is turned on. If it is False, the option is turned off.

Remarks This function retrieves the value of the automatically generated code-based design load combinations option for aluminum frame design. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignComboAutoGenerate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim AutoGenerate As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set option to not auto generate code-based design load combinations ret = SapModel.DesignAluminum.GetComboAutoGenerate(AutoGenerate) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.1.0.

See Also SetComboAutoGenerate

GetComboDeflection Syntax SapObject.SapModel.DesignAluminum.GetComboDeflection

VB6 Procedure Function GetComboDeflection(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of load combinations selected as design combinations for aluminum deflection design. MyName

This is an array that includes the name of each response combination selected as a design combination for aluminum deflection design.

Remarks This function retrieves the names of all load combinations selected as design combinations for aluminum deflection design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignComboDeflection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName2() As String Dim Selected As Boolean Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default aluminum design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False,

False, True, False) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName2) 'select combos for aluminum deflection design For i = 0 To NumberNames - 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignAluminum.SetComboDeflection(MyName2(i), Selected) Next i 'get combos selected for aluminum deflection design ret = SapModel.DesignAluminum.GetComboDeflection(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetComboDeflection

GetComboStrength Syntax SapObject.SapModel.DesignAluminum.GetComboStrength

VB6 Procedure Function GetComboStrength(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of load combinations selected as design combinations for aluminum strength design. MyName

This is an array that includes the name of each response combination selected as a design combination for aluminum strength design.

Remarks This function retrieves the names of all load combinations selected as design combinations for aluminum strength design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignComboStrength() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName2() As String Dim Selected As Boolean Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default aluminum design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False,

False, True, False) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName2) 'select combos for aluminum strength design For i = 0 To NumberNames - 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignAluminum.SetComboStrength(MyName2(i), Selected) Next i 'get combos selected for aluminum strength design ret = SapModel.DesignAluminum.GetComboStrength(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetComboStrength

GetDesignSection Syntax SapObject.SapModel.DesignAluminum.GetDesignSection

VB6 Procedure Function GetDesignSection(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a frame object with a aluminum frame design procedure. PropName

The name of the design section for the specified frame object.

Remarks This function retrieves the design section for a specified aluminum frame object. The function returns zero if the section is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'get design section ret = SapModel.DesignAluminum.GetDesignSection("8", PropName)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetDesignSection

GetGroup Syntax SapObject.SapModel.DesignAluminum.GetGroup

VB6 Procedure Function GetGroup(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of groups selected for aluminum design. MyName

This is an array that includes the name of each group selected for aluminum design.

Remarks This function retrieves the names of all groups selected for aluminum design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'select group for aluminum design ret = SapModel.DesignAluminum.SetGroup("ALL", True) 'get groups selected for aluminum design ret = SapModel.DesignAluminum.GetGroup(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetGroup

GetResultsAvailable {Aluminum} Syntax SapObject.SapModel.DesignAluminum.GetResultsAvailable

VB6 Procedure Function GetResultsAvailable() As Boolean

Parameters None

Remarks The function returns True if the aluminum frame design results are available, otherwise False.

VBA Example Sub GetResultsAvailable() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ResultsAvailable As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5 ) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'check if design results are available ResultsAvailable = SapModel.DesignAluminum.GetResultsAvailable 'close Sap2000

SapObject.ApplicationExit.False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.2.0.

GetSummaryResults Syntax SapObject.SapModel.DesignAluminum.GetSummaryResults

VB6 Procedure Function GetSummaryResults(ByVal Name As String, ByRef NumberItems As Long, ByRef FrameName() As String, ByRef Ratio() As Double, ByRef RatioType() As Long, ByRef Location() As Double, ByRef ComboName() As String, ByRef ErrorSummary() As String, ByRef WarningSummary() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. NumberItems

The number of frame objects for which results are obtained. FrameName

This is an array that includes each frame object name for which results are obtained. Ratio

This is an array that includes the controlling stress or capacity ratio for each frame object. RatioType

This is an array that includes 1, 3 or 4, indicating the controlling stress or capacity ratio type for each frame object. 1 = PMM 3 = Major shear 4 = Minor shear Location

This is an array that includes the distance from the I-end of the frame object to the location where the controlling stress or capacity ratio occurs. [L] ComboName

This is an array that includes the name of the design combination for which the controlling stress or capacity ratio occurs. ErrorSummary

This is an array that includes the design error messages for the frame object, if any. WarningSummary

This is an array that includes the design warning messages for the frame object, if any. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the design results are retrieved for the frame object specified by the Name item. If this item is Group, the design results are retrieved for all frame objects in the group specified by the Name item. If this item is SelectedObjects, the design results are retrieved for all selected frame objects, and the Name item is ignored.

Remarks This function retrieves summary results for aluminum design. The function returns zero if the results are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignSummaryResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim FrameName() As String Dim Ratio() As Double Dim RatioType() As Long Dim Location() As Double Dim ComboName() As String Dim ErrorSummary() As String Dim WarningSummary() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis

'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'get summary result data ret = SapModel.DesignAluminum.GetSummaryResults("8", NumberItems, FrameName, Ratio, RatioType, Location, ComboName, ErrorSummary, WarningSummary) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

ResetOverwrites Syntax SapObject.SapModel.DesignAluminum.ResetOverwrites

VB6 Procedure Function ResetOverwrites() As Long

Parameters None

Remarks This function resets all aluminum frame design overwrites to default values. The function returns zero if the overwrites are successfully reset; otherwise it returns a nonzero value. The function will fail if no aluminum frame objects are present.

VBA Example Sub ResetAluminumDesignOverwrites() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'reset aluminum design overwrites ret = SapModel.DesignAluminum.ResetOverwrites 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

SetAutoSelectNull Syntax SapObject.SapModel.DesignAluminum.SetAutoSelectNull

VB6 Procedure Function SetAutoSelectNull(ByVal Name As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function removes the auto select section assignments from all specified frame objects that have a aluminum frame design procedure. The function returns zero if the auto select section assignments are successfully removed; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumAutoSelectSectionsNull() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section properties ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) ret = SapModel.PropFrame.SetISection("AI2", Name , 18, 6, 0.6, 0.3, 6, 0.6) ret = SapModel.PropFrame.SetISection("AI3", Name , 18, 6, 0.7, 0.3, 6, 0.7) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'define new auto select list frame section property ReDim MyName(2) MyName(0) = "AI" MyName(1) = "AI2" MyName(2) = "AI3" ret = SapModel.PropFrame.SetAutoSelectAluminum("AUTO1", 3,

MyName) 'set frame section properties ret = SapModel.FrameObj.SetSection("8", "AUTO1") ret = SapModel.FrameObj.SetSection("10", "AUTO1") 'set frame object selected ret = SapModel.FrameObj.SetSelected("8", True) 'set auto select section null ret = SapModel.DesignAluminum.SetAutoSelectNull("",SelectedObjects) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

SetCode Syntax SapObject.SapModel.DesignAluminum.SetCode

VB6 Procedure Function SetCode(ByVal CodeName As String) As Long

Parameters CodeName

This is one of the following aluminum design code names. AA-ASD 2000 AA-LRFD 2000

Remarks This function sets the aluminum design code. The function returns zero if the code is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignCode() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-LRFD 2000") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetCode

SetComboAutoGenerate Syntax SapObject.SapModel.DesignAluminum.SetComboAutoGenerate

VB6 Procedure Function SetComboAutoGenerate(ByVal AutoGenerate As Boolean) As Long

Parameters AutoGenerate

If this item is True, the option to automatically generate code-based design load combinations for aluminum frame design is turned on. If it is False, the option is turned off.

Remarks This function turns on or off the option to automatically generate code-based design load combinations for aluminum frame design. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignComboAutoGenerate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'set option to not auto generate code-based design load combinations ret = SapModel.DesignAluminum.SetComboAutoGenerate(False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.1.0.

See Also GetComboAutoGenerate

SetComboDeflection Syntax SapObject.SapModel.DesignAluminum.SetComboDeflection

VB6 Procedure Function SetComboDeflection(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing load combination. Selected

If this item is True, the specified load combination is selected as a design combination for aluminum deflection design. If it is False, the combination is not selected for aluminum deflection design.

Remarks This function selects or deselects a load combination for aluminum deflection design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignComboDeflection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName() As String Dim Selected As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default aluminum design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False, False, True, False)

'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName) 'select combos for aluminum deflection design For i = 0 To NumberNames - 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignAluminum.SetComboDeflection(MyName(i), Selected) Next i 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetComboDeflection

SetComboStrength Syntax SapObject.SapModel.DesignAluminum.SetComboStrength

VB6 Procedure Function SetComboStrength(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing load combination. Selected

If this item is True, the specified load combination is selected as a design combination for aluminum strength design. If it is False, the combination is not selected for aluminum strength design.

Remarks This function selects or deselects a load combination for aluminum strength design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignComboStrength() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName() As String Dim Selected As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default aluminum design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False, False, True, False)

'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName) 'select combos for aluminum strength design For i = 0 To NumberNames - 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignAluminum.SetComboStrength(MyName(i), Selected) Next i 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetComboStrength

SetDesignSection Syntax SapObject.SapModel.DesignAluminum.SetDesignSection

VB6 Procedure Function SetDesignSection(ByVal Name As String, ByVal PropName As String, ByVal LastAnalysis As Boolean, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. PropName

The name of an existing frame section property to be used as the design section for the specified frame objects. This item applies only when LastAnalysis = False. LastAnalysis

If this item is True, the design section for the specified frame objects is reset to the last analysis section for the frame object. If it is False, the design section is set to that specified by PropName. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, the assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function modifies the design section for all specified frame objects that have a aluminum frame design procedure. The function returns zero if the design section is successfully modified; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section properties ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) ret = SapModel.PropFrame.SetISection("AI2", Name , 18, 6, 0.6, 0.3, 6, 0.6) ret = SapModel.PropFrame.SetISection("AI3", Name , 18, 6, 0.7, 0.3, 6, 0.7) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'define new auto select list frame section property ReDim MyName(2) MyName(0) = "AI" MyName(1) = "AI2" MyName(2) = "AI3" ret = SapModel.PropFrame.SetAutoSelectAluminum("AUTO1", 3,

MyName) 'set frame section properties ret = SapModel.FrameObj.SetSection("8", "AUTO1") ret = SapModel.FrameObj.SetSection("10", "AUTO1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'set design section ret = SapModel.DesignAluminum.SetDesignSection("8", "AI3", False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetDesignSection

SetGroup Syntax SapObject.SapModel.DesignAluminum.SetGroup

VB6 Procedure Function SetGroup(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing group. Selected

If this item is True, the specified group is selected as a design group for aluminum design. If it is False, the group is not selected for aluminum design.

Remarks This function selects or deselects a group for aluminum design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'select group for aluminum design ret = SapModel.DesignAluminum.SetGroup("ALL", True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetGroup

StartDesign Syntax SapObject.SapModel.DesignAluminum.StartDesign

VB6 Procedure Function StartDesign() As Long

Parameters None

Remarks This function starts the aluminum frame design. The function returns zero if the aluminum frame design is successfully started; otherwise it returns a nonzero value. The function will fail if no aluminum frame objects are present. It will also fail if analysis results are not available.

VBA Example Sub StartAluminumDesign() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also

VerifyPassed Syntax SapObject.SapModel.DesignAluminum.VerifyPassed

VB6 Procedure Function VerifyPassed(ByRef NumberItems As Long, ByRef n1 As Long, ByRef n2 As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of aluminum frame objects that did not pass the design check or have not yet been checked. n1

The number of aluminum frame objects that did not pass the design check. n2

The number of aluminum frame objects that have not yet been checked. MyName

This is an array that includes the name of each frame object that did not pass the design check or has not yet been checked.

Remarks This function retrieves the names of the frame objects that did not pass the design check or have not yet been checked, if any. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub VerifyAluminumDesignPassed() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim n1 As Long Dim n2 As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign

'verify frame objects successfully designed ret = SapModel.DesignAluminum.VerifyPassed(NumberItems, n1, n2, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

VerifySections Syntax SapObject.SapModel.DesignAluminum.VerifySections

VB6 Procedure Function VerifySections(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of frame objects that have different analysis and design sections. MyName

This is an array that includes the name of each frame object that has different analysis and design sections.

Remarks This function retrieves the names of the frame objects that have different analysis and design sections, if any. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub VerifyAluminumDesignSections() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign 'verify analysis versus design section ret = SapModel.DesignAluminum.VerifySections(NumberItems,

MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

GetOverwrite Syntax SapObject.SapModel.DesignAluminum.AA_ASD_2000.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a aluminum frame design procedure. Item

This is an integer between 1 and 23, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Bending coefficient, Cb 10 = Buckling constant for compression, k1 11 = Buckling constant for compression, k2 12 = Buckling constant for bending, k1 13 = Buckling constant for bending, k2 14 = Safety coefficient, kt 15 = Bending coefficient, C1 16 = Bending coefficient, C2 17 = Yield stress, Fy 18 = Compressive stress, Fa 19 = Tensile stress, Ft 20 = Major bending stress, Fb3 21 = Minor bending stress, Fb2 22 = Major shear stress, Fs2 23 = Minor shear stress, Fs3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Live load reduction factor Value >= 0; 0 means use a program determined value. 3 = Unbraced length ratio, Major

Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 10 = Buckling constant for compression, k1 Value >= 0; 0 means use program determined value. 11 = Buckling constant for compression, k2 Value >= 0; 0 means use program determined value. 12 = Buckling constant for bending, k1 Value >= 0; 0 means use program determined value. 13 = Buckling constant for bending, k2 Value >= 0; 0 means use program determined value. 14 = Safety coefficient, kt Value >= 0; 0 means use program determined value. 15 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 16 = Bending coefficient, C2 Value >= 0; 0 means use program determined value. 17 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2]

18 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 19 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 20 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 21 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 22 = Major shear stress, Fs2 Value >= 0; 0 means use program determined value. [F/L2] 23 = Minor shear stress, Fs3 Value >= 0; 0 means use program determined value. [F/L2] ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of an aluminum design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignOverwriteItemAA_ASD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-ASD 2000") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign

'get overwrite item ret = SapModel.DesignAluminum.AA_ASD_2000.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignAluminum.AA_ASD_2000.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 6, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6=

Framing type Demand/capacity ratio limit Lateral factor Use lateral factor Bridge type structure Time history design

Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Lateral factor Value > 0 4 = Use lateral factor 0 = No Any other value = Yes 5 = Bridge type structure 0 = No Any other value = Yes 6 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function retrieves the value of an aluminum design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignPreferenceItemAA_ASD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-ASD 2000") 'get preference item ret = SapModel.DesignAluminum.AA_ASD_2000.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignAluminum.AA_ASD_2000.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 23, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Bending coefficient, Cb 10 = Buckling constant for compression, k1 11 = Buckling constant for compression, k2 12 = Buckling constant for bending, k1 13 = Buckling constant for bending, k2 14 = Safety coefficient, kt 15 = Bending coefficient, C1 16 = Bending coefficient, C2 17 = Yield stress, Fy 18 = Compressive stress, Fa 19 = Tensile stress, Ft 20 = Major bending stress, Fb3 21 = Minor bending stress, Fb2 22 = Major shear stress, Fs2 23 = Minor shear stress, Fs3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Live load reduction factor Value >= 0; 0 means use a program determined value.

3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 10 = Buckling constant for compression, k1 Value >= 0; 0 means use program determined value. 11 = Buckling constant for compression, k2 Value >= 0; 0 means use program determined value. 12 = Buckling constant for bending, k1 Value >= 0; 0 means use program determined value. 13 = Buckling constant for bending, k2 Value >= 0; 0 means use program determined value. 14 = Safety coefficient, kt Value >= 0; 0 means use program determined value. 15 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 16 = Bending coefficient, C2 Value >= 0; 0 means use program determined value. 17 = Yield stress, Fy

Value >= 0; 0 means use program determined value. [F/L2] 18 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 19 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 20 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 21 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 22 = Major shear stress, Fs2 Value >= 0; 0 means use program determined value. [F/L2] 23 = Minor shear stress, Fs3 Value >= 0; 0 means use program determined value. [F/L2] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of an aluminum design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignOverwriteItemAA_ASD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-ASD 2000") 'set overwrite item ret = SapModel.DesignAluminum.AA_ASD_2000.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignAluminum.AA_ASD_2000.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 6, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6=

Framing type Demand/capacity ratio limit Lateral factor Use lateral factor Bridge type structure Time history design

Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Lateral factor Value > 0 4 = Use lateral factor 0 = No Any other value = Yes 5 = Bridge type structure 0 = No Any other value = Yes 6 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function sets the value of an aluminum design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignPreferenceItemAA_ASD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-ASD 2000") 'set preference item ret = SapModel.DesignAluminum.AA_ASD_2000.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignAluminum.AA_LRFD_2000.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a aluminum frame design procedure. Item

This is an integer between 1 and 23, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Bending coefficient, Cb 10 = Buckling constant for compression, k1 11 = Buckling constant for compression, k2 12 = Buckling constant for bending, k1 13 = Buckling constant for bending, k2 14 = Safety coefficient, kt 15 = Bending coefficient, C1 16 = Bending coefficient, C2 17 = Yield stress, Fy 18 = Compressive stress, Fa 19 = Tensile stress, Ft 20 = Major bending stress, Fb3 21 = Minor bending stress, Fb2 22 = Major shear stress, Fs2 23 = Minor shear stress, Fs3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Live load reduction factor Value >= 0; 0 means use a program determined value. 3 = Unbraced length ratio, Major

Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 10 = Buckling constant for compression, k1 Value >= 0; 0 means use program determined value. 11 = Buckling constant for compression, k2 Value >= 0; 0 means use program determined value. 12 = Buckling constant for bending, k1 Value >= 0; 0 means use program determined value. 13 = Buckling constant for bending, k2 Value >= 0; 0 means use program determined value. 14 = Safety coefficient, kt Value >= 0; 0 means use program determined value. 15 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 16 = Bending coefficient, C2 Value >= 0; 0 means use program determined value. 17 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2]

18 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 19 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 20 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 21 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 22 = Major shear stress, Fs2 Value >= 0; 0 means use program determined value. [F/L2] 23 = Minor shear stress, Fs3 Value >= 0; 0 means use program determined value. [F/L2] ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of an aluminum design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignOverwriteItemAA_LRFD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-LRFD 2000") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start aluminum design ret = SapModel.DesignAluminum.StartDesign

'get overwrite item ret = SapModel.DesignAluminum.AA_LRFD_2000.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignAluminum.AA_LRFD_2000.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 6, inclusive, indicating the preference item considered. 1 = Framing type 2 = Demand/capacity ratio limit 3 = Phiy resistance factor 4 = Phib resistance factor 5 = Phic resistance factor 6 = Phiu resistance factor 7 = Phicc resistance factor 8 = Phicp resistance factor 9 = Phiv resistance factor 10 = Phivp resistance factor 11 = Phiw resistance factor 12 = Time history design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Phiy resistance factor Value > 0 4 = Phib resistance factor Value > 0 5 = Phic resistance factor Value > 0 6 = Phiu resistance factor Value > 0 7 = Phicc resistance factor Value > 0 8 = Phicp resistance factor

Value > 0 9 = Phiv resistance factor Value > 0 10 = Phivp resistance factor Value > 0 11 = Phiw resistance factor Value > 0 12 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function retrieves the value of an aluminum design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAluminumDesignPreferenceItemAA_LRFD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-LRFD 2000") 'get preference item ret = SapModel.DesignAluminum.AA_LRFD_2000.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignAluminum.AA_LRFD_2000.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 23, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Bending coefficient, Cb 10 = Buckling constant for compression, k1 11 = Buckling constant for compression, k2 12 = Buckling constant for bending, k1 13 = Buckling constant for bending, k2 14 = Safety coefficient, kt 15 = Bending coefficient, C1 16 = Bending coefficient, C2 17 = Yield stress, Fy 18 = Compressive stress, Fa 19 = Tensile stress, Ft 20 = Major bending stress, Fb3 21 = Minor bending stress, Fb2 22 = Major shear stress, Fs2 23 = Minor shear stress, Fs3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Live load reduction factor Value >= 0; 0 means use a program determined value.

3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 10 = Buckling constant for compression, k1 Value >= 0; 0 means use program determined value. 11 = Buckling constant for compression, k2 Value >= 0; 0 means use program determined value. 12 = Buckling constant for bending, k1 Value >= 0; 0 means use program determined value. 13 = Buckling constant for bending, k2 Value >= 0; 0 means use program determined value. 14 = Safety coefficient, kt Value >= 0; 0 means use program determined value. 15 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 16 = Bending coefficient, C2 Value >= 0; 0 means use program determined value. 17 = Yield stress, Fy

Value >= 0; 0 means use program determined value. [F/L2] 18 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 19 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 20 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 21 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 22 = Major shear stress, Fs2 Value >= 0; 0 means use program determined value. [F/L2] 23 = Minor shear stress, Fs3 Value >= 0; 0 means use program determined value. [F/L2] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of an aluminum design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignOverwriteItemAA_LRFD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-LRFD 2000") 'set overwrite item ret = SapModel.DesignAluminum.AA_LRFD_2000.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignAluminum.AA_LRFD_2000.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 6, inclusive, indicating the preference item considered. 1 = Framing type 2 = Demand/capacity ratio limit 3 = Phiy resistance factor 4 = Phib resistance factor 5 = Phic resistance factor 6 = Phiu resistance factor 7 = Phicc resistance factor 8 = Phicp resistance factor 9 = Phiv resistance factor 10 = Phivp resistance factor 11 = Phiw resistance factor 12 = Time history design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Phiy resistance factor Value > 0 4 = Phib resistance factor Value > 0 5 = Phic resistance factor Value > 0 6 = Phiu resistance factor Value > 0 7 = Phicc resistance factor Value > 0 8 = Phicp resistance factor

Value > 0 9 = Phiv resistance factor Value > 0 10 = Phivp resistance factor Value > 0 11 = Phiw resistance factor Value > 0 12 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function sets the value of an aluminum design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetAluminumDesignPreferenceItemAA_LRFD_2000() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add aluminum material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_ALUMINUM, , , MATERIAL_ALUMINUM_SUBTYPE_6061_T6) 'create new aluminum frame section property ret = SapModel.PropFrame.SetISection("AI", Name , 18, 6, 0.5, 0.3, 6, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "AI", "AI") 'set aluminum design code ret = SapModel.DesignAluminum.SetCode("AA-LRFD 2000") 'set preference item ret = SapModel.DesignAluminum.AA_LRFD_2000.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also GetPreference

DeleteResults Syntax SapObject.SapModel.DesignColdFormed.DeleteResults

VB6 Procedure Function DeleteResults() As Long

Parameters None

Remarks This function deletes all cold formed frame design results. The function returns zero if the results are successfully deleted; otherwise it returns a nonzero value.

VBA Example Sub DeleteColdFormedDesignResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'delete cold formed design results ret = SapModel.DesignColdFormed.DeleteResults

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

GetCode Syntax SapObject.SapModel.DesignColdFormed.GetCode

VB6 Procedure Function GetCode(ByRef CodeName As String) As Long

Parameters CodeName

This is one of the following cold formed design code names. AISI-ASD96 AISI-LRFD96

Remarks This function retrieves the cold formed design code. The function returns zero if the code is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignCode() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim CodeName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'get cold formed design code ret = SapModel.DesignColdFormed.GetCode(CodeName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetCode

GetComboAutoGenerate Syntax SapObject.SapModel.DesignColdFormed.GetComboAutoGenerate

VB6 Procedure Function GetComboAutoGenerate(ByRef AutoGenerate As Boolean) As Long

Parameters AutoGenerate

If this item is True, the option to automatically generate code-based design load combinations for cold formed frame design is turned on. If it is False, the option is turned off.

Remarks This function retrieves the value of the automatically generated code-based design load combinations option for cold formed frame design. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignComboAutoGenerate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim AutoGenerate As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set option to not auto generate code-based design load combinations ret = SapModel.DesignColdFormed.GetComboAutoGenerate(AutoGenerate) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.1.0.

See Also SetComboAutoGenerate

GetComboDeflection Syntax SapObject.SapModel.DesignColdFormed.GetComboDeflection

VB6 Procedure Function GetComboDeflection(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of load combinations selected as design combinations for cold formed deflection design. MyName

This is an array that includes the name of each response combination selected as a design combination for cold formed deflection design.

Remarks This function retrieves the names of all load combinations selected as design combinations for cold formed deflection design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignComboDeflection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName2() As String Dim Selected As Boolean Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default cold formed design combos

ret = SapModel.RespCombo.AddDesignDefaultCombos(False, False, False, True) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName2) 'select combos for cold formed deflection design For i = 0 To NumberNames – 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignColdFormed.SetComboDeflection(MyName2(i), Selected) Next i 'get combos selected for cold formed deflection design ret = SapModel.DesignColdFormed.GetComboDeflection(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetComboDeflection

GetComboStrength Syntax SapObject.SapModel.DesignColdFormed.GetComboStrength

VB6 Procedure Function GetComboStrength(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of load combinations selected as design combinations for cold formed strength design. MyName

This is an array that includes the name of each response combination selected as a design combination for cold formed strength design.

Remarks This function retrieves the names of all load combinations selected as design combinations for cold formed strength design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignComboStrength() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName2() As String Dim Selected As Boolean Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default cold formed design combos

ret = SapModel.RespCombo.AddDesignDefaultCombos(False, False, False, True) 'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName2) 'select combos for cold formed strength design For i = 0 To NumberNames – 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignColdFormed.SetComboStrength(MyName2(i), Selected) Next i 'get combos selected for cold formed strength design ret = SapModel.DesignColdFormed.GetComboStrength(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetComboStrength

GetDesignSection Syntax SapObject.SapModel.DesignColdFormed.GetDesignSection

VB6 Procedure Function GetDesignSection(ByVal Name As String, ByRef PropName As String) As Long

Parameters Name

The name of a frame object with a cold formed frame design procedure. PropName

The name of the design section for the specified frame object.

Remarks This function retrieves the design section for a specified cold formed frame object. The function returns zero if the section is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim PropName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'get design section ret = SapModel.DesignColdFormed.GetDesignSection("8",

PropName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetDesignSection

GetGroup Syntax SapObject.SapModel.DesignColdFormed.GetGroup

VB6 Procedure Function GetGroup(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of groups selected for cold formed design. MyName

This is an array that includes the name of each group selected for cold formed design.

Remarks This function retrieves the names of all groups selected for cold formed design. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'select group for cold formed design ret = SapModel.DesignColdFormed.SetGroup("ALL", True) 'get groups selected for cold formed design ret = SapModel.DesignColdFormed.GetGroup(NumberItems, MyName) 'close Sap2000

SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetGroup

GetResultsAvailable {Cold Formed} Syntax SapObject.SapModel.DesignColdFormed.GetResultsAvailable

VB6 Procedure Function GetResultsAvailable() As Boolean

Parameters None

Remarks The function returns True if the cold formed frame design results are available, otherwise False.

VBA Example Sub GetResultsAvailable() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim ResultsAvailable As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new concrete frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name, 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'check if design results are available ResultsAvailable = SapModel.DesignColdFormed.GetResultsAvailable

'close Sap2000 SapObject.ApplicationExit.False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.2.0.

GetSummaryResults Syntax SapObject.SapModel.DesignColdFormed.GetSummaryResults

VB6 Procedure Function GetSummaryResults(ByVal Name As String, ByRef NumberItems As Long, ByRef FrameName() As String, ByRef Ratio() As Double, ByRef RatioType() As Long, ByRef Location() As Double, ByRef ComboName() As String, ByRef ErrorSummary() As String, ByRef WarningSummary() As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. NumberItems

The number of frame objects for which results are obtained. FrameName

This is an array that includes each frame object name for which results are obtained. Ratio

This is an array that includes the controlling stress or capacity ratio for each frame object. RatioType

This is an array that includes 1, 3 or 4, indicating the controlling stress or capacity ratio type for each frame object. 1 = PMM 3 = Major shear 4 = Minor shear Location

This is an array that includes the distance from the I-end of the frame object to the location where the controlling stress or capacity ratio occurs. [L] ComboName

This is an array that includes the name of the design combination for which the controlling stress or capacity ratio occurs. ErrorSummary

This is an array that includes the design error messages for the frame object, if any. WarningSummary

This is an array that includes the design warning messages for the frame object, if any. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the design results are retrieved for the frame object specified by the Name item. If this item is Group, the design results are retrieved for all frame objects in the group specified by the Name item. If this item is SelectedObjects, the design results are retrieved for all selected frame objects, and the Name item is ignored.

Remarks This function retrieves summary results for cold formed design. The function returns zero if the results are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignSummaryResults() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim FrameName() As String Dim Ratio() As Double Dim RatioType() As Long Dim Location() As Double Dim ComboName() As String Dim ErrorSummary() As String Dim WarningSummary() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb")

ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'get summary result data ret = SapModel.DesignColdFormed.GetSummaryResults("8", NumberItems, FrameName, Ratio, RatioType, Location, ComboName, ErrorSummary, WarningSummary) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

ResetOverwrites Syntax SapObject.SapModel.DesignColdFormed.ResetOverwrites

VB6 Procedure Function ResetOverwrites() As Long

Parameters None

Remarks This function resets all cold formed frame design overwrites to default values. The function returns zero if the overwrites are successfully reset; otherwise it returns a nonzero value. The function will fail if no cold formed frame objects are present.

VBA Example Sub ResetColdFormedDesignOverwrites() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'reset cold formed design overwrites ret = SapModel.DesignColdFormed.ResetOverwrites 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

SetAutoSelectNull Syntax SapObject.SapModel.DesignColdFormed.SetAutoSelectNull

VB6 Procedure Function SetAutoSelectNull(ByVal Name As String, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function removes the auto select section assignments from all specified frame objects that have a cold formed frame design procedure. The function returns zero if the auto select section assignments are successfully removed; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedAutoSelectSectionsNull() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) ret = SapModel.PropFrame.SetColdC("CdC2", Name , 9, 3, 0.07, 0.25, 0.5) ret = SapModel.PropFrame.SetColdC("CdC3", Name , 9, 3, 0.08, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'define new auto select list frame section property ReDim MyName(2) MyName(0) = "CdC" MyName(1) = "CdC2" MyName(2) = "CdC3"

ret = SapModel.PropFrame.SetAutoSelectColdFormed("AUTO1", 3, MyName) 'set frame section properties ret = SapModel.FrameObj.SetSection("8", "AUTO1") ret = SapModel.FrameObj.SetSection("10", "AUTO1") 'set frame object selected ret = SapModel.FrameObj.SetSelected("8", True) 'set auto select section null ret = SapModel.DesignColdFormed.SetAutoSelectNull("",SelectedObjects) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

SetCode Syntax SapObject.SapModel.DesignColdFormed.SetCode

VB6 Procedure Function SetCode(ByVal CodeName As String) As Long

Parameters CodeName

This is one of the following cold formed design code names. AISI-ASD96 AISI-LRFD96

Remarks This function sets the cold formed design code. The function returns zero if the code is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignCode() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144) 'set cold formed design code ret = SapModel.DesignColdFormed.SetCode("AISI-LRFD96") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetCode

SetComboAutoGenerate Syntax SapObject.SapModel.DesignColdFormed.SetComboAutoGenerate

VB6 Procedure Function SetComboAutoGenerate(ByVal AutoGenerate As Boolean) As Long

Parameters AutoGenerate

If this item is True, the option to automatically generate code-based design load combinations for cold formed frame design is turned on. If it is False, the option is turned off.

Remarks This function turns on or off the option to automatically generate code-based design load combinations for cold formed frame design. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignComboAutoGenerate() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'set option to not auto generate code-based design load combinations ret = SapModel.DesignColdFormed.SetComboAutoGenerate(False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 18.1.0.

See Also GetComboAutoGenerate

SetComboDeflection Syntax SapObject.SapModel.DesignColdFormed.SetComboDeflection

VB6 Procedure Function SetComboDeflection(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing load combination. Selected

If this item is True, the specified load combination is selected as a design combination for cold formed deflection design. If it is False, the combination is not selected for cold formed deflection design.

Remarks This function selects or deselects a load combination for cold formed deflection design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignComboDeflection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName() As String Dim Selected As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default cold formed design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False, False, False, True)

'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName) 'select combos for cold formed deflection design For i = 0 To NumberNames – 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignColdFormed.SetComboDeflection(MyName(i), Selected) Next i 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetComboDeflection

SetComboStrength Syntax SapObject.SapModel.DesignColdFormed.SetComboStrength

VB6 Procedure Function SetComboStrength(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing load combination. Selected

If this item is True, the specified load combination is selected as a design combination for cold formed strength design. If it is False, the combination is not selected for cold formed strength design.

Remarks This function selects or deselects a load combination for cold formed strength design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignComboStrength() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim i As Long Dim NumberNames As Long Dim MyName() As String Dim Selected As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'add load pattern ret = SapModel.LoadPatterns.Add("LIVE", LTYPE_LIVE) 'add default cold formed design combos ret = SapModel.RespCombo.AddDesignDefaultCombos(False, False, False, True)

'get combo names ret = SapModel.RespCombo.GetNameList(NumberNames, MyName) 'select combos for cold formed strength design For i = 0 To NumberNames – 1 If i = 0 Then Selected = True Else Selected = False ret = SapModel.DesignColdFormed.SetComboStrength(MyName(i), Selected) Next i 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also GetComboStrength

SetDesignSection Syntax SapObject.SapModel.DesignColdFormed.SetDesignSection

VB6 Procedure Function SetDesignSection(ByVal Name As String, ByVal PropName As String, ByVal LastAnalysis As Boolean, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. PropName

The name of an existing frame section property to be used as the design section for the specified frame objects. This item applies only when LastAnalysis = False. LastAnalysis

If this item is True, the design section for the specified frame objects is reset to the last analysis section for the frame object. If it is False, the design section is set to that specified by PropName. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, the assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function modifies the design section for all specified frame objects that have a cold formed frame design procedure. The function returns zero if the design section is successfully modified; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignSection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) ret = SapModel.PropFrame.SetColdC("CdC2", Name , 9, 3, 0.07, 0.25, 0.5) ret = SapModel.PropFrame.SetColdC("CdC3", Name , 9, 3, 0.08, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'define new auto select list frame section property ReDim MyName(2) MyName(0) = "CdC" MyName(1) = "CdC2" MyName(2) = "CdC3"

ret = SapModel.PropFrame.SetAutoSelectColdFormed("AUTO1", 3, MyName) 'set frame section properties ret = SapModel.FrameObj.SetSection("8", "AUTO1") ret = SapModel.FrameObj.SetSection("10", "AUTO1") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'set design section ret = SapModel.DesignColdFormed.SetDesignSection("8", "CdC3", False) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetDesignSection

SetGroup Syntax SapObject.SapModel.DesignColdFormed.SetGroup

VB6 Procedure Function SetGroup(ByVal Name As String, ByVal Selected As Boolean) As Long

Parameters Name

The name of an existing group. Selected

If this item is True, the specified group is selected as a design group for cold formed design. If it is False, the group is not selected for cold formed design.

Remarks This function selects or deselects a group for cold formed design. The function returns zero if the selection status is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'select group for cold formed design ret = SapModel.DesignColdFormed.SetGroup("ALL", True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetGroup

StartDesign Syntax SapObject.SapModel.DesignColdFormed.StartDesign

VB6 Procedure Function StartDesign() As Long

Parameters None

Remarks This function starts the cold formed frame design. The function returns zero if the cold formed frame design is successfully started; otherwise it returns a nonzero value. The function will fail if no cold formed frame objects are present. It will also fail if analysis results are not available.

VBA Example Sub StartColdFormedDesign() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

VerifyPassed Syntax SapObject.SapModel.DesignColdFormed.VerifyPassed

VB6 Procedure Function VerifyPassed(ByRef NumberItems As Long, ByRef n1 As Long, ByRef n2 As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of cold formed frame objects that did not pass the design check or have not yet been checked. n1

The number of cold formed frame objects that did not pass the design check. n2

The number of cold formed frame objects that have not yet been checked. MyName

This is an array that includes the name of each frame object that did not pass the design check or has not yet been checked.

Remarks This function retrieves the names of the frame objects that did not pass the design check or have not yet been checked, if any. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub VerifyColdFormedDesignPassed() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim n1 As Long Dim n2 As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign

'verify frame objects successfully designed ret = SapModel.DesignColdFormed.VerifyPassed(NumberItems, n1, n2, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

VerifySections Syntax SapObject.SapModel.DesignColdFormed.VerifySections

VB6 Procedure Function VerifySections(ByRef NumberItems As Long, ByRef MyName() As String) As Long

Parameters NumberItems

The number of frame objects that have different analysis and design sections. MyName

This is an array that includes the name of each frame object that has different analysis and design sections.

Remarks This function retrieves the names of the frame objects that have different analysis and design sections, if any. The function returns zero if the names are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub VerifyColdFormedDesignSections() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim NumberItems As Long Dim MyName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design ret = SapModel.DesignColdFormed.StartDesign 'verify analysis versus design section

ret = SapModel.DesignColdFormed.VerifySections(NumberItems, MyName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also

GetOverwrite Syntax SapObject.SapModel.DesignColdFormed.AISI_ASD96.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a cold formed frame design procedure. Item

This is an integer between 1 and 27, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Moment coefficient, Ctf Major 10 = Moment coefficient, Ctf Minor 11 = Bending coefficient, Cb 12 = Moment factor, Alpha Major 13 = Moment factor, Alpha Minor 14 = Through fastened to deck 15 = Fastener eccentricity, a/b 16 = Hole diameter at top flange 17 = Hole diameter at bottom flange 18 = Hole diameter on web 19 = Yield stress, Fy 20 = Nominal compressive capacity, Pnc 21 = Nominal tensile capacity, Pnt 22 = Nominal bending capacity for yielding, Mn33 23 = Nominal bending capacity for yielding, Mn22 24 = Nominal bending capacity for lateral torsional buckling, Mn33 25 = Nominal bending capacity for lateral torsional buckling, Mn22 26 = Nominal shear capacity, Vn2 27 = Nominal shear capacity, Vn3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame

2 = Live load reduction factor Value >= 0; 0 means use a program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Moment coefficient, Ctf Major Value >= 0; 0 means use program determined value. 10 = Moment coefficient, Ctf Minor Value >= 0; 0 means use program determined value. 11 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 12 = Moment factor, Alpha Major Value >= 0; 0 means use program determined value. 13 = Moment factor, Alpha Minor Value >= 0; 0 means use program determined value. 14 = Through fastened to deck 0 = No. Any other value = Yes. 15 = Fastener eccentricity, a/b Value >= 0; 0 means use program determined value. [L]

16 = Hole diameter at top flange Value >= 0; 0 means use program determined value. [L] 17 = Hole diameter at bottom flange Value >= 0; 0 means use program determined value. [L] 18 = Hole diameter on web Value >= 0; 0 means use program determined value. [L] 19 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 20 = Nominal compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 21 = Nominal tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 22 = Nominal bending capacity for yielding, Mn33 Value >= 0; 0 means use program determined value. [FL] 23 = Nominal bending capacity for yielding, Mn22 Value >= 0; 0 means use program determined value. [FL] 24 = Nominal bending capacity for lateral torsional buckling, Mn33 Value >= 0; 0 means use program determined value. [FL] 25 = Nominal bending capacity for lateral torsional buckling, Mn22 Value >= 0; 0 means use program determined value. [FL] 26 = Nominal shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 27 = Nominal shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a cold formed design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignOverwriteItemAISI_ASD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set cold formed design code ret = SapModel.DesignColdFormed.SetCode("AISI-ASD96") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design

ret = SapModel.DesignColdFormed.StartDesign 'get overwrite item ret = SapModel.DesignColdFormed.AISI_ASD96.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignColdFormed.AISI_ASD96.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Demand/capacity ratio limit 3 = Omega bending stiffened 4 = Omega bending unstiffened 5 = Omega bending lateral torsional buckling 6 = Omega shear slender 7 = Omega shear nonslender 8 = Omega axial tension 9 = Omega axial compression 10 = Time history design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Omega bending stiffened Value > 0 4 = Omega bending unstiffened Value > 0 5 = Omega bending lateral torsional buckling Value > 0 6 = Omega shear slender Value > 0 7 = Omega shear nonslender Value > 0 8 = Omega axial tension Value > 0

9 = Omega axial compression Value > 0 10 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function retrieves the value of a cold formed design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignPreferenceItemAISI_ASD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set coldformed design code ret = SapModel.DesignColdFormed.SetCode("AISI-ASD96") 'get preference item ret = SapModel.DesignColdFormed.AISI_ASD96.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignColdFormed.AISI_ASD96.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 27, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Moment coefficient, Ctf Major 10 = Moment coefficient, Ctf Minor 11 = Bending coefficient, Cb 12 = Moment factor, Alpha Major 13 = Moment factor, Alpha Minor 14 = Through fastened to deck 15 = Fastener eccentricity, a/b 16 = Hole diameter at top flange 17 = Hole diameter at bottom flange 18 = Hole diameter on web 19 = Yield stress, Fy 20 = Nominal compressive capacity, Pnc 21 = Nominal tensile capacity, Pnt 22 = Nominal bending capacity for yielding, Mn33 23 = Nominal bending capacity for yielding, Mn22 24 = Nominal bending capacity for lateral torsional buckling, Mn33 25 = Nominal bending capacity for lateral torsional buckling, Mn22 26 = Nominal shear capacity, Vn2 27 = Nominal shear capacity, Vn3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame

2 = Live load reduction factor Value >= 0; 0 means use a program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Moment coefficient, Ctf Major Value >= 0; 0 means use program determined value. 10 = Moment coefficient, Ctf Minor Value >= 0; 0 means use program determined value. 11 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 12 = Moment factor, Alpha Major Value >= 0; 0 means use program determined value. 13 = Moment factor, Alpha Minor Value >= 0; 0 means use program determined value. 14 = Through fastened to deck 0 = No. Any other value = Yes. 15 = Fastener eccentricity, a/b Value >= 0; 0 means use program determined value. [L]

16 = Hole diameter at top flange Value >= 0; 0 means use program determined value. [L] 17 = Hole diameter at bottom flange Value >= 0; 0 means use program determined value. [L] 18 = Hole diameter on web Value >= 0; 0 means use program determined value. [L] 19 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 20 = Nominal compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 21 = Nominal tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 22 = Nominal bending capacity for yielding, Mn33 Value >= 0; 0 means use program determined value. [FL] 23 = Nominal bending capacity for yielding, Mn22 Value >= 0; 0 means use program determined value. [FL] 24 = Nominal bending capacity for lateral torsional buckling, Mn33 Value >= 0; 0 means use program determined value. [FL] 25 = Nominal bending capacity for lateral torsional buckling, Mn22 Value >= 0; 0 means use program determined value. [FL] 26 = Nominal shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 27 = Nominal shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a cold formed design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignOverwriteItemAISI_ASD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set cold formed design code ret = SapModel.DesignColdFormed.SetCode("AISI-ASD96") 'set overwrite item ret = SapModel.DesignColdFormed.AISI_ASD96.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignColdFormed.AISI_ASD96.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Demand/capacity ratio limit 3 = Omega bending stiffened 4 = Omega bending unstiffened 5 = Omega bending lateral torsional buckling 6 = Omega shear slender 7 = Omega shear nonslender 8 = Omega axial tension 9 = Omega axial compression 10 = Time history design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Omega bending stiffened Value > 0 4 = Omega bending unstiffened Value > 0 5 = Omega bending lateral torsional buckling Value > 0 6 = Omega shear slender Value > 0 7 = Omega shear nonslender Value > 0 8 = Omega axial tension Value > 0

9 = Omega axial compression Value > 0 10 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function sets the value of a cold formed design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignPreferenceItemAISI_ASD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set coldformed design code ret = SapModel.DesignColdFormed.SetCode("AISI-ASD96") 'set preference item ret = SapModel.DesignColdFormed.AISI_ASD96.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetPreference

GetOverwrite Syntax SapObject.SapModel.DesignColdFormed.AISI_LRFD96.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a cold formed frame design procedure. Item

This is an integer between 1 and 27, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Moment coefficient, Ctf Major 10 = Moment coefficient, Ctf Minor 11 = Bending coefficient, Cb 12 = Moment factor, Alpha Major 13 = Moment factor, Alpha Minor 14 = Through fastened to deck 15 = Fastener eccentricity, a/b 16 = Hole diameter at top flange 17 = Hole diameter at bottom flange 18 = Hole diameter on web 19 = Yield stress, Fy 20 = Nominal compressive capacity, Pnc 21 = Nominal tensile capacity, Pnt 22 = Nominal bending capacity for yielding, Mn33 23 = Nominal bending capacity for yielding, Mn22 24 = Nominal bending capacity for lateral torsional buckling, Mn33 25 = Nominal bending capacity for lateral torsional buckling, Mn22 26 = Nominal shear capacity, Vn2 27 = Nominal shear capacity, Vn3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame

2 = Live load reduction factor Value >= 0; 0 means use a program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Moment coefficient, Ctf Major Value >= 0; 0 means use program determined value. 10 = Moment coefficient, Ctf Minor Value >= 0; 0 means use program determined value. 11 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 12 = Moment factor, Alpha Major Value >= 0; 0 means use program determined value. 13 = Moment factor, Alpha Minor Value >= 0; 0 means use program determined value. 14 = Through fastened to deck 0 = No. Any other value = Yes. 15 = Fastener eccentricity, a/b Value >= 0; 0 means use program determined value. [L]

16 = Hole diameter at top flange Value >= 0; 0 means use program determined value. [L] 17 = Hole diameter at bottom flange Value >= 0; 0 means use program determined value. [L] 18 = Hole diameter on web Value >= 0; 0 means use program determined value. [L] 19 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 20 = Nominal compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 21 = Nominal tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 22 = Nominal bending capacity for yielding, Mn33 Value >= 0; 0 means use program determined value. [FL] 23 = Nominal bending capacity for yielding, Mn22 Value >= 0; 0 means use program determined value. [FL] 24 = Nominal bending capacity for lateral torsional buckling, Mn33 Value >= 0; 0 means use program determined value. [FL] 25 = Nominal bending capacity for lateral torsional buckling, Mn22 Value >= 0; 0 means use program determined value. [FL] 26 = Nominal shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 27 = Nominal shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a cold formed design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignOverwriteItemAISI_LRFD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set cold formed design code ret = SapModel.DesignColdFormed.SetCode("AISI-LRFD96") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start cold formed design

ret = SapModel.DesignColdFormed.StartDesign 'get overwrite item ret = SapModel.DesignColdFormed.AISI_LRFD96.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPreference Syntax SapObject.SapModel.DesignColdFormed.AISI_LRFD96.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Demand/capacity ratio limit 3 = Phi bending stiffened 4 = Phi bending unstiffened 5 = Phi bending lateral torsional buckling 6 = Phi shear slender 7 = Phi shear nonslender 8 = Phi axial tension 9 = Phi axial compression 10 = Time history design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Phi bending stiffened Value > 0 4 = Phi bending unstiffened Value > 0 5 = Phi bending lateral torsional buckling Value > 0 6 = Phi shear slender Value > 0 7 = Phi shear nonslender Value > 0 8 = Phi axial tension Value > 0

9 = Phi axial compression Value > 0 10 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function retrieves the value of a cold formed design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetColdFormedDesignPreferenceItemAISI_LRFD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set coldformed design code ret = SapModel.DesignColdFormed.SetCode("AISI-LRFD96") 'get preference item ret = SapModel.DesignColdFormed.AISI_LRFD96.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetPreference

SetOverwrite Syntax SapObject.SapModel.DesignColdFormed.AISI_LRFD96.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 27, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Moment coefficient, Ctf Major 10 = Moment coefficient, Ctf Minor 11 = Bending coefficient, Cb 12 = Moment factor, Alpha Major 13 = Moment factor, Alpha Minor 14 = Through fastened to deck 15 = Fastener eccentricity, a/b 16 = Hole diameter at top flange 17 = Hole diameter at bottom flange 18 = Hole diameter on web 19 = Yield stress, Fy 20 = Nominal compressive capacity, Pnc 21 = Nominal tensile capacity, Pnt 22 = Nominal bending capacity for yielding, Mn33 23 = Nominal bending capacity for yielding, Mn22 24 = Nominal bending capacity for lateral torsional buckling, Mn33 25 = Nominal bending capacity for lateral torsional buckling, Mn22 26 = Nominal shear capacity, Vn2 27 = Nominal shear capacity, Vn3 Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame

2 = Live load reduction factor Value >= 0; 0 means use a program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor and Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Moment coefficient, Ctf Major Value >= 0; 0 means use program determined value. 10 = Moment coefficient, Ctf Minor Value >= 0; 0 means use program determined value. 11 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 12 = Moment factor, Alpha Major Value >= 0; 0 means use program determined value. 13 = Moment factor, Alpha Minor Value >= 0; 0 means use program determined value. 14 = Through fastened to deck 0 = No. Any other value = Yes. 15 = Fastener eccentricity, a/b Value >= 0; 0 means use program determined value. [L]

16 = Hole diameter at top flange Value >= 0; 0 means use program determined value. [L] 17 = Hole diameter at bottom flange Value >= 0; 0 means use program determined value. [L] 18 = Hole diameter on web Value >= 0; 0 means use program determined value. [L] 19 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 20 = Nominal compressive capacity, Pnc Value >= 0; 0 means use program determined value. [F] 21 = Nominal tensile capacity, Pnt Value >= 0; 0 means use program determined value. [F] 22 = Nominal bending capacity for yielding, Mn33 Value >= 0; 0 means use program determined value. [FL] 23 = Nominal bending capacity for yielding, Mn22 Value >= 0; 0 means use program determined value. [FL] 24 = Nominal bending capacity for lateral torsional buckling, Mn33 Value >= 0; 0 means use program determined value. [FL] 25 = Nominal bending capacity for lateral torsional buckling, Mn22 Value >= 0; 0 means use program determined value. [FL] 26 = Nominal shear capacity, Vn2 Value >= 0; 0 means use program determined value. [F] 27 = Nominal shear capacity, Vn3 Value >= 0; 0 means use program determined value. [F] ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a cold formed design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignOverwriteItemAISI_LRFD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set cold formed design code ret = SapModel.DesignColdFormed.SetCode("AISI-LRFD96") 'set overwrite item ret = SapModel.DesignColdFormed.AISI_LRFD96.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPreference Syntax SapObject.SapModel.DesignColdFormed.AISI_LRFD96.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Demand/capacity ratio limit 3 = Phi bending stiffened 4 = Phi bending unstiffened 5 = Phi bending lateral torsional buckling 6 = Phi shear slender 7 = Phi shear nonslender 8 = Phi axial tension 9 = Phi axial compression 10 = Time history design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Demand/capacity ratio limit Value > 0 3 = Phi bending stiffened Value > 0 4 = Phi bending unstiffened Value > 0 5 = Phi bending lateral torsional buckling Value > 0 6 = Phi shear slender Value > 0 7 = Phi shear nonslender Value > 0 8 = Phi axial tension Value > 0

9 = Phi axial compression Value > 0 10 = Time history design 1 = Envelopes 2 = Step-by step

Remarks This function sets the value of a cold formed design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetColdFormedDesignPreferenceItemAISI_LRFD96() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'add cold formed material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_COLDFORMED, , , , MATERIAL_COLDFORMED_SUBTYPE_ASTM_A653SQGr50) 'create new cold formed frame section property ret = SapModel.PropFrame.SetColdC("CdC", Name , 9, 3, 0.06, 0.25, 0.5) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 72, 2, 144, True, "CdC", "CdC") 'set coldformed design code ret = SapModel.DesignColdFormed.SetCode("AISI-LRFD96") 'set preference item ret = SapModel.DesignColdFormed.AISI_LRFD96.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetPreference

All Syntax SapObject.SapModel.SelectObj.All

VB6 Procedure Function All(Optional ByVal DeSelect As Boolean = False) As Long

Parameters DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all objects in the model. This function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectAll() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'select all ret = SapModel.SelectObj.All 'deselect all ret = SapModel.SelectObj.All(True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

ClearSelection Syntax SapObject.SapModel.SelectObj.ClearSelection

VB6 Procedure Function ClearSelection() As Long

Parameters None

Remarks This function deselects all objects in the model. It returns zero if the selection status is successfully set, otherwise it returns nonzero.

VBA Example Sub ClearSelection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) 'select all ret = SapModel.SelectObj.All 'clear selection ret = SapModel.SelectObj.ClearSelection 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Constraint Syntax SapObject.SapModel.SelectObj.Constraint

VB6 Procedure Function Constraint(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing joint constraint. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all point objects to which the specified constraint has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectConstraint() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim i As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'define a new constraint ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1") 'define new constraint assignments For i = 4 To 16 Step 4 ret = SapModel.PointObj.SetConstraint(Format(i), "Diaph1") Next i 'select constraint ret = SapModel.SelectObj.Constraint("Diaph1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

CoordinateRange Syntax SapObject.SapModel.SelectObj.CoordinateRange

VB6 Procedure Function CoordinateRange(ByVal XMin As Double, ByVal XMax As Double, ByVal YMin As Double, ByVal YMax As Double, ByVal ZMin As Double, ByVal ZMax As Double, Optional ByVal DeSelect As Boolean = False, Optional ByVal CSys As String = "Global", Optional ByVal IncludeIntersections As Boolean = False, Optional ByVal Point As Boolean = True, Optional ByVal Line As Boolean = True, Optional ByVal Area As Boolean = True, Optional ByVal Solid As Boolean = True, Optional ByVal Link As Boolean = True) As Long

Parameters XMin, XMax

The maximum and minimum X coordinates of the selection box in the specified coordinate system. YMin, YMax

The maximum and minimum Y coordinates of the selection box in the specified coordinate system. ZMin, ZMax

The maximum and minimum Z coordinates of the selection box in the specified coordinate system. DeSelect

The item is False if objects are to be selected and True if they are to be deselected. CSys

The name of the coordinate system in which XMin, XMax, YMin, YMax, ZMin and ZMax are specified. IncludeIntersections

When this item is True, objects that are inside the box or intersecting the sides and edges of the box are selected or deselected. When this item is False, only objects that are fully inside the box are selected or deselected. Point

Point objects that fall inside the box are only selected or deselected when this item is True. Line

Line objects that fall inside the box are only selected or deselected when this item is True. Area

Area objects that fall inside the box are only selected or deselected when this item is True. Solid

Solid objects that fall inside the box are only selected or deselected when this item is True. Link

Link objects that fall inside the box are only selected or deselected when this item is True.

Remarks This function selects or deselects objects inside the box defined by the XMin, XMax, YMin, YMax, ZMin and ZMax coordinates. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectCoordinateRange() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select coordinate range ret = SapModel.SelectObj.CoordinateRange(-100, 100, 0, 0, 100, 200, , , True) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

GetSelected Syntax SapObject.SapModel.SelectObj.GetSelected

VB6 Procedure Function GetSelected(ByRef NumberItems As Long, ByRef ObjectType() As Long, ByRef ObjectName() As String) As Long

Parameters NumberItems

The number of selected objects. ObjectType

This is an array that includes the object type of each selected object. 1= 2= 3= 4= 5= 6= 7=

Point object Frame object Cable object Tendon object Area object Solid object Link object

ObjectName

This is an array that includes the name of each selected object.

Remarks This function retrieves a list of selected objects. The function returns zero if the selection list is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSelectedObjects() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim ObjectType() As Long Dim ObjectName() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set all point objects selected ret = SapModel.PointObj.SetSelected("ALL", True, Group) 'set all frame objects selected ret = SapModel.FrameObj.SetSelected("ALL", True, Group) 'get selected objects ret = SapModel.SelectObj.GetSelected(NumberItems, ObjectType, ObjectName) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

Group Syntax SapObject.SapModel.SelectObj.Group

VB6 Procedure Function Group(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing group. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all objects in the specified group. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectGroup() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select group ret = SapModel.SelectObj.Group("ALL") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

InvertSelection Syntax SapObject.SapModel.SelectObj.InvertSelection

VB6 Procedure Function InvertSelection() As Long

Parameters None

Remarks This function deselects all selected objects and selects all unselected objects; that is, it inverts the selection. The function returns zero if the selection is successfully inverted, otherwise it returns nonzero.

VBA Example Sub InvertTheSelection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select objects ret = SapModel.SelectObj.PlaneXY("2") 'invert the selection ret = SapModel.SelectObj.InvertSelection 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

LinesParallelToCoordAxis Syntax SapObject.SapModel.SelectObj.LinesParallelToCoordAxis

VB6 Procedure Function LinesParallelToCoordAxis(ByRef ParallelTo() As Boolean, Optional ByVal CSys As String = "Global", Optional ByVal Tolerance As Double = 0.057, Optional ByVal DeSelect As Boolean = False) As Long

Parameters ParallelTo

This is an array of six booleans representing three coordinate axes and three coordinate planes. Any combination of the six may be specified. ParallelTo(0) ParallelTo(1) ParallelTo(2) ParallelTo(3) ParallelTo(4) ParallelTo(5)

= = = = = =

X axis Y axis Z axis XY plane XZ plane YZ plane

CSys

The name of the coordinate system to which the ParallelTo items apply. Tolerance

Line objects that are within this angle in degrees of being parallel to a specified coordinate axis or plane are selected or deselected. [deg] DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects objects parallel to specified coordinate axes or planes. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectParallelToAxes() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim ParallelTo() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select parallel to axes ReDim ParallelTo(5) ParallelTo(2) = True ret = SapModel.SelectObj.LinesParallelToCoordAxis(ParallelTo) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also LinesParallelToLine

LinesParallelToLine Syntax SapObject.SapMoel.SelectObj.LinesParallelToLine

VB6 Procedure Function LinesParallelToLine(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of a line object. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all line objects that are parallel to a specified line object. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectParallelToLine() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select parallel to line ret = SapModel.SelectObj.LinesParallelToLine("1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also LinesParallelToCoordAxis

PlaneXY Syntax SapObject.SapModel.SelectObj.PlaneXY

VB6 Procedure Function PlaneXY(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of a point object. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all objects that are in the same XY plane (in the present coordinate system) as the specified point object. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectPlaneXY() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select in XY plane ret = SapModel.SelectObj.PlaneXY("3") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PlaneXZ PlaneYZ GetPresentCoordSystem SetPresentCoordSystem

PlaneXZ Syntax SapObject.SapModel.SelectObj.PlaneXZ

VB6 Procedure Function PlaneXZ(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of a point object. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all objects that are in the same XZ plane (in the present coordinate system) as the specified point object. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectPlaneXZ() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select in XZ plane ret = SapModel.SelectObj.PlaneXZ("3") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PlaneXY PlaneYZ GetPresentCoordSystem SetPresentCoordSystem

PlaneYZ Syntax SapObject.SapModel.SelectObj.PlaneYZ

VB6 Procedure Function PlaneYZ(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of a point object. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all objects that are in the same YZ plane (in the present coordinate system) as the specified point object. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectPlaneYZ() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select in YZ plane ret = SapModel.SelectObj.PlaneYZ("3") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PlaneXY PlaneXZ GetPresentCoordSystem SetPresentCoordSystem

PreviousSelection Syntax SapObject.SapModel.SelectObj.PreviousSelection

VB6 Procedure Function PreviousSelection() As Long

Parameters None

Remarks This function restores the previous selection. The function returns zero if the selection is successfully restored, otherwise it returns nonzero.

VBA Example Sub RestoreSelection() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select objects ret = SapModel.SelectObj.PlaneXY("2") 'clear selection ret = SapModel.SelectObj.ClearSelection 'get previous selection ret = SapModel.SelectObj.PreviousSelection 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

PropertyArea Syntax SapObject.SapModel.SelectObj.PropertyArea

VB6 Procedure Function PropertyArea(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing area section property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all area objects to which the specified section has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectAreaProperty() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(4, 48, 4, 48) 'select by area property ret = SapModel.SelectObj.PropertyArea("ASEC1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyCable PropertyTendon PropertySolid PropertyLink PropertyLinkFD PropertyMaterial

PropertyCable Syntax SapObject.SapModel.SelectObj.PropertyCable

VB6 Procedure Function PropertyCable(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing cable section property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all cable objects to which the specified section has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectCableProperty() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 7-001.sdb") 'select by cable property ret = SapModel.SelectObj.PropertyCable("CAB1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyTendon PropertyArea PropertySolid PropertyLink PropertyLinkFD PropertyMaterial

PropertyFrame Syntax SapObject.SapModel.SelectObj.PropertyFrame

VB6 Procedure Function PropertyFrame(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing frame section property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all line objects to which the specified section has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectFrameProperty() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select by frame property ret = SapModel.SelectObj.PropertyFrame("FSEC1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PropertyCable PropertyTendon PropertyArea PropertySolid PropertyLink PropertyLinkFD PropertyMaterial

PropertyLink Syntax SapObject.SapModel.SelectObj.PropertyLink

VB6 Procedure Function PropertyLink(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing link property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all link objects to which the specified section property has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectLinkProperty() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 6-003a.sdb") 'select by link property ret = SapModel.SelectObj.PropertyLink("GAP1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyCable PropertyTendon PropertyArea PropertySolid PropertyLinkFD PropertyMaterial

PropertyLinkFD Syntax SapObject.SapModel.SelectObj.PropertyLinkFD

VB6 Procedure Function PropertyLinkFD(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing frequency dependent link property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all link objects to which the specified frequency dependent link property has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Similar to PropertyFrame 'select by frequency dependent link property ret = SapModel.SelectObj.PropertyLinkFD("FD1")

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyCable PropertyTendon PropertyArea PropertySolid PropertyLink PropertyMaterial

PropertyMaterial Syntax SapObject.SapModel.SelectObj.PropertyMaterial

VB6 Procedure Function PropertyMaterial(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing material property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all objects to which the specified material property has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectByMaterial() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select by material property ret = SapModel.SelectObj.PropertyMaterial("A992Fy50") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyCable PropertyTendon PropertyArea PropertySolid PropertyLink PropertyLinkFD

PropertySolid Syntax SapObject.SapModel.SelectObj.PropertySolid

VB6 Procedure Function PropertySolid(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing solid property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all solid objects to which the specified property has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Similar to PropertyFrame 'select by solid property ret = SapModel.SelectObj.PropertySolid("SOLID1")

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyCable PropertyTendon PropertyArea PropertyLink PropertyLinkFD PropertyMaterial

PropertyTendon Syntax SapObject.SapModel.SelectObj.PropertyTendon

VB6 Procedure Function PropertyTendon(ByVal Name As String, Optional ByVal DeSelect As Boolean = False) As Long

Parameters Name

The name of an existing tendon section property. DeSelect

The item is False if objects are to be selected and True if they are to be deselected.

Remarks This function selects or deselects all tendon objects to which the specified section has been assigned. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectTendonProperty() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open existing model ret = SapModel.File.OpenFile("C:\SapAPI\Example 1-009a.sdb") 'select by tendon property ret = SapModel.SelectObj.PropertyTendon("TEN1") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also PropertyFrame PropertyCable PropertyArea PropertySolid PropertyLink PropertyLinkFD PropertyMaterial

SupportedPoints Syntax SapObject.SapModel.SelectObj.SupportedPoints

VB6 Procedure Function SupportedPoints(ByRef DOF() As Boolean, Optional ByVal CSys As String = "Local", Optional ByVal DeSelect As Boolean = False, Optional ByVal SelectRestraints As Boolean = True, Optional ByVal SelectJointSprings As Boolean = True, Optional ByVal SelectLineSprings As Boolean = True, Optional ByVal SelectAreaSprings As Boolean = True, Optional ByVal SelectSolidSprings As Boolean = True, Optional ByVal SelectOneJointLinks As Boolean = True) As Long

Parameters DOF

This is an array of six booleans for the six degrees of freedom of a point object. DOF(0) DOF(1) DOF(2) DOF(3) DOF(4) DOF(5)

= = = = = =

U1 U2 U3 R1 R2 R3

CSys

The name of the coordinate system in which degrees of freedom (DOF) are specified. This is either Local or the name of a defined coordinate system. Local means the point local coordinate system. DeSelect

The item is False if objects are to be selected and True if they are to be deselected. SelectRestraints

If this item is True then points with restraint assignments in one of the specified degrees of freedom are selected or deselected. SelectJointSprings

If this item is True then points with joint spring assignments in one of the specified degrees of freedom are selected or deselected. SelectLineSprings

If this item is True, points with a contribution from line spring assignments in one of the specified degrees of freedom are selected or deselected. SelectAreaSprings

If this item is True, points with a contribution from area spring assignments in one of the specified degrees of freedom are selected or deselected. SelectSolidSprings

If this item is True, points with a contribution from solid surface spring assignments in one of the specified degrees of freedom are selected or deselected. SelectOneJointLinks

If this item is True, points with one joint link assignments in one of the specified degrees of freedom are selected or deselected.

Remarks This function selects or deselects point objects with support in the specified degrees of freedom. The function returns zero if the selection is successfully completed, otherwise it returns nonzero.

VBA Example Sub SelectSupportedPoints() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret as Long Dim DOF() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'select supported points Redim DOF(5) DOF(2) = True ret = SapModel.SelectObj.SupportedPoints(DOF) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also

SetDimensions Syntax SapObject.SapModel.Options.SetDimensions

VB6 Procedure Function SetDimensions(Optional ByVal CuttingPlaneTol As Double = 0, Optional ByVal WorldSpacing As Double = 0, Optional ByVal NudgeValue As Double = 0, Optional ByVal PixelClickSize As Long = 0, Optional ByVal PixelSnapSize As Long = 0, Optional ByVal ScrLinThk As Long = 0, Optional ByVal PrtLinThk As Long = 0, Optional ByVal MaxFont As Long = 0, Optional ByVal MinFont As Long = 0, Optional ByVal ZoomStep As Long = 0, Optional ByVal ShrinkFact As Long = 0, Optional ByVal TextFileMaxChar As Long = 0) As Long

Parameters CuttingPlaneTol

The tolerance for 2D view cutting planes. [L] WorldSpacing

The plan fine grid spacing. [L] NudgeValue

The plan nudge value. [L] PixelClickSize

The screen selection tolerance in pixels. PixelSnapSize

The screen snap tolerance in pixels. ScrLinThk

The screen line thickness in pixels. PrtLinThk

The printer line thickness in pixels. MaxFont

The maximum graphic font size in points. MinFont

The minimum graphic font size in points. ZoomStep

The auto zoom step size in percent (0 < ZoomStep = 80).

Remarks This function retrieves the program dimension and tolerance items. The function returns zero if the items are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetDimensionItems() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim CuttingPlaneTol As Double Dim WorldSpacing As Double Dim NudgeValue As Double Dim PixelClickSize As Long Dim PixelSnapSize As Long Dim ScrLinThk As Long Dim PrtLinThk As Long Dim MaxFont As Long Dim MinFont As Long Dim ZoomStep As Long Dim ShrinkFact As Long Dim TextFileMaxChar As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get dimensions and tolerances ret = SapModel.Options.GetDimensions(CuttingPlaneTol, WorldSpacing, NudgeValue, PixelClickSize, PixelSnapSize, ScrLinThk, PrtLinThk, MaxFont, MinFont, ZoomStep, ShrinkFact, TextFileMaxChar) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetDimensions

RefreshView Syntax SapObject.SapModel.View.RefreshView

VB6 Procedure Function RefreshView(Optional ByVal Window As Long = 0, Optional ByVal Zoom As Boolean = True) As Long

Parameters Window

This is 0 meaning all windows or an existing window number. It indicates the window(s) to have its view refreshed. Zoom

If this item is True, the window zoom is maintained when the view is refreshed. If it is False, the zoom returns to a default zoom.

Remarks This function refreshes the view for the specified window(s). It returns zero if the window views are successfully refreshed, otherwise it returns a nonzero value. See RefreshWindow and RefreshView for more information.

VBA Example Sub RefreshAllViews() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Name As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add a frame object ret = SapModel.FrameObj.AddByPoint("1", "6", Name) 'refresh view for all windows ret = SapModel.View.RefreshView 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00. Modified optional argument Zoom to be ByVal in version 12.0.1.

See Also RefreshWindow

RefreshWindow Syntax SapObject.SapModel.View.RefreshWindow

VB6 Procedure Function RefreshWindow(Optional ByVal Window As Long = 0) As Long

Parameters Window

This is 0 meaning all windows or an existing window number. It indicates the window(s) to be refreshed.

Remarks This function refreshes the specified window(s). It returns zero if the windows are successfully refreshed, otherwise it returns a nonzero value. See RefreshWindow and RefreshView for more information.

VBA Example Sub RefreshAllWindows() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim i As Long Dim Value() As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200) 'add joint restraint Redim Value(5) For i = 0 to 5 Value(i) = True Next i ret = SapModel.PointObj.SetRestraint("1", Value) 'refresh all windows ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.00.

See Also RefreshView

GetSuperCutStressPoint Syntax SapObject.SapModel.BridgeAdvancedSuper.GetSuperCutStressPoint

VB6 Procedure Function GetSuperCutStressPoint(ByVal Name As String, ByVal CutIndex As Long, ByVal PointIndex As Long, ByRef X As Double, ByRef Y As Double, ByRef MatProp As String, ByRef Note as String) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCut. PointIndex

The index number of the stress point in this section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCutStressPoint. X, Y

The transverse and vertical coordinates of the stress point in the section, measured from the bottom left corner of the section. X is positive to the right when looking upstation. Y is positive upward. [L] MatProp

The name of the material property at this stress point. Note

A description of the stress point that may be used for identification. Points that are pre-defined by the program will have prescribed notes.

Remarks This function returns location and material information about a single stress point at a superstructure section cut in a bridge object. The function returns zero if the information is successfully retrieved, otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutStressPointInfo() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountPoint As Long Dim X As Double, Dim Y As Double Dim MatProp As String Dim Note As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get section cut stress point count ret = SapModel.BridgeAdvancedSuper.CountSuperCutStressPoint("BOBJ1", 1, CountPoint) 'get section cut stress point location information ret =

SapModel.BridgeAdvancedSuper.GetSuperCutStressPoint("BOBJ1", 1, 1, X, Y, MatProp, Note) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut CountSuperCutStressPoint

CountSuperCutStressPoint Syntax SapObject.SapModel.BridgeAdvancedSuper.CountSuperCutStressPoint

VB6 Procedure Function CountSuperCutStressPoint(ByVal Name As String, ByVal CutIndex As Long, ByRef Count As Long) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCut. Count

The number of stress points for this section cut in this bridge object. They will be identified in subsequent API functions using the indices 0 to Count-1.

Remarks This function returns the number of stress points at the specified superstructure section cut. The function returns zero if the count is successfully retrieved, otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutStressPointCount() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountPoint As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get section cut stress point count ret = SapModel.BridgeAdvancedSuper.CountSuperCutStressPoint("BOBJ1", 1, CountPoint) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut

GetSuperCutLocation Syntax SapObject.SapModel.BridgeAdvancedSuper.GetSuperCutLocation

VB6 Procedure Function GetSuperCutLocation(ByVal Name As String, ByVal CutIndex As Long, ByRef Location As Long, ByRef Station As Double, ByRef XRefPt As Double, ByRef YRefPt As Double, ByRef Skew As Double, ByRef Grade As Double, ByRef SuperElev As Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. Location

This is 1 or 2, indicating whether the CutIndex section cut occurs before or after the associated station. 1 = Before the specified station.

2 = After the specified station. Station

The station ordinate of the CutIndex section cut at the reference line of the superstructure. [L] XRefPt, YRefPt

The transverse and vertical coordinates in the section of the reference point that corresponds to the layout line in the bridge object. XRefPt is positive to the right when looking upstation. YRefPt is positive upward. Coordinates are measured from the lower-left corner of the section bounding-box before skew, grade, and superelevation are applied. The rotations of the section due to skew, grade, and superelevation occur about the reference point. [L] Skew

The skew angle, in degrees, of the section cut, measured from the horizontal normal to the superstructure reference line, with positive being about the upward vertical axis. Grade

The grade, as a slope (abs(Grade) < 1.0), giving the vertical rise per distance along the superstructure reference line. SuperElev

The superelevation, as a slope (abs(SuperElev) < 1.0), giving the vertical rise per distance along the transverse normal to the superstructure reference line.

Remarks This function returns location and orientation information about a single superstructure section cut in a bridge object. The function returns zero if the information is successfully retrieved, otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutCount() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim Location As Long Dim Station As Double Dim XRefPt As Double, Dim YRefPt As Double Dim Skew As Double Dim Grade As Double Dim SuperElev As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get section cut location information ret = SapModel.BridgeAdvancedSuper.GetSuperCutLocation("BOBJ1", 1, Location, Station, RefPt, YRefPt Skew, Grade, SuperElev)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut

CountSuperCut Syntax SapObject.SapModel.BridgeAdvancedSuper.CountSuperCut

VB6 Procedure Function CountSuperCut(ByVal Name As String, ByRef Count As Long) As Long

Parameters Name

The name of an existing bridge object. Count

The number of section cuts in this bridge object. They will be identified in subsequent API functions using the indices 0 to Count-1. There may be one or two section cuts at each output station along the length of the superstructure.

Remarks This function returns the number of superstructure section cuts that are available for getting analysis results and performing design. The function returns zero if the count is successfully retrieved, otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutCount() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim FileName As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also

CountSuperCutWebStressPoint

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.CountSuperCutWebS

VB6 Procedure Function CountSuperCutWebStressPoint(ByVal Name As String, ByVal CutIndex As Long, ByVal WebIndex As Long, ByRef Count As Long) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCut. WebIndex

The index number of the web in this section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function GetSuperCutSectionValues. Count

The number of stress points in this web for this section cut in this bridge object. They will be identified in subsequent API functions using the indices 0 to Count1.

Remarks This function returns the number of stress points at the specified web of the specified superstructure section cut. The function returns zero if the count is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutStressPointCount() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountWeb As Long Dim CountPoint As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get web count at first section cut (0) ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionValues ("BOBJ1", 0, 1, CountWeb) 'get stress point count at first web (0) ret = SapModel.BridgeAdvancedSuper.CountSuperCutWebStressPoint("BOBJ1", 0, 0, CountPoint)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut GetSuperCutSectionValues

GetSuperCutSectionPropsAtY

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionP

VB6 Procedure Function GetSuperCutSectionPropsAtY (ByVal Name As String, ByVal CutIndex As Long, ByVal Y as Double, ByVal AboveY as Boolean, ByRef Ycg as Double, ByRef Area as Double, ByRef Inertia as Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by the function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. Y

The Y coordinate in the section local coordinate system above or below which the section properties are calculated. AboveY

Boolean indicating whether properties are to be computed for the region above (if true) or below (if false) the specified coordinate Y. Ycg

Y coordinate of the centroid of the region above/below specified coordinate Y. [L] Area

Area of the region above/below specified coordinate Y. [L2] Inertia

Moment of inertia of the region above/below specified coordinate Y, taken about a horizontal axis at Ycg. [L4]

Remarks This function returns section properties for the region above or below a given Y coordinate value at a single superstructure section cut in a bridge object. These properties are calculated for the section before skew, grade, and superelevation are applied. Coordinate values are measured from the lower-left corner of the section bounding-box. X is positive to the right when looking upstation, and Y is positive upward. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutSectionValues() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim Y As Double Dim Ycg As Double Dim Area As Double Dim Inertia As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get section properties for region above Y = 10 at first cut (0) ret = SapModel.BridgeAdvancedSuper.BASConcBox. GetSuperCutSectionPropsAtY ("BOBJ1", 0, Y, True, Ycg, Area, Inertia) 'close Sap2000 SapObject.ApplicationExit False

Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.0.0.

See Also CountSuperCut

GetSuperCutSectionValues

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionV

VB6 Procedure Function GetSuperCutSectionValues (ByVal Name As String, ByVal CutIndex As Long, ByVal Item as Long, ByRef Value as Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by the function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. Item

This is an integer from 1 to 12, inclusive, indicating the type of property value to be gotten: 1 = Number of girders or webs 2 = Design area of top slab, ASlabTop 3 = Design area of bottom slab, ASlabBot 4 = Width of top slab, BSlabTop 5 = Width of bottom slab, BSlabBot 6 = X coordinate of top slab centroid, XSlabTop 7 = X coordinate of bottom slab centroid, XSlabBot 8 = Y coordinate of top slab centroid, YSlabTop 9 = Y coordinate of bottom slab centroid, YSlabBot 10 = Area inside torsion circuit, ATorsion 11 = Length of torsion circuit, LTorsion 12 = Number of tendons 13 = Top outside width of torsion circuit, BTorsionTop 14 = Bottom outside width of torsion circuit, BTorsionBot 15 = Left outside length of torsion circuit (along slope), HTorsionLeft

16 = Right outside length of torsion circuit (along slope), HTorsionRight Value

The value of the requested item: 1 = Number of girders or webs

Value >= 0, integral. 2 = Design area of top slab, ASlabTop

Value > 0. [L2] 3 = Design area of bottom slab, ASlabBot

Value >= 0. [L2] 4 = Width of top slab, BSlabTop

Value > 0. [L] 5 = Width of bottom slab, BSlabBot

Value >= 0. [L] 6 = X coordinate of top slab centroid, XSlabTop

Any value is valid. [L] 7 = X coordinate of bottom slab centroid, XSlabBot

Any value is valid. [L] 8 = Y coordinate of top slab centroid, YSlabTop

Value >= 0. [L] 9 = Y coordinate of bottom slab centroid, YSlabBot

Value = 0. [L2] 11 = Length of torsion circuit, LTorsion

Value >= 0. [L] 12 = Number of tendons

Value >= 0. 13 = Top outside width of torsion circuit, BTorsionTop

Value > 0. [L] 14 = Bottom outside width of torsion circuit, BTorsionBot

Value > 0. [L] 15 = Left outside length of torsion circuit (along slope), HTorsionLeft

Value > 0. [L] 16 = Right outside length of torsion circuit (along slope), HTorsionRight

Value > 0. [L]

Remarks This function returns an individual section property at a single superstructure section cut in a bridge object. These properties are calculated for the section before skew, grade, and superelevation are applied. Coordinate values are measured from the lower-left corner of the section bounding-box. X is positive to the right when looking upstation, and Y is positive upward. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutSectionValues() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get section cut section top-slab area in Value ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionValues ("BOBJ1", 1, 2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut

GetSuperCutSlabCoordsAtX

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSlabCoo

VB6 Procedure Function GetSuperCutSlabCoordsAtX(ByVal Name As String, ByVal CutIndex As Long, ByVal X As Double, ByRef Status As Long, ByRef y1 As Double, ByRef y2 As Double, ByRef y3 As Double, ByRef y4 As Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. X

The X coordinate in the section local coordinate system at which a vertical line is passed through the section and the slab coordinates are returned. Status

This is 0, 1, or 2. 0 = No portion of the section is cut. 1 = Only the section is cut; no interior cell is cut.

2 = The section and an interior cell are cut. y1

The topmost Y coordinate where the vertical line cuts the section. This item is returned as zero when Status < 1. y2

The bottommost Y coordinate where the vertical line cuts the section. This item is returned as zero when Status < 1. y3

The topmost Y coordinate where the vertical line cuts an interior cell. This item is returned as zero when Status < 2. y4

The bottommost Y coordinate where the vertical line cuts an interior cell. This item is returned as zero when Status < 2.

Remarks This function returns information about the box girder slab thicknesses at a given horizontal location across the box girder section. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutSlabCoordsAtX() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Status As Long Dim y1 As Double Dim y2 As Double Dim y3 As Double Dim y4 As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName)

'get slab thickness information at X = 60 ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSlabCoordsAtX("BO 1, 60, Status, y1, y2, y3, y4) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also

GetSuperCutTendonNames

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutTendonN

VB6 Procedure Function GetSuperCutTendonNames(ByVal Name As String, ByVal CutIndex As Long, ByVal TendonIndex As Long, ByRef BridgeTendon As String, ByRef TendonObj as String) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by the function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. TendonIndex

The index number of a tendon in this section cut of this bridge object. This must be from 0 to CountTendon-1, where CountTendon is the number of tendons returned by function GetSuperCutSectionValues using Item = 12. BridgeTendon

The name of the tendon inside of the bridge object corresponding to TendonIndex. TendonObj

The name of the tendon object created by the program from the bridge object tendon corresponding to TendonIndex.

Remarks This function returns the name of a single tendon object, giving access to tendon assignments, tendon section, and material property. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutTendonNames() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountTendon As Long Dim BridgeTendon As String Dim TendonObj As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get tendon count at section cut 1 ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionValues ("BOBJ1", 12, 1, CountTendon)

'get tendon object name for first tendon (0) ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutTendonNames("BOBJ 1, 0, BridgeTendon, TendonObj)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut GetSuperCutSectionValues GetSuperCutTendonValues

GetSuperCutTendonValues

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutTendonV

VB6 Procedure Function GetSuperCutTendonValues(ByVal Name As String, ByVal CutIndex As Long, ByVal TendonIndex As Long, ByVal Item as Long, ByRef Value as Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by the function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. TendonIndex

The index number of a tendon in this section cut of this bridge object. This must be from 0 to CountTendon-1, where CountTendon is the number of tendons returned by the function GetSuperCutSectionValues using Item = 12. Item

This is an integer from 1 to 4, inclusive, indicating the type of property value to be gotten: 1 = X coordinate of tendon centroid, Xcg 2 = Y coordinate of tendon centroid, Ycg 3 = Duct diameter for tendon

4 = Bonding type for tendon 5 = Tendon slope Value

The value of the requested item: 1 = X coordinate of tendon centroid, Xcg

Any value OK. [L] 2 = Y coordinate of tendon centroid, Ycg

Any value OK. [L] 3 = Duct diameter for tendon

Value >= 0. [L] 4 = Bonding type for tendon 1 = Bonded

2 = Unbonded 5 = Tendon slope Any value OK. [L/L]

Remarks This function returns an individual section property for a single tendon at a single superstructure section cut in a bridge object. These properties are calculated for the section before skew, grade, and superelevation are applied. Coordinate values are measured from the lower-left corner of the section bounding-box. X is positive to the right when looking upstation, and Y is positive upward. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutTendonValues() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountTendon As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get tendon count at section cut 1 ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionValues ("BOBJ1", 12, 1, CountTendon)

'get Y coordinate of centroid for first tendon (0) ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutTendonValues("BOB 1, 0, 2, Value)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut GetSuperCutSectionValues GetSuperCutTendonNames

GetSuperCutWebCoordsAtY

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutWebCoo

VB6 Procedure Function GetSuperCutWebCoordsAtY(ByVal Name As String, ByVal CutIndex As Long, ByVal Y As Double, ByRef NumberWebs As Long, ByRef WebIsCut() As Boolean, ByRef WebLeft() As Double, ByRef WebRight() As Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by the function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. Y

The Y coordinate in the section local coordinate system at which the web coordinates are returned. NumberWebs

The number of webs in the section. WebIsCut

This is a array of booleans indicating if each web is cut by a horizontal line at the specified Y coordinate. WebLeft

This is a array of X coordinates of the left side of each web. If the web is not cut by a horizontal line at the specified Y coordinate, this value is returned as zero. WebRight

This is a array of X coordinates of the right side of each web. If the web is not cut by a horizontal line at the specified Y coordinate, this value is returned as zero.

Remarks This function returns information about the box girder web thicknesses at a given elevation in the box girder section. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutWebCoordsAtY() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim NumberWebs As Long Dim WebIsCut() As Boolean Dim WebLeft() As Double Dim WebRight() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName)

'get web information ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutWebCoordsAtY("BOB 1, 44, NumberWebs, WebIsCut, WebLeft, WebRight) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also

GetSuperCutWebStressPoint

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutWebStre

VB6 Procedure Function GetSuperCutWebStressPoint(ByVal Name As String, ByVal CutIndex As Long, ByVal WebIndex As Long, ByVal PointIndex As Long, ByRef X As Double, ByRef Y As Double, ByRef MatProp As String, ByRef Note as String) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCut. WebIndex

The index number of the web in this section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function GetSuperCutSectionValues. PointIndex

The index number of the stress point in this web of this section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by function CountSuperCutWebStressPoint. X, Y

The transverse and vertical coordinates of the stress point in the section, measured from the bottom left corner of the section. X is positive to the right when looking upstation. Y is positive upward. [L] MatProp

The name of the material property at this stress point. Note

A description of the stress point that may be used for identification. Points that are pre-defined by the program will have prescribed notes.

Remarks This function returns location and material information about a single stress point in a web at a superstructure section cut in a bridge object. The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutStressPointInfo() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountWeb As Long Dim CountPoint As Long Dim X As Double, Dim Y As Double Dim MatProp As String Dim Note As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get web count at first section cut (0) ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionValues ("BOBJ1", 0, 1, CountWeb) 'get stress point count at first web (0)

ret = SapModel.BridgeAdvancedSuper.CountSuperCutWebStressPoint("BOBJ1", 0, 0, CountPoint) 'get web stress point location information ret = SapModel.BridgeAdvancedSuper.GetSuperCutWebStressPoint("BOBJ1", 0, 0, 0, X, Y, MatProp, Note) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.0.0.

See Also CountSuperCut GetSuperCutSectionValues CountSuperCutWebStressPoint

GetSuperCutWebValues

Syntax SapObject.SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutWebValu

VB6 Procedure Function GetSuperCutWebValues(ByVal Name As String, ByVal CutIndex As Long, ByVal WebIndex As Long, ByVal Item as Long, ByRef Value as Double) As Long

Parameters Name

The name of an existing bridge object. CutIndex

The index number of the section cut in this bridge object. This must be from 0 to Count-1, where Count is the value returned by the function CountSuperCut. Section cuts will be in order of increasing Station and increasing SuperCutType. WebIndex

The index number of a web in this section cut of this bridge object. This must be from 0 to CountWeb-1, where CountWeb is the number of webs returned by thenfunction GetSuperCutSectionValues using Item = 1. Webs count from left to right when looking upstation. Item

This is an integer from 1 to 6, inclusive, indicating the type of property value to be gotten: 1 = Angle from vertical (Y) axis, clockwise is positive

2 = Minimum horizontal (X) web thickness 3 = Minimum top slab thickness above cell to left of web 4 = Minimum bottom slab thickness above cell to left of web 5 = Top width of cell to left of web measured from centerline of girders on each side of cell 6 = Bottom width of cell to left of web measured from centerline of girders on each side of cell. Value

The value of the requested item: 1 = Angle from vertical (Y) axis, clockwise is positive

Abs(Value) < 90. [deg] 2 = Minimum horizontal (X) web thickness Value > 0. [L] 3 = Minimum top slab thickness

Value < 0. [L] 4 = Minimum bottom slab thickness Value > 0. [L] 5 = Top width of cell

Value >= 0. [L]

6 = Bottom width of cell Value >= 0. [L]

Remarks This function returns an individual section property for a single web at a single superstructure section cut in a bridge object. These properties are calculated for the section before skew, grade, and superelevation are applied. Coordinate values are measured from the lower-left corner of the section bounding-box. X is positive to the right when looking upstation, and Y is positive upward The function returns zero if the information is successfully retrieved; otherwise it returns a nonzero value. An error is returned for items 3, 4, 5 and 6 if the WebIndex is specified as 0. If the bridge object is not currently linked to existing objects in the model, an error is returned.

VBA Example This example assumes that a file MyBridge.sdb exists and has a linked bridge object named BOBJ1 in it. Sub GetBridgeSuperCutWebValues() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Count As Long Dim CountWeb As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'open an existing file FileName = "C:\SapAPI\MyBridge.sdb" ret = SapModel.File.OpenFile(FileName) 'get section cut count ret = SapModel.BridgeAdvancedSuper.CountSuperCut("BOBJ1", Count) 'get web count at section cut 1 ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutSectionValues ("BOBJ1", 1, 1, CountWeb)

'get minimum thickness for first web (0) ret = SapModel.BridgeAdvancedSuper.BASConcBox.GetSuperCutWebValues("BOBJ1" 1, 0, 2, Value)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00.

See Also CountSuperCut GetSuperCutSectionValues

Example 1 Remarks This example is written for Visual Basic for Applications (VBA). It can be run from a program such as Microsoft Excel. It is based on the SAP2000 verification problem Example 1-001. This example creates the example verification problem from scratch, runs the analysis, extracts results, and compares the results with hand-calculated values.

Example 1.

Create a new VBA project.

2.

Add a reference to "C:Program Files (x86)\Computers and Structures\SAP2000 19\SAP2000v19.TLB" to the VBA project. Modify the path as appropriate for CSiBridge or if you have installed the program in a different location. If the TLB is missing from the installed program directory, an error occurred during installation. Please uninstall the program, restart your computer, and re-install with full administrative rights.

3.

Add a new module to the VBA project and paste in the following code. Please pay attention to the comments in this code block; they contain important information about running the script.: Sub VerificationExample1001() Dim ret As Long 'set the following flag to True to attach to an existing instance of the program 'otherwise a new instance of the program will be started Dim AttachToInstance As Boolean AttachToInstance = False 'set the following flag to True to manually specify the path to SAP2000.exe 'this allows for a connection to a version of SAP2000 other than the latest installation 'otherwise the latest installed version of SAP2000 will be launched Dim SpecifyPath As Boolean SpecifyPath = False 'if the above flag is set to True, specify the path to SAP2000 below Dim ProgramPath As String 'ProgramPath = "C:\Program Files (x86)\Computers and Structures\SAP2000 19\SAP2000.exe" 'full path to the model 'set it to the desired path of your model Dim ModelDirectory As String

ModelDirectory = "C:\CSiAPIexample" If Len(Dir(ModelDirectory, vbDirectory)) = 0 Then MkDir ModelDirectory End If Dim ModelName As String ModelName = "API_1-001.sdb" Dim ModelPath As String ModelPath = ModelDirectory & Application.PathSeparator & ModelName 'create API helper object Dim myHelper As cHelper Set myHelper = New Helper 'dimension the SapObject as cOAPI type Dim mySapObject As cOAPI Set mySapObject = Nothing If AttachToInstance Then 'attach to a running instance of SAP2000 'get the active SapObject Set mySapObject = GetObject(, "CSI.SAP2000.API.SapObject") Else If SpecifyPath Then 'create an instance of the SapObject from the specified path Set mySapObject = myHelper.CreateObject(ProgramPath) Else 'create an instance of the SapObject from the latest installed SAP2000 Set mySapObject = myHelper.CreateObjectProgID("CSI.SAP2000.API.SapObject") End If 'start SAP2000 application mySapObject.ApplicationStart End If 'Get a reference to cSapModel to access all OAPI classes and functions Dim mySapModel As cSapModel Set mySapModel = mySapObject.SapModel

'initialize model ret = mySapModel.InitializeNewModel 'create new blank model ret = mySapModel.File.NewBlank 'define material property ret = mySapModel.PropMaterial.SetMaterial("CONC", eMatType_Concrete) 'assign isotropic mechanical properties to material ret = mySapModel.PropMaterial.SetMPIsotropic("CONC", 3600, 0.2, 0.0000055) 'define rectangular frame section property ret = mySapModel.PropFrame.SetRectangle("R1", "CONC", 12, 12) 'define frame section property modifiers Dim i As Long Dim ModValue() As Double ReDim ModValue(7) For i = 0 To 7 ModValue(i) = 1 Next i ModValue(0) = 1000 ModValue(1) = 0 ModValue(2) = 0 ret = mySapModel.PropFrame.SetModifiers("R1", ModValue) 'switch to k-ft units ret = mySapModel.SetPresentUnits(eUnits_kip_ft_F) 'add frame object by coordinates Dim FrameName(2) As String ret = mySapModel.FrameObj.AddByCoord(0, 0, 0, 0, 0, 10, FrameName(0), "R1", "1") ret = mySapModel.FrameObj.AddByCoord(0, 0, 10, 8, 0, 16, FrameName(1), "R1", "2") ret = mySapModel.FrameObj.AddByCoord(-4, 0, 10, 0, 0, 10, FrameName(2), "R1", "3")

'assign point object restraint at base Dim PointName() As String ReDim PointName(1) Dim Restraint() As Boolean ReDim Restraint(5) For i = 0 To 3 Restraint(i) = True Next i For i = 4 To 5 Restraint(i) = False Next i ret = mySapModel.FrameObj.GetPoints(FrameName(0), PointName(0), PointName(1)) ret = mySapModel.PointObj.SetRestraint(PointName(0), Restraint) 'assign point object restraint at top For i = 0 To 1 Restraint(i) = True Next i For i = 2 To 5 Restraint(i) = False Next i ret = mySapModel.FrameObj.GetPoints(FrameName(1), PointName(0), PointName(1)) ret = mySapModel.PointObj.SetRestraint(PointName(1), Restraint) 'refresh view, update (initialize) zoom ret = mySapModel.View.RefreshView(0, False) 'add load patterns ret = mySapModel.LoadPatterns.Add("1", eLoadPatternType_Other, 1) ret = mySapModel.LoadPatterns.Add("2", eLoadPatternType_Other) ret = mySapModel.LoadPatterns.Add("3", eLoadPatternType_Other) ret = mySapModel.LoadPatterns.Add("4", eLoadPatternType_Other) ret = mySapModel.LoadPatterns.Add("5", eLoadPatternType_Other)

ret = mySapModel.LoadPatterns.Add("6", eLoadPatternType_Other) ret = mySapModel.LoadPatterns.Add("7", eLoadPatternType_Other) 'assign loading for load pattern 2 ret = mySapModel.FrameObj.GetPoints(FrameName(2), PointName(0), PointName(1)) Dim PointLoadValue() As Double ReDim PointLoadValue(5) PointLoadValue(2) = -10 ret = mySapModel.PointObj.SetLoadForce(PointName(0), "2", PointLoadValue) ret = mySapModel.FrameObj.SetLoadDistributed(FrameName(2), "2", 1, 10, 0, 1, 1.8, 1.8) 'assign loading for load pattern 3 ret = mySapModel.FrameObj.GetPoints(FrameName(2), PointName(0), PointName(1)) ReDim PointLoadValue(5) PointLoadValue(2) = -17.2 PointLoadValue(4) = -54.4 ret = mySapModel.PointObj.SetLoadForce(PointName(1), "3", PointLoadValue) 'assign loading for load pattern 4 ret = mySapModel.FrameObj.SetLoadDistributed(FrameName(1), "4", 1, 11, 0, 1, 2, 2) 'assign loading for load pattern 5 ret = mySapModel.FrameObj.SetLoadDistributed(FrameName(0), "5", 1, 2, 0, 1, 2, 2, "Local") ret = mySapModel.FrameObj.SetLoadDistributed(FrameName(1), "5", 1, 2, 0, 1, -2, -2, "Local") 'assign loading for load pattern 6 ret = mySapModel.FrameObj.SetLoadDistributed(FrameName(0), "6", 1, 2, 0, 1, 0.9984, 0.3744, "Local") ret = mySapModel.FrameObj.SetLoadDistributed(FrameName(1), "6", 1, 2, 0, 1, -0.3744, 0, "Local") 'assign loading for load pattern 7 ret = mySapModel.FrameObj.SetLoadPoint(FrameName(1), "7",

1, 2, 0.5, -15, "Local") 'switch to k-in units ret = mySapModel.SetPresentUnits(eUnits_kip_in_F) 'save model ret = mySapModel.File.Save(ModelPath) 'run model (this will create the analysis model) ret = mySapModel.Analyze.RunAnalysis 'initialize for results Dim SapResult(6) As Double ret = mySapModel.FrameObj.GetPoints(FrameName(1), PointName(0), PointName(1)) 'get results for load patterns 1 through 7 Dim NumberResults As Long Dim Obj() As String Dim Elm() As String Dim LoadCase() As String Dim StepType() As String Dim StepNum() As Double Dim U1() As Double Dim U2() As Double Dim U3() As Double Dim R1() As Double Dim R2() As Double Dim R3() As Double For i = 0 To 6 ret = mySapModel.Results.Setup.DeselectAllCasesAndCombosForOutput ret = mySapModel.Results.Setup.SetCaseSelectedForOutput(Format(i + 1)) If i = 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemACI318_05_IBC2003() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-05/IBC2003") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.ACI318_05_IBC2003.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.ACI_318_02.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemACI_318_02() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-02") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.ACI_318_02.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.ACI_318_99.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = No-nsway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemACI_318_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-99") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.ACI_318_99.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.AS_3600_01.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, km Major 8 = Moment coefficient, km Minor 9 = Nonsway moment factor, Db Major 10 = Nonsway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway intermediate 3 = Sway ordinary 4 = Nonsway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, km Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, km Minor Value >= 0; 0 means use program determined value. 9 = Nonsway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Nonsway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemAS_3600_01() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-01") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.AS_3600_01.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.BS8110_89.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemBS8110_89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 89") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.BS8110_89.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Chinese_2002.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 18, inclusive, indicating the overwrite item considered. 1 = Seismic design grade 2 = Dual system SMF 3 = MMF 4 = SMF 5 = AFMF 6 = Column location 7 = Transfer beam of column 8 = Corner column seismic modification 9 = Beam gravity neg moment red factor 10 = Unbraced length ratio, Major 11 = Unbraced length ratio, Minor 12 = Effective length factor, K Major 13 = Effective length factor, K Minor 14 = Torsion modification factor 15 = Torsion design factor, Zeta 16 = Concrete cover for closed stirrup 17 = Effective length factor for gravity, K Major 18 = Effective length factor for gravity, K Minor Value

The value of the considered overwrite item. 1 = Seismic design grade 0 = As specified in preferences 1 = Seismic Super I 2 = Seismic Class I 3 = Seismic Class II 4 = Seismic Class III 5 = Seismic Class IV 6 = NonSeismic 2 = Dual system SMF Value >= 0; 0 means use program determined value. 3 = MMF Value >= 0; 0 means use program determined value.

4 = SMF Value >= 0; 0 means use program determined value. 5 = AFMF Value >= 0; 0 means use program determined value. 6 = Column Location 1 = Center Column 2 = Side Column 3 = Corner Column 4 = End Column 5 = Individual Column 7 = Transfer beam or column 0 = Program Determined 1 = No 2 = Yes 8 = Corner column seismic modification 0 = Program Determined 1 = No 2 = Yes 9 = Beam gravity neg moment red factor Value >= 0; 0 means use program determined value. 10 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 11 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 12 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 13 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 14 = Torsion modification factor Value >= 0; 0 means use program determined value. 15 = Torsion design factor, Zeta

Value >= 0; 0 means use program determined value. 16 = Concrete cover for closed stirrup Value >= 0; 0 means use program determined value. 17 = Effective length factor for gravity, K Major Value >= 0; 0 means use program default value. 18 = Effective length factor for gravity, K Minor Value >= 0; 0 means use program default value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Chinese 2002") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Chinese_2002.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 17 and 18 in Version 14.0.0.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_94.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Db Major 10 = Non-sway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ductile 2 = Nominal 3 = Ordinary 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemCSA_A23_3_94() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA-A23.3-94") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.CSA_A23_3_94.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.EUROCODE_2_1992.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemEUROCODE_2_1992() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("EUROCODE 2-1992") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.EUROCODE_2_1992.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2004.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, Beta Major 6 = Effective length factor, Beta Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemHong_Kong_CP_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2004") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Hong_Kong_CP_2004.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Italian_DM_14_2_92.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Amplification Coefficient, Omega Major 8 = Amplification Coefficient, Omega Minor 9 = Moment coefficient, c Major 10 = Moment coefficient, c Minor 11 = Moment coefficient, c_sway Major 12 = Moment coefficient, c_sway Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway 2 = Braced 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor Value >= 0; 0 means use program determined value.

7 = Amplification coefficient, Omega Major Value >= 0; 0 means use program determined value. 8 = Amplification coefficient, Omega Minor Value >= 0; 0 means use program determined value. 9 = Moment coefficient, c Major Value >= 0; 0 means use program determined value. 10 = Moment coefficient, c Minor Value >= 0; 0 means use program determined value. 11 = Moment coefficient, c_sway Major Value >= 0; 0 means use program determined value. 12 = Moment coefficient, c_sway Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemItalian_DM_14_2_92() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Italian DM 14-2-92") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Italian_DM_14_2_92.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.Mexican_RCDF_2001.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, k Major 6 = Effective length factor, k Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Fab Major 10 = Non-sway moment factor, Fab Minor 11 = Sway moment factor, Fas Major 12 = Sway moment factor, Fas Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway ordinary 3 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, k Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, k Minor Value >= 0; 0 means use program determined value.

7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Fab Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Fab Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Fas Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Fas Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemMexican_RCDF_2001() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Mexican RCDF 2001") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.Mexican_RCDF_2001.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.NZS_3101_95.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Db Major 10 = Non-sway moment factor, Db Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ductile 2 = Limited 3 = Elastic 4 = Ordinary 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Db Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Db Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemNZS_3101_95 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("NZS 3101-95") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.NZS_3101_95.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignConcrete.UBC97.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a concrete frame design procedure. Item

This is an integer between 1 and 12, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Live load reduction factor 3 = Unbraced length ratio, Major 4 = Unbraced length ratio, Minor 5 = Effective length factor, K Major 6 = Effective length factor, K Minor 7 = Moment coefficient, Cm Major 8 = Moment coefficient, Cm Minor 9 = Non-sway moment factor, Dns Major 10 = Non-sway moment factor, Dns Minor 11 = Sway moment factor, Ds Major 12 = Sway moment factor, Ds Minor Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway special 2 = Sway Intermediate 3 = Sway Ordinary 4 = Non-sway 2 = Live load reduction factor Value >= 0; 0 means use program determined value. 3 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 4 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 5 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 6 = Effective length factor, K Minor

Value >= 0; 0 means use program determined value. 7 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 8 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 9 = Non-sway moment factor, Dns Major Value >= 0; 0 means use program determined value. 10 = Non-sway moment factor, Dns Minor Value >= 0; 0 means use program determined value. 11 = Sway moment factor, Ds Major Value >= 0; 0 means use program determined value. 12 = Sway moment factor, Ds Minor Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a concrete design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignOverwriteItemUBC97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("UBC97") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start concrete design ret = SapModel.DesignConcrete.StartDesign 'get overwrite item ret = SapModel.DesignConcrete.UBC97.GetOverwrite("8", 1, Value, ProgDet)

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC_ASD01.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Moment coefficient, Cm Major 23 = Moment coefficient, Cm Minor 24 = Bending coefficient, Cb 25 = Yield stress, Fy 26 = Compressive stress, Fa 27 = Tensile stress, Ft 28 = Major bending stress, Fb3 29 = Minor bending stress, Fb2 30 = Major shear stress, Fv2 31 = Minor shear stress, Fv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = OMF 2 = IMF 3 = SMF 4 = OCBF 5 = SCBF 6 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 24 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2]

26 = Compressive stress, Fa Value >= 0; 0 means use program determined value. [F/L2] 27 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 28 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 29 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAISC_ASD01() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-ASD01") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.AISC_ASD01.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.AISC_LRFD99.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 37, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Moment coefficient, Cm Major 23 = Moment coefficient, Cm Minor 24 = Bending coefficient, Cb 25 = Non-sway moment factor, B1 Major 26 = Non-sway moment factor, B1 Minor 27 = Sway moment factor, B2 Major 28 = Sway moment factor, B2 Minor 29 = Yield stress, Fy 30 = Expected to specified Fy ratio, Ry 31 = Compressive capacity, phi*Pnc 32 = Tensile capacity, phi*Pnt 33 = Major bending capacity, phi*Mn3 34 = Minor bending capacity, phi*Mn2 35 = Major shear capacity, phi*Vn2

36 = Minor shear capacity, phi*Vn3 37 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = OMF 2 = IMF 3 = SMF 4 = OCBF 5 = SCBF 6 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item.

10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 24 = Bending coefficient, Cb

Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor, B1 Major Value >= 0; 0 means use program determined value. 26 = Non-sway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 28 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 29 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 30 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. 31 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 32 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 33 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 34 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 35 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 36 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 37 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemAISC_LRFD99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD99") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.AISC_LRFD99.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.BS5950_90.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Uniform moment factor, m Major 22 = Uniform moment factor, m Minor 23 = Slenderness correction factor, n 24 = Yield stress, Fy 25 = Compressive capacity, Pc 26 = Tensile capacity, Pt 27 = Major bending capacity, Mc3 28 = Minor bending capacity, Mc2 29 = Buckling resistance moment, Mb 30 = Major shear capacity, Pv2 31 = Minor shear capacity, Pv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Uniform moment factor, m Major Value >= 0; 0 means use program determined value. 22 = Uniform moment factor, m Minor Value >= 0; 0 means use program determined value. 23 = Slenderness correction factor, n Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive capacity, Pc Value >= 0; 0 means use program determined value. [F] 26 = Tensile capacity, Pt Value >= 0; 0 means use program determined value. [F] 27 = Major bending capacity, Mc3

Value >= 0; 0 means use program determined value. [FL] 28 = Minor bending capacity, Mc2 Value >= 0; 0 means use program determined value. [FL] 29 = Buckling resistance moment, Mb Value >= 0; 0 means use program determined value. [FL] 30 = Major shear capacity, Pv2 Value >= 0; 0 means use program determined value. [F] 31 = Minor shear capacity, Pv3 Value >= 0; 0 means use program determined value. [F] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemBS5950_90() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 90") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.BS5950_90.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Canadian_S16_01.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 39, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor LTB 19 = Unbraced length ratio, Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Effective length factor, K LTB 23 = Moment coefficient, Omega1 Major 24 = Moment coefficient, Omega1 Minor 25 = Bending coefficient, Omega2 26 = Nonsway moment factor, U1 Major 27 = Nonsway moment factor, U1 Minor 28 = Sway moment factor, U2 Major 29 = Sway moment factor, U2 Minor 30 = Parameter for compressive resistance, n 31 = Yield stress, Fy 32 = Expected to specified Fy ratio, Ry 33 = Compressive resistance, Cr 34 = Tensile resistance, Tr 35 = Major bending resistance, Mr3

36 = 37 = 38 = 39 =

Minor bending resistance, Mr2 Major shear resistance, Vr2 Minor shear resistance, Vr3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC) 6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 2 = Consider deflection 0 = No Any other value = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L} 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value.

21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Effective length factor, K LTB Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Omega1 Major Value >= 0; 0 means use program determined value. 24 = Moment coefficient, Omega1 Minor Value >= 0; 0 means use program determined value. 25 = Moment coefficient, Omega2 Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, U1 Major Value >= 0; 0 means use program determined value. 27 = Nonsway moment factor, U1 Minor Value >= 0; 0 means use program determined value. 28 = Sway moment factor, U2 Major Value >= 0; 0 means use program determined value. 29 = Sway moment factor, U2 Minor Value >= 0; 0 means use program determined value. 30 = Parameter for compressive resistance, n Value >= 0; 0 means use program determined value. 31 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 32 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. [F/L2]= 33 = Compressive resistance, Cr Value >= 0; 0 means use program determined value. [F] 34 = Tensile resistance, Tr Value >= 0; 0 means use program determined value. [F]

35 = Major bending resistance, Mr3 Value >= 0; 0 means use program determined value. [FL] 36 = Minor bending resistance, Mr2 Value >= 0; 0 means use program determined value. [FL] 37 = Major shear resistance, Vr2 Value >= 0; 0 means use program determined value. [F] 38 = Minor shear resistance, Vr3 Value >= 0; 0 means use program determined value. [F] 39 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemCanadian_S16_01 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CAN/CSA-S16-01") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Canadian_S16_01.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.Chinese_2002.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 51, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Element type 3 = Is transfer column 4 = Seismic magnification factor 5 = Is rolled section 6 = Is flange edge cut by gas 7 = Is both end pinned 8 = Ignore b/t check 9 = Classify beam as flexo-compression member 10 = Is beam top loaded 11 = Consider deflection 12 = Deflection check type 13 = DL deflection limit, L/Value 14 = SDL + LL deflection limit, L/Value 15 = LL deflection limit, L/Value 16 = Total load deflection limit, L/Value 17 = Total camber limit, L/Value 18 = DL deflection limit, absolute 19 = SDL + LL deflection limit, absolute 20 = LL deflection limit, absolute 21 = Total load deflection limit, absolute 22 = Total camber limit, absolute 23 = Specified camber 24 = Net area to total area ratio 25 = Live load reduction factor 26 = Unbraced length ratio, Major 27 = Unbraced length ratio, Minor Lateral Torsional Buckling 28 = Effective length factor, Mue Major 29 = Effective length factor, Mue Minor 30 = Moment coefficient, Beta_m Major 31 = Moment coefficient, Beta_m Minor 32 = Moment coefficient, Beta_t Major 33 = Moment coefficient, Beta_t Minor 34 = Axial stability coefficient, Phi Major 35 = Axial stability coefficient, Phi Minor

36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 = 48 = 49 = 50 = 51 =

Flexural stability coeff, Phi_bMajor Flexural stability coeff, Phi_bMinor Plasticity factor, Gamma Major Plasticity factor, Gamma Minor Section influence coefficient, Eta B/C capacity factor, Eta Euler moment factor, Delta Major Euler moment factor, Delta Minor Yield stress, Fy Allowable normal stress, f Allowable shear stress, fv Consider fictitious shear Demand/capacity ratio limit Dual system magnification factor Lo/r limit in compression L/r limit in tension

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Element type 0 = Program Determined 1 = Column 2 = Beam 3 = Brace 4 = Truss 3 = Is transfer column 0 = Program Determined 1 = No 2 = Yes 4 = Seismic magnification factor Value >= 0; 0 means no check for this item. 5 = Is rolled section 0 = Program Determined

1 = No 2 = Yes 6 = Is flange edge cut by gas 0 = Program Determined 1 = No 2 = Yes 7 = Is both end pinned 0 = Program Determined 1 = No 2 = Yes 8 = Ignore b/t check 0 = Program Determined 1 = No 2 = Yes 9 = Classify beam as flexo-compression member 0 = Program Determined 1 = No 2 = Yes 10 = Is beam top loaded 0 = Program Determined 1 = No 2 = Yes 11 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 12 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 13 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 14 = SDL + LL deflection limit, L/Value

Value >= 0; 0 means no check for this item. 15 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 16 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 17 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 18 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 19 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 20 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 21 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 22 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 23 = Specified camber Value >= 0. [L] 24 = Net area to total area ratio Value >= 0; 0 means use program default value. 25 = Live load reduction factor Value >= 0; 0 means use program determined value. 26 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 27 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 28 = Effective length factor, Mue Major Value >= 0; 0 means use program determined value.

29 = Effective length factor, Mue Minor Value >= 0; 0 means use program determined value. 30 = Moment coefficient, Beta_m Major Value >= 0; 0 means use program determined value. 31 = Moment coefficient, Beta_m Minor Value >= 0; 0 means use program determined value. 32 = Moment coefficient, Beta_t Major Value >= 0; 0 means use program determined value. 33 = Moment coefficient, Beta_t Minor Value >= 0; 0 means use program determined value. 34 = Axial stability coefficient, Phi Major Value >= 0; 0 means use program determined value. 35 = Axial stability coefficient, Phi Minor Value >= 0; 0 means use program determined value. 36 = Flexural stability coefficient, Phi_b Major Value >= 0; 0 means use program determined value. 37 = Flexural stability coefficient, Phi_b Minor Value >= 0; 0 means use program determined value. 38 = Plasticity factor, Gamma Major Value >= 0; 0 means use program determined value. 39 = Plasticity factor, Gamma Minor Value >= 0; 0 means use program determined value. 40 = Section influence coefficient, Eta Value >= 0; 0 means use program determined value. 41 = B/C capacity factor, Eta Value >= 0; 0 means use program determined value. 42 = Euler moment factor, Delta Major Value >= 0; 0 means use program determined value.

43 = Euler moment factor, Delta Minor Value >= 0; 0 means use program determined value. 44 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 45 = Allowable normal stress, f Value >= 0; 0 means use program determined value. [F/L2] 46 = Allowable shear stress, fv Value >= 0; 0 means use program determined value. [F/L2] 47 = Consider fictitious shear 0 = Program Determined 1 = No 2 = Yes 48 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. 49 = Dual system magnification factor Value >= 0; 0 means use program default value. 50 = Lo/r limit in compression Value >= 0; 0 means use program determined value. 51 = L/r limit in tension Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2002") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.Chinese_2002.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 49, 50, and 51 in Version 14.0.0. Modified Item 1 and added Truss to Item 2 in version 14.1.0.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.CISC_95.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 35, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Omega1 Major 22 = Moment coefficient, Omega1 Minor 23 = Bending coefficient, Cb 24 = Non-sway moment factor, U1 Major 25 = Non-sway moment factor, U1 Minor 26 = Sway moment factor, U2 Major 27 = Sway moment factor, U2 Minor 28 = Yield stress, Fy 29 = Compressive capacity, Cr 30 = Tensile capacity, Tr 31 = Major bending capacity, Mr3 32 = Minor bending capacity, Mr2 33 = Major shear capacity, Vr2 34 = Minor shear capacity, Vr3 35 = Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Omega1 Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Omega1 Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Omega2 Value >= 0; 0 means use program determined value. 24 = Nonsway moment factor, U1 Major Value >= 0; 0 means use program determined value. 25 = Nonsway moment factor, U1 Minor Value >= 0; 0 means use program determined value. 26 = Sway moment factor, U2 Major

Value >= 0; 0 means use program determined value. 27 = Sway moment factor, U2 Minor Value >= 0; 0 means use program determined value. 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Cr Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Tr Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mr3 Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mr2 Value >= 0; 0 means use program determined value. [FL] 33 = Major shear capacity, Vr2 Value >= 0; 0 means use program determined value. [F] 34 = Minor shear capacity, Vr3 Value >= 0; 0 means use program determined value. [F] 35 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemCISC_95() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CISC 95") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.CISC_95.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.EUROCODE_3_1993.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, k Major 22 = Moment coefficient, k Minor 23 = Bending coefficient, C1 24 = Moment coefficient, k Lateral Torsional Buckling 25 = Non-sway moment factor 26 = Sway moment factor, Psi Major 27 = Sway moment factor, Psi Minor 28 = Yield stress, Fy 29 = Compressive capacity, Nc.Rd 30 = Tensile capacity, Nt.Rd 31 = Major bending capacity, Mc3.Rd 32 = Minor bending capacity, Mc2.Rd 33 = Buckling resistance moment, Mb.Rd 34 = Major shear capacity, V2.Rd 35 = Minor shear capacity, V3.RD

36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, k Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, k Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, k Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor Value >= 0; 0 means use program determined value.

26 = Sway moment factor, Psi Major Value >= 0; 0 means use program determined value. 27 = Sway moment factor, Psi Minor Value >= 0; 0 means use program determined value. 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 33 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, Vn2.Rd Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, Vn3.RD Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemEUROCODE_3_1993() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("EUROCODE 3-1993") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.EUROCODE_3_1993.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.INDIAN_IS_800_1998.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 34, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor 19 = Unbraced length ratio, Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Effective length factor, K Lateral Torsional Buckling 23 = Moment coefficient, Cm Major 24 = Moment coefficient, Cm Minor 25 = Yield stress, Fy 26 = Allowable compressive stress, Sigma_ac 27 = Allowable tensile stress, Sigma_at 28 = Allowable major bending stress, Sigma_bc33 29 = Allowable minor bending stress, Sigma_bc22 30 = Major average shear stress, Tau_va2 31 = Minor average shear stress, Tau_va3 32 = Maximum elastic shear stress, Tau_vm 33 = Allowable effective stress, Sigma_e 34 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway Frame 2 = Nonsway Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 24 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 26 = Allowable compressive stress, Sigma_ac Value >= 0; 0 means use program determined value. [F/L2]

27 = Allowable tensile stress, Sigma_at Value >= 0; 0 means use program determined value. [F/L2] 28 = Allowable major bending stress, Sigma_bc33 Value >= 0; 0 means use program determined value. [F/L2] 29 = Allowable minor bending stress, Sigma_bc22 Value >= 0; 0 means use program determined value. [F/L2] 30 = Major average shear stress, Tau_va2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Minor average shear stress, Tau_va3 Value >= 0; 0 means use program determined value. [F/L2] 32 = Maximum elastic shear stress, Tau_vm Value >= 0; 0 means use program determined value. [F/L2] 33 = Allowable effective stress, Sigma_e Value >= 0; 0 means use program determined value. [F/L2] 34 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemINDIAN_IS_800_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-1998") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.INDIAN_IS_800_1998.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.ITALIAN_UNI_10011.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 26, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Axial load amplification(Omega) 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, Beta Major 21 = Effective length factor, Beta Minor 22 = Moment coefficient, Meq/Mmax Major 23 = Moment coefficient, Meq/Mmax Minor 24 = LTB moment coefficient (Omega1) 25 = Yield stress, Fy 26 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway Frame 2 = NonSway Frame 2 = Axial load amplification(Omega)

Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L]

15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Meq/Mmax Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Meq/Mmax Minor Value >= 0; 0 means use program determined value. 24 = LTB moment coefficient (Omega1) Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 26 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemITALIAN_UNI_10011() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("ITALIAN UNI 10011") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.ITALIAN_UNI_10011.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.UBC97_ASD.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRef ProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Moment coefficient, Cm Major 23 = Moment coefficient, Cm Minor 24 = Bending coefficient, Cb 25 = Yield stress, Fy 26 = Compressive stress, Fa 27 = Tensile stress, Ft 28 = Major bending stress, Fb3 29 = Minor bending stress, Fb2 30 = Major shear stress, Fv2 31 = Minor shear stress, Fv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 24 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 26 = Compressive stress, Fa

Value >= 0; 0 means use program determined value. [F/L2] 27 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 28 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 29 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemUBC97_ASD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-ASD") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.UBC97_ASD.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetOverwrite Syntax SapObject.SapModel.DesignSteel.UBC97_LRFD.GetOverwrite

VB6 Procedure Function GetOverwrite(ByVal Name As String, ByVal Item As Long, ByRef Value As Double, ByRefProgDet As Boolean) As Long

Parameters Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Moment coefficient, Cm Major 23 = Moment coefficient, Cm Minor 24 = Bending coefficient, Cb 25 = Non-sway moment factor, B1 Major 26 = Non-sway moment factor, B1 Minor 27 = Sway moment factor, B2 Major 28 = Sway moment factor, B2 Minor 29 = Yield stress, Fy 30 = Compressive capacity, phi*Pnc 31 = Tensile capacity, phi*Pnt 32 = Major bending capacity, phi*Mn3 33 = Minor bending capacity, phi*Mn2 34 = Major shear capacity, phi*Vn2 35 = Minor shear capacity, phi*Vn3

36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 24 = Bending coefficient, Cb Value >= 0; 0 means use program determined value.

25 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 28 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 29 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 30 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 31 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 32 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 33 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ProgDet

If this item is True, the specified value is program determined.

Remarks This function retrieves the value of a steel design overwrite item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignOverwriteItemUBC97_LRFD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double Dim ProgDet As Boolean 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-LRFD") 'run analysis ret = SapModel.File.Save("C:\SapAPI\x.sdb") ret = SapModel.Analyze.RunAnalysis 'start steel design ret = SapModel.DesignSteel.StartDesign 'get overwrite item ret = SapModel.DesignSteel.UBC97_LRFD.GetOverwrite("8", 1, Value, ProgDet) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also SetOverwrite

GetPrecastI (Note: Newer function available) Syntax SapObject.SapModel.PropFrame.GetPrecastI

VB6 Procedure Function GetPrecastI(ByVal Name As String, ByRef FileName As String, ByRef MatProp As String, ByRef b() As Double, ByRef d() As Double, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing precast concrete I girder frame section property. FileName

If the section property was imported from a property file, this is the name of that file. If the section property was not imported, this item is blank. MatProp

The name of the material property for the section. b

This is an array, dimensioned to 3, containing the horizontal section dimensions. [L] b(0) b(1) b(2) b(3)

= = = =

B1 (> 0) B2 (> 0) B3 (> 0) B4 (>= 0)

Section dimensions B1 through B4 are defined on the precast concrete I girder definition form. d

This is an array, dimensioned to 5, containing the vertical section dimensions. [L] d(0) d(1) d(2) d(3) d(4) d(5)

= = = = = =

D1 (> 0) D2 (> 0) D3 (>= 0) D4 (>= 0) D5 (>= 0) D6 (> 0)

Section dimensions D1 through D6 are defined on the precast concrete I girder definition form. Color

The display color assigned to the section. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section.

Remarks This function retrieves frame section property data for a precast concrete I girder frame section. The function returns zero if the section property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetFramePropPrecastI() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim FileName As String Dim MatProp As String Dim bb() As Double Dim dd() As Double Dim b() As Double Dim d() As Double Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new ReDim ReDim bb(0) bb(1) bb(2) bb(3) dd(0) dd(1) dd(2) dd(3) dd(4)

frame section property bb(3) dd(5) = 16 = 22 = 7 = 0 = 45 = 7 = 4.5 = 0 = 7.5

dd(5) = 7 ret = SapModel.PropFrame.SetPrecastI("PC1", "4000Psi", bb, dd) 'get frame section property data ret = SapModel.PropFrame.GetPrecastI("PC1", FileName, MatProp, b, d, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. This function is obsolete and has been superceded by GetPrecast_1 as of version 17.2.0. This function is maintained for backward compatibility.

See Also SetPrecastI

GetPreference Syntax SapObject.SapModel.DesignConcrete.ACI318_05_IBC2003.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 13, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Seismic design category 5 = Phi tension controlled 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear and/or torsion 9 = Phi shear seismic 10 = Phi joint shear 11 = Pattern live load factor 12 = Utilization factor limit 13 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 5 = Phi tension controlled Value > 0 6 = Phi compression controlled tied

Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear and/or torsion Value > 0 9 = Phi shear seismic Value > 0 10 = Phi joint shear Value > 0 11 = Pattern live load factor Value >= 0 12 = Utilization factor limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemACI318_05_IBC2003() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-05/IBC2003") 'get preference item ret = SapModel.DesignConcrete.ACI318_05_IBC2003.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.ACI_318_02.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 13, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Seismic design category 5 = Phi tension controlled 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear and/or torsion 9 = Phi shear seismic 10 = Phi joint shear 11 = Pattern live load factor 12 = Utilization factor limit 13 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 5 = Phi tension controlled Value > 0 6 = Phi compression controlled tied

Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear and/or torsion Value > 0 9 = Phi shear seismic Value > 0 10 = Phi joint shear Value > 0 11 = Pattern live load factor Value >= 0 12 = Utilization factor limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemACI_318_02() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-02") 'get preference item ret = SapModel.DesignConcrete.ACI_318_02.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.ACI_318_99.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending torsion 5 = Phi compression controlled tied 6 = Phi compression controlled spiral 7 = Phi shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending torsion Value > 0 5 = Phi compression controlled tied Value > 0 6 = Phi compression controlled spiral Value > 0 7 = Phi shear Value > 0 8 = Pattern live load factor Value >= 0

9 = Utilization factor limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemACI_318_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-99") 'get preference item ret = SapModel.DesignConcrete.ACI_318_99.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.AS_3600_01.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi tension controlled 5 = Phi compression controlled 6 = Phi shear and/or torsion 7 = Phi shear seismic 8 = Phi joint shear 9 = Pattern live load factor 10 = Utilization factor limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi tension controlled Value > 0 5 = Phi compression controlled Value > 0 6 = Phi shear and/or torsion Value > 0 7 = Phi shear seismic Value > 0 8 = Phi joint shear Value > 0

9 = Pattern live load factor Value >= 0 10 = Utilization factor limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemAS_3600_01() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-01") 'get preference item ret = SapModel.DesignConcrete.AS_3600_01.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.BS8110_89.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 6, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6=

Number of interaction curves Number of interaction points Consider minimum eccentricity Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Pattern live load factor Value >= 0 5 = Utilization factor limit Value > 0 6 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemBS8110_89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 89") 'get preference item ret = SapModel.DesignConcrete.BS8110_89.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.Chinese_2002.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Importance factor gamma 0 4 = Column design procedure 5 = Seismic design grade 6 = Pattern live load factor 7 = Utilization factor limit 8 = Multi-response case design 9 = Structural system 10 = Is tall building? 11 = Seismic field type Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Importance factor gamma 0 Value > 0 4 = Column design procedure 1 = Appendix F 2 = Simplified 5 = Seismic design grade 1 = Super I 2 = Grade I 3 = Grade II 4 = Grade III 5 = Grade IV 6 = Nonseismic 6 = Pattern live load factor Value >= 0

7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 9 = Structural system 1 = Frame only 2 = Shearwall only 3 = Frame-shearwall 4 = Braced frame only 5 = Frame-braced frame 10 = Is tall building? 0 = No 1 = Yes 11 = Seismic field type 1=I 2 = II 3 = III 4 = IV

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Chinese 2002") 'get preference item ret = SapModel.DesignConcrete.Chinese_2002.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 9, 10, and 11 in Version 14.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_94.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 8, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8=

Number of interaction curves Number of interaction points Consider minimum eccentricity Phi steel Phi concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi steel Value > 0 5 = Phi concrete Value > 0 6 = Pattern live load factor Value >= 0 7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemCSA_A23_3_94() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA-A23.3-94") 'get preference item ret = SapModel.DesignConcrete.CSA_A23_3_94.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.EUROCODE_2_1992.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Nu Gamma steel Gamma concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Nu Value > 0 5 = Gamma steel Value > 0 6 = Gamma concrete Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemEUROCODE_2_1992() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("EUROCODE 2-1992") 'get preference item ret = SapModel.DesignConcrete.EUROCODE_2_1992.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2004.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemHong_Kong_CP_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2004") 'get preference item ret = SapModel.DesignConcrete.Hong_Kong_CP_2004.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.Italian_DM_14_2_92.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 5, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5=

Number of interaction curves Number of interaction points Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Pattern live load factor Value >= 0 4 = Utilization factor limit Value > 0 5 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemItalian_DM_14_2_92() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Italian DM 14-2-92") 'get preference item ret = SapModel.DesignConcrete.Italian_DM_14_2_92.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.Mexican_RCDF_2001.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending 5 = Phi tension 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear 9 = Pattern live load factor 10 = Utilization factor limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending Value > 0 5 = Phi tension Value > 0 6 = Phi compression controlled tied Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear Value > 0

9 = Pattern live load factor Value >= 0 10 = Utilization factor limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemMexican_RCDF_2001() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Mexican RCDF 2001") 'get preference item ret = SapModel.DesignConcrete.Mexican_RCDF_2001.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.NZS_3101_95.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending 5 = Phi tension 6 = Phi compression 7 = Phi shear 8 = Omega 9 = Phi 0 10 = Rm 11 = Rv 12 = Pattern live load factor 13 = Utilization factor limit 14 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending Value > 0 5 = Phi tension Value > 0 6 = Phi compression Value > 0 7 = Phi shear Value > 0

8 = Omega Value > 0 9 = Phi 0 Value > 0 10 = Rm Value > 0 11 = Rv Value > 0 12 = Pattern live load factor Value >= 0 13 = Utilization factor limit Value > 0 14 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemNZS_3101_95() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("NZS 3101-95") 'get preference item ret = SapModel.DesignConcrete.NZS_3101_95.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignConcrete.UBC97.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending tension 5 = Phi compression controlled tied 6 = Phi compression controlled spiral 7 = Phi shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending tension Value > 0 5 = Phi compression controlled tied Value > 0 6 = Phi compression controlled spiral Value > 0 7 = Phi shear Value > 0 8 = Pattern live load factor Value >= 0

9 = Utilization factor limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a concrete design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetConcreteDesignPreferenceItemUBC97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("UBC97") 'get preference item ret = SapModel.DesignConcrete.UBC97.GetPreference(2, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.AISC_ASD01.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design capacity 3 = Ignore seismic code 4 = Ignore special seismic load 5 = Isdoubler plate plug-welded 6 = Consider deflection 7 = DL deflection limit, L/Value 8 = SDL + LL deflection limit, L/Value 9 = LL deflection limit, L/Value 10 = Total deflection limit, L/Value 11 = Total camber limit, L/Value 12 = Pattern live load factor 13 = Demand/capacity ratio limit 14 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = OMF 2 = IMF 3 = SMF 4 = OCBF 5 = SCBF 6 = EBF 2 = Seismic design capacity 1=A 2=B 3=C 4=D 5=E 6=F 3 = Ignore seismic code 0 = No Any other value = Yes 4 = Ignore special seismic load

0 = No Any other value = Yes 5 = Isdoubler plate plug-welded 0 = No Any other value = Yes 6 = Consider deflection 0 = No Any other value = Yes 7 = DL DLdeflection limit, L/Value Value > 0 8 = SDL + LL deflection limit, L/Value Value > 0 9 = LL deflection limit, L/Value Value > 0 10 = Total deflection limit, L/Value Value > 0 11 = Total camber limit, L/Value Value > 0 12 = Pattern live load factor Value >= 0 13 = Demand/capacity ratio limit Value > 0 14 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAISC_ASD01 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-ASD01") 'get preference item ret = SapModel.DesignSteel.AISC_ASD01.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.AISC_LRFD99.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 21, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design capacity 3 = Phi bending 4 = Phi compression 5 = Phi tension - yielding 6 = Phi tension - fracture 7 = Phi shear 8 = Phi shear - torsion 9 = Phi compression, angle 10 = Ignore seismic code 11 = Ignore special seismic code 12 = Is doubler plate plug-welded 13 = Consider deflection 14 = DL deflection limit, L/Value 15 = SDL + LL deflection limit, L/Value 16 = LL deflection limit, L/Value 17 = Total deflection limit, L/Value 18 = Total camber limit, L/Value 19 = Pattern live load factor 20 = Demand capacity ratio limit 21 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = OMF 2 = IMF 3 = SMF 4 = OCBF 5 = SCBF 6 = EBF 2 = Seismic design capacity 1=A 2=B 3=C 4=D 5=E

6=F 3 = Phi bending Value > 0 4 = Phi compression Value > 0 5 = Phi tension – yielding Value > 0 6 = Phi tension - fracture Value > 0 7 = Phi shear Value > 0 8 = Phi shear - torsion Value > 0 9 = Phi compression, angle Value > 0 10 = Ignore seismic code 0 = No Any other value = Yes 11 = Ignore special seismic code 0 = No Any other value = Yes 12 = Is doubler plate plug-welded 0 = No Any other value = Yes 13 = Consider deflection 0 = No Any other value = Yes 14 = DL deflection limit, L/Value Value > 0 15 = SDL + LL deflection limit, L/Value

Value > 0 16 = LL deflection limit, L/Value Value > 0 17 = Total deflection limit, L/Value Value > 0 18 = Total camber limit, L/Value Value > 0 19 = Pattern live load factor Value >= 0 20 = Demand capacity ratio limit Value > 0 21 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemAISC_LRFD99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD99") 'get preference item ret = SapModel.DesignSteel.AISC_LRFD99.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.BS5950_90.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflection limit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflection limit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemBS5950_90() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 90") 'get preference item ret = SapModel.DesignSteel.BS5950_90.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.Canadian_S16_01.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 21, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) 4 = Ductility related modification factor, Rd 5 = Overstrength related modification factor, Ro 6 = Capacity factor, Phi bending 7 = Capacity factor, Phi compression 8 = Capacity factor, Phi tension 9 = Capacity factor, Phi shear 10 = Slender section modification 11 = Ignore seismic code 12 = Ignore special seismic load 13 = Doubler plate is plug welded 14 = Consider deflection 15 = DL deflection limit, L/Value 16 = SDL + LL deflection limit, L/Value 17 = LL deflection limit, L/Value 18 = Total load deflection limit, L/Value 19 = Total camber limit, L/Value 20 = Pattern live load factor 21 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC)

6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) Value > 0 4 = Ductility related modification factor, Rd Value > 0 5 = Overstrength related modification factor, Ro Value > 0 6 = Capacity factor, Phi bending Value > 0 7 = Capacity factor, Phi compression Value > 0 8 = Capacity factor, Phi tension Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Slender section modification 1 = Modified geometry 2 = modified Fy 11 = Ignore seismic code 0 = No Any other value = Yes 12 = Ignore special seismic load 0 = No Any other value = Yes

13 = Doubler plate is plug welded 0 = No Any other value = Yes 14 = Consider deflection 0 = No Any other value = Yes 15 = DL deflection limit, L/Value Value > 0 16 = SDL + LL deflection limit, L/Value Value > 0 17 = LL deflection limit, L/Value Value > 0 18 = Total load deflection limit, L/Value Value > 0 19 = Total camber limit, L/Value Value > 0 20 = Pattern live load factor Value >= 0 21 = Demand/capacity ratio limit Value > 0

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved, otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemCanadian_S16_01 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CAN/CSA-S16-01") 'get preference item ret = SapModel.DesignSteel.Canadian_S16_01.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.Chinese_2000.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Gamma0 3 = Ignore b/t check 4 = Classify beam as flexo compression member 5 = Consider deflection 6 = DL deflection limit, L/Value 7 = SDL + LL deflection limit, L/Value 8 = LL deflection limit, L/Value 9 = Total load deflection limit, L/Value 10 = Total camber limit, L/Value 11 = Pattern live load factor 12 = Demand/capacity ratio limit 13 = Multi-response case design 14 = Is tall building? Value

The value of the considered preference item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Gamma0 Value > 0 3 = Ignore b/t check 0 = No Any other value = Yes 4 = Classify beam as flexo compression member 0 = No Any other value = Yes 5 = Consider deflection 0 = No Any other value = Yes

6 = DL deflection limit, L/Value Value > 0 7 = SDL + LL deflection limit, L/Value Value > 0 8 = LL deflection limit, L/Value Value > 0 9 = Total load deflection limit, L/Value Value > 0 10 = Total camber limit, L/Value Value > 0 11 = Pattern live load factor Value >= 0 12 = Demand/capacity ratio limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 14 = Tall building 0 = No 1 = Yes

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2002") 'get preference item ret = SapModel.DesignSteel.Chinese_2002.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added item 14 in Version 14.0.0. Modified Item 1 in version 14.1.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.CISC_95.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Phi bending 3 = Phi compression 4 = Phi tension 5 = Phi shear 6 = Consider deflection 7 = DL deflection limit, L/Value 8 = SDL + LL deflection limit, L/Value 9 = LL deflection limit, L/Value 10 = Total deflection limit, L/Value 11 = Total camber limit, L/Value 12 = Pattern live load factor 13 = Demand/capacity ratio limit 14 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Phi bending Value > 0 3 = Phi compression Value > 0 4 = Phi tension Value > 0 5 = Phi shear Value > 0 6 = Consider deflection 0 = No Any other value = Yes 7 = DL deflection limit, L/Value

Value > 0 8 = SDL + LL deflection limit, L/Value Value > 0 9 = LL deflection limit, L/Value Value > 0 10 = Total load deflection limit, L/Value Value > 0 11 = Total camber limit, L/Value Value > 0 12 = Pattern live load factor Value >= 0 13 = Demand/capacity ratio limit Value > 0 14 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemCISC_95() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CISC 95") 'get preference item ret = SapModel.DesignSteel.CISC_95.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.EUROCODE_3_1993.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = GammaM0 3 = GammeM1 4 = Consider deflection 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total deflection limit, L/Value 9 = Total camber limit, L/Value 10 = Pattern live load factor 11 = Demand/capacity ratio limit 12 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = GammaM0 Value > 0 3 = GammeM1 Value > 0 4 = Consider deflection 0 = No Any other value = Yes 5 = DL deflection limit, L/Value Value > 0 6 = SDL + LL deflection limit, L/Value Value > 0 7 = LL deflection limit, L/Value Value > 0

8 = Total deflection limit, L/Value Value > 0 9 = Total camber limit, L/Value Value > 0 10 = Pattern live load factor Value >= 0 11 = Demand/capacity ratio limit Value > 0 12 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemEUROCODE_3_1993() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("EUROCODE 3-1993") 'get preference item ret = SapModel.DesignSteel.EUROCODE_3_1993.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.Indian_IS:800_1998.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Lateral factor 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Sway Frame 2 = Nonsway Frame 2 = Lateral factor Value > 0 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit, L/Value Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0 8 = Total camber limit, L/Value

Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemIndian_IS_800_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-1998") 'get preference item ret = SapModel.DesignSteel.Indian_IS_800_1998.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.Italian_UNI_10011.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflectionlimit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflectionlimit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Sway Frame 2 = NonSway Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemItalian_UNI_10011() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Italian UNI 10011") 'get preference item ret = SapModel.DesignSteel.Italian_UNI_10011.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.UBC97_ASD.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic zone 3 = Lateral factor 4 = Consider deflection 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total deflection limit, L/Value 9 = Total camber limit, L/Value 10 = Pattern live load factor 11 = Demand/capacity ratio limit 12 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Seismic zone 1 = Zone 0 2 = Zone 1 3 = Zone 2 4 = Zone 3 5 = Zone 4 3 = Lateral factor Value > 0 4 = Consider deflection 0 = No Any other value = Yes 5 = DL deflection limit, L/Value5 Value > 0

6 = SDL + LL deflection limit, L/Value Value > 0 7 = LL deflection limit, L/Value Value > 0 8 = Total deflection limit, L/Value Value > 0 9 = Total camber limit, L/Value Value > 0 10 = Pattern live load factor Value >= 0 11 = Demand/capacity ratio limit Value > 0 12 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemUBC97_ASD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-ASD") 'get preference item ret = SapModel.DesignSteel.UBC97_ASD.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetPreference Syntax SapObject.SapModel.DesignSteel.UBC97_LRFD.GetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = Importance factor 3 = Seismic zone 4 = Phi bending 5 = Phi compression 6 = Phi tension 7 = Phi shear 8 = Phi compression angle 9 = Consider deflection 10 = DL deflection limit, L/Value 11 = SDL + LL deflection limit, L/Value 12 = LL deflection limit, L/Value 13 = Total deflection limit, L/Value 14 = Total camber limit, L/Value 15 = Pattern live load factor 16 = Demand/capacity ratio limit 17 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Importance factor Value > 0 3 = Seismic zone 1 = Zone 0 2 = Zone 1 3 = Zone 2 4 = Zone 3 5 = Zone 4 3 = Lateral factor

Value > 0 4 = Phi bending Value > 0 5 = Phi compression Value > 0 6 = Phi tension Value > 0 7 = Phi shear Value > 0 8 = Phi compression angle Value > 0 9 = Consider deflection 0 = No Any other value = Yes 10 = DL deflection limit, L/Value Value > 0 11 = SDL + LL deflection limit, L/Value Value > 0 12 = LL deflection limit, L/Value Value > 0 13 = Total deflection limit, L/Value Value > 0 14 = Total camber limit, L/Value Value > 0 15 = Pattern live load factor Value >= 0 16 = Demand/capacity ratio limit Value > 0 17 = Multi-response case design 1 = Envelopes

2= 3= 4= 5=

Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function retrieves the value of a steel design preference item. The function returns zero if the item is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSteelDesignPreferenceItemUBC97_LRFD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim Value As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-LRFD") 'get preference item ret = SapModel.DesignSteel.UBC97_LRFD.GetPreference(1, Value) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also SetPreference

GetShell (Note:

Newer function available)

Syntax SapObject.SapModel.PropArea.GetShell

VB6 Procedure Function GetShell(ByVal Name As String, ByRef ShellType As Long, ByRef MatProp As String, ByRef MatAng As Double, ByRef Thickness As Double, ByRef Bending As Double, ByRef Color As Long, ByRef Notes As String, ByRef GUID As String) As Long

Parameters Name

The name of an existing shell-type area property. ShellType

This is 1, 2, 3, 4, 5 or 6, indicating the shell type. 1= 2= 3= 4= 5= 6=

Shell - thin Shell - thick Plate - thin Plate - thick Membrane Shell layered/nonlinear

MatProp

The name of the material property for the area property. This item does not apply when ShellType = 6. MatAng

The material angle. [deg] This item does not apply when ShellType = 6. Thickness

The membrane thickness. [L] This item does not apply when ShellType = 6. Bending

The bending thickness. [L] This item does not apply when ShellType = 6. Color

The display color assigned to the property. Notes

The notes, if any, assigned to the property. GUID

The GUID (global unique identifier), if any, assigned to the property.

Remarks This function retrieves area property data for a shell-type area section. The function returns zero if the property data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetAreaPropShell() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim ShellType As Long Dim MatProp As String Dim MatAng As Double Dim Thickness As Double Dim Bending As Double Dim Color As Long Dim Notes As String Dim GUID As String 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set new area property ret = SapModel.PropArea.SetShell("A1", 1, "4000Psi", 0, 16, 16) 'get area property data ret = SapModel.PropArea.GetShell("A1", ShellType, MatProp, MatAng, Thickness, Bending, Color, Notes, GUID) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. The function is obsolete and has been superceded by GetShell_1 as of version 14.00. This function is maintained for backward compatibility. New function added

See Also SetShell

GetShellLayer (Note:

Newer function available)

Syntax SapObject.SapModel.PropArea.GetShellLayer

VB6 Procedure Function GetShellLayer(ByVal Name As String, ByRef MatProp As String, ByRef SteelLayoutOption As Long, ByRef DesignCoverTopDir1 As Double, ByRef DesignCoverTopDir2 As Double, ByRef DesignCoverBotDir1 As Double, ByRef DesignCoverBotDir2 As Double) As Long

Parameters Name

The name of an existing shell-type area property that is specified to be a layered shell property. NumberLayers

The number of layers in the area property. LayerName

This is an array that includes the name of each layer. Dist

This is an array that includes the distance from the area reference surface (area object joint location plus offsets) to the midheight of the layer. [L] Thickness

This is an array that includes the thickness of each layer. [L] MatProp

This is an array that includes the name of the material property for the layer. NonLinear

This is an array that includes a boolean (True or False) value. If this item is True, and if the material property assigned to the layer is nonlinear, the layer will behave nonlinearly in a nonlinear load case. If this item is False, the layer will never behave nonlinearly. MatAng

This is an array that includes the material angle for the layer. [deg] NumIntegrationPts

The number of integration points in the thickness direction for the layer. The locations are determined by the program using standard Guass-quadrature rules.

Remarks This function retrieves area property layer parameters for a shell-type area section. The function returns zero if the parameters are successfully retrieved; otherwise it returns a nonzero value. The function returns an error if the specified area property is not a shell-type property specified to be a layered shell.

VBA Example Sub GetAreaPropShellLayer() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyNumberLayers As Long Dim MyLayerName() As String Dim MyDist() As Double Dim MyThickness() As Double Dim MyMatProp() As String Dim MyNonLinear() As Boolean Dim MyMatAng() As Double Dim MyNumIntegrationPts() As Long Dim NumberLayers As Long Dim LayerName() As String Dim Dist() As Double Dim Thickness() As Double Dim MatProp() As String Dim NonLinear() As Boolean Dim MatAng() As Double Dim NumIntegrationPts() As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set new area property ret = SapModel.PropArea.SetShell("A1", 6, "", 0, 0, 0) 'add A615Gr60 rebar material

ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A615Gr60) 'set area property layer parameters MyNumberLayers = 5 ReDim MyLayerName(MyNumberLayers - 1) ReDim MyDist(MyNumberLayers - 1) ReDim MyThickness(MyNumberLayers - 1) ReDim MyMatProp(MyNumberLayers - 1) ReDim MyNonLinear(MyNumberLayers - 1) ReDim MyMatAng(MyNumberLayers - 1) ReDim MyNumIntegrationPts(MyNumberLayers - 1) MyLayerName(0) = "Concrete" MyDist(0) = 0 MyThickness(0) = 16 MyMatProp(0) = "4000Psi" MyNonLinear(0) = False MyMatAng(0) = 0 MyNumIntegrationPts(0) = 2 MyLayerName(1) = "Top Bar 1" MyDist(1) = 6 MyThickness(1) = 0.03 MyMatProp(1) = Name MyNonLinear(1) = False MyMatAng(1) = 0 MyNumIntegrationPts(1) = 1 MyLayerName(2) = "Top Bar 2" MyDist(2) = 6 MyThickness(2) = 0.03 MyMatProp(2) = Name MyNonLinear(2) = False MyMatAng(2) = 90 MyNumIntegrationPts(2) = 1 MyLayerName(3) = "Bot Bar 1" MyDist(3) = -6 MyThickness(3) = 0.03 MyMatProp(3) = Name MyNonLinear(3) = False MyMatAng(3) = 0

MyNumIntegrationPts(3) = 1 MyLayerName(4) = "Bot Bar 2" MyDist(4) = -6 MyThickness(4) = 0.03 MyMatProp(4) = Name MyNonLinear(4) = False MyMatAng(4) = 90 MyNumIntegrationPts(4) = 1 ret = SapModel.PropArea.SetShellLayer("A1", MyNumberLayers, MyLayerName, MyDist, MyThickness, MyMatProp, MyNonLinear, MyMatAng, MyNumIntegrationPts) 'get area property layer parameters ret = SapModel.PropArea.GetShellLayer("A1", NumberLayers, LayerName, Dist, Thickness, MatProp, NonLinear, MatAng, NumIntegrationPts) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. This function is obsolete and has been superceded by GetShellLayer_1 as of version 12.5. This function is maintained for backwards compatibility.

See Also SetShellLayer SetShellLayer_1

GetSolverOption (Note:

Newer function available)

Syntax SapObject.SapModel.Analyze.GetSolverOption

VB6 Procedure Function GetSolverOption(ByRef SolverType As Long, ByRef Force32BitSolver As Boolean, ByRef StiffCase As String) As Long

Parameters SolverType

This is 0 or 1, indicating the solver type. 0 = Standard solver 1 = Advanced solver Force32BitSolver

This is True if the analysis is always run using 32-bit, even on 64-bit computers. StiffCase

The name of the load case used when outputting the mass and stiffness matrices to text files If this item is blank, no matrices are output.

Remarks This function retrieves the model solver options. The function returns zero if the options are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetModelSolverOption() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim SolverType As Long Dim Force32BitSolver As Boolean Dim StiffCase As String 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set model solver options ret = SapModel.Analyze.GetSolverOption(SolverType, Force32BitSolver, StiffCase) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. This function is obsolete and has been superceded by GetSolverOption_1 as of version 14.2.2. This function is maintained for backwards compatibility.

See Also SetSolverOption

GetStageData_1 (Note: Newer Function Available) Syntax SapObject.SapModel.LoadCases.StaticNonlinear.GetStageData_1

VB6 Procedure Function GetStageData_1(ByVal Name As String, ByVal Stage As Long, ByRef NumberOperations As Long, ByRef Operation() As Long, ByRef ObjectType() As String, ByRef ObjectName() As String, ByRef Age() As Long, ByRef MyType() As String, ByRef MyName() As String, ByRef SF() As Double) As Long

Parameters Name

The name of an existing static nonlinear staged load case. Stage

The stage in the specified load case for which data is requested. Stages are numbered sequentially starting from 1. NumberOperations

The number of operations in the specified stage. Operation

This is an array that includes 1, 2, 3, 4, 5, 6, 7, or 11, indicating an operation type. 1 = Add structure 2 = Remove structure 3 = Load objects if new 4 = Load objects 5 = Change section properties 6 = Change section property modifiers 7 = Change releases 11 = Change section properties and age ObjectType

This is an array that includes the object type associated with the specified operation. The object type may be one of the following: Group Frame Cable Tendon Area Solid Link Point

The following list shows which object types are applicable to each operation type: Operation = Operation = Operation = Operation = Operation = Operation =

1 (Add structure): All object types 2 (Remove structure): All object types 3 (Load objects if new): All object types 4 (Load objects): All object types 5 (Change section properties): All object types except Point 6 (Change section property modifiers): Group, Frame, Cable, Area

Operation = 7 (Change releases): Group, Frame Operation = 11 (Change section properties and age): All object types except Point ObjectName

This is an array that includes the name of the object associated with the specified operation. This is the name of a Group, Frame object, Cable object, Tendon object, Area object, Solid object, Link object or Point object, depending on the ObjectType item. Age

This is an array that includes the age of the added structure, at the time it is added, in days. This item applies only to operations with Operation = 1. MyType

This is an array that includes a load type or an object type, depending on what is specified for the Operation item. This item applies only to operations with Operation = 3, 4, 5, 6, 7, or 11. When Operation = 3 or 4, this is an array that includes Load or Accel, indicating the load type of an added load. When Operation = 5 or 11, and the ObjectType item is Group, this is an array that includes Frame, Cable, Tendon, Area, Solid or Link, indicating the object type for which the section property is changed. When Operation = 6 and the ObjectType item is Group, this is an array that includes Frame, Cable or Area, indicating the object type for which the section property modifiers are changed. When Operation = 7 and the ObjectType item is Group, this is an array that includes Frame, indicating the object type for which the releases are changed. When Operation = 5, 6, 7, or 11, and the ObjectType item is not Group and not Point, this item is ignored and the type is picked up from the ObjectType item. MyName

This is an array that includes a load assignment or an object name, depending on what is specified for the Operation item. This item applies only to operations with Operation = 3, 4, 5, 6, 7, or 11. When Operation = 3 or 4, this is an array that includes the name of the load assigned to the operation. If the associated LoadType item is Load, this item is the name of a defined load pattern. If the associated LoadType item is Accel , this item is UX, UY, UZ, RX, RY or RZ, indicating the direction of the load.

When Operation = 5 or 11, this is the name of a Frame, Cable, Tendon, Area, Solid or Link object, depending on the object type specified. When Operation = 6, this is the name of a Frame, Cable or Area object, depending on the object type specified. When Operation = 7, this is the name of a Frame object. SF

This is an array that includes the scale factor for the load assigned to the operation, if any. [L/s2] for Accel UX UY and UZ; otherwise unitless This item applies only to operations with Operation = 3 or 4.

Remarks This function retrieves stage data for the specified stage in the specified load case. The function returns zero if the data is successfully retrieved; otherwise, it returns a nonzero value.

VBA Example Sub GetCaseStaticNonlinearStagedStageData_1() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyDuration() As Long Dim MyOutput() As Boolean Dim MyOutputName() As String Dim MyComment() As String Dim MyOperation() As Long Dim MyObjectType() As String Dim MyObjectName() As String Dim MyAge() As Long Dim MyMyType() As String Dim MyMyName() As String Dim MySF() As Double Dim NumberOperations As Long Dim Operation() As Long Dim ObjectType() As String Dim ObjectName() As String Dim Age() As Long Dim MyType() As String Dim MyName() As String Dim SF() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add static nonlinear staged load case ret =

SapModel.LoadCases.StaticNonlinearStaged.SetCase("ACASE1")

'initialize stage definitions ReDim MyDuration(1) ReDim MyOutput(1) ReDim MyOutputName(1) ReDim MyComment(1) MyDuration(0) = 0 MyOutput(0) = False MyComment(0) = "Build structure" MyDuration(1) = 60 MyOutput(1) = True MyOutputName(1) = "HBC2" MyComment(1) = "Wait" ret = SapModel.LoadCases.StaticNonlinearStaged.SetStageDefinitions_1("ACAS 2, MyDuration, MyOutput, MyOutputName, MyComment) 'set stage data ReDim MyOperation(1) ReDim MyObjectType(1) ReDim MyObjectName(1) ReDim MyAge(1) ReDim MyMyType(1) ReDim MyMyName(1) ReDim MySF(1) MyOperation(0) = 1 MyObjectType(0) = "Group" MyObjectName(0) = "ALL" MyAge(0) = 3 MyOperation(1) = 4 MyObjectType(1) = "Frame" MyObjectName(1) = "8" MyMyType(1) = "Load" MyMyName(1) = "DEAD" MySF(1) = 0.85 ret = SapModel.LoadCases.StaticNonlinearStaged.SetStageData_1("ACASE1", 1, 2, MyOperation, MyObjectType, MyObjectName, MyAge, MyMyType, MyMyName, MySF) 'get stage data ret =

SapModel.LoadCases.StaticNonlinearStaged.GetStageData_1("ACASE1", 1, NumberOperations, Operation, ObjectType, ObjectName, Age, MyType, MyName, SF) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00. Added Operation 11 (Change section properties and age) in version 16.10. This function supersedes GetStageData. This function is obsolete and has been replaced by GetStageData_2 as of v19.0.0. This function is maintained for backward compatibility

See Also SetStageData_1

GetStageDefinitions_1 (Note: Newer Function Available) Syntax SapObject.SapModel.LoadCases.StaticNonlinear.GetStageDefinitions_1

VB6 Procedure Function GetStageDefinitions_1(ByVal Name As String, ByRef NumberStages As Long, ByRef Duration() As Long, ByRef Output() As Boolean, ByRef OutputName() As String, ByRef Comment() As String) As Long

Parameters Name

The name of an existing static nonlinear staged load case. NumberStages

The number of stages defined for the specified load case. Duration

This is an array that includes the duration in days for each stage. Output

This is an array that includes True or False, indicating if analysis output is to be saved for each stage. OutputName

This is an array that includes a user-specified output name for each stage. Comment

This is an array that includes a comment for each stage. The comment may be a blank string.

Remarks This function retrieves the stage definition data for the specified load case. The function returns zero if the data is successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetCaseStaticNonlinearStagedStageDefinitions_1() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyDuration() As Long Dim MyOutput() As Boolean Dim MyOutputName() As String Dim MyComment() As String Dim NumberStages As Long Dim Duration() As Long Dim Output() As Boolean Dim OutputName() As String Dim Comment() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add static nonlinear staged load case ret = SapModel.LoadCases.StaticNonlinearStaged.SetCase("ACASE1") 'initialize stage definitions ReDim MyDuration(1) ReDim MyOutput(1) ReDim MyOutputName(1) ReDim MyComment(1) MyDuration(0) = 0 MyOutput(0) = False MyComment(0) = "Build structure"

MyDuration(1) = 60 MyOutput(1) = True MyOutputName(1) = "HBC2" MyComment(1) = "Wait" ret = SapModel.LoadCases.StaticNonlinearStaged.SetStageDefinitions_1("ACAS 2, MyDuration, MyOutput, MyOutputName, MyComment)

'get stage definitions ret = SapModel.LoadCases.StaticNonlinearStaged.GetStageDefinitions_1("ACAS NumberStages, Duration, Output, OutputName, Comment) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00. This function supersedes GetStageDefinitions This function is obsolete and has been replaced by GetStageDefinitions_2 as of v19.0.0. This function is maintained for backward compatibility.

See Also SetStageDefinitions_1

GetTypeOAPI

(Note: Newer Function Available)

Syntax SapObject.SapModel.LoadCases.GetTypeOAPI

VB6 Procedure Function GetTypeOAPI(ByVal Name As String, ByRef CaseType As eLoadCaseType, ByRef SubType as long) As Long

Parameters Name

The name of an existing load case. CaseType

This is one of the following items in the eLoadCaseType enumeration. CASE_LINEAR_STATIC = 1 CASE_NONLINEAR_STATIC = 2 CASE_MODAL = 3 CASE_RESPONSE_SPECTRUM = 4 CASE_LINEAR_HISTORY = 5 (Modal Time History) CASE_NONLINEAR_HISTORY = 6 (Modal Time History) CASE_LINEAR_DYNAMIC = 7 (Direct Integration Time History) CASE_NONLINEAR_DYNAMIC = 8 (Direct Integration Time History) CASE_MOVING_LOAD = 9 CASE_BUCKLING = 10 CASE_STEADY_STATE = 11 CASE_POWER_SPECTRAL_DENSITY = 12 CASE_LINEAR_STATIC_MULTISTEP = 13 CASE_HYPERSTATIC = 14 SubType

This is an integer representing the load case sub type. This item only applies for certain case types. For CASE_NONLINEAR_STATIC: 1 = Nonlinear 2 = Nonlinear staged construction For CASE_MODAL: 1 = Eigen 2 = Ritz For CASE_LINEAR_HISTORY: 1 = Transient 2 = Periodic

Remarks This function retrieves the case type for the specified load case. The function returns zero if the type is successfully retrieved; otherwise it returns nonzero.

VBA Example Sub GetLoadCaseType() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim CaseType As eLoadCaseType Dim SubType As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'get load case type ret = SapModel.LoadCases.GetTypeOAPI("DEAD", CaseType, SubType) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. Added one item to the eLoadCaseType enumeration in version 12.00. This function is obsolete and has been superceded by GetType_1 as of version 12.00. This function is maintained for backwards compatibility. Changed function name to GetTypeOAPI in v17.0.0.

See Also

SetAPI4F2008

(Note: Newer function available)

Syntax SapObject.SapModel.LoadPatterns.AutoWind.SetAPI4F2008

VB6 Procedure Function SetAPI4F2008(ByVal Name As String, ByVal ExposureFrom As Long, ByVal DirAngle As Double, ByVal UserZ As Boolean, ByVal TopZ As Double, ByVal BottomZ As Double, ByVal WindSpeed As Double, ByVal SSLFactor As Double) As Long

Parameters Name

The name of an existing Wind-type load case. ExposureFrom

This is 2, 3 or 4, indicating the source of the wind exposure. 2 = From area objects 3 = From frame objects (open structure) 4 = From area objects and frame objects (open structure) DirAngle

The direction angle for the wind load. UserZ

This item is True if the top and bottom elevations of the wind load are user specified. It is False if the elevations are determined by the program. TopZ

This item is the global Z-coordinate at the highest level where auto wind loads are applied. [L] BottomZ

This item is the global Z-coordinate at the lowest level where auto wind loads are applied. [L] WindSpeed

The design reference wind velocity, Vref, in knots. SSLFactor

The structural safety level multiplier.

Remarks This function assigns auto wind loading parameters for API 4F 2008. The function returns zero if the parameters are successfully assigned; otherwise, it returns a nonzero value.

VBA Example Sub AssignWindAPI4F20085() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New3DFrame(BeamSlab, 2, 144, 3, 336, 2, 432) 'add new load case ret = SapModel.LoadPatterns.Add("WIND", LTYPE_WIND) 'assign API 4F 2008 parameters ret = SapModel.LoadPatterns.AutoWind.SetAPI4F2008("WIND", 3, 0, False, 0, 0, 93, 1.1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00. The function is obsolete and has been superceded by SetAPI4F2008_1 as of version 14.1.0. This function is maintained for backward compatibility. New function added.

See Also GetAPI4F2008

SetEurocode12005

(Note: Newer function available)

Syntax SapObject.SapModel.LoadPatterns.AutoWind.SetEurocode12005

VB6 Procedure Function SetEurocode12005(ByVal Name As String, ByVal ExposureFrom As Long, ByVal DirAngle As Double, ByVal Cpw As Double, ByVal Cpl As Double, ByVal UserZ As Boolean, ByVal TopZ As Double, ByVal BottomZ As Double, ByVal WindSpeed As Double, ByVal Terrain As Long, ByVal Orography As Double, ByVal k1 As Double, ByVal CsCd As Double, Optional ByVal UserExposure As Boolean = False) As Long

Parameters Name

The name of an existing Wind-type load pattern. ExposureFrom

This is 1 or 2, indicating the source of the wind exposure. 1 = From extents of rigid diaphragms 2 = From area objects DirAngle

The direction angle for the wind load. This item applies only when ExposureFrom = 1. Cpw

The windward coefficient, Cp. This item applies only when ExposureFrom = 1. Cpl

The leeward coefficient, Cp. This item applies only when ExposureFrom = 1. UserZ

This item is True if the top and bottom elevations of the wind load are user specified. It is False if the elevations are determined by the program. TopZ

This item applies only when the UserZ item is True. It is the global Z-coordinate at the highest level where auto wind loads are applied. [L] BottomZ

This item applies only when the UserZ item is True. It is the global Z-coordinate at the lowest level where auto wind loads are applied. [L] WindSpeed

The basic wind speed, vb, in meters per second. Terrain

This is 0, 1, 2, 3 or 4, indicating the terrain category. 0= 1= 2= 3= 4=

0 I II III IV

Orography

The orography factor, Co.

k1

The turbulence factor, k1. CsCd

The structural factor, CsCd. UserExposure

If this item is True, the wind exposure widths are provided by the user. If it is False, the wind exposure widths are calculated by the program from the extents of the diaphragms.

Remarks This function assigns auto wind loading parameters for Eurocode 1 2005. The function returns zero if the parameters are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignWindEurocode12005() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New3DFrame(BeamSlab, 2, 144, 3, 336, 2, 432) 'define diaphragm constraints ret = SapModel.ConstraintDef.SetDiaphragm("Diaph1", Z) ret = SapModel.ConstraintDef.SetDiaphragm("Diaph2", Z) 'assign points to diaphragm ret = SapModel.SelectObj.ClearSelection ret = SapModel.SelectObj.PlaneXY("2") ret = SapModel.PointObj.SetConstraint("", "Diaph1", SelectedObjects) ret = SapModel.SelectObj.ClearSelection ret = SapModel.SelectObj.PlaneXY("3") ret = SapModel.PointObj.SetConstraint("", "Diaph2", SelectedObjects) ret = SapModel.SelectObj.ClearSelection 'add new load pattern ret = SapModel.LoadPatterns.Add("WIND", LTYPE_WIND) 'assign Eurocode 1 2005 parameters ret =

SapModel.LoadPatterns.AutoWind.SetEurocode12005("WIND", 1, 0, 0.8, 0.5, False, 0, 0, 35, 2, 1, 1, 1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.00. The function is obsolete and has been superceded by SetEurocode12005_1 as of version 14.1.0. This function is maintained for backward compatibility. New function added.

See Also GetEurocode12005

SetEurocode82004

(Note: Newer function available)

Syntax SapObject.SapModel.LoadPatterns.AutoSeismic.SetEurocode82004

VB6 Procedure Function SetEurocode82004(ByVal Name As String, ByVal DirFlag As Long, ByVal Eccen As Double, ByVal PeriodFlag As Long, ByVal CT As Double, ByVal UserT As Double, ByVal UserZ As Boolean, ByVal TopZ As Double, ByVal BottomZ As Double, ByVal EURO2004GroundType As Long, ByVal EURO2004SpectrumType As Long, ByVal EURO2004ag As Double, ByVal EURO2004Beta As Double, ByVal EURO2004q As Double, ByVal EURO2004Lambda As Double) As Long

Parameters Name

The name of an existing Quake-type load pattern. DirFlag

This is 1 or 2, indicating the seismic load direction. 1 = Global X 2 = Global Y Eccen

The eccentricity ratio that applies to all diaphragms. PeriodFlag

This is 1, 2 or 3, indicating the time period option. 1 = Approximate 2 = Program calculated 3 = User defined CT

The code-specified Ct factor. This item applies when the PeriodFlag item is 1. UserT

The user specified time period. This item applies when the PeriodFlag item is 3. [s] UserZ

This item is True if the top and bottom elevations of the seismic load are user specified. It is False if the elevations are determined by the program. TopZ

This item applies only when the UserZ item is True. It is the global Z-coordinate at the highest level where auto seismic loads are applied. [L] BottomZ

This item applies only when the UserZ item is True. It is the global Z-coordinate at the lowest level where auto seismic loads are applied. [L] EURO2004GroundType

This is 1, 2, 3, 4 or 5, indicating the ground type. 1= 2= 3= 4= 5=

A B C D E

EURO2004SpectrumType

This is 1 or 2, indicating the spectrum type. 1 = Type 1 2 = Type 2 EURO2004ag

The design ground acceleration in g, ag. EURO2004Beta

The lower bound factor, Beta. EURO2004q

The behavior factor, q. EURO2004Lambda

The correction factor, Lambda.

Remarks This function assigns auto seismic loading parameters for the Eurocode 8 2004 code. The function returns zero if the parameters are successfully assigned; otherwise it returns a nonzero value.

VBA Example Sub AssignSeismicEurocode82004() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New3DFrame(BeamSlab, 2, 144, 3, 336, 2, 432) 'add new load pattern ret = SapModel.LoadPatterns.Add("EQX", LTYPE_QUAKE) 'assign Eurocode 8 2004 parameters ret = SapModel.LoadPatterns.AutoSeismic.SetEurocode82004("EQX", 2, 0.1, 2, 0.075, 0, False, 0, 0, 2, 1, 0.4, 0.2, 2, 1) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.00. The function is obsolete and has been superceded by SetEurocode82004_1 as of version 14.1.0. This function is maintained for backward compatibility. New function added.

See Also GetEurocode82004

SetEurocode82004

(Note: Newer function available)

Syntax SapObject.SapModel.Func.FuncRS.SetEurocode82004

VB6 Procedure Function SetEurocode82004(ByVal Name As String, ByVal EURO2004GroundType As Long, ByVal EURO2004SpectrumType As Long, ByVal EURO2004ag As Double, ByVal EURO2004Beta As Double, ByVal EURO2004q As Double, ByVal DampRatio As Double) As Long

Parameters Name

The name of an existing or new function. If this is an existing function,n that function is modified; otherwise, a new function is added. EURO2004GroundType

This is 1, 2, 3, 4 or 5, indicating the ground type. 1= 2= 3= 4= 5=

A B C D E

EURO2004SpectrumType

This is 1 or 2, indicating the spectrum type. 1 = Type 1 2 = Type 2 EURO2004ag

The design ground acceleration in g, ag. EURO2004Beta

The lower bound factor, Beta. EURO2004q

The behavior factor, q. DampRatio

The damping ratio for the function, 0 = 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value

Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value.

24 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 25 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 28 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 29 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 30 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. 31 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 32 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 33 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 34 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 35 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 36 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 37 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemAISC_LRFD99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD99") 'set overwrite item ret = SapModel.DesignSteel.AISC_LRFD99.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.BS5950_90.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Uniform moment factor, m Major 22 = Uniform moment factor, m Minor 23 = Slenderness correction factor, n 24 = Yield stress, Fy 25 = Compressive capacity, Pc 26 = Tensile capacity, Pt 27 = Major bending capacity, Mc3 28 = Minor bending capacity, Mc2 29 = Buckling resistance moment, Mb 30 = Major shear capacity, Pv2 31 = Minor shear capacity, Pv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Uniform moment factor, m Major Value >= 0; 0 means use program determined value. 22 = Uniform moment factor, m Minor Value >= 0; 0 means use program determined value. 23 = Slenderness correction factor, n Value >= 0; 0 means use program determined value. 24 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 25 = Compressive capacity, Pc Value >= 0; 0 means use program determined value. [F] 26 = Tensile capacity, Pt Value >= 0; 0 means use program determined value. [F] 27 = Major bending capacity, Mc3

Value >= 0; 0 means use program determined value. [FL] 28 = Minor bending capacity, Mc2 Value >= 0; 0 means use program determined value. [FL] 29 = Buckling resistance moment, Mb Value >= 0; 0 means use program determined value. [FL] 30 = Major shear capacity, Pv2 Value >= 0; 0 means use program determined value. [F] 31 = Minor shear capacity, Pv3 Value >= 0; 0 means use program determined value. [F] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemBS5950_90() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 90") 'set overwrite item ret = SapModel.DesignSteel.BS5950_90.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Canadian_S16_01.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByVal ItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 39, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor LTB 19 = Unbraced length ratio, Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Effective length factor, K LTB 23 = Moment coefficient, Omega1 Major 24 = Moment coefficient, Omega1 Minor 25 = Bending coefficient, Omega2 26 = Nonsway moment factor, U1 Major 27 = Nonsway moment factor, U1 Minor 28 = Sway moment factor, U2 Major 29 = Sway moment factor, U2 Minor 30 = Parameter for compressive resistance, n 31 = Yield stress, Fy 32 = Expected to specified Fy ratio, Ry 33 = Compressive resistance, Cr 34 = Tensile resistance, Tr

35 = 36 = 37 = 38 = 39 =

Major bending resistance, Mr3 Minor bending resistance, Mr2 Major shear resistance, Vr2 Minor shear resistance, Vr3 Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC) 6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 2 = Consider deflection 0 = No Any other value = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item.

6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]} 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L} 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major

Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Effective length factor, K LTB Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Omega1 Major Value >= 0; 0 means use program determined value. 24 = Moment coefficient, Omega1 Minor Value >= 0; 0 means use program determined value. 25 = Moment coefficient, Omega2 Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, U1 Major Value >= 0; 0 means use program determined value. 27 = Nonsway moment factor, U1 Minor Value >= 0; 0 means use program determined value. 28 = Sway moment factor, U2 Major Value >= 0; 0 means use program determined value. 29 = Sway moment factor, U2 Minor Value >= 0; 0 means use program determined value. 30 = Parameter for compressive resistance, n Value >= 0; 0 means use program determined value. 31 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 32 = Expected to specified Fy ratio, Ry Value >= 0; 0 means use program determined value. [F/L2]= 33 = Compressive resistance, Cr Value >= 0; 0 means use program determined value. [F] 34 = Tensile resistance, Tr Value >= 0; 0 means use program determined value. [F]

35 = Major bending resistance, Mr3 Value >= 0; 0 means use program determined value. [FL] 36 = Minor bending resistance, Mr2 Value >= 0; 0 means use program determined value. [FL] 37 = Major shear resistance, Vr2 Value >= 0; 0 means use program determined value. [F] 38 = Minor shear resistance, Vr3 Value >= 0; 0 means use program determined value. [F] 39 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemCanadian_S16_01 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CAN/CSA-S16-01") 'set overwrite item ret = SapModel.DesignSteel.Canadian_S16_01.SetOverwrite("8", 1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.Chinese_2002.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 51, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Element type 3 = Is transfer column 4 = Seismic magnification factor 5 = Is rolled section 6 = Is flange edge cut by gas 7 = Is both end pinned 8 = Ignore b/t check 9 = Classify beam as flexo-compression member 10 = Is beam top loaded 11 = Consider deflection 12 = Deflection check type 13 = DL deflection limit, L/Value 14 = SDL + LL deflection limit, L/Value 15 = LL deflection limit, L/Value 16 = Total load deflection limit, L/Value 17 = Total camber limit, L/Value 18 = DL deflection limit, absolute 19 = SDL + LL deflection limit, absolute 20 = LL deflection limit, absolute 21 = Total load deflection limit, absolute 22 = Total camber limit, absolute 23 = Specified camber 24 = Net area to total area ratio 25 = Live load reduction factor 26 = Unbraced length ratio, Major 27 = Unbraced length ratio, Minor Lateral TorsionalBuckling 28 = Effective length factor, Mue Major 29 = Effective length factor, Mue Minor 30 = Moment coefficient, Beta_m Major 31 = Moment coefficient, Beta_m Minor 32 = Moment coefficient, Beta_t Major 33 = Moment coefficient, Beta_t Minor 34 = Axial stability coefficient, Phi Major

35 = 36 = 37 = 38 = 39 = 40 = 41 = 42 = 43 = 44 = 45 = 46 = 47 = 48 = 49 = 50 = 51 =

Axial stability coefficient, Phi Minor Flexural stability coeff, Phi_bMajor Flexural stability coeff, Phi_bMinor Plasticity factor, Gamma Major Plasticity factor, Gamma Minor Section influence coefficient, Eta B/C capacity factor, Eta Euler moment factor, Delta Major Euler moment factor, Delta Minor Yield stress, Fy Allowable normal stress, f Allowable shear stress, fv Consider fictitious shear Demand/capacity ratio limit Dual system magnification factor Lo/r limit in compression L/r limit in tension

Value

The value of the considered overwrite item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Element type 0 = Program Determined 1 = Column 2 = Beam 3 = Brace 4 = Truss 3 = Is transfer column 0 = Program Determined 1 = No 2 = Yes 4 = Seismic magnification factor Value >= 0; 0 means no check for this item.

5 = Is rolled section 0 = Program Determined 1 = No 2 = Yes 6 = Is flange edge cut by gas 0 = Program Determined 1 = No 2 = Yes 7 = Is both end pinned 0 = Program Determined 1 = No 2 = Yes 8 = Ignore b/t check 0 = Program Determined 1 = No 2 = Yes 9 = Classify beam as flexo-compression member 0 = Program Determined 1 = No 2 = Yes 10 = Is beam top loaded 0 = Program Determined 1 = No 2 = Yes 11 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 12 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 13 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item.

14 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 15 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 16 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 17 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 18 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 19 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 20 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 21 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 22 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 23 = Specified camber Value >= 0. [L] 24 = Net area to total area ratio Value >= 0; 0 means use program default value. 25 = Live load reduction factor Value >= 0; 0 means use program determined value. 26 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 27 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value.

28 = Effective length factor, Mue Major Value >= 0; 0 means use program determined value. 29 = Effective length factor, Mue Minor Value >= 0; 0 means use program determined value. 30 = Moment coefficient, Beta_m Major Value >= 0; 0 means use program determined value. 31 = Moment coefficient, Beta_m Minor Value >= 0; 0 means use program determined value. 32 = Moment coefficient, Beta_t Major Value >= 0; 0 means use program determined value. 33 = Moment coefficient, Beta_t Minor Value >= 0; 0 means use program determined value. 34 = Axial stability coefficient, Phi Major Value >= 0; 0 means use program determined value. 35 = Axial stability coefficient, Phi Minor Value >= 0; 0 means use program determined value. 36 = Flexural stability coefficient, Phi_b Major Value >= 0; 0 means use program determined value. 37 = Flexural stability coefficient, Phi_b Minor Value >= 0; 0 means use program determined value. 38 = Plasticity factor, Gamma Major Value >= 0; 0 means use program determined value. 39 = Plasticity factor, Gamma Minor Value >= 0; 0 means use program determined value. 40 = Section influence coefficient, Eta Value >= 0; 0 means use program determined value. 41 = B/C capacity factor, Eta Value >= 0; 0 means use program determined value. 42 = Euler moment factor, Delta Major

Value >= 0; 0 means use program determined value. 43 = Euler moment factor, Delta Minor Value >= 0; 0 means use program determined value. 44 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 45 = Allowable normal stress, f Value >= 0; 0 means use program determined value. [F/L2] 46 = Allowable shear stress, fv Value >= 0; 0 means use program determined value. [F/L2] 47 = Consider fictitious shear 0 = Program Determined 1 = No 2 = Yes 48 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value 49 = Dual system magnification factor Value >= 0; 0 means use program default value. 50 = Lo/r limit in compression Value >= 0; 0 means use program determined value. 51 = L/r limit in tension Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects= 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects,

and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2002") 'set overwrite item ret = SapModel.DesignSteel.Chinese_2002.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 49, 50, and 51 in Version 14.0.0. Modified Item 1 and added Truss to Item 2 in version 14.1.0.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.CISC_95.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Item

This is an integer between 1 and 35, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, Omega1 Major 22 = Moment coefficient, Omega1 Minor 23 = Bending coefficient, Cb 24 = Non-sway moment factor, U1 Major 25 = Non-sway moment factor, U1 Minor 26 = Sway moment factor, U2 Major 27 = Sway moment factor, U2 Minor 28 = Yield stress, Fy 29 = Compressive capacity, Cr 30 = Tensile capacity, Tr 31 = Major bending capacity, Mr3 32 = Minor bending capacity, Mr2 33 = Major shear capacity, Vr2 34 = Minor shear capacity, Vr3

35 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, Omega1 Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Omega1 Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, Omega2 Value >= 0; 0 means use program determined value. 24 = Non-sway moment factor, U1 Major Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor, U1 Minor Value >= 0; 0 means use program determined value.

26 = Sway moment factor, U2 Major Value >= 0; 0 means use program determined value. 27 = Sway moment factor, U2 Minor Value >= 0; 0 means use program determined value. 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Cr Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Tr Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mr3 Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mr2 Value >= 0; 0 means use program determined value. [FL] 33 = Major shear capacity, Vr2 Value >= 0; 0 means use program determined value. [F] 34 = Minor shear capacity, Vr3 Value >= 0; 0 means use program determined value. [F] 35 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects,

and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemCISC_95() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CISC 95") 'set overwrite item ret = SapModel.DesignSteel.CISC_95.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.EUROCODE_3_1993.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor Lateral Torsional Buckling 19 = Effective length factor, K Major 20 = Effective length factor, K Minor 21 = Moment coefficient, k Major 22 = Moment coefficient, k Minor 23 = Bending coefficient, C1 24 = Moment coefficient, k Lateral Torsional Buckling 25 = Non-sway moment factor 26 = Sway moment factor, Psi Major 27 = Sway moment factor, Psi Minor 28 = Yield stress, Fy 29 = Compressive capacity, Nc.Rd 30 = Tensile capacity, Nt.Rd 31 = Major bending capacity, Mc3.Rd 32 = Minor bending capacity, Mc2.Rd 33 = Buckling resistance moment, Mb.Rd 34 = Major shear capacity, V2.Rd

35 = Minor shear capacity, V3.RD 36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 19 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 21 = Moment coefficient, k Major Value >= 0; 0 means use program determined value. 22 = Moment coefficient, k Minor Value >= 0; 0 means use program determined value. 23 = Bending coefficient, C1 Value >= 0; 0 means use program determined value. 24 = Moment coefficient, k Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 25 = Non-sway moment factor Value >= 0; 0 means use program determined value.

26 = Sway moment factor, Psi Major Value >= 0; 0 means use program determined value. 27 = Sway moment factor, Psi Minor Value >= 0; 0 means use program determined value. 28 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 29 = Compressive capacity, Nc.Rd Value >= 0; 0 means use program determined value. [F] 30 = Tensile capacity, Nt.Rd Value >= 0; 0 means use program determined value. [F] 31 = Major bending capacity, Mc3.Rd Value >= 0; 0 means use program determined value. [FL] 32 = Minor bending capacity, Mc2.Rd Value >= 0; 0 means use program determined value. [FL] 33 = Buckling resistance moment, Mb.Rd Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, Vn2.Rd Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, Vn3.RD Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects= 2

If this item is Object, the assignment is made to the frame object specified by the Name item.

If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemEUROCODE_3_1993() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("EUROCODE 3-1993") 'set overwrite item ret = SapModel.DesignSteel.EUROCODE_3_1993.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.INDIAN_IS_800_1998.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 34, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Consider deflection 3 = Deflection check type 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total load deflection limit, L/Value 8 = Total camber limit, L/Value 9 = DL deflection limit, absolute 10 = SDL + LL deflection limit, absolute 11 = LL deflection limit, absolute 12 = Total load deflection limit, absolute 13 = Total camber limit, absolute 14 = Specified camber 15 = Net area to total area ratio 16 = Live load reduction factor 17 = Unbraced length ratio, Major 18 = Unbraced length ratio, Minor 19 = Unbraced length ratio, Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Effective length factor, K Lateral Torsional Buckling 23 = Moment coefficient, Cm Major 24 = Moment coefficient, Cm Minor 25 = Yield stress, Fy 26 = Allowable compressive stress, Sigma_ac 27 = Allowable tensile stress, Sigma_at 28 = Allowable major bending stress, Sigma_bc33 29 = Allowable minor bending stress, Sigma_bc22 30 = Major average shear stress, Tau_va2 31 = Minor average shear stress, Tau_va3 32 = Maximum elastic shear stress, Tau_vm 33 = Allowable effective stress, Sigma_e 34 = Demand/capacity ratio limit

Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway Frame 2 = Nonsway Frame 2 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 3 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 4 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 5 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 9 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 10 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Specified camber Value >= 0. [L] 15 = Net area to total area ratio Value >= 0; 0 means use program default value. 16 = Live load reduction factor Value >= 0; 0 means use program determined value. 17 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Minor Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Effective length factor, K Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 24 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 26 = Allowable compressive stress, Sigma_ac

Value >= 0; 0 means use program determined value. [F/L2] 27 = Allowable tensile stress, Sigma_at Value >= 0; 0 means use program determined value. [F/L2] 28 = Allowable major bending stress, Sigma_bc33 Value >= 0; 0 means use program determined value. [F/L2] 29 = Allowable minor bending stress, Sigma_bc22 Value >= 0; 0 means use program determined value. [F/L2] 30 = Major average shear stress, Tau_va2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Minor average shear stress, Tau_va3 Value >= 0; 0 means use program determined value. [F/L2] 32 = Maximum elastic shear stress, Tau_vm Value >= 0; 0 means use program determined value. [F/L2] 33 = Allowable effective stress, Sigma_e Value >= 0; 0 means use program determined value. [F/L2] 34 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemINDIAN_IS_800_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-1998") 'set overwrite item ret = SapModel.DesignSteel.INDIAN_IS_800_1998.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.ITALIAN_UNI_10011.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemType item. Name

The name of a frame object with a steel frame design procedure. Item

This is an integer between 1 and 26, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Axial load amplification(Omega) 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral TorsionalBuckling 20 = Effective length factor, Beta Major 21 = Effective length factor, Beta Minor 22 = Moment coefficient, Meq/Mmax Major 23 = Moment coefficient, Meq/Mmax Minor 24 = LTB moment coefficient (Omega1) 25 = Yield stress, Fy 26 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Sway Frame

2 = NonSway Frame 2 = Axial load amplification(Omega) Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral TorsionalBuckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, Beta Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, Beta Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Meq/Mmax Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Meq/Mmax Minor Value >= 0; 0 means use program determined value. 24 = LTB moment coefficient (Omega1) Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 26 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1

SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjectst, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemITALIAN_UNI_10011() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("ITALIAN UNI 10011") 'set overwrite item ret = SapModel.DesignSteel.ITALIAN_UNI_10011.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.UBC97_ASD.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group, depending on the value of the ItemTypeitem. Item

This is an integer between 1 and 32, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Moment coefficient, Cm Major 23 = Moment coefficient, Cm Minor 24 = Bending coefficient, Cb 25 = Yield stress, Fy 26 = Compressive stress, Fa 27 = Tensile stress, Ft 28 = Major bending stress, Fb3 29 = Minor bending stress, Fb2 30 = Major shear stress, Fv2 31 = Minor shear stress, Fv3 32 = Demand/capacity ratio limit Value

The value of the considered overwrite item.

1 = Framing type 0 = Program Default 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L]

12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 24 = Bending coefficient, Cb Value >= 0; 0 means use program determined value. 25 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 26 = Compressive stress, Fa

Value >= 0; 0 means use program determined value. [F/L2] 27 = Tensile stress, Ft Value >= 0; 0 means use program determined value. [F/L2] 28 = Major bending stress, Fb3 Value >= 0; 0 means use program determined value. [F/L2] 29 = Minor bending stress, Fb2 Value >= 0; 0 means use program determined value. [F/L2] 30 = Major shear stress, Fv2 Value >= 0; 0 means use program determined value. [F/L2] 31 = Minor shear stress, Fv3 Value >= 0; 0 means use program determined value. [F/L2] 32 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemUBC97_ASD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-ASD") 'set overwrite item ret = SapModel.DesignSteel.UBC97_ASD.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetOverwrite Syntax SapObject.SapModel.DesignSteel.UBC97_LRFD.SetOverwrite

VB6 Procedure Function SetOverwrite(ByVal Name As String, ByVal Item As Long, ByVal Value As Double, Optional ByValItemType As eItemType = Object) As Long

Parameters Name

The name of an existing frame object or group depending on the value of the ItemType item. Item

This is an integer between 1 and 36, inclusive, indicating the overwrite item considered. 1 = Framing type 2 = Omega0 3 = Consider deflection 4 = Deflection check type 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total load deflection limit, L/Value 9 = Total camber limit, L/Value 10 = DL deflection limit, absolute 11 = SDL + LL deflection limit, absolute 12 = LL deflection limit, absolute 13 = Total load deflection limit, absolute 14 = Total camber limit, absolute 15 = Specified camber 16 = Net area to total area ratio 17 = Live load reduction factor 18 = Unbraced length ratio, Major 19 = Unbraced length ratio, Minor Lateral Torsional Buckling 20 = Effective length factor, K Major 21 = Effective length factor, K Minor 22 = Moment coefficient, Cm Major 23 = Moment coefficient, Cm Minor 24 = Bending coefficient, Cb 25 = Non-sway moment factor, B1 Major 26 = Non-sway moment factor, B1 Minor 27 = Sway moment factor, B2 Major 28 = Sway moment factor, B2 Minor 29 = Yield stress, Fy 30 = Compressive capacity, phi*Pnc 31 = Tensile capacity, phi*Pnt 32 = Major bending capacity, phi*Mn3 33 = Minor bending capacity, phi*Mn2 34 = Major shear capacity, phi*Vn2

35 = Minor shear capacity, phi*Vn3 36 = Demand/capacity ratio limit Value

The value of the considered overwrite item. 1 = Framing type 0 = Program Default 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Omega0 Value >= 0; 0 means use a program determined value. 3 = Consider deflection 0 = Program Determined 1 = No 2 = Yes 4 = Deflection check type 0 = Program default 1 = Ratio 2 = Absolute 3 = Both 5 = DL deflection limit, L/Value Value >= 0; 0 means no check for this item. 6 = SDL + LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 7 = LL deflection limit, L/Value Value >= 0; 0 means no check for this item. 8 = Total load deflection limit, L/Value Value >= 0; 0 means no check for this item. 9 = Total camber limit, L/Value Value >= 0; 0 means no check for this item. 10 = DL deflection limit, absolute

Value >= 0; 0 means no check for this item. [L] 11 = SDL + LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 12 = LL deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 13 = Total load deflection limit, absolute Value >= 0; 0 means no check for this item. [L] 14 = Total camber limit, absolute Value >= 0; 0 means no check for this item. [L] 15 = Specified camber Value >= 0. [L] 16 = Net area to total area ratio Value >= 0; 0 means use program default value. 17 = Live load reduction factor Value >= 0; 0 means use program determined value. 18 = Unbraced length ratio, Major Value >= 0; 0 means use program determined value. 19 = Unbraced length ratio, Minor Lateral Torsional Buckling Value >= 0; 0 means use program determined value. 20 = Effective length factor, K Major Value >= 0; 0 means use program determined value. 21 = Effective length factor, K Minor Value >= 0; 0 means use program determined value. 22 = Moment coefficient, Cm Major Value >= 0; 0 means use program determined value. 23 = Moment coefficient, Cm Minor Value >= 0; 0 means use program determined value. 24 = Bending coefficient, Cb Value >= 0; 0 means use program determined value.

25 = Nonsway moment factor, B1 Major Value >= 0; 0 means use program determined value. 26 = Nonsway moment factor, B1 Minor Value >= 0; 0 means use program determined value. 27 = Sway moment factor, B2 Major Value >= 0; 0 means use program determined value. 28 = Sway moment factor, B2 Minor Value >= 0; 0 means use program determined value. 29 = Yield stress, Fy Value >= 0; 0 means use program determined value. [F/L2] 30 = Compressive capacity, phi*Pnc Value >= 0; 0 means use program determined value. [F] 31 = Tensile capacity, phi*Pnt Value >= 0; 0 means use program determined value. [F] 32 = Major bending capacity, phi*Mn3 Value >= 0; 0 means use program determined value. [FL] 33 = Minor bending capacity, phi*Mn2 Value >= 0; 0 means use program determined value. [FL] 34 = Major shear capacity, phi*Vn2 Value >= 0; 0 means use program determined value. [F] 35 = Minor shear capacity, phi*Vn3 Value >= 0; 0 means use program determined value. [F] 36 = Demand/capacity ratio limit Value >= 0; 0 means use program determined value. ItemType

This is one of the following items in the eItemType enumeration: Object = 0 Group = 1 SelectedObjects = 2

If this item is Object, the assignment is made to the frame object specified by the Name item. If this item is Group, the assignment is made to all frame objects in the group specified by the Name item. If this item is SelectedObjects, assignment is made to all selected frame objects, and the Name item is ignored.

Remarks This function sets the value of a steel design overwrite item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignOverwriteItemUBC97_LRFD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-LRFD") 'set overwrite item ret = SapModel.DesignSteel.UBC97_LRFD.SetOverwrite("8", 1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03.

See Also GetOverwrite

SetPrecastI (Note: Newer Function Available) Syntax SapObject.SapModel.PropFrame.SetPrecastI

VB6 Procedure Function SetPrecastI(ByVal Name As String, ByVal MatProp As String, ByRef b() As Double, ByRef d() As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new frame section property. If this is an existing property, that property is modified; otherwise, a new property is added. MatProp

The name of the material property for the section. b

This is an array, dimensioned to 3, containing the horizontal section dimensions. [L] b(0) b(1) b(2) b(3)

= = = =

B1 (> 0) B2 (> 0) B3 (> 0) B4 (>= 0)

Section dimensions B1 through B4 are defined on the precast concrete I girder definition form. d

This is an array, dimensioned to 5, containing the vertical section dimensions. [L] d(0) d(1) d(2) d(3) d(4) d(5)

= = = = = =

D1 (> 0) D2 (> 0) D3 (>= 0) D4 (>= 0) D5 (>= 0) D6 (> 0)

Section dimensions D1 through D6 are defined on the precast concrete I girder definition form. Color

The display color assigned to the section. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the section. GUID

The GUID (global unique identifier), if any, assigned to the section. If this item is input as Default, the program assigns a GUID to the section.

Remarks This function initializes a precast concrete I girder frame section property. If this function is called for an existing frame section property, all items for the section are reset to their default value. The function returns zero if the section property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetFramePropPrecastI() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim bb() As Double Dim dd() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set new ReDim ReDim bb(0) bb(1) bb(2) bb(3) dd(0) dd(1) dd(2) dd(3) dd(4) dd(5) ret = dd)

frame section property bb(3) dd(5) = 16 = 22 = 7 = 0 = 45 = 7 = 4.5 = 0 = 7.5 = 7 SapModel.PropFrame.SetPrecastI("PC1", "4000Psi", bb,

'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing

Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. The function is obsolete and has been superceded by SetPrecastI_1 as of version 17.2.0. This function is maintained for backward compatibility.

See Also GetPrecastI

SetPreference Syntax SapObject.SapModel.DesignConcrete.ACI318_05_IBC2003.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 13, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Seismic design category 5 = Phi tension controlled 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear and/or torsion 9 = Phi shear seismic 10 = Phi joint shear 11 = Pattern live load factor 12 = Utilization factor limit 13 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 5 = Phi tension controlled Value > 0 6 = Phi compression controlled tied

Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear and/or torsion Value > 0 9 = Phi shear seismic Value > 0 10 = Phi joint shear Value > 0 11 = Pattern live load factor Value >= 0 12 = Utilization factor limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemACI318_05_IBC2003() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI318-05/IBC2003") 'set preference item ret = SapModel.DesignConcrete.ACI318_05_IBC2003.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.ACI_318_02.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 13, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Seismic design category 5 = Phi tension controlled 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear and/or torsion 9 = Phi shear seismic 10 = Phi joint shear 11 = Pattern live load factor 12 = Utilization factor limit 13 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Seismic design category 1=A 2=B 3=C 4=D 5=E 6=F 5 = Phi tension controlled Value > 0 6 = Phi compression controlled tied

Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear and/or torsion Value > 0 9 = Phi shear seismic Value > 0 10 = Phi joint shear Value > 0 11 = Pattern live load factor Value >= 0 12 = Utilization factor limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemACI_318_02() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-02") 'set preference item ret = SapModel.DesignConcrete.ACI_318_02.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.ACI_318_99.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending torsion 5 = Phi compression controlled tied 6 = Phi compression controlled spiral 7 = Phi shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending torsion Value > 0 5 = Phi compression controlled tied Value > 0 6 = Phi compression controlled spiral Value > 0 7 = Phi shear Value > 0 8 = Pattern live load factor Value >= 0

9 = Utilization factor limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemACI_318_99() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'createSapModelobject Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("ACI 318-99") 'set preference item ret = SapModel.DesignConcrete.ACI_318_99.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.BS8110_89.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 6, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6=

Number of interaction curves Number of interaction points Consider minimum eccentricity Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Pattern live load factor Value >= 0 5 = Utilization factor limit Value > 0 6 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemBS8110_89() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("BS8110 89") 'set preference item ret = SapModel.DesignConcrete.BS8110_89.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.AS_3600_01.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi tension controlled 5 = Phi compression controlled 6 = Phi shear and/or torsion 7 = Phi shear seismic 8 = Phi joint shear 9 = Pattern live load factor 10 = Utilization factor limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and divisible by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi tension controlled Value > 0 5 = Phi compression controlled Value > 0 6 = Phi shear and/or torsion Value > 0 7 = Phi shear seismic Value > 0 8 = Phi joint shear Value > 0

9 = Pattern live load factor Value >= 0 10 = Utilization factor limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise, it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemAS_3600_01() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("AS 3600-01") 'set preference item ret = SapModel.DesignConcrete.AS_3600_01.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 14.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.Chinese_2002.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Importance factor gamma 0 4 = Column design procedure 5 = Seismic design grade 6 = Pattern live load factor 7 = Utilization factor limit 8 = Multi-response case design 9 = Structural system 10 = Is tall building? 11 = Seismic field type Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Importance factor gamma 0 Value > 0 4 = Column design procedure 1 = Appendix F 2 = Simplified 5 = Seismic design grade 1 = Super I 2 = Grade I 3 = Grade II 4 = Grade III 5 = Grade IV 6 = Nonseismic 6 = Pattern live load factor Value >= 0

7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 9 = Structural system 1 = Frame only 2 = Shearwall only 3 = Frame-shearwall 4 = Braced frame only 5 = Frame-braced frame 10 = Is tall building? 0 = No 1 = Yes 11 = Seismic field type 1=I 2 = II 3 = III 4 = IV

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Chinese 2002") 'set preference item ret = SapModel.DesignConcrete.Chinese_2002.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Items 9, 10, and 11 in Version 14.0.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.CSA_A23_3_94.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 8, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8=

Number of interaction curves Number of interaction points Consider minimum eccentricity Phi steel Phi concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi steel Value > 0 5 = Phi concrete Value > 0 6 = Pattern live load factor Value >= 0 7 = Utilization factor limit Value > 0 8 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All

5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemCSA_A23_3_94() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("CSA-A23.3-94") 'set preference item ret = SapModel.DesignConcrete.CSA_A23_3_94.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.EUROCODE_2_1992.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Nu Gamma steel Gamma concrete Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Nu Value > 0 5 = Gamma steel Value > 0 6 = Gamma concrete Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemEUROCODE_2_1992() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("EUROCODE 2-1992") 'set preference item ret = SapModel.DesignConcrete.EUROCODE_2_1992.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.Hong_Kong_CP_2004.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 9, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5= 6= 7= 8= 9=

Number of interaction curves Number of interaction points Consider minimum eccentricity Gamma steel Gamma concrete Gamma concrete shear Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Gamma steel Value > 0 5 = Gamma concrete Value > 0 6 = Gamma concrete shear Value > 0 7 = Pattern live load factor Value >= 0 8 = Utilization factor limit Value > 0 9 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemHong_Kong_CP_2004() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Hong Kong CP 2004") 'set preference item ret = SapModel.DesignConcrete.Hong_Kong_CP_2004.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.Italian_DM_14_2_92.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 5, inclusive, indicating the preference item considered. 1= 2= 3= 4= 5=

Number of interaction curves Number of interaction points Pattern live load factor Utilization factor limit Multi-response case design

Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Pattern live load factor Value >= 0 4 = Utilization factor limit Value > 0 5 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemItalian_DM_14_2_92() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Italian DM 14-2-92") 'set preference item ret = SapModel.DesignConcrete.Italian_DM_14_2_92.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.Mexican_RCDF_2001.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending 5 = Phi tension 6 = Phi compression controlled tied 7 = Phi compression controlled spiral 8 = Phi shear 9 = Pattern live load factor 10 = Utilization factor limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending Value > 0 5 = Phi tension Value > 0 6 = Phi compression controlled tied Value > 0 7 = Phi compression controlled spiral Value > 0 8 = Phi shear Value > 0

9 = Pattern live load factor Value >= 0 10 = Utilization factor limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemMexican_RCDF_2001() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("Mexican RCDF 2001") 'set preference item ret = SapModel.DesignConcrete.Mexican_RCDF_2001.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.NZS_3101_95.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending 5 = Phi tension 6 = Phi compression 7 = Phi shear 8 = Omega 9 = Phi 0 10 = Rm 11 = Rv 12 = Pattern live load factor 13 = Utilization factor limit 14 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending Value > 0 5 = Phi tension Value > 0 6 = Phi compression Value > 0 7 = Phi shear Value > 0

8 = Omega Value > 0 9 = Phi 0 Value > 0 10 = Rm Value > 0 11 = Rv Value > 0 12 = Pattern live load factor Value >= 0 13 = Utilization factor limit Value > 0 14 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemNZS_3101_95() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("NZS 3101-95") 'set preference item ret = SapModel.DesignConcrete.NZS_3101_95.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignConcrete.UBC97.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Number of interaction curves 2 = Number of interaction points 3 = Consider minimum eccentricity 4 = Phi bending tension 5 = Phi compression controlled tied 6 = Phi compression controlled spiral 7 = Phi shear 8 = Pattern live load factor 9 = Utilization factor limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Number of interaction curves Value >= 4 and devisable by 4 2 = Number of interaction points Value >= 5 and odd 3 = Consider minimum eccentricity 0 = No Any other value = Yes 4 = Phi bending tension Value > 0 5 = Phi compression controlled tied Value > 0 6 = Phi compression controlled spiral Value > 0 7 = Phi shear Value > 0 8 = Pattern live load factor Value >= 0

9 = Utilization factor limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a concrete design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetConcreteDesignPreferenceItemUBC97() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create new concrete frame section property ret = SapModel.PropFrame.SetRectangle("R1", "4000Psi", 20, 12) 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288, True, "R1", "R1") 'set concrete design code ret = SapModel.DesignConcrete.SetCode("UBC97") 'set preference item ret = SapModel.DesignConcrete.UBC97.SetPreference(2, 9) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.AISC_ASD01.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design capacity 3 = Ignore seismic code 4 = Ignore special seismic load 5 = Isdoubler plate plug-welded 6 = Consider deflection 7 = DL deflection limit, L/Value 8 = SDL + LL deflection limit, L/Value 9 = LL deflection limit, L/Value 10 = Total deflection limit, L/Value 11 = Total camber limit, L/Value 12 = Pattern live load factor 13 = Demand/capacity ratio limit 14 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = OMF 2 = IMF 3 = SMF 4 = OCBF 5 = SCBF 6 = EBF 2 = Seismic design capacity 1=A 2=B 3=C 4=D 5=E 6=F 3 = Ignore seismic code 0 = No Any other value = Yes 4 = Ignore special seismic load

0 = No Any other value = Yes 5 = Is doubler plate plug-welded 0 = No Any other value = Yes 6 = Consider deflection 0 = No Any other value = Yes 7 = DL DLdeflection limit, L/Value Value > 0 8 = SDL + LL deflection limit, L/Value Value > 0 9 = LL deflection limit, L/Value Value > 0 10 = Total deflection limit, L/Value Value > 0 11 = Total camber limit, L/Value Value > 0 12 = Pattern live load factor Value >= 0 13 = Demand/capacity ratio limit Value > 0 14 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAISC_ASD01() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject= New Sap2000v16.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel= SapObject.SapModel 'initialize model ret= SapModel.InitializeNewModel 'create model from template ret= SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret= SapModel.DesignSteel.SetCode("AISC-ASD01") 'set preference item ret= SapModel.DesignSteel.AISC_ASD01.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel= Nothing Set SapObject= Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.AISC_LRFD99.SetPreference

VB6 Procedure Function GetPreference(ByVal Item As Long, ByRef Value As Double) As Long

Parameters Item

This is an integer between 1 and 21, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic design capacity 3 = Phi bending 4 = Phi compression 5 = Phi tension - yielding 6 = Phi tension - fracture 7 = Phi shear 8 = Phi shear - torsion 9 = Phi compression, angle 10 = Ignore seismic code 11 = Ignore special seismic code 12 = Is doubler plate plug-welded 13 = Consider deflection 14 = DL deflection limit, L/Value 15 = SDL + LL deflection limit, L/Value 16 = LL deflection limit, L/Value 17 = Total deflection limit, L/Value 18 = Total camber limit, L/Value 19 = Pattern live load factor 20 = Demand capacity ratio limit 21 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = OMF 2 = IMF 3 = SMF 4 = OCBF 5 = SCBF 6 = EBF 2 = Seismic design capacity 1=A 2=B 3=C 4=D 5=E

6=F 3 = Phi bending Value > 0 4 = Phi compression Value > 0 5 = Phi tension – yielding Value > 0 6 = Phi tension - fracture Value > 0 7 = Phi shear Value > 0 8 = Phi shear - torsion Value > 0 9 = Phi compression, angle Value > 0 10 = Ignore seismic code 0 = No Any other value = Yes 11 = Ignore special seismic code 0 = No Any other value = Yes 12 = Is doubler plate plug-welded 0 = No Any other value = Yes 13 = Consider deflection 0 = No Any other value = Yes 14 = DL deflection limit, L/Value Value > 0 15 = SDL + LL deflection limit, L/Value

Value > 0 16 = LL deflection limit, L/Value Value > 0 17 = Total deflection limit, L/Value Value > 0 18 = Total camber limit, L/Value Value > 0 19 = Pattern live load factor Value >= 0 20 = Demand capacity ratio limit Value > 0 21 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemAISC_LRFD99 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("AISC-LRFD99") 'set preference item ret = SapModel.DesignSteel.AISC_LRFD99.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.BS5950_90.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflection limit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflection limit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemBS5950_90() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("BS5950 90") 'set preference item ret = SapModel.DesignSteel.BS5950_90.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.Canadian_S16_01.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 21, inclusive, indicating the preference item considered. 1 = Multi-response case design 2 = Framing type 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) 4 = Ductility related modification factor, Rd 5 = Overstrength related modification factor, Ro 6 = Capacity factor, Phi bending 7 = Capacity factor, Phi compression 8 = Capacity factor, Phi tension 9 = Capacity factor, Phi shear 10 = Slender section modification 11 = Ignore seismic code 12 = Ignore special seismic load 13 = Doubler plate is plug welded 14 = Consider deflection 15 = DL deflection limit, L/Value 16 = SDL + LL deflection limit, L/Value 17 = LL deflection limit, L/Value 18 = Total load deflection limit, L/Value 19 = Total camber limit, L/Value 20 = Pattern live load factor 21 = Demand/capacity ratio limit Value

The value of the considered preference item. 1 = Multi-response case design 1 = Envelopes 2 = Step-by step 3 = Last step 4 = Envelopes - All 5 = Step-by step - All 2 = Framing type 1 = Type LD MRF 2 = Type MD MRF 3 = Type D MRF 4 = Type LD CBF(V) 5 = Type LD CBF(TC)

6 = Type LD CBF(TO) 7 = Type LD CBF(OT) 8 = Type MD CBF(V) 9 = Type MD CBF(TC) 10 = Type MD CBF(TO) 11 = Type MD CBF(OT) 12 = EBF 13 = Cantilever Column 14 = Conventional MF 15 = Conventional BF 3 = Spectral Acceleration Ratio, Ie*Fa*Sa(0.2) Value > 0 4 = Ductility related modification factor, Rd Value > 0 5 = Overstrength related modification factor, Ro Value > 0 6 = Capacity factor, Phi bending Value > 0 7 = Capacity factor, Phi compression Value > 0 8 = Capacity factor, Phi tension Value > 0 9 = Capacity factor, Phi shear Value > 0 10 = Slender section modification 1 = Modified geometry 2 = modified Fy 11 = Ignore seismic code 0 = No Any other value = Yes 12 = Ignore special seismic load 0 = No Any other value = Yes

13 = Doubler plate is plug welded 0 = No Any other value = Yes 14 = Consider deflection 0 = No Any other value = Yes 15 = DL deflection limit, L/Value Value > 0 16 = SDL + LL deflection limit, L/Value Value > 0 17 = LL deflection limit, L/Value Value > 0 18 = Total load deflection limit, L/Value Value > 0 19 = Total camber limit, L/Value Value > 0 20 = Pattern live load factor Value >= 0 21 = Demand/capacity ratio limit Value > 0

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set, otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemCanadian_S16_01 () 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CAN/CSA-S16-01") 'set preference item ret = SapModel.DesignSteel.Canadian_S16_01.SetPreference(1, 7) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.Chinese_2000.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Gamma0 3 = Ignore b/t check 4 = Classify beam as flexo compression member 5 = Consider deflection 6 = DL deflection limit, L/Value 7 = SDL + LL deflection limit, L/Value 8 = LL deflection limit, L/Value 9 = Total load deflection limit, L/Value 10 = Total camber limit, L/Value 11 = Pattern live load factor 12 = Demand/capacity ratio limit 13 = Multi-response case design 14 = Is tall building? Value

The value of the considered preference item. 1 = Framing type 0 = As specified in preferences 1 = Sway Moment Frame, SMF 2 = Concentrically Braced Frame, CBF 3 = Eccentrically Braced Frame, EBF 4 = NonSway Moment Frame, NMF 2 = Gamma0 Value > 0 3 = Ignore b/t check 0 = No Any other value = Yes 4 = Classify beam as flexo compression member 0 = No Any other value = Yes 5 = Consider deflection 0 = No Any other value = Yes

6 = DL deflection limit, L/Value Value > 0 7 = SDL + LL deflection limit, L/Value Value > 0 8 = LL deflection limit, L/Value Value > 0 9 = Total load deflection limit, L/Value Value > 0 10 = Total camber limit, L/Value Value > 0 11 = Pattern live load factor Value >= 0 12 = Demand/capacity ratio limit Value > 0 13 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All 14 = Tall building 0 = No 1 = Yes

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemChinese_2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Chinese 2002") 'set preference item ret = SapModel.DesignSteel.Chinese_2002.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Added Item 14 in Version 14.0.0. Modified Item 1 in version 14.1.0. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.CISC_95.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 14, inclusive, indicating the preference item considered. 1 = Framing type 2 = Phi bending 3 = Phi compression 4 = Phi tension 5 = Phi shear 6 = Consider deflection 7 = DL deflection limit, L/Value 8 = SDL + LL deflection limit, L/Value 9 = LL deflection limit, L/Value 10 = Total deflection limit, L/Value 11 = Total camber limit, L/Value 12 = Pattern live load factor 13 = Demand/capacity ratio limit 14 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = Phi bending Value > 0 3 = Phi compression Value > 0 4 = Phi tension Value > 0 5 = Phi shear Value > 0 6 = Consider deflection 0 = No Any other value = Yes 7 = DL deflection limit, L/Value

Value > 0 8 = SDL + LL deflection limit, L/Value Value > 0 9 = LL deflection limit, L/Value Value > 0 10 = Total load deflection limit, L/Value Value > 0 11 = Total camber limit, L/Value Value > 0 12 = Pattern live load factor Value >= 0 13 = Demand/capacity ratio limit Value > 0 14 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemCISC_95() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("CISC 95") 'set preference item ret = SapModel.DesignSteel.CISC_95.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.EUROCODE_3_1993.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = GammaM0 3 = GammeM1 4 = Consider deflection 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total deflection limit, L/Value 9 = Total camber limit, L/Value 10 = Pattern live load factor 11 = Demand/capacity ratio limit 12 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Moment Frame 2 = Braced Frame 2 = GammaM0 Value > 0 3 = GammeM1 Value > 0 4 = Consider deflection 0 = No Any other value = Yes 5 = DL deflection limit, L/Value Value > 0 6 = SDL + LL deflection limit, L/Value Value > 0 7 = LL deflection limit, L/Value Value > 0

8 = Total deflection limit, L/Value Value > 0 9 = Total camber limit, L/Value Value > 0 10 = Pattern live load factor Value >= 0 11 = Demand/capacity ratio limit Value > 0 12 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemEUROCODE_3_1993() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("EUROCODE 3-1993") 'set preference item ret = SapModel.DesignSteel.EUROCODE_3_1993.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.Indian_IS:800_1998.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 11, inclusive, indicating the preference item considered. 1 = Framing type 2 = Lateral factor 3 = Consider deflection 4 = DL deflection limit, L/Value 5 = SDL + LL deflection limit, L/Value 6 = LL deflection limit, L/Value 7 = Total deflection limit, L/Value 8 = Total camber limit, L/Value 9 = Pattern live load factor 10 = Demand/capacity ratio limit 11 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Sway Frame 2 = Nonsway Frame 2 = Lateral factor Value > 0 3 = Consider deflection 0 = No Any other value = Yes 4 = DL deflection limit, L/Value Value > 0 5 = SDL + LL deflection limit, L/Value Value > 0 6 = LL deflection limit, L/Value Value > 0 7 = Total deflection limit, L/Value Value > 0 8 = Total camber limit, L/Value

Value > 0 9 = Pattern live load factor Value >= 0 10 = Demand/capacity ratio limit Value > 0 11 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemIndian_IS_800_1998() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Indian IS:800-1998") 'set preference item ret = SapModel.DesignSteel.Indian_IS_800_1998.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.Italian_UNI_10011.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 10, inclusive, indicating the preference item considered. 1 = Framing type 2 = Consider deflection 3 = DL deflection limit, L/Value 4 = SDL + LL deflectionlimit, L/Value 5 = LL deflection limit, L/Value 6 = Total deflectionlimit, L/Value 7 = Total camber limit, L/Value 8 = Pattern live load factor 9 = Demand/capacity ratio limit 10 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Sway Frame 2 = NonSway Frame 2 = Consider deflection 0 = No Any other value = Yes 3 = DL deflection limit, L/Value Value > 0 4 = SDL + LL deflection limit, L/Value Value > 0 5 = LL deflection limit, L/Value Value > 0 6 = Total deflection limit, L/Value Value > 0 7 = Total camber limit, L/Value Value > 0 8 = Pattern live load factor Value >= 0

9 = Demand/capacity ratio limit Value > 0 10 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemItalian_UNI_10011() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("Italian UNI 10011") 'set preference item ret = SapModel.DesignSteel.Italian_UNI_10011.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.UBC97_ASD.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 12, inclusive, indicating the preference item considered. 1 = Framing type 2 = Seismic zone 3 = Lateral factor 4 = Consider deflection 5 = DL deflection limit, L/Value 6 = SDL + LL deflection limit, L/Value 7 = LL deflection limit, L/Value 8 = Total deflection limit, L/Value 9 = Total camber limit, L/Value 10 = Pattern live load factor 11 = Demand/capacity ratio limit 12 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Seismic zone 1 = Zone 0 2 = Zone 1 3 = Zone 2 4 = Zone 3 5 = Zone 4 3 = Lateral factor Value > 0 4 = Consider deflection 0 = No Any other value = Yes 5 = DL limit, L/Value Value > 0

6 = Super DL + LL limit, L/Value Value > 0 7 = Live load limit, L/Value Value > 0 8 = Total limit, L/Value Value > 0 9 = Total camber limit, L/Value Value > 0 10 = Pattern live load factor Value >= 0 11 = Demand/capacity ratio limit Value > 0 12 = Multi-response case design 1 = Envelopes 2 = Step-by-step 3 = Last step 4 = Envelopes -- All 5 = Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemUBC97_ASD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-ASD") 'set preference item ret = SapModel.DesignSteel.UBC97_ASD.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetPreference Syntax SapObject.SapModel.DesignSteel.UBC97_LRFD.SetPreference

VB6 Procedure Function SetPreference(ByVal Item As Long, ByVal Value As Double) As Long

Parameters Item

This is an integer between 1 and 17, inclusive, indicating the preference item considered. 1 = Framing type 2 = Importance factor 3 = Seismic zone 4 = Phi bending 5 = Phi compression 6 = Phi tension 7 = Phi shear 8 = Phi compression angle 9 = Consider deflection 10 = DL deflection limit, L/Value 11 = SDL + LL limit, L/Value 12 = Live load limit, L/Value 13 = Total limit, L/Value 14 = Total camber limit, L/Value 15 = Pattern live load factor 16 = Demand/capacity ratio limit 17 = Multi-response case design Value

The value of the considered preference item. 1 = Framing type 1 = Ordinary MRF 2 = Special MRF 3 = Braced Frame 4 = Special CBF 5 = EBF 2 = Importance factor Value > 0 3 = Seismic zone 1 = Zone 0 2 = Zone 1 3 = Zone 2 4 = Zone 3 5 = Zone 4 3 = Lateral factor

Value > 0 4 = Phi bending Value > 0 5 = Phi compression Value > 0 6 = Phi tension Value > 0 7 = Phi shear Value > 0 8 = Phi compression angle Value > 0 9 = Consider deflection 0 = No Any other value = Yes 10 = DL limit, L/Value Value > 0 11 = Super DL + LL limit, L/Value Value > 0 12 = Live load limit, L/Value Value > 0 13 = Total limit, L/Value Value > 0 14 = Total camber limit, L/Value Value > 0 15 = Pattern live load factor Value >= 0 16 = Demand/capacity ratio limit Value > 0 17 = Multi-response case design

1= 2= 3= 4= 5=

Envelopes Step-by-step Last step Envelopes -- All Step-by-step -- All

Remarks This function sets the value of a steel design preference item. The function returns zero if the item is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetSteelDesignPreferenceItemUBC97_LRFD() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set steel design code ret = SapModel.DesignSteel.SetCode("UBC97-LRFD") 'set preference item ret = SapModel.DesignSteel.UBC97_LRFD.SetPreference(1, 2) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed Time history design item to Multi-response case design and added additional values in version 15.0.1.

See Also GetPreference

SetShell

(Note: Newer function available)

Syntax SapObject.SapModel.PropArea.SetShell

VB6 Procedure Function SetShell(ByVal Name As String, ByVal ShellType As Long, ByVal MatProp As String, ByVal MatAng As Double, ByVal Thickness As Double, ByVal Bending As Double, Optional ByVal Color As Long = -1, Optional ByVal Notes As String = "", Optional ByVal GUID As String = "") As Long

Parameters Name

The name of an existing or new area property. If this is an existing property, that property is modified; otherwise, a new property is added. ShellType

This is 1, 2, 3, 4, 5 or 6, indicating the shell type. 1= 2= 3= 4= 5= 6=

Shell - thin Shell - thick Plate - thin Plate - thick Membrane Shell layered/nonlinear

MatProp

The name of the material property for the area property. This item does not apply when ShellType = 6. MatAng

The material angle. [deg] This item does not apply when ShellType = 6. Thickness

The membrane thickness. [L] This item does not apply when ShellType = 6. Bending

The bending thickness. [L] This item does not apply when ShellType = 6. Color

The display color assigned to the property. If Color is specified as -1, the program will automatically assign a color. Notes

The notes, if any, assigned to the property. GUID

The GUID (global unique identifier), if any, assigned to the property. If this item is input as Default, the program assigns a GUID to the property.

Remarks This function initializes a shell-type area property. If this function is called for an existing area property, all items for the property are reset to their default value. The function returns zero if the property is successfully initialized; otherwise it returns a nonzero value.

VBA Example Sub SetAreaPropShell() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set new area property ret = SapModel.PropArea.SetShell("A1", 1, "4000Psi", 0, 16, 16) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. The function is obsolete and has been superceded by SetShell_1 as of version 14.00. This function is maintained for backward compatibility. New function added

See Also GetShell

SetShellLayer (Note:

Newer function available)

Syntax SapObject.SapModel.PropArea.SetShellLayer

VB6 Procedure Function SetShellLayer(ByVal Name As String, ByVal NumberLayers As Long, ByRef LayerName() As String, ByRef Dist() As Double, ByRef Thickness() As Double, ByRef MatProp() As String, ByRef NonLinear() As Boolean, ByRef MatAng() As Double, ByRef NumIntegrationPts() As Long) As Long

Parameters Name

The name of an existing shell-type area property that is specified to be a layered shell property. NumberLayers

The number of layers in the area property. LayerName

This is an array that includes the name of each layer. Dist

This is an array that includes the distance from the area reference surface (area object joint location plus offsets) to the midheight of the layer. [L] Thickness

This is an array that includes the thickness of each layer. [L] MatProp

This is an array that includes the name of the material property for the layer. NonLinear

This is an array that includes a boolean (True or False) value. If this item is True, and if the material property assigned to the layer is nonlinear, the layer will behave nonlinearly in a nonlinear load case. If this item is False, the layer will never behave nonlinearly. MatAng

This is an array that includes the material angle for the layer. [deg] NumIntegrationPts

The number of integration points in the thickness direction for the layer. The locations are determined by the program using standard Guass-quadrature rules.

Remarks This function assigns the layer parameters for shell-type area properties. The function returns zero if the parameters are successfully assigned; otherwise it returns a nonzero value. The function returns an error if the specified area property is not a shell-type property specified to be a layered shell.

VBA Example Sub SetAreaPropShellLayer() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Name As String Dim MyNumberLayers As Long Dim MyLayerName() As String Dim MyDist() As Double Dim MyThickness() As Double Dim MyMatProp() As String Dim MyNonLinear() As Boolean Dim MyMatAng() As Double Dim MyNumIntegrationPts() As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) 'set new area property ret = SapModel.PropArea.SetShell("A1", 6, "", 0, 0, 0) 'add A615Gr60 rebar material ret = SapModel.PropMaterial.AddQuick(Name, MATERIAL_REBAR, , , , , MATERIAL_REBAR_SUBTYPE_ASTM_A615Gr60) 'set area property layer parameters MyNumberLayers = 5 ReDim MyLayerName(MyNumberLayers - 1) ReDim MyDist(MyNumberLayers - 1) ReDim MyThickness(MyNumberLayers - 1)

ReDim ReDim ReDim ReDim

MyMatProp(MyNumberLayers - 1) MyNonLinear(MyNumberLayers - 1) MyMatAng(MyNumberLayers - 1) MyNumIntegrationPts(MyNumberLayers - 1)

MyLayerName(0) = "Concrete" MyDist(0) = 0 MyThickness(0) = 16 MyMatProp(0) = "4000Psi" MyNonLinear(0) = False MyMatAng(0) = 0 MyNumIntegrationPts(0) = 2 MyLayerName(1) = "Top Bar 1" MyDist(1) = 6 MyThickness(1) = 0.03 MyMatProp(1) = Name MyNonLinear(1) = False MyMatAng(1) = 0 MyNumIntegrationPts(1) = 1 MyLayerName(2) = "Top Bar 2" MyDist(2) = 6 MyThickness(2) = 0.03 MyMatProp(2) = Name MyNonLinear(2) = False MyMatAng(2) = 90 MyNumIntegrationPts(2) = 1 MyLayerName(3) = "Bot Bar 1" MyDist(3) = -6 MyThickness(3) = 0.03 MyMatProp(3) = Name MyNonLinear(3) = False MyMatAng(3) = 0 MyNumIntegrationPts(3) = 1 MyLayerName(4) = "Bot Bar 2" MyDist(4) = -6 MyThickness(4) = 0.03 MyMatProp(4) = Name MyNonLinear(4) = False MyMatAng(4) = 90

MyNumIntegrationPts(4) = 1 ret = SapModel.PropArea.SetShellLayer("A1", MyNumberLayers, MyLayerName, MyDist, MyThickness, MyMatProp, MyNonLinear, MyMatAng, MyNumIntegrationPts) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.02. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. This function is obsolete and has been superceded by SetShellLayer_1 as of version 12.5. This function is maintained for backwards compatibility.

See Also GetShellLayer GetShellLayer_1

SetSolverOption (Note:

Newer function available)

Syntax SapObject.SapModel.Analyze.SetSolverOption

VB6 Procedure Function SetSolverOption(ByVal SolverType As Long, ByVal Force32BitSolver As Boolean, Optional ByVal StiffCase As String = "") As Long

Parameters SolverType

This is 0 or 1, indicating the solver type. 0 = Standard solver 1 = Advanced solver Force32BitSolver

This is True if the analysis is always run using 32-bit, even on 64-bit computers. StiffCase

The name of the load case used when outputting the mass and stiffness matrices to text files. If this item is blank, no matrices are output.

Remarks This function sets the model solver options. The function returns zero if the options are successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetModelSolverOption() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'set model solver options ret = SapModel.Analyze.SetSolverOption(1, True, "DEAD") 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00. This function is obsolete and has been superceded by SetSolverOption_1 as of version 14.2.2. This function is maintained for backwards compatibility.

See Also GetSolverOption

SetStageData_1 (Note: Newer Function Available) Syntax SapObject.SapModel.LoadCases.StaticNonlinear.SetStageData_1

VB6 Procedure Function SetStageData_1(ByVal Name As String, ByVal Stage As Long, ByVal NumberOperations As Long, ByRef Operation() As Long, ByRef ObjectType() As String, ByRef ObjectName() As String, ByRef Age() As Long, ByRef MyType() As String, ByRef MyName() As String, ByRef SF() As Double) As Long

Parameters Name

The name of an existing static nonlinear staged load case. Stage

The stage in the specified load case to which the data applies. Stages are numbered sequentially starting from 1. NumberOperations

The number of operations in the specified stage. Operation

This is an array that includes 1, 2, 3, 4, 5, 6, 7, or 11, indicating an operation type. 1 = Add structure 2 = Remove structure 3 = Load objects if new 4 = Load objects 5 = Change section properties 6 = Change section property modifiers 7 = Change releases 11 = Change section properties and age ObjectType

This is an array that includes the object type associated with the specified operation. The object type may be one of the following: Group Frame Cable Tendon Area Solid Link Point

The following list shows which object types are applicable to each operation type: Operation = Operation = Operation = Operation = Operation = Operation =

1 (Add structure): All object types 2 (Remove structure): All object types 3 (Load objects if new): All object types 4 (Load objects): All object types 5 (Change section properties): All object types except Point 6 (Change section property modifiers): Group, Frame, Cable, Area

Operation = 7 (Change releases): Group, Frame Operation = 11 (Change section properties and age): All object types except Point ObjectName

This is an array that includes the name of the object associated with the specified operation. This is the name of a Group, Frame object, Cable object, Tendon object, Area object, Solid object, Link object or Point object, depending on the ObjectType item. Age

This is an array that includes the age of the added structure, at the time it is added, in days. This item applies only to operations with Operation = 1. MyType

This is an array that includes a load type or an object type, depending on what is specified for the Operation item. This item applies only to operations with Operation = 3, 4, 5, 6, 7, or 11. When Operation = 3 or 4, this is an array that includes Load or Accel, indicating the load type of an added load. When Operation = 5 or 11, and the ObjectType item is Group, this is an array that includes Frame, Cable, Tendon, Area, Solid or Link, indicating the object type for which the section property is changed. When Operation = 6 and the ObjectType item is Group, this is an array that includes Frame, Cable or Area, indicating the object type for which the section property modifiers are changed. When Operation = 7 and the ObjectType item is Group, this is an array that includes Frame, indicating the object type for which the releases are changed. When Operation = 5, 6, 7, or 11, and the ObjectType item is not Group and not Point, this item is ignored and the type is picked up from the ObjectType item. MyName

This is an array that includes a load assignment or an object name, depending on what is specified for the Operation item. This item applies only to operations with Operation = 3, 4, 5, 6, 7 or 11. When Operation = 3 or 4, this is an array that includes the name of the load assigned to the operation. If the associated LoadType item is Load, this item is the name of a defined load pattern. If the associated LoadType item is Accel, this item is UX, UY, UZ, RX, RY or RZ, indicating the direction of the load.

When Operation = 5 or 11, this is the name of a Frame, Cable, Tendon, Area, Solid or Link object, depending on the object type specified. When Operation = 6, this is the name of a Frame, Cable or Area object, depending on the object type specified. When Operation = 7, this is the name of a Frame object. SF

This is an array that includes the scale factor for the load assigned to the operation, if any. [L/s2] for Accel UX UY and UZ; otherwise unitless This item applies only to operations with Operation = 3 or 4.

Remarks This function sets the stage data for the specified stage in the specified load case. All previous stage data for the specified stage is cleared when this function is called. The function returns zero if the data is successfully set; otherwise it returns a nonzero value.

VBA Example Sub SetCaseStaticNonlinearStagedStageData_1() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyDuration() As Long Dim MyOutput() As Boolean Dim MyOutputName() As String Dim MyComment() As String Dim MyOperation() As Long Dim MyObjectType() As String Dim MyObjectName() As String Dim MyAge() As Long Dim MyMyType() As String Dim MyMyName() As String Dim MySF() As Double 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add static nonlinear staged load case ret = SapModel.LoadCases.StaticNonlinearStaged.SetCase("ACASE1") 'initialize stage definitions ReDim MyDuration(1) ReDim MyOutput(1) ReDim MyOutputName(1) ReDim MyComment(1) MyDuration(0) = 0

MyOutput(0) = False MyComment(0) = "Build structure" MyDuration(1) = 60 MyOutput(1) = True MyOutputName(1) = "HBC2" MyComment(1) = "Wait" ret = SapModel.LoadCases.StaticNonlinearStaged.SetStageDefinitions_1("ACAS 2, MyDuration, MyOutput, MyOutputName, MyComment) 'set stage data ReDim MyOperation(1) ReDim MyObjectType(1) ReDim MyObjectName(1) ReDim MyAge(1) ReDim MyMyType(1) ReDim MyMyName(1) ReDim MySF(1) MyOperation(0) = 1 MyObjectType(0) = "Group" MyObjectName(0) = "ALL" MyAge(0) = 3 MyOperation(1) = 4 MyObjectType(1) = "Frame" MyObjectName(1) = "8" MyMyType(1) = "Load" MyMyName(1) = "DEAD" MySF(1) = 0.85 ret = SapModel.LoadCases.StaticNonlinearStaged.SetStageData_1("ACASE1", 1, 2, MyOperation, MyObjectType, MyObjectName, MyAge, MyMyType, MyMyName, MySF) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00. Added Operation 11 (Change section properties and age) in version 16.10. This function supersedes SetStageData. This function is obsolete and has been replaced by SetStageData_2 as of v19.0.0. This function is maintained for backward compatibility

See Also GetStageData_1

SetStageDefinitions_1 (Note: Newer Function Available) Syntax SapObject.SapModel.LoadCases.StaticNonlinear.SetStageDefinitions_1

VB6 Procedure Function SetStageDefinitions_1(ByVal Name As String, ByVal NumberStages As Long, ByRef Duration() As Long, ByRef Output() As Boolean, ByRef OutputName() As String, ByRef Comment() As String) As Long

Parameters Name

The name of an existing static nonlinear staged load case. NumberStages

The number of stages defined for the specified load case. Duration

This is an array that includes the duration in days for each stage. Output

This is an array that includes True or False, indicating if analysis output is to be saved for each stage. OutputName

This is an array that includes a user-specified output name for each stage. Comment

This is an array that includes a comment for each stage. The comment may be a blank string.

Remarks This function initializes the stage definition data for the specified load case. All previous stage definition data for the case is cleared when this function is called. The function returns zero if the data is successfully initialized; otherwise, it returns a nonzero value.

VBA Example Sub SetCaseStaticNonlinearStagedStageDefinitions_1() 'dimension variables Dim SapObject as cOAPI Dim SapModel As cSapModel Dim ret As Long Dim MyDuration() As Long Dim MyOutput() As Boolean Dim MyOutputName() As String Dim MyComment() As String 'create Sap2000 object Set SapObject = CreateObject("CSI.SAP2000.API.SapObject") 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'add static nonlinear staged load case ret = SapModel.LoadCases.StaticNonlinearStaged.SetCase("ACASE1") 'initialize stage definitions ReDim MyDuration(1) ReDim MyOutput(1) ReDim MyOutputName(1) ReDim MyComment(1) MyDuration(0) = 0 MyOutput(0) = False MyComment(0) = "Build structure" MyDuration(1) = 60 MyOutput(1) = True MyOutputName(1) = "HBC2" MyComment(1) = "Wait" ret =

SapModel.LoadCases.StaticNonlinearStaged.SetStageDefinitions_1("ACAS 2, MyDuration, MyOutput, MyOutputName, MyComment) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 12.00. This function supersedes GetStageDefinitions. This function is obsolete and has been replaced by SetStageDefinitions_2 as of v19.0.0. This function is maintained for backward compatibility.

See Also GetStageDefinitions_1

ChangeCoordinates

(Note: Newer function available)

Syntax SapObject.SapModel.EditPoint.ChangeCoordinates

VB6 Procedure Function ChangeCoordinates(ByVal Name As String, ByVal x As Double, ByVal y As Double, ByVal z As Double) As Long

Parameters Name

The name of an existing point object. x, y, z

These are the new x, y and z coordinates, in the present coordinate system, for the specified point object.

Remarks This function changes the coordinates of a specified point object. The function returns zero if the coordinate change is successful; otherwise it returns a nonzero value.

VBA Example Sub ChangePointCoordinates() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) 'change point coordinates ret = SapModel.EditPoint.ChangeCoordinates("1", -288, 0, 36) ret = SapModel.View.RefreshWindow 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.03. The function is obsolete and has been superceded by ChangeCoordinates_1 as of version 11.05. This function is maintained for backward compatibility. New function added.

See Also

GetChinese2002 Syntax SapObject.SapModel.LoadPatterns.AutoSeismic.GetChinese2002

VB6 Procedure Function GetChinese2002(ByVal Name As String, ByRef DirFlag As Long, ByRef Eccen As Double, ByRef PeriodFlag As Long, ByRef UserT As Double, ByRef UserZ As Boolean, ByRef TopZ As Double, ByRef BottomZ As Double, ByRef JGJ32002AlphaMax As Double, ByRef JGJ32002SI As Long, ByRef JGJ32002DampRatio As Double, ByRef JGJ32002Tg As Double, ByRef JGJ32002PTDF As Double, ByRef EnhancementFactor As Double) As Long

Parameters Name

The name of an existing Quake-type load pattern with a Chinese 2002 auto seismic load assignment. DirFlag

This is 1, 2 or 3, indicating the seismic load direction. 1 = Global X 2 = Global Y 3 = Global Z Eccen

The eccentricity ratio that applies to all diaphragms. PeriodFlag

This is either 2 or 3, indicating the time period option. 2 = Program calculated 3 = User defined UserT

The user specified time period. This item applies when the PeriodFlag item is 3. [s] UserZ

This item is True if the top and bottom elevations of the seismic load are user specified. It is False if the elevations are determined by the program. TopZ

This item applies only when the UserZ item is True. It is the global Z-coordinate at the highest level where auto seismic loads are applied. [L] BottomZ

This item applies only when the UserZ item is True. It is the global Z-coordinate at the lowest level where auto seismic loads are applied. [L] JGJ32002AlphaMax

The maximum influence factor. JGJ32002SI

This is 1, 2, 3, 4, 5 or 6, indicating the seismic intensity. 1= 2= 3= 4=

6 7 7 8

(0.05g) (0.10g) (0.15g) (0.20g)

5 = 8 (0.30g) 6 = 9 (0.40g) JGJ32002DampRatio

The damping ratio. JGJ32002Tg

The characteristic ground period. [s] JGJ32002PTDF

The period time discount factor. EnhancementFactor

The enhancement factor.

Remarks This function retrieves auto seismic loading parameters for the Chinese 2002 code. The function returns zero if the parameters are successfully retrieved; otherwise it returns a nonzero value.

VBA Example Sub GetSeismicParametersChinese2002() 'dimension variables Dim SapObject As Sap2000v15.SapObject Dim SapModel As cSapModel Dim ret As Long Dim DirFlag As Long Dim Eccen As Double Dim PeriodFlag As Long Dim UserT As Double Dim UserZ As Boolean Dim TopZ As Double Dim BottomZ As Double Dim JGJ32002AlphaMax As Double Dim JGJ32002SI As Long Dim JGJ32002DampRatio As Double Dim JGJ32002Tg As Double Dim JGJ32002PTDF As Double Dim EnhancementFactor As Double 'create Sap2000 object Set SapObject = New Sap2000v15.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New3DFrame(BeamSlab, 2, 144, 3, 336, 2, 432) 'add new load pattern ret = SapModel.LoadPatterns.Add("EQX", LTYPE_QUAKE) 'assign Chinese 2002 parameters ret = SapModel.LoadPatterns.AutoSeismic.SetChinese2002("EQX", 1, 0.05, 2, 0, False, 0, 0, 0.16, 4, 0.06, 0.4, 1, 1)

'get Chinese 2002 parameters ret = SapModel.LoadPatterns.AutoSeismic.GetChinese2002("EQX", DirFlag, Eccen, PeriodFlag, UserT, UserZ, TopZ, BottomZ, JGJ32002AlphaMax, JGJ32002SI, JGJ32002DampRatio, JGJ32002Tg, JGJ32002PTDF, EnhancementFactor) 'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub

Release Notes Initial release in version 11.01. Changed nomenclature from Load Cases, Analysis Cases and Response Combinations to Load Patterns, Load Cases and Load Combinations, respectively, in version 12.00.

See Also SetChinese2002

GetChinese2002 Syntax SapObject.SapModel.Func.FuncRS.GetChinese2002

VB6 Procedure Function GetChinese2002(ByVal Name As String, ByRef JGJ32002AlphaMax As Double, ByRef JGJ32002SI As Long, ByRef JGJ32002Tg As Double, ByRef JGJ32002PTDF As Double, ByRef DampRatio As Double) As Long

Parameters Name

The name of a Chinese 2002 response spectrum function. JGJ32002AlphaMax

The maximum influence factor. JGJ32002SI

This is 1, 2, 3, 4, 5 or 6, indicating the seismic intensity. 1= 2= 3= 4= 5= 6=

6 (0.05g) 7 (0.10g) 7 (0.15g) 8 (0.20g) 8 (0.30g) 9 (0.40g)

JGJ32002Tg

The characteristic ground period, Tg > 0.1. [s] JGJ32002PTDF

The period time discount factor. DampRatio

The damping ratio for the function, 0 0.1. [s] JGJ32002PTDF

The period time discount factor. DampRatio

The damping ratio for the function, 0