笔记(1)"/>
BIM笔记(1)
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)
更多推荐
BIM笔记(1)
发布评论