engiGetEntityCount

Returns the total number of entities within the loaded schema.

Syntax

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

[DllImport(enginedll, EntryPoint = "engiGetEntityCount")]
public static extern Int32 x86_engiGetEntityCount(Int32 model);

[DllImport(enginedll, EntryPoint = "engiGetEntityCount")]
public static extern Int32 x64_engiGetEntityCount(Int64 model);

public static Int32 engiGetEntityCount(Int64 model)
		{
			if (IntPtr.Size == 4)
			{
				var _result = x86_engiGetEntityCount((Int32)model);
				return _result;
			}
			else
			{
				return x64_engiGetEntityCount(model);
			}
		}    

Property model

Size: 32 bit / 4 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.

Example (based on pure API calls)

Here you can find code snippits that show how the API call engiGetEntityCount can be used.

using RDF;      //  include at least engine.cs within your solution

void WriteEntities(Int64 model)
{
    Int64 i = 0, cnt = ifcengine.engiGetEntityCount(model);
    while  (i < cnt)
    {
        Int64 ifcEntity = ifcengine.engiGetEntityElement(model, i);
        string entityName = ifcengine.engiGetEntityName(ifcEntity);
        Console.WriteLine("Entity  " + entityName);
    }
}