Syntax
public const string ifcenginedll = @"ifcengine.dll"; [DllImport(ifcenginedll, EntryPoint = "setStringUnicode")] public static extern Int32 setStringUnicode(int_t unicode);
Property unicode
Size: 32 bit / 4 byte (value)
Example (based on pure API calls)
Here you can find code snippets that show how the API call setStringUnicode can be used.
using RDF; // include at least IFCEngine.cs within your solution RDF.IFCEngine.setStringUnicode(1); // Normal to define this early, even before opening the model ... ... // // Created result when stored as IFC: // #31313 = IFCPOSTALADDRESS($, $, $, $, ('RDF Ltd.', 'Main Office'), '32', 'Bankya', 'Sofia', '1320', 'Bulgaria'); // Int64 ifcPostalAddressInstance = RDF.IFCEngine.sdaiCreateInstanceBN(model, System.Text.Encoding.Unicode.GetBytes("IFCPOSTALADDRESS")); Int64 addressLines = RDF.IFCEngine.sdaiCreateAggrBN(ifcPostalAddressInstance, System.Text.Encoding.Unicode.GetBytes("AddressLines")); RDF.IFCEngine.sdaiAppend(addressLines, RDF.IFCEngine.sdaiUNICODE, System.Text.Encoding.Unicode.GetBytes("RDF Ltd.")); RDF.IFCEngine.sdaiAppend(addressLines, RDF.IFCEngine.sdaiUNICODE, System.Text.Encoding.Unicode.GetBytes("Main Office")); RDF.IFCEngine.sdaiPutAttrBN(ifcPostalAddressInstance, System.Text.Encoding.Unicode.GetBytes("PostalBox"), RDF.IFCEngine.sdaiSTRING, System.Text.Encoding.UTF8.GetBytes("32")); // It is allowed to mix sdaiUNICODE and sdaiSTRING RDF.IFCEngine.sdaiPutAttrBN(ifcPostalAddressInstance, System.Text.Encoding.Unicode.GetBytes("Town"), RDF.IFCEngine.sdaiUNICODE, System.Text.Encoding.Unicode.GetBytes("Bankya")); // as long as each call is consitent in itself. RDF.IFCEngine.setStringUnicode(0); // Possible but something that normally would not happen RDF.IFCEngine.sdaiPutAttrBN(ifcPostalAddressInstance, "Region", RDF.IFCEngine.sdaiSTRING, "Sofia"); // It is allowed to mix sdaiUNICODE and sdaiSTRING RDF.IFCEngine.sdaiPutAttrBN(ifcPostalAddressInstance, "PostalCode", RDF.IFCEngine.sdaiUNICODE, "1320"); // as long as each call is consitent in itself. RDF.IFCEngine.setStringUnicode(1); // Possible but something that normally would not happen RDF.IFCEngine.sdaiPutAttrBN(ifcPostalAddressInstance, System.Text.Encoding.Unicode.GetBytes("Country"), RDF.IFCEngine.sdaiUNICODE, System.Text.Encoding.Unicode.GetBytes("Bulgaria"));