Working with EDMruleMethods

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.

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_EXP(30px)'.

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_f_IFC2x3.exp'.

The Industry Foundation Classes (IFC) data model to describe building and construction industry data

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_REX(30px)'.

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_f_Ifc_Samples_01.rex'.

Defines the EDMruleSchema Ifc_Rule_Samples_01 with the EDMruleMethod CheckIfcRootObjectGlobalId(). Extends the IFC2x3 EXPRESS Schema

You will also need to import the following data set into the EDMmodel named IFC_WALL_02 in the DataRepository

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_STP(30px)'.

 
Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_f_IfcWall_02.ifc'.

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.

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_C(30px)'.

 
Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_xc_IfcEDMruleMethod01'.

 


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.  

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_C(30px)'.

 
Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_xc_IfcEDMruleMethod02'.

 


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. 

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_C(30px)'.

 
Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_xc_IfcEDMruleMethod03'.

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.

The example is written in Java (edom3). A detailed documentation is found in the header of the Validation class in the example.

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_Java(30px)'.