如何实现框选场景的数据

0 投票

请问 用iobject .net如何实现像 iDesktop .net 9D中框选场景中的数据对象功能,如图

7月 30, 2019 分类:  88次浏览 | 用户: 霎友 才疏学浅 (10 分)

1个回答

0 投票
您好:

1.首先你那边要画一个多边形,然后再对其进行线性拉伸,也就是图中的拉伸高度,具体接口为ModelBuilder3D.LinearExtrude,得到一个几何体Geomodel3D

2.用三维空间查询 SpatialQuery3D.SpatialQuery查询得到IDs数组对象

3.利用构造Selection3D加入IDs进行高亮显示
7月 31, 2019 用户: 邬袁凯 名扬四海 (2,031 分)
修改于 8月 2, 2019 用户:邬袁凯
您好,按你方案,框选不中对象

我这个场景中的三维数据,是shp矢量数据拉伸后的效果。我想框选某一区域的数据,获得选中的每个三维对象的三维顶点坐标值,目的是将选中的三维对象转为stl文件,不知怎么实现?

您好,用这个接口,第一个参数是你自己绘制的查询范围,第二个参数是你要查询的shp数据拉伸后的模型数据集的记录集,第三个参数用包含或者相交都行

谢谢!请问 shp数据拉伸后的模型数据集如何获得?我现在框选不到对象的代码如下,您看看是什么问题?

pDatasetVector.GetRecordset的第二个参数改成CursorType.Dynamic

谢谢,但改为CursorType.Dynamic后还是框选不到的呢。我想应该是你早上回答的那样,第二个参数应该是 shp数据拉伸后的模型数据集,我现在的第二个参数的数据集仅是通过DataImport类将shp数据导入后的数据集,之后是通过Layer3DSettingVector进行图层的拉伸后才得到的三维效果。那么现在是不是应该对拉伸之后的数据集进行查询才可以?我如何才能获得拉伸之后的模型数据集?或者怎么才能够将拉伸之后的shp数据转为三维模型数据集存储下来

您好,拉伸为体这个直接用ModelBuider3D.LinearExtrude这个就可以保存为模型,然后可以把其作为几何对象储存在三维模型数据集的记录集中
...