首页 / 浏览问题 / 组件GIS / 问题详情
三维模型高亮显示
38EXP 2018年11月26日
Selection selection = mapControl1.Map.Layers[0].Selection;
selection.FromRecordset(recordsetB);

以上代码是二维的高亮显示方法。如果是三维的,相应构建高亮显示如何写代码?

 Selection3D[] m_selection3D = this.m_sceneControl.Scene
 m_selection3D[0].;

1个回答

您好!三维选中高亮显示获取选择集的代码如下:

       Selection3D[] selection3Ds = sceneControl.Scene.FindSelection(true);
       Selection3D selection3D = selection3Ds[0];
       Recordset recordset = selection3D.ToRecordset();

三维根据记录集获取选择集使对象高亮显示代码如下:

       Selection3D selection = layer3DDataset.Selection;
       selection.Add(recordset.GetID());

        layer3DDataset.Selection.UpdateData();
      //将场景的视觉定义到图层范围
      sceneControl.Scene.EnsureVisible(recordset.Bounds);
3,352EXP 2018年11月26日

layer3DDataset  直接定义下吗?

public Layer3DDataset layer3DDataset;

您只是定义没有赋值您觉得可以不?用 Layer3DDataset layer3DDataset = sceneControl.Scene.Layers["图层名"] as Layer3DDataset;
...