Hi Experts,
I have a very simple dgn file, and i try to get the mesh data from the cell,
I use the ElementGraphicsProcessor::Process() and ElementGraphicsProcessor::_ProcessFacets(PolyfaceQueryCR facets, bool isFilled) to get the the facet range data,
and my code works correctly for most dgn model, until i run this model(attached), i found the mesh range i get from the PolyfaceHeaderPtr is very small,
low = {x=-0.0055878386544380137 y=-0.0081490121159178940 z=-0.00058207660927359203 }
high = {x=0.0055880322435498137 y=0.0081491329436476877 z=0.00058207660927420796 }
i get the range from the mesh directly:
auto range = pMesh->PointRange(); // where pMesh is a PolyfaceHeaderPtr
but if i get the basis range, the range is correct, i use below code to get the base range of the element,
high = { x=24000.500000000000 y=35000.500000000000 z=2501.0000000000000 }
low = { x=-24000.500000000000 y=-35000.500000000000 z=-2501.0000000000000 }
Bentley::DgnPlatform::ElementHandle m_eh;
...............................
DRange3d rangeBox;
m_eh.GetDisplayHandler()->GetBasisRange(m_eh, rangeBox);
and the modelInfo.UorPerMeter is 100000.
i check the properties in Microstaion CE(update 12), it as below, the range value is much bigger, so my question is how i can get the correct range of the mesh as well as the points?
![]()
![]()
the original mode is :
communities.bentley.com/.../_EA819A5B494E216A8B575E5C2760_TESTID_2D00_v2.dgn
I am runing with Microstation CE Update 12. and my code works fine for most of other models, except this one.