revit数据加载到arcgis并实现前端调用

目录

 

1、rvt数据导入到arcgispro

①方法一:使用arcgispro直接加载.rvt数据

②.rvt数据移动到真实位置

③.rvt数据转为slpk

2、发布场景服务

3、前端调用场景服务


参考资料:

  • GeoScene BIM解决方案介绍

百度网盘 请输入提取码  
提取码:gh2n

  • BIM技术浅析及其如何进入ArcGIS平台

百度网盘 请输入提取码
提取码:j2tm

————————————————————————————————————————————————

Revit是Autodesk公司一套系列软件的名称,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑。Revit是我国建筑业BIM体系中使用最广泛的软件之一。本篇文章整理了如何将revit软件制作的rvt数据导入到arcgispro,将其移动到真实位置,发成场景服务以及在前端调用。

软件环境:arcgis pro2.5

案例数据:

链接:https://pan.baidu.com/s/1gE5Z95ylLDuouI3RiRp6ow  

提取码:ecn0

1rvt数据导入到arcgispro

①方法一:使用arcgispro直接加载.rvt数据

从ArcGIS Pro2.2开始支持直接读取Revit格式(*.rvt)的数据。

加载完成后,rvt会自动生成一个和场景视图空间参考一致的投影文件,例如:3857

方法二:arcgispro2.5可以使用BIM File to Geodatbase工具将.rvt转到File Geodatabase

需要说明的是该工具不会保留模型的符号色彩,可以接着使用“Make Building Layer”工具来显示模型的符号色彩。

整个演示过程可以参考链接: https://esri.zoom.us/rec/share/9c1sALTJrEVLeKvA9UHAUPN7P7jbeaa8gyJP_vIJmUmC-UNMRYNeITSelEvaQG1f 

②.rvt数据移动到真实位置

参考链接:https://pro.arcgis.com/zh-cn/pro-app/help/data/revit/3d-georeferencing-revit-or-cad-data.htm

演示视频:

链接: https://pan.baidu.com/s/11aOdCA9WRLaWwp_vc3y8yw 提取码: pq7p

使用Go To XY工具,输入rvt坐标位置,然后点击“Pan to Location”按钮。其中(117,40)是模型在场景视图中的显示坐标。

这时发现模型消失在当前的场景视图中,在内容列表选中rvt数据,菜单栏点击“manage”——“Georeference”按钮

点击“Move to display”选项发现模型在场景视图中显示,如果发现模型位置有细小偏差,可以使用地理配准下的“move”、“scale”、“rotate”等进行微调。

保存移动后的效果。其中点击save会对原始的rvt的位置进行更改,save as new会生成一个新的wld3文件,原始的rvt在重新打开arcgispro后不会改变。

移除当前内容列表中的模型,重新将模型进行添加,发现模型此时的位置是移动后的位置。

③.rvt数据转为slpk

使用“创建建筑物场景图层包”工具来实现,其中输入数据集支持的数据类型为Building Layer,可以将内容列表中的rvt模型另存为图层文件,

也可以直接在“创建建筑物场景图层包”工具中直接使用内容列表中的rvt图层文件,另外输出坐标系统与图层文件的空间参考保持一致。

生成的slpk文件如下图:

2发布场景服务

①如果场景图层包中的文件大小小于 1 GB,则可在浏览器中直接将其上传至 ArcGIS Online 或 Portal for ArcGIS。如果大于 1 GB,请使用共享包工具将其直接上传至 ArcGIS Online 或 Portal for ArcGIS。

②create building scene layer package工具生成的slpk只能发布到10.7.1及更高版本的Portal for ArcGIS上

链接:Building scene layer—ArcGIS Pro | Documentation

例如:使用“共享包”工具将slpk共享到arcgisonline,然后在arcgisonline将其发成场景服务,需要在arcgispro中预先登录arcgisonline。

发布完成之后的效果:

3前端调用场景服务

参考示例:BuildingSceneLayer with Slice widget | Sample Code | ArcGIS API for JavaScript 4.22 | ArcGIS Developer

基于参考示例将代码进行了更改,更改后的代码如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
    <title>BuildingSceneLayer with Slice widget - 4.14</title>

    <style>
        html,
        body,
        #viewDiv {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
        }

        #menu {
            padding: 0.8em;
        }
    </style>

    <link href="https://js.arcgis.com/4.14/esri/themes/light/main.css" rel="stylesheet" type="text/css" />
    <script src="https://js.arcgis.com/4.14/"></script>

    <script>
        require(["esri/Map",
            "esri/views/SceneView",
            "esri/layers/BuildingSceneLayer"
        ], function (
            Map,
            SceneView,
            BuildingSceneLayer
        ) {
                
                const map = new Map({
                    basemap: "osm"
                });
                const view = new SceneView({
                    container: "viewDiv",
                    map: map
                });

                const buildingLayer = new BuildingSceneLayer({
                    url:
                    "https://tiles.arcgis.com/tiles/xkFBEuacMi2oPdHp/arcgis/rest/services/test/SceneServer",
                    title: "Administration Building, Redlands - Building Scene Layer"
                });
                map.layers.add(buildingLayer);
                view.goTo({
                    center: [116.9999377, 39.9998607],
                    heading: 10,
                    zoom: 20,
                    tilt: 45
                })

               
            });
    </script>
</head>

<body>
    <div id="viewDiv" class="esri-widget"></div>
    
</body>

</html>

至此,实现了revit数据入到arcgis库以及前端调用整个流程。

————————————————

参考资料:

ArcGIS Pro中加载Revit数据_ceibake的博客-CSDN博客

BIM data as ArcGIS Pro layers—ArcGIS Pro | Documentation

更多gis方面的内容,请关注微信公众号:gislaozhang

  • 7
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值