Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


 
SYNTAX:
 
xpxConditionalDeepCopyInstancesEx(sourceInstances     : AGGREGATE OF GENERIC;                                   modelId             : GENERIC;                                   options             : INTEGER;                                   include_exclude     : AGGREGATE OF GENERIC;                                  VAR newInstances    : AGGREGATE OF GENERIC;                                   instanceContainerId : GENERIC;                                   rolesToCopy         : AGGREGATE OF GENERIC;                                   noContainerRoles    : AGGREGATE OF GENERIC)                                   status              : INTEGER;
 
To be completed
 
The xpxConditionalDeepCopyInstancesEx function
The arguments of the function are:

Argument:

Description:

sourceInstances

An aggregate of numeric instanceIDs that uniquely identifies the instances to be copied in the EDMdatabase

modelId

A numeric modelID that uniquely identifies the data model locating the target instance(s).This target model must be a population of the same schema as the model that locates the <sourceInstances>

options

Specifies the options to be used in the invocation of the function. The <options> value can be specified as a bitwise OR between the actual options to enable. All option names are defined on the header file sdai.h. See the edmiConditionalDeepCopyInstances function for options descriptions.

include_exclude

Address of an array of instances or instance types (entities). The content is dependent of the value of the <options> argument. An instanceID = 0 terminates the <exclude_or_include> array

newInstances

An address to a variable that will receive an aggregate of numeric instanceIDs that will uniquely identify the created instances (target instances) in the EDMdatabase

instanceContainerId

 

rolesToCopy

 

noContainerRoles

 

   
 
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'
 
See also ROLESOF

  • No labels