This page contains EDMInterface API sample code to show how to exploit the EDMruleMethods. To run these samples, you need to create an EDMdatabase and compile the following schemas.
The Industry Foundation Classes (IFC) data model to describe building and construction industry data
You will also need to import the following data set into the EDMmodel named IFC_WALL_02 in the DataRepository
Sample population with three instances of IFCWALLSTANDARDCASE, identified by duplicate GUIDs
Sample 1: EDMruleMethod with logical output
This sample executes an EDMruleMethod with no input parameters and returns a single logical validation result (TRUE/FALSE/UNKNOWN). To run this sample, you need the EDMruleSchema IFC_Rule_Samples_01. You also need to import the sample population IfcWall_02.ifc.
Sample 2: EDMruleMethod with Expression Logging
This sample shows how to specify expression logging of the EDMvirtualMachine that executes an EDMruleMethod. To run this sample, you need the EDMruleSchema IFC_Rule_Samples_01. You also need to import the sample population IfcWall_02.ifc.
Sample 3: EDMruleMethod with XML String I/O
This sample executes an EDMruleMethod with input parameters and file mapping between the logical file name 'result' and a file on the calling clients local file system. To run this sample, you need the EDMruleSchema IFC_Rule_Samples_01. You also need to import the sample population IfcWall_02.ifc.
Sample 4: Processing the EDMvalidation Result Model programatically
Whenever vaildating a data model a generic diagnostic file with all violations is produced. It might, however, be that one in a certain context wants to apply a filter.
Some types of errors might be critical in a certain context whereas others can be ignored. Moreover, it can also be helpful to show context specific identification of the the instances that cause the problem, in order to pin point the problem.
Therefore one can switch on an option to produce a so called validation result model whenever validating a data model. After the validation is finished, the validation result model can be processed programatically.
A detailed documentation is found in the header of the Validation class in the example.