我从一个地形模型(Terrain Model)中获取了DTM,代码如下:
auto ts = TerrainSurface::CreateFromElementHandle(eeh); if (!ts.IsValid()) { mdlDialog_dmsgsPrint(L"not a terrain surface"); return; } DTMPtr dtm = ts->GetDTM(); if (!dtm.IsValid()) { mdlDialog_dmsgsPrint(L"invalid dtm"); return; }
现在不知道怎么从DTM中获取Mesh网格、等高线等数据。IDTM.h里有很多抽象接口类,里面提供了一些函数,但不知道如何使用,还望高手予以解答。
PolyfaceHeader polyface = Bentley.CifNET.TerrainModel.CivilDTM.CreatePolyface(dtm) DTransform3d transformA = DTransform3d.Scale(dgnModel.GetModelInfo().UorPerMeter); polyface.Transform(ref transformA, false); MeshHeaderElement eleOriMesh = new MeshHeaderElement(dgnModel, null, polyface);
获取Mesh网格的,参考一下
DTM等高线:
https://communities.bentley.com/communities/other_communities/chinafirst/f/microstation-projectwise/182080/c-msce-dtm/531130#531130