i-model Transformer allows users to transform and validate the contents of i-models to provide the data required to support project information exchange workflows. i-model Transformer provides the flexibility to accommodate the unique information exchange requirements of a project and eliminates the need to create and maintain specialized software interfaces to support the workflows.
This add-in runs on V8i generation Power Platform products. At the time of this release, the following Power Platform products are supported:
Some of the key features of i-model Transformer include:
Scripting and Execution
An easy-to-use scripting tool enables users to configure and test the transformations needed to support different workflows and then save them XML files. The scripts can then be executed interactively from the app, run in batch mode using a command-line tool that is delivered with i-model Transformer, or automated using Bentley Automation Service V8i SELECTseries 6 (iCS for i-models) 8.11.14.xx.
The following diagram shows how iCS for i-models orchestrates the functionality of Transformation Services, thereby integrating it with the ProjectWise managed environment:
NOTE: Validations are defined and executed in transformation scripts using a Validation transform.
iCS for i-models accomplishes this by:
Every transformation sequence is encoded as an XML script. Such scripts are created using the i-model Transformer desktop tool. The i-model Transformer desktop tool is where the scripts are not only composed, but exercised to confirm they produce the desired results.
i-model Transformer includes a set of user-configurable transforms that enable the customization of information contained in an i-model to support specific project information exchange workflows. As of this writing, 16 transforms have been developed that can be used to support a broad range of exchange workflows. The general type of operations supported by these transforms include:
Tailor information for consumption by downstream applications and users
Consolidate information to simplify the data model or conform to target schema
Combine information from different applications and work with it in a uniform way
Integrate information from different applications for improved decision support and other uses
Inventory information for estimating, purchasing, etc.
Visualize information for improved understanding of the data and decision support
Validate information to ensure required data is provided and for quality control
Additional transformations will be developed and delivered with i-model Transformer as the need to support additional handover and reporting workflows arise. NOTE: Support for customizing existing transformations and for creating custom transformations are also planned to be supported.
Bentley i-model Transformer is available for download on the Bentley Software Fulfillment Center. To locate the builds, simply search for i-model Transformer.
After installing i-Model Transformer, you have the option to launch the deployment tool or you can run this tool manually be selecting Deployment Tool under C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Bentley\i-model Transformer. Choose the appropriate Power Platform of your choice for deployment.
Once deployed, when running the application, you will see a new menu item called Technology Preview. Under this menu, select i-model Transformer to invoke the i-Model Transformer GUI interface. In the GUI, select Help – Contents for detailed information on installing, deploying, executing, and using the Transformer Builder form to compose scripts.
There are a number of sample datasets delivered with iModel Transformer to get you started. These datasets can be found in C:\ProgramData\Bentley\imodelTransformer\Datasets. Each folder contains the scripts, supporting data, and a Word document containing detailed information regarding the script.
When troubleshooting transformation scripts, note the following list of configuration issues and limitations:
A transformation fails with an error similar to "The property 'XX_XX' is read only."
This error basically says that a transformation has failed since a property is read only. A property can be read only because of several different reasons. The first thing to check when this error occurs is the schema. Make sure that the property is not marked as read only. If the property has a CalculatedECSpecification custom attribute set on it, check if the specification has a 'Parser Regular Expression' set. If this expression is not set, the property is treated as read only. Another thing to check is the element associated with the item with this property in the i-model. If the element is locked (Element Info->Extended->Locked property is set to 'Locked'), then the item and hence the property in question, becomes read only.
Values are not being calculated for properties with CalculatedECSpecification.
Currently CalculatedECSpecification custom attribute is supported only for string type properties. Make sure that the property with the CalculatedECSpecification custom attribute is a string type property.
When I try to save a transformation script, I get an error similar to "Could not load file or assembly 'Bentley.IModel.Transformation.DgnApi, Version=18.104.22.168, Culture=neutral, PublicKeyToken=4bf6c96a266e58d4' or one of its dependencies".
Most likely this error is due to a missing redistributable on your machine. Please try installing Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package MFC Security Update (vcredist_x86.exe from Microsoft's download page: http://www.microsoft.com/en-us/download/details.aspx?id=26368).
When I run "View Builder" from Tools menu of i-model Transformer, I get an error similar to "The type initializer for 'Bentley.ECSystem.Extensibility.ExtensionDirectory' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Bentley.ECObjects3.dll' or one of its dependencies. The specified module could not be found."
Most likely this error is due to a missing redistributable on your machine. Please try installing Microsoft Visual C++ Redistributable 2012 (x86) on your machine.
i-model Validation is the process of assessing the quality and completeness of an i-model in support of one or more information exchange workflows. In general terms, this involves checking to see the contents of the i-model meet the information requirements of the consuming application or user in the workflow. As such, i-model Validation plays a critical role with ensuring the required information is delivered.
Validating i-models for a specific exchange workflow is a 4 step process:
i-model Validation Explorer is a standalone GUI application that support 2 of the 4 steps in the validation workflow. It provides tools for creating and maintaining validation standards, as well as, evaluating schema and i-models against standards and then reporting and managing the results. For more information on the capabilities provided, refer to the Help documentation delivered with the product. i-model Validation Explorer
i-model Validation Explorer is delivered with i-model Transformer as a tool for creating and testing validation standards. It is accessible through the Tools menu. Validations are defined and executed in transformation scripts using the Validation transform.
The Validation transform is used to assess the quality and completeness of i-models according to Rule Libraries defined for various information exchange workflows.
The Validation transform leverages the same underlying technology used by Bentley's i-model Validation Explorer. Since it packages the validation technology into a transform, this transformation allows for the inline validation of i-models in i-model Transformer scripts. With this capability, someone composing a transformation script can validate input i-models consumed by the script, or output i-models produced by the script. The validation of i-models is driven by Rule Libraries that describe the specific aspects of i-models that should be evaluated. For example, one could perform a validation that ensures that all items of a given business class have a business key defined.
The results of a validation transform can be used to halt the execution of a script (if, for example, a particular severity of rule violation is detected), or the results may be passively saved while the script continues to execute. Options for saving the results as an Excel file, or as an XML report, are presented in the Transform Builder interface.
The required parameters include the full path to the i-model to be validated and the validation options. The validation options are a collection of parameters that will be passed into the Validation engine. This includes things like specifying a name for the validation job, and what Rule Library to use to perform the validation.
For additional information on the validation parameters, in the i-model Transformer builder form, under Help – Contents, refer to Transforms Reference – Validation.
Note: Validation transform can only be used on an x64 OS.
Transformation scripts are imported into the iCS / ProjectWise environment using the Orchestration Framework Administrator. While the transformation scripts produced on the desktop have value in and of themselves on the desktop, they acquire greater value after being imported into the iCS for i-models environment. Associating a transformation script with an iCS Job means a transformation can be scheduled to happen on a recurring basis and run incrementally. This will effectively monitor source files for changes. Source files that are out of date will get transformed into new target files, efficiently keeping source and transform target files in synch.