BIM Viewer 基于WebGL开发的结构化和轻量化模型引擎,同时支持3D和2D;模型格式上支持包括Revit,Naviswork在内的众多主流BIM模型格式(转换为BIMe的专用格式)。无需任何软件和插件,直接在浏览器内运行。
BIM Viewer 需要运行在支持WebGL浏览器中,目前所有的现代主流浏览器都支持WebGL。点击查看您的浏览器是否支持WebGL
Bim Viewer 基于Angular 4.0构建,但考虑到开发者可能需要使用JavaScript,所以接口以Javascript语言提供。
在BIM Viewer所在的页面,我们将BIM Viewer的API都集中导出到window下的BIMe对象下。您可以参考我们的API 文档,直接在Chrome的调试工具里面通过window.BIMe.xx来使用我们给您提供的各种方法。
在此结构中,第一层和第二次为逻辑层,无对应类。第三层为真实类,每个类都是全局单例,无须创建。
BIMeModelInfo: 模型导出时数据类
BIMeElementData: 构件数据类
BIMeModelData:模型运行时数据类
BIMeLogicData: 逻辑数据类
BIMeSelector: 构件选择控制类
BIMeHide: 构件隐藏显示控制类
BIMeIsolate: 构件隔离控制类
BIMeZoom: 构件聚焦控制类
BIMeUtility: 全局控制类
BIMeSelection: 选择集操作类
BIMeModelView:视图操作类
BIMeAnnotation:批注操作类
BIMeViewpoint:视点操作类
BIMeViewpointLink:视点链接操作类
BIMeElementProperty:构件属性操作类
BIMeSheet:二维操作类
BIMeEvent: 全局消息类
function hello(){
// 向当前选择集添加对象'xxxx'。
window.BIMe.control.BIMeSelector.selectorElementByElementId(elementId, true);
// 聚焦ElementId 为'xxxx'的对象。
window.BIMe.control.BIMeZoom.zoomElementByElementId(elementId);
}
为了让开发更为便捷,我们将Paper.js,THREE.js,Lodash.js也都导出到window下。
function hello() {
var geo = new THREE.BoxBufferGeometry(10,10,10);
var mat = new THREE.MeshPhongMaterial({color:0x00ff00,side:THREE.DoubleSide});
var mesh = new THREE.Mesh(geo,mat);
}
function hello() {
var array = [1];
var other = _.concat(array,2,[3],[[4]]);
console.log(other);
// => [1,2,3,[4]]
console.log(array);
// => [1];
}
当部署完私有云后,将iis服务器下的BIMComposer文件夹复制到本地,
打开chrome的调试工具,切换到console tab页,切换iframe为BIMComposer所在的iframe。
在控制台输入api.xxx调用BIMComposer的所提供的方法。