Talk:Synthesis API Reference/Notes

The Synthesis Platform’s Application Programming Interface (API) enables you to programmatically connect your Synthesis applications and data with other systems and tools used within your organization. The API is written for Visual Basic for Applications (VBA) and Visual Basic.NET. This gives you the ability to create automated solutions using popular Microsoft Office applications, such as Excel and PowerPoint, as well as create custom applications for your organization.

Transfer and synchronize data via XML

For structured data (such as system hierarchies/BOMs, incidents, work orders and RBD configurations), you can use XML files and the API to manage data transfer and synchronization between BlockSim or XFRACAS and a variety of different PLMs, ERPs, CMMS and other external systems.

Input/output specific data elements and analyses

You can use the API to directly read from or write data to existing Synthesis resources (models, actions, URDs, etc.), system hierarchy items and FMEA records (causes, effects, failures, etc.), or even create new resources and items using data from third-party sources. You can initiate batch processing, as well as create custom solutions for loading data into the Synthesis Data Warehouse (SDW).

Obtain calculated results

The API allows you to read data from published Synthesis models and obtain calculated results such as the reliability, probability of failure, BX% life, failure rate and mean time.

Getting Started
Here are some requirements to keep in mind before you begin developing for the Synthesis API.


 * Install the latest version of the Synthesis application. Choose File > Help > Check for Updates or download the latest version at http://www.ReliaSoft.com/synthesis/downloads.htm.


 * Note that for VBA, the bit version (32- vs. 64-bit) of the Synthesis Platform that you've installed must match your installed version of Microsoft Office. If they do not match, you may see an error related to ActiveX controls. (See ReliaSoft KB article RS20024.)


 * Reference the Synthesis API object library. The object library is located in the folder where the Synthesis application is installed. By default, this folder is at "C:\Program Files\ReliaSoft\Synthesis 10". (For Version 9, it is "C:\Program Files\ReliaSoft\Synthesis 9".)


 * For VBA applications, use the SynthesisAPI.tlb library file. For VB.NET applications, use SynthesisAPI.dll.


 * For help with referencing the library, see this simple How-To Guide.

Sample applications that you can test and tweak yourself are included with the Synthesis Platform installation. The files are stored on your computer at C:\Users\Public\Public Documents\ReliaSoft\Examples10\API. (For Version 9, see C:\Users\Public\Public Documents\ReliaSoft\Examples\API.) The sample applications are available for Excel VBA and VB.NET projects. (To run the Excel examples, macros must be enabled. To learn how, see this Microsoft article.)

Tutorials are also available to help you learn how to use the core objects of the Synthesis API and start coding right away. The tutorials include code samples for both VBA and VB.NET. See API Tutorials.

Object Library
Below are the core objects in the Synthesis API object library. For an alphabetical listing of all classes and enumerations in the object library, see Full Synthesis API.


 * The  object represents the Synthesis repository. When you create a new instance of this class, you will need to specify a Synthesis repository to connect to (either a standard or enterprise repository). Once you have a connection, you can then use the functions in the class to read or write data to the repository, as well as import/export XML files.


 * The following objects represent the Synthesis resources:,  ,  ,  ,  ,  ,  ,   and  . Creating one of these objects will instantiate a Synthesis resource that contains the properties for that particular type of resource. In addition, the cModel class provides methods that enable you to obtain calculated results from a model, such as reliability, probability of failure, etc.


 * The following objects build data collections for the SDW:  represents a single data point, while the   serves as the data container for the RawData objects.


 * The  object represents a system hierarchy item. Instances of this class can be used to store data for a system or assembly, as well as build a multi-level system configuration.


 * The following objects represent the FMEA records:,  ,   and  . Creating one of these objects will instantiate an FMEA record that contains the properties for that particular type of record.