BIM笔记(1)

该博客介绍了BIM前端开发,前端用Viewer3d.js展示和交互,后端是轻量化引擎处理的数据。Viewer3d.js采用webgl技术,对构件编号nodeId用于操作交互,还采用模式和回调编程。此外,给出了获取属性和筛选、设置选择样式等基本方法的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BIM前端开发,前面用的是Viewer3d.js来进行展示和交互,后端是轻量化引擎处理完成的数据。
在autodesk的viewer3d.js,采用的是webgl技术。
一个后端模型在前端展示的时候,viewer3d将构件进行了编号nodeId,模型种的每个构建都有一个唯一的nodeId,操作和交互就是以此为主。当然,也可以通过对象树进行操作,基本的数据结构在_models里,但隐藏比较深。
Viewer3d.js估计是为了保护知识产权,采用了一种很特别,对一般程序员非常不习惯的编程方式,那就是大量的采用了模式和回调编程。

//获取属性和筛选的基本方法
var theMap= new Map();
var theF=function()
{
  var theIndex=0;
  for(var j=1;j<=500;j++)
  { 
    try
    {
      viewer.getProperties(j, function (result) {
      var props = result.properties;
      theIndex++;
      for (var i = 0, len = props.length; i < len; ++i) {
        var prop = props[i];
        if(prop.displayName=='板类型')
        {
           theMap.set(theIndex+result.name,prop.displayValue);
        }
       }
     });
   }
   catch(err)
   {
      console.debug(err);
   }
 }
};
//设置选择的样式
viewer.setSelectionColor(new THREE.Color(0xFFFF00))
//鼠标上下文菜单
viewer.contextMenu
//选择某个构件(模型)
viewer.toggleSelect(490)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值