sdaiSaveModelAsXmlBNUnicode
Syntax
// // Strong typing definition // void sdaiSaveModelAsXmlBNUnicode( SdaiModel model, const wchar_t * fileName ); static inline void sdaiSaveModelAsXmlBNUnicode( SdaiModel model, wchar_t * fileName ) { return sdaiSaveModelAsXmlBNUnicode( model, (const wchar_t*) fileName ); } // // Weak typing definition // void __declspec(dllexport) __stdcall sdaiSaveModelAsXmlBNUnicode( int_t model, const wchar_t * fileName ); static inline void sdaiSaveModelAsXmlBNUnicode( int_t model, wchar_t * fileName ) { return sdaiSaveModelAsXmlBNUnicode( model, (const wchar_t*) fileName ); }
Property model
Size: 32 bit / 4 byte (value)Property fileName
Size: 32 bit / 4 byte (reference)
Example (based on pure API calls)
Here you can find code snippits that show how the API call sdaiSaveModelAsXmlBNUnicode can be used.
#include "./include/ifcengine.h" #include <iostream> void OpenModel( const wchar_t * fileNameIN, const wchar_t * fileNameOUT ) { // // The advised manner of opening an IFC (or ifcXML) file is by using embedded schema's that can be recognized automatically // SdaiModel model = sdaiOpenModelBNUnicode(0, fileNameIN, L""); if (model) { SdaiInteger entityCount = engiGetEntityCount(model), instanceCount = 0; for (SdaiInteger i = 0; i < entityCount; i++) { SdaiEntity entity = engiGetEntityElement(model, i); SdaiAggr ifcInstances = sdaiGetEntityExtent(model, entity); SdaiInteger noIfcInstances = sdaiGetMemberCount(ifcInstances); instanceCount += noIfcInstances; } std::cout << "entity count (schema): " << entityCount << "\n"; std::cout << "instance count (ifc file): " << instanceCount << "\n"; // // Independent from the extension the file will be saved as ifcXML // // Note: that IFC has two types of XML serialization, i.e. basic XML and simplified XML // basic XML is used for IFC 2x3 TC1 and all versions before // simplified XML is used for IFC 4 and anything later // const char * schema = nullptr; GetSPFFHeaderItem(model, 9, 0, sdaiSTRING, &schema); if (schema[0] == 'I' && schema[1] == 'F' && schema[2] == 'C' && schema[3] == '2') { sdaiSaveModelAsXmlBNUnicode(model, fileNameOUT); } else { sdaiSaveModelAsSimpleXmlBNUnicode(model, fileNameOUT); } sdaiCloseModel(model); } }