engiGetEntityArgumentName
Syntax
public const string enginedll = @"engine.dll"; [DllImport(enginedll, EntryPoint = "engiGetEntityArgumentName")] public static extern IntPtr x86_engiGetEntityArgumentName(Int32 entity, Int32 index, Int32 valueType, out IntPtr attributeName); [DllImport(enginedll, EntryPoint = "engiGetEntityArgumentName")] public static extern IntPtr x64_engiGetEntityArgumentName(Int64 entity, Int64 index, Int64 valueType, out IntPtr attributeName); public static IntPtr engiGetEntityArgumentName(Int64 entity, Int64 index, Int64 valueType, out IntPtr attributeName) { if (IntPtr.Size == 4) { var _result = x86_engiGetEntityArgumentName((Int32)entity, (Int32)index, (Int32)valueType, out IntPtr _attributeName); attributeName = _attributeName; return _result; } else { return x64_engiGetEntityArgumentName(entity, index, valueType, out attributeName); } }
Property entity
Size: 64 bit / 8 byte (value)Property index
Size: 64 bit / 8 byte (value)Property valueType
Size: 64 bit / 8 byte (value)Property attributeName
Size: 64 bit / 8 byte (reference)???.
Example (based on pure API calls)
Here you can find code snippits that show how the API call engiGetEntityArgumentName can be used.
using RDF; // include at least engine.cs within your solution Int64 WriteEntityStructure(Int64 ifcEntity) { if (ifcEntity != 0) { // // Iterate over the parents // Int64 attributeCnt = WriteEntityStructure(ifcengine.engiGetEntityParent(ifcEntity)); // // Print Entity name // IntPtr entityName = ifcengine.engiGetEntityName(ifcEntity); Console.WriteLine("Entity " + entityName); // // Walk over attributes // while (attributeCnt < ifcengine.engiGetEntityNoArguments(ifcEntity)) { string attributeName = ifcengine.engiGetEntityArgumentName(ifcEntity, attributeCnt); Int64 attributeType = 0; ifcengine.engiGetEntityArgumentType(ifcEntity, attributeCnt, out attributeType); Console.Write(" " + attributeName + " "); switch (attributeType) { case ifcengine.sdaiSTRING: Console.WriteLine("STRING"); break; ... default: break; } attributeCnt++; } return attributeCnt; } return 0; }