首页 / 浏览问题 / 组件GIS / 问题详情
Selection3D没有Item属性
2EXP 2019年08月02日
使用产品:IObjects .NET 9D 操作系统:win10 x64

问题重现:鼠标选中Layer3DKML图层要素,获取到的Selection3D并没有Item属性

功能目标:获取选中Layer3DKML要素的几何图形和基本属性

1个回答

您好,Layer3DKML图层的选择集需要用到Layer3DKML.Selection,然后通过接口Selection3D.ToRecordset得到记录集,然后就可以获取相关要素信息了
2,432EXP 2019年08月02日
感谢解答,但是Layer3DKML.Selection无法使用ToRecordset方法,提示错误:三维图层的类型必须为Layer3DDataset
您好,换个思路,通过Layer3DKML.GetEditFeature获取EditFeature,在通过EditFeature.ID获取ID值,再通过Layer3DKML.Features.FindFeature实现

选中Layer3DKML的某个要素,EditFeature.ID为-1,并不能获取到具体对应的要素crying

你应该是用了布告板对象,所以编辑对象才会返回-1,我这边看了下,还是用Selection3D对象

 Layer3DKML layer = sceneControl1.Scene.Layers[0] as Layer3DKML;
 Selection3D selection = layer.Selection;

int index=selection[0];

Layer3DKML.Features.FindFeature(index,Feature3DSearchOption);

可以用这个代码实现

测试可行!非常感谢您的耐心解答!yes

...