Definition from IAI: Enumeration identifying the type of change that might have occurred to the object during the last session (e.g., unchanged, added, deleted, etc.). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are:
Note that only the first four enumerations should be used. The MODIFIEDADDED and MODIFIEDDELETED are left for compatibility purposes but should not be used.
Consider Application A receives an IFC dataset, adds a new object and sets IfcChangeActionEnum to ADDED. Application B then receives this IFC dataset but doesn't do anything to the object added by Application A. Consequently, the object's IfcChangeActionEnum remains set at ADDED. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to UNCHANGED when it is checked back into the repository.
HISTORY: New enumeration in IFC R2.0.