cesium加载BIM模型

自己尝试用cesium引擎加载BIM模型,操作步骤如下:
第一步: 下载一个BIM模型
在这里插入图片描述
第二步:
将BIM模型转换成FBX格式
在这里插入图片描述
在这里插入图片描述
转成gltf格式
在如下网站进行转换:
https://products.aspose.app/3d/conversion/fbx-to-gltf/

第三步:
在cesium app项目中加载gltf模型。
源码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 
  <meta charset="utf-8">
 
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
 
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <title>加载gltf数据</title>
  <script src="./scripts/Cesium/Cesium.js"></script>
  <style>
      @import url(./scripts/Cesium/Widgets/widgets.css);
      html, body, #cesiumContainer {
          width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
      }
  </style>
</head>
<body>
  <div id="cesiumContainer"></div>
 
  <script>
   var viewer = new Cesium.Viewer('cesiumContainer',{
       animation:false,       //是否显示动画控件
       homeButton:true,       //是否显示home键
       //geocoder:false,         //是否显示地名查找控件        如果设置为true,则无法查询
       baseLayerPicker:false, //是否显示图层选择控件
       timeline:false,        //是否显示时间线控件
       fullscreenButton:true, //是否全屏显示
       scene3DOnly:true,     //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
       infoBox:true,         //是否显示点击要素之后显示的信息
       sceneModePicker:false,  //是否显示投影方式控件  三维/二维
       navigationInstructionsInitiallyVisible:false,
       navigationHelpButton:false,     //是否显示帮助信息控件
       selectionIndicator:false,        //是否显示指示器组件
       //加载谷歌卫星影像
       imageryProvider : new Cesium.UrlTemplateImageryProvider({url:"http://mt1.google.cn/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}&s=Gali"})
   });
       viewer._cesiumWidget._creditContainer.style.display = "none";  //	去除版权信息
       
       viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({   //调用影响中文注记服务
    	    url: "http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg",
    	    layer: "tdtAnnoLayer",
    	    style: "default",
    	    format: "image/jpeg",
    	    tileMatrixSetID: "GoogleMapsCompatible",
    	    show: false
    	}));
     //加载gltf格式数据到cesium   
      var scene=viewer.scene;     
 	  var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(  
            Cesium.Cartesian3.fromDegrees(110.62898254394531, 40.02804946899414, 6.0));        //gltf数据加载位置
  	  var model = scene.primitives.add(Cesium.Model.fromGltf({  
         url : 'FBX2.gltf',        //如果为bgltf则为.bgltf     
         modelMatrix : modelMatrix,  
         scale : 3.0     //放大倍数
       }));     
      viewer.camera.flyTo({  
          destination : Cesium.Cartesian3.fromDegrees(110.62898254394531, 40.02804946899414, 6000.0)     //相机飞入点
      });  
  
  
  </script>
</body>
</html>

在这里插入图片描述
结果如下所示,位置有点不对哈,下次会逐步改进的

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南楚巫妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值