Application Programming Interface

Application Programming Interface

Build custom solutions on top of the CSI Platform to automate your workflows and increase your efficiency.

Built for Engineers and Developers

Computers and Structures, Inc.’s Application Programming Interface (API) allows engineers and developers to programmatically exploit the power and productivity of CSI software.

With a little programming knowledge it is possible to create a spreadsheet, plugin, or third-party application that can interface with CSI software. The API is compatible with most major programming languages, including Visual Basic for Applications (VBA), VB.NET, C#, C++, Visual Fortan, Python, and Matlab. Whether a seasoned developer or new to programming, you should find the CSI API syntax easy and intuitive.

  • Muliple Language Support

    The API is compatible with most major programming languages, including Visual Basic for Applications (VBA), VB.NET, C#, C++, Visual Fortran, Python, and Matlab.
  • Smart Spreadsheeets

    Employ the API from within an Excel spreadsheet to create, modify and run a model, then extract the results back to the spreadsheet for further processing.
  • Build Custom Plugins

    Plugins created with the API can be directly accessed from within CSI software, allowing users to utilize custom commands in conjunction with the regular software features.

Cross Product Development

The CSI API is currently available for ETABS, SAP2000, and CSiBridge.

To get the most out of your development efforts, the CSI API has been made as consistent as possible between the products to allow tools and applications created using the CSI API to be easily adapted for all CSI products.

Starting with ETABS v18, SAP2000 v21, and CSiBridge v21, it is now possible to develop cross-product API tools that work with all three products. This allows you to write the code once and use it in all three products. These versions of the API are also forward compatible to future major versions of these products without the need for recompiling.

Documentation and Sample Code

All of the API functions are thoroughly documented in a searchable help file. This help file contains information on hundreds of CSI API functions, with the discussion for each function describing the syntax and parameters, what version the function was first made available, any changes to the function, and an example showing the usage of the function.

In-house Tools

  • Templates

    For commonly used structural components, use the API to build and interface to parametrically build such components.
  • Pre-processing Requirements

    Automate and configure specialized loading requirements that your firm commonly needs to apply to structures.
  • Post-processing Requirements

    Build customized algorithms that implement specific design checks.

Engineers can use the CSI API to create their own company tools that automate and/or integrate with CSI software. These tools can automate repetitive tasks thereby increasing user efficiency and eliminating user errors. If you already have other in-house tools, whether they be spreadsheets or full blown applications, you can use the CSI API to connect these tools to CSI software.

Third-Party Applications

Third-party developers, such as CAD and 3D modeling developers, can use the API to enable their software with all of the sophisticated analysis and design technology of CSI software. Developers can create rich and tight two-way links with CSI software, allowing for accurate transfer of models, complete control of execution, and extraction of analysis and design information, all from within their application.

The CSI API offers direct, fast and efficient access to all of the advanced numerical methods of CSI software. It allows direct two-way transfer of information without intermediate files, providing fast throughput for large models. Use of the CSI API by third-party developers all but guarantees that their applications will remain compatible with future releases of CSI software, a nontrivial concern to both developer and user.