UnsetInstanceClassEx

In case the instance is a direct instance of this class, the instance will not
be an instance of this class anymore, if there are no classes left it automatically becomes an instance of Thing.

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 UnsetInstanceClass, 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 = "UnsetInstanceClassEx")]
public static extern Int64 x86_UnsetInstanceClassEx(Int64 model, Int64 owlInstance, Int64 owlClass);

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

public static Int64 UnsetInstanceClassEx(Int64 model, Int64 owlInstance, Int64 owlClass)
		{
			if (IntPtr.Size == 4)
			{
				var _result = x86_UnsetInstanceClassEx(model, owlInstance, owlClass);
				return _result;
			}
			else
			{
				return x64_UnsetInstanceClassEx(model, owlInstance, 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.