engiGetEntityCount

Returns the total number of entities within the loaded schema.

Syntax

public const string ifcenginedll = @"ifcengine.dll";

[DllImport(IFCEngineDLL, EntryPoint = "engiGetEntityCount")]
public static extern Int64 engiGetEntityCount(int_t model);    

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.

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.x64.engiGetEntityCount(model);
    while  (i < cnt)
    {
        IntPtr entityNamePtr = IntPtr.Zero;
        Int64 ifcEntity = IfcEngine.x64.engiGetEntityElement(model, i);
        IfcEngine.x64.engiGetEntityName(ifcEntity, IfcEngine.x64.sdaiSTRING, out entityNamePtr);
        string entityName = Marshal.PtrToStringAnsi(entityNamePtr);
        Console.WriteLine("Entity  " + entityName);
    }
}