The function mdlAssocx_isTagged(...) was deprecated in v8i. Now I have to transfer some MDL's from v8i to CONNECT U13 using C++. I haven't found an equivalent to this function. How can I get an associated tag (ElementId) otherwise?
Hi,
thomr said:I haven't found an equivalent to this function
I think there is no equivalent of this function, because in fact, this function has not been necessary (was not required) even in V8. It's DGN V7 (pre V8) relic.
thomr said:How can I get an associated tag (ElementId) otherwise?
Maybe this old discussion will help you.
In C++ API, I assume you should check TagElementHandler class.
With regards,
Jan
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Hi thomr,
In addition to Jan's correct help and advice two additional points that may help:
HTH,Bob
thomr said:The function mdlAssocx_isTagged(...) was deprecated in v8i. Now I have to transfer some MDL's from v8i to CONNECT U13 using C++. I haven't found an equivalent to this function. How can I get an associated tag (ElementId) otherwise?
Prior to MicroStation V8, DGN elements did not have an ID. mdlAssoc_isTagged() checked for a 32-bit ID for a DGN7 element. Some other V7 APIs required an element to have an ID. You could create a 32-bit ID using mdlAssoc_tagElement(). The terminology is confusing: Bentley Systems use tag for that ID; that tag has nothing to do with MicroStation tag elements (the mdlTag_api).
mdlAssoc_isTagged()
mdlAssoc_tagElement()
mdlTag_api
From MicroStation V8, each and every DGN element has a 64-bit ElementID that is unique per DGN file. It's not necessary to create an ID, because MicroStation does that for you. Hence mdlAssoc_isTagged() and mdlAssoc_tagElement() are obsolete because they are no longer required.
The 64-bit ElementID is an intrinsic part of a DGN element. If you're dealing with raw elements and descriptors, then use mdlElement_getID(). If writing new code, then you'll be using the ElementHandle and EditElementHandle classes, which have the GetElementId() method. You may come across elementRefs, where you can use elementRef_getElemID.
mdlElement_getID()
ElementHandle
EditElementHandle
GetElementId()
elementRef
elementRef_getElemID
Regards, Jon Summers LA Solutions
Robert Hook said:MicroStation V8 XM (and later) SDK deprecated mdlAssoc_isTagged in favor of mdlAssoc_getUniqueId
Interesting, but not mentioned in the V8 MDL Function Reference!