首页 / 浏览问题 / 桌面GIS / 问题详情
多层BIM模型怎么合为一个
24EXP 2019年10月10日
多个udb文件,分别是BIM建筑物模型的一层,二层,三层,想要做到,转化出来的缓存文件加载到web端后,点击代表楼层的标志后,相应的楼层发生相应的变化,也能在楼层的子菜单下,点击相应的构件,该如何操作?(我能做到把单个某一层转化成一个scp文件,做不到多个合成一个,能做到的也是把三个添加到一个球面场景,批量生成缓存,但是这样的话还是没有楼层,都分割为一个个小的构件了),基本想要的是下面这种结构

------建筑

      -------一层

                       楼梯

                       柱子

      -------二层

                      楼梯

                     柱子

1个回答

您好,您参考一下这个范例呢,在前端通过按特征显隐的方式来http://support.supermap.com.cn:8090/webgl/examples/editor.html#visibleByFeatureValue

4,186EXP 2019年10月10日
感觉此范例和我的提问没太大联系,我的问题总结下相当于:某一个建筑的每一层都是一个独立的模型,要使用supermap把每一层聚合(合并多个文件)起来,然后既可以查看每一层的层属性,又可以点击层下的子构件查看构件信息
您好,您这边是每一层都是用的一个UDB来存储的模型数据集吗?如果您是需要将多个模型数据集合并为一个模型数据集,那么您可以通过追加行的方式来将多个模型数据集合并为一个模型数据集。

数据集通过关系型数据表的方式存储空间信息和属性信息,如果子对象是单条记录,我们可以查询到每一个子对象属性信息;如果子对象并没有被拆分,我们从数据集中查询到的是整个对象的信息
如果希望实现子对象与父对象同时查询,这就需要我们在数据集表中有一条记录来承载父对象的属性信息。

推荐可以通过一个外框对象来表达这个父对象,父对象推荐单独存储为一个数据表

根据我的需求以及您的回复我要做的事情的顺序是先通过追加行的方式合并udb数据,再通过一个外框对象来表达父对象(这两者的先后顺序是这样吗,还是先通过一个外框对象来表达父对象,再追加行)

以下是我看了您的回复之后进行追加行的步骤,不知道正确与否

1.2.3.

如果上面的我所说的顺序与步骤正确,那么请问您上面说的:“通过一个外框对象来表达这个父对象,父对象推荐单独存储为一个数据表”这个步骤该怎么操作,在idesktop里没有找到哪里有建立什么外框对象的地方

还有一点就是我在追加行的操作的时候,把要追加的整个udb数据源都追加了一个构件里面了,比如下面窗口里显示的是结构柱,全部追加到了(合并到了)结构柱里面,并不是和它同级,新建球面场景后并没有发现要追加的数据源里的构件,但是放大整个图层可以看到追加进去的东西

您好,首先您先将您的数据备份之后再做上面的追加列的操作(追加列指的是将多个数据追加到一个数据集中显示数据),避免出现问题,第二个就是外框对象就是说您可以选择该模型的最外表的模型作为一个父对象,当点击时能够显示父对象的属性。追加行之后显示是可以的,如果您放大图层之后才能看见,您看一下图层属性中的瓦片边长,将瓦片的边长设置大一点看一下

可能上面我的有些地方描述的不清楚,所以看您的回复也是一头雾水,下图我再描述一下

您这边有远程工具吗?我直接远程看把,可能没有理解到您的意思。麻烦您私发一下ID和密码
好,谢谢了。您有向日葵吗有的话:识别码:121 875 204,验证码:9613
已在远程解决

我又有个新问题(还是从上面延伸下来的)

下面是图一:

下面是图二:

您好,您这边发布的是数据服务,如果您需要在场景中展示数据的话需要发布的时三维服务的,scene.layers.find()所查找的为三维服务中的图层的名称。

数据服务中数据源的名称对应的是您在桌面中加载的UDB的名称
不好意思,是命名的问题,数据源的名字开头是个数字,所以导致了error的错误。
...