UnsetInstanceClass

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.

Syntax

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

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

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

public static Int64 UnsetInstanceClass(Int64 owlInstance, Int64 owlClass)
		{
			if (IntPtr.Size == 4)
			{
				var _result = x86_UnsetInstanceClass(owlInstance, owlClass);
				return _result;
			}
			else
			{
				return x64_UnsetInstanceClass(owlInstance, owlClass);
			}
		}    

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.