[VBA CE U16.3] Difference between table element type 106 and msdElementTypeTable (96)

Hi,

What's the difference between element type 106, which is the selectable table elements I can see in the views, vs the element type msdElementTypeTable 96 which is available in VBA IDE?

Best regards,

Tuan Le

Parents
  • Hi Tuan,

    that's good question, but the answer requires to correct and clarify some concepts and facts.

    Unfortunately, VBA itself does not make it simple, because implemented API is old and does not follow the current "ElementHandle / ElementHandler" philosophy. General recommendation is "do not use element types", because they represent how data is persisted in DGN format, but it is not equal to MicroStation elements, that a user work with. Typical example is cell element, that is used to store data for cells, grouped elements (anonymous cell), grouped holes, SmartSolids and maybe some more...

    DGN element 106 is "extended element", not table element. Type 106 (together with extended nongraphic element 105) is "black box" with opaque internal strucutre, that can be used to store data for different MicroStation elements. The access is realized through ElementHandler(s), so to store MicroStation table, there is TextTableHandler, to store parametric solids SmartFeature handler and ParametricCellHandler exist. All these elements are stored as 106 + 105 elements.

    DGN element type 96 is general internal data element. Based on former discussions, it looks like it is used e.g. to store level tables by MicroStation itlsef (and maybe some other data as well). But it's not "Bentley only element", because in V8i, mdlTable_ API existed, so developers were able to store own data in this element.

    I assume both types 96 and 106 cannot be accessed directly from VBA, only through proper classes (which I guess do not exist).

    With regards,

      Jan

  • Thanks for the info Jan. I haven't gotten very far with type 96 as it doesn't seem to tie directly to the table elements. However, using type 106, I can access the table element for basic interactions (get element ID, add to selection set etc.), ofc that's was tested against a sample without other "extended elements". 

    Seems I'll have to continue the usual stabbing in the dark approach for now. 

  • I can access the table element for basic interactions (get element ID, add to selection set etc.), ofc that's was tested against a sample without other "extended elements". 

    Yes, because type 106 is graphic element (whereas type 105 is not graphic one), it shares the same basic features (can be selected, has element range etc.).

    Regards,

      Jan

  • (together with extended nongraphic element 105
    All these elements are stored as 106 + 105 elements.
    whereas type 105 is not graphic one

    105 is Mesh header element. 107 is extended nongraphic element.

    96 table elements are used to store some dictionary tables, such as font table, level table, etc. in DGN file's dictionary model, not normal graphic model.



Reply Children