上期BIMFACE功能测评(一)重点给大家演示了在BIMFACE控制台,模型上传、转换预览以及简单的本地模型展示的全过程。
实现本地加载模型图纸是最基础的操作,如果想要转换之后的模型,能够产生更多的价值。就需要我们基于业务需求,进行二次开发。
BIMFACE定位是一款面向建筑业软件开发者的平台工具,提供了丰富的二次开发接口,可应用于设计、施工、运维乃至全生命周期的应用。特地去BIMFACE官网瞄了一眼案例介绍,类似奥雅纳、古河云等面向运维业务的效果感觉不错。
那为了让大家可以更好地在实际业务场景中进行二次开发,本期测评就立足与运维场景,帮助大家快速使用这些简单的API,实现更多功能。一张表先总览下BIMFACE适用于运维阶段的接口,以及我自己对应用场景的举例理解:
整体来说,根据现有的功能及前后端API来看,至少可以满足90%及以上的功能需求开发了。那接下来我就按照我表格里罗列的功能,展示下实现逻辑,本次主要介绍“构件编辑”功能块。
构件编辑对于是三维可视化应用的基础,建筑物作为一个非常复杂的集合体,包含的构件数量非常庞杂,在运维管理过程中,我们为了定位到重要设备的位置,突出显示关注的构件,需要对模型的显示进行一系列操作。
1、构件着色
BIMFACE提供2类构件着色的接口,分别是按照ID和条件给构件着色。
//********************根据Id给构件着色*********************
var isOverrideComponentsColorByIdActivated = false;
function overrideComponentsColorById() {
var color = new Glodon.Web.Graphics.Color("#333333", 0.8);
if (!isOverrideComponentsColorByIdActivated) {
// 根据Id修改构件颜色及透明度
viewer3D.overrideComponentsColorById(["271431"], color);
// 根据Id修改构件透明度
viewer3D.overrideComponentsOpacityById(["307240"], 0.8);
viewer3D.render();
}
}
//********************根据条件给构件着色*********************
var isOverrideComponentsColorByDataActivated = false;
function overrideComponentsColorByData() {
if (!isOverrideComponentsColorByDataActivated) {
va