SetInstanceClassEx

In case the instance is not yet (indirectly) defined as an instance of this class, the instance will
be an instance of this class as well as the existing classes.

In case the instance dependency on classes has changed this function will return the instance given as input.

This call has the same behavior as SetInstanceClass, however needs to be used in case instance or class are exchanged as a successive series of integers.

Syntax

public const string enginedll = @"engine.dll";

[DllImport(enginedll, EntryPoint = "SetInstanceClassEx")]
public static extern Int64 SetInstanceClassEx(Int64 model, Int64 owlInstance, Int64 owlClass);    

Property model

Size: 64 bit / 8 byte (value)
The handle to the model. The model handle is static during its existance. Several models can be opened simultaniously within one session. Different models are always independent, threads are allowed to be running on different models simultaniously.

Property owlInstance

Size: 64 bit / 8 byte (value)
The handle to the specific instance in the design tree. The instance handle is static within one open model but is most probably different when the same instance is opened in another model. The instance is always exactly of one unique class.

Property owlClass

Size: 64 bit / 8 byte (value)
This attribute represents a handle to the class. The term owl is comming from W3C, the classes follow the expression power of Semantic Web concepts, therefore classes support multiple inheritance. Technically classes can also be distributed over different resources, however for this the parametric library is required as an extension on the basic Geometry Kernel API.