xpxConditionalCopyAndOrValidateInstance
FUNCTION xpxConditionalCopyAndOrValidateInstance(instances : SET OF GENERIC; modelId : GENERIC; options : INTEGER; include_exclude : SET OF GENERIC; VAR newInstances : SET OF GENERIC; instanceContainerId : GENERIC; rolesToCopy : SET OF GENERIC; noContainerRoles : SET OF GENERIC; validationOptions : INTEGER; ruleSchemaName : STRING; validationResultFile : STRING; VAR validationResultId : GENERIC; VAR returnValue : GENERIC; numberOfParameters : INTEGER; argument1, ... , argumentN : GENERIC) status : INTEGER;
This function is a kind of combination of xpxConditionalDeepCopyInstancesEx and xpxValidateInstancesWithParameters functions. The algorithms defined for the xpxConditionalDeepCopyInstancesEx function is used to identify a set of instances called the original_instances.
The available operations on this original_instances are:
- xpxCOPY_INSTANCES the copied instances (the new instances) is called the copied_instances
- xpxVALIDATE_ORIGINAL_INSTANCES validate the original_instances
- xpxDELETE_INSTANCES delete the original_instances
- xpxVALIDATE_COPIED_INSTANCES validate the copied_instances
The [xpxVALIDATE_COPIED_INSTANCES] option can only be used in combination of the [xpxVALIDATE_COPIED_INSTANCES]. The options [xpxVALIDATE_ORIGINAL_INSTANCES] and [xpxVALIDATE_COPIED_INSTANCES] are mutual exclusive. Except for this combinations, all(question) other combinations of options are legal.
Remarks:
When copying objects (entity instances & aggregate instances) from one model to another model, the actual objects must be "copied" from the source model into the target model. Copied in this context means that new entity instances/aggregate instances have to be created in the target model and then the "primitive attribute/aggregate values" have to be assigned from the source objects to the new created objects in the target model. Hence, "normal" assignment statements cannot be used for this purpose. An assignment operation will only "copy" the InstanceId of the actual object resulting in "invalid InstanceId in target model".
The "ROLES" arguments in this function should be specified without the "EXPRESS_SCHEMA_NAME." part as the schema is implicitly uniquely specified by the actual model. Examples of legal"ROLES" arguments for these functions:
'IFCROOT.GLOBALID'
'IFCROOT.NAME'
'IFCOBJECTDEFINITION.DECOMPOSES'
'IFCBUILDINGSTOREY.ELEVATION'
Arguments
1 | Type | Name | Comment |
2 | SET OF GENERIC | instances | comment |
3 | GENERIC | modelId | |
4 | INTEGER | options | |
5 | SET OF GENERIC | include_exclude | |
6 | SET OF GENERIC | newInstances | |
7 | GENERIC | instanceContainerId | |
8 | SET OF GENERIC | rolesToCopy | |
9 | SET OF GENERIC | noContainerRoles | |
10 | INTEGER | validationOptions | |
11 | STRING | ruleSchemaName | |
12 | STRING | validationResultFile | |
13 | GENERIC | validationResultId | |
14 | GENERIC | returnValue | |
15 | INTEGER | numberOfParameters | |
16 | GENERIC | argument(N) |
Return Value
Options
Option | Comment |
XPXOption | comment |
Example
<Missing Example>
See also
Filter by label
There are no items with the selected labels at this time.