SetSPFFHeader

This call is an aggregate of several SetSPFFHeaderItem calls. In several cases the header can be set easily with this call. In case an argument is zero, this argument will not be updated, i.e. it will not be filled with 0.

Syntax

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

[DllImport(IFCEngineDLL, EntryPoint = "SetSPFFHeader")]
public static extern void SetSPFFHeader(int_t model, string description, string implementationLevel, string name, string timeStamp, string author, string organization, string preprocessorVersion, string originatingSystem, string authorization, string fileSchema);

[DllImport(IFCEngineDLL, EntryPoint = "SetSPFFHeader")]
public static extern void SetSPFFHeader(int_t model, byte[] description, byte[] implementationLevel, byte[] name, byte[] timeStamp, byte[] author, byte[] organization, byte[] preprocessorVersion, byte[] originatingSystem, byte[] authorization, byte[] fileSchema);    

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 description

Size: 64 bit / 8 byte (reference)
...

Property implementationLevel

Size: 64 bit / 8 byte (reference)
...

Property name

Size: 64 bit / 8 byte (reference)
...

Property timeStamp

Size: 64 bit / 8 byte (reference)
...

Property author

Size: 64 bit / 8 byte (reference)
...

Property organization

Size: 64 bit / 8 byte (reference)
...

Property preprocessorVersion

Size: 64 bit / 8 byte (reference)
...

Property originatingSystem

Size: 64 bit / 8 byte (reference)
...

Property authorization

Size: 64 bit / 8 byte (reference)
...

Property fileSchema

Size: 64 bit / 8 byte (reference)
...

Example (based on pure API calls)

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

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

string ifcFileName = "myFileName", timeStamp = "current date and time";

...
...

IfcEngine.x86.SetSPFFHeader(
            model,
            System.Text.Encoding.UTF8.GetBytes("ViewDefinition [CoordinationView]"),
            System.Text.Encoding.UTF8.GetBytes("2;1"),
            System.Text.Encoding.UTF8.GetBytes(ifcFileName),
            System.Text.Encoding.UTF8.GetBytes(timeStamp),
            System.Text.Encoding.UTF8.GetBytes("Architect"),
            System.Text.Encoding.UTF8.GetBytes("Building Designer Office"),
            System.Text.Encoding.UTF8.GetBytes("IFC Engine DLL"),
            System.Text.Encoding.UTF8.GetBytes("Documentation Example"),
            System.Text.Encoding.UTF8.GetBytes("The authorising person"),
            System.Text.Encoding.UTF8.GetBytes("IFC4")
        );


OR


string ifcFileName = "myFileName", timeStamp = "current date and time";

...
...

IfcEngine.x86.setStringUnicode(1);
IfcEngine.x86.SetSPFFHeader(
            model,
            System.Text.Encoding.Unicode.GetBytes("ViewDefinition [CoordinationView]"),
            System.Text.Encoding.Unicode.GetBytes("2;1"),
            System.Text.Encoding.Unicode.GetBytes(ifcFileName),
            System.Text.Encoding.Unicode.GetBytes(timeStamp),
            System.Text.Encoding.Unicode.GetBytes("Architect"),
            System.Text.Encoding.Unicode.GetBytes("Building Designer Office"),
            System.Text.Encoding.Unicode.GetBytes("IFC Engine DLL"),
            System.Text.Encoding.Unicode.GetBytes("Documentation Example"),
            System.Text.Encoding.Unicode.GetBytes("The authorising person"),
            System.Text.Encoding.Unicode.GetBytes("IFC4")
        );