Selection3D没有Item属性

0 投票
使用产品:IObjects .NET 9D 操作系统:win10 x64

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

功能目标:获取选中Layer3DKML要素的几何图形和基本属性
8月 2, 2019 分类:  66次浏览 | 用户: pengdage110 (2 分)
重新分类 8月 2, 2019 用户:赵爽

1个回答

0 投票
您好,Layer3DKML图层的选择集需要用到Layer3DKML.Selection,然后通过接口Selection3D.ToRecordset得到记录集,然后就可以获取相关要素信息了
8月 2, 2019 用户: 邬袁凯 名扬四海 (1,978 分)
Selection3D没有Item属性
感谢解答,但是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

...