sdaiCreateModelBN

This function creates and empty model (we expect with a schema file given).
Attributes repository and fileName will be ignored, they are their because of backward compatibility.
A handle to the model will be returned, or 0 in case something went wrong.

Syntax

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

[DllImport(ifcenginedll, EntryPoint = "sdaiCreateModelBN")]
public static extern Int64 sdaiCreateModelBN(int_t repository, string fileName, string schemaName);

[DllImport(ifcenginedll, EntryPoint = "sdaiCreateModelBN")]
public static extern Int64 sdaiCreateModelBN(int_t repository, string fileName, byte[] schemaName);

[DllImport(ifcenginedll, EntryPoint = "sdaiCreateModelBN")]
public static extern Int64 sdaiCreateModelBN(int_t repository, byte[] fileName, string schemaName);

[DllImport(ifcenginedll, EntryPoint = "sdaiCreateModelBN")]
public static extern Int64 sdaiCreateModelBN(int_t repository, byte[] fileName, byte[] schemaName);

public static Int64 sdaiCreateModelBN(int_t repository, string schemaName)
        {
            int_t model = RDF.IFCEngine.sdaiCreateModelBN(repository, string.Empty, schemaName);

            //	HEADER;
            //	FILE_DESCRIPTION(('ViewDefinition [ReferenceView]'), '2;1');
            //	FILE_NAME('Header example.ifc', '2099-12-31T23:59:59', ('Peter Bonsma'), ('RDF Ltd.'), 'IFC Engine Library, revision 9999, 2099-12-31T23:59:59', 'Company - Application - 1.0.0.0', 'none');
            //	FILE_SCHEMA(('IFC4X3_ADD2'));
            //	ENDSEC;

            //  set Description
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 0, 0, RDF.IFCEngine.sdaiSTRING, "ViewDefinition [ReferenceView]");

            //  set Implementation Level
            RDF.IFCEngine.SetSPFFHeaderItem(model, 1, 0, RDF.IFCEngine.sdaiSTRING, "2;1");

            //  set Name
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 2, 0, RDF.IFCEngine.sdaiSTRING, "Header example.ifc");

            //  set Time Stamp
            RDF.IFCEngine.SetSPFFHeaderItem(model, 3, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetDateTime(model));       //	'2099-12-31T23:59:59'

            //  set Author
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 4, 0, RDF.IFCEngine.sdaiSTRING, "Peter Bonsma");

            //  set Organization
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 5, 0, RDF.IFCEngine.sdaiSTRING, "RDF Ltd.");

            //	set Preprocessor Version
            RDF.IFCEngine.SetSPFFHeaderItem(model, 6, 0, RDF.IFCEngine.sdaiSTRING, GetLibraryIdentifier());                  //	'IFC Engine Library, revision 9999, 2099-12-31T23:59:59'

            //  set Originating System
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 7, 0, RDF.IFCEngine.sdaiSTRING, "Company - Application - 1.0.0.0");

            //  set Authorization
            RDF.IFCEngine.SetSPFFHeaderItem(model, 8, 0, RDF.IFCEngine.sdaiSTRING, "none");

            //	set File Schema
            RDF.IFCEngine.SetSPFFHeaderItem(model, 9, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetSchemaName(model));       //	'IFC4X3_ADD2'

            return model;
        }

public static Int64 sdaiCreateModelBN(int_t repository, byte[] schemaName)
        {
            int_t model = RDF.IFCEngine.sdaiCreateModelBN(repository, string.Empty, schemaName);

            //	HEADER;
            //	FILE_DESCRIPTION(('ViewDefinition [ReferenceView]'), '2;1');
            //	FILE_NAME('Header example.ifc', '2099-12-31T23:59:59', ('Peter Bonsma'), ('RDF Ltd.'), 'IFC Engine Library, revision 9999, 2099-12-31T23:59:59', 'Company - Application - 1.0.0.0', 'none');
            //	FILE_SCHEMA(('IFC4X3_ADD2'));
            //	ENDSEC;

            //  set Description
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 0, 0, RDF.IFCEngine.sdaiSTRING, "ViewDefinition [ReferenceView]");

            //  set Implementation Level
            RDF.IFCEngine.SetSPFFHeaderItem(model, 1, 0, RDF.IFCEngine.sdaiSTRING, "2;1");

            //  set Name
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 2, 0, RDF.IFCEngine.sdaiSTRING, "Header example.ifc");

            //  set Time Stamp
            RDF.IFCEngine.SetSPFFHeaderItem(model, 3, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetDateTime(model));       //	'2099-12-31T23:59:59'

            //  set Author
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 4, 0, RDF.IFCEngine.sdaiSTRING, "Peter Bonsma");

            //  set Organization
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 5, 0, RDF.IFCEngine.sdaiSTRING, "RDF Ltd.");

            //	set Preprocessor Version
            RDF.IFCEngine.SetSPFFHeaderItem(model, 6, 0, RDF.IFCEngine.sdaiSTRING, GetLibraryIdentifier());                  //	'IFC Engine Library, revision 9999, 2099-12-31T23:59:59'

            //  set Originating System
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 7, 0, RDF.IFCEngine.sdaiSTRING, "Company - Application - 1.0.0.0");

            //  set Authorization
            RDF.IFCEngine.SetSPFFHeaderItem(model, 8, 0, RDF.IFCEngine.sdaiSTRING, "none");

            //	set File Schema
            RDF.IFCEngine.SetSPFFHeaderItem(model, 9, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetSchemaName(model));       //	'IFC4X3_ADD2'

            return model;
        }

public static Int64 sdaiCreateModelBN(string schemaName)
        {
            int_t model = RDF.IFCEngine.sdaiCreateModelBN(0, string.Empty, schemaName);

            //	HEADER;
            //	FILE_DESCRIPTION(('ViewDefinition [ReferenceView]'), '2;1');
            //	FILE_NAME('Header example.ifc', '2099-12-31T23:59:59', ('Peter Bonsma'), ('RDF Ltd.'), 'IFC Engine Library, revision 9999, 2099-12-31T23:59:59', 'Company - Application - 1.0.0.0', 'none');
            //	FILE_SCHEMA(('IFC4X3_ADD2'));
            //	ENDSEC;

            //  set Description
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 0, 0, RDF.IFCEngine.sdaiSTRING, "ViewDefinition [ReferenceView]");

            //  set Implementation Level
            RDF.IFCEngine.SetSPFFHeaderItem(model, 1, 0, RDF.IFCEngine.sdaiSTRING, "2;1");

            //  set Name
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 2, 0, RDF.IFCEngine.sdaiSTRING, "Header example.ifc");

            //  set Time Stamp
            RDF.IFCEngine.SetSPFFHeaderItem(model, 3, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetDateTime(model));       //	'2099-12-31T23:59:59'

            //  set Author
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 4, 0, RDF.IFCEngine.sdaiSTRING, "Peter Bonsma");

            //  set Organization
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 5, 0, RDF.IFCEngine.sdaiSTRING, "RDF Ltd.");

            //	set Preprocessor Version
            RDF.IFCEngine.SetSPFFHeaderItem(model, 6, 0, RDF.IFCEngine.sdaiSTRING, GetLibraryIdentifier());                  //	'IFC Engine Library, revision 9999, 2099-12-31T23:59:59'

            //  set Originating System
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 7, 0, RDF.IFCEngine.sdaiSTRING, "Company - Application - 1.0.0.0");

            //  set Authorization
            RDF.IFCEngine.SetSPFFHeaderItem(model, 8, 0, RDF.IFCEngine.sdaiSTRING, "none");

            //	set File Schema
            RDF.IFCEngine.SetSPFFHeaderItem(model, 9, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetSchemaName(model));       //	'IFC4X3_ADD2'

            return model;
        }

public static Int64 sdaiCreateModelBN(byte[] schemaName)
        {
            int_t model = RDF.IFCEngine.sdaiCreateModelBN(0, string.Empty, schemaName);

            //	HEADER;
            //	FILE_DESCRIPTION(('ViewDefinition [ReferenceView]'), '2;1');
            //	FILE_NAME('Header example.ifc', '2099-12-31T23:59:59', ('Peter Bonsma'), ('RDF Ltd.'), 'IFC Engine Library, revision 9999, 2099-12-31T23:59:59', 'Company - Application - 1.0.0.0', 'none');
            //	FILE_SCHEMA(('IFC4X3_ADD2'));
            //	ENDSEC;

            //  set Description
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 0, 0, RDF.IFCEngine.sdaiSTRING, "ViewDefinition [ReferenceView]");

            //  set Implementation Level
            RDF.IFCEngine.SetSPFFHeaderItem(model, 1, 0, RDF.IFCEngine.sdaiSTRING, "2;1");

            //  set Name
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 2, 0, RDF.IFCEngine.sdaiSTRING, "Header example.ifc");

            //  set Time Stamp
            RDF.IFCEngine.SetSPFFHeaderItem(model, 3, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetDateTime(model));       //	'2099-12-31T23:59:59'

            //  set Author
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 4, 0, RDF.IFCEngine.sdaiSTRING, "Peter Bonsma");

            //  set Organization
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 5, 0, RDF.IFCEngine.sdaiSTRING, "RDF Ltd.");

            //	set Preprocessor Version
            RDF.IFCEngine.SetSPFFHeaderItem(model, 6, 0, RDF.IFCEngine.sdaiSTRING, GetLibraryIdentifier());                  //	'IFC Engine Library, revision 9999, 2099-12-31T23:59:59'

            //  set Originating System
            //RDF.IFCEngine.SetSPFFHeaderItem(model, 7, 0, RDF.IFCEngine.sdaiSTRING, "Company - Application - 1.0.0.0");

            //  set Authorization
            RDF.IFCEngine.SetSPFFHeaderItem(model, 8, 0, RDF.IFCEngine.sdaiSTRING, "none");

            //	set File Schema
            RDF.IFCEngine.SetSPFFHeaderItem(model, 9, 0, RDF.IFCEngine.sdaiSTRING, RDF.IFCEngine.GetSchemaName(model));       //	'IFC4X3_ADD2'

            return model;
        }    

Property repository

Size: 64 bit / 8 byte (value)
Ignore this attribute, the value will be ignored in the current implementation, present for backwards compatibility.

Property fileName

Size: 64 bit / 8 byte (reference)
The file name of the file as available in the file system in ASCII (char *). The given char array will not be adjusted, on each OS the size of a char element is 8 bit/1 byte.

Property schemaName

Size: 64 bit / 8 byte (reference)
The schema name of the file as available in the file system in ASCII (char *). The given char array will not be adjusted, on each OS the size of a char element is 8 bit/1 byte.