Appendix: Isogen Web Service and Power BI Reports - Intergraph Spoolgen - Help

Intergraph Spoolgen Help

Language
English
Product
Intergraph Spoolgen
Search by Category
Help
SmartPlant Foundation / SDx Version
10
I-Configure Version
6.0(2016)
Isogen Version
13.0(2016)
Smart Isometrics Version
7.0(2019)
Spoolgen Version
9.0(2019)

The Isogen web service is an OData 4-compliant web service that stores piping data and related documents that you create with Smart Isometrics and Spoolgen. You can use this information as a data source to create Microsoft Power BI reports and dashboards.

Power BI enables you to visualize and analyze data from a variety of data sources.

Isogen web service data model

Building efficient queries requires a solid understanding of the data model that the Isogen web service uses. This section explains the components of the Isogen web service data model.

At the top level of the Isogen web service is a set of projects stored in the Isogen Database (1). The Project object contains data and documents about a set of isometrics. Every project has a Name and ID property (2).

The properties held by the Isometric object correspond to the properties of the first pipeline in the POD. Properties can include calculated and aggregated properties, such as weld diameters and centerline lengths. These types of properties are useful for making estimations without needing to create drawing and report deliverables. As such, the Isometric object is key for estimation and bid preparation.


  • Isometrics originate as POD documents in Smart Isometrics or Spoolgen.

  • You must know the ID property to retrieve data from the project.


The Isometric object has a major and minor version and multiple instances of the same isometric are stored. This object has an IsCurrentVersion property (3).

You use isometrics to generate Isogen deliverables. In the data model, the Deliverable is the key object for generating reports on an executing project. As a deliverable is generated, it represents the current state of the project. Deliverable properties include the Isogen Style property and enable identification of the latest available data set through its relationship to the isometric IsCurrentVersion property (4).


  • You can use IsCurrentVersion to filter out any previous, superseded version.

  • Deliverables are a set of data and documents that are consistent to one another and the isometric from which they were generated.


The Deliverable object provides access to additional layers of piping data, including one or more Pipeline objects that can be broken down as follows: Components, Parts, Welds, Joints, Spools, CutPieces (5).


  • The Components object is the complete set of POD components, including welds and non-physical types such as set-on tees and taps that do not display in a material list.

  • The Parts object is limited to physical (purchase-able) objects, such as flanges, lengths of pipe, fittings, and so on. The Parts object does not include welds.

  • The Joints object represents all points in the pipeline where two parts are connected (for example, welds, flanges, screwed, and compression fittings).


Select lists are held per project. The SelectList represents a list that enables you to select a single item. Currently, select lists are available for Isometric Status, Checkout Status, and Bore Units. The SelectList object can have multiple SelectListItem objects. Each SelectListItem object has a Name property and a SelectListItemType identifier (6).


  • You can use the SelectListItemType identifier in queries.

  • The SelectListItemType value for the Available status is always d4c4bef5-7237-4a5b-b1ab-a3d7a4cb5c58.

  • All available API functions are documented in the Isogen web API. You can access API documentation by typing <Isogen Web API server name>/doc/explorer in your browser window.

Drill down into the API descriptions for

  • details of available ODATA parameters, such as the $filter parameter to reduce the rows returned

  • details of possible return values and codes, such as those for error handling

You can find details about the data model in the Models section of the documentation.