快捷搜索:  汽车  科技

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)document.querySelector('.bf-tree-toolbar').style.display = 'none';3、自定义viewHouse的控制显示当场景加载完成之后,viewHouse才会被插入到view容器中来,因此执行隐藏viewHouse函数应该在场景加载完成之后进行。successCallback (viewMetaData) { if (viewMetaData.viewType == "3DView") { ... webAppConfig && (webAppConfig.Toolbars = [""]); ... } }使用设置样式隐藏显示的方法也可以。我们修改WebApplication3DConfig的配置项即可。successCallback (vi

上文讲到了离线环境下使用bimface,从实际项目出发,bimface的很多UI样式就变得不友好了,这篇文章讲的是怎么自定义UI。例如像loading样式、自定义工具栏的控制显示、自定义目录树的控制显示、自定义viewHouse的控制显示。

这是改造之前的效果:

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(1)

再看看隐藏掉工具栏、改变loading、隐藏目录树、隐藏viewhouse看看效果:

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(2)

1、自定义工具栏的控制显示

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(3)

这里的工具栏是指bimface默认UI样式中部下方的场景工具面板。面板中包含主视图、框选、测量、漫游模式、鹰眼地图、构建详情、设置、基本信息、全屏功能按钮。在项目中,为了整体UI的协调,这些工具栏肯定要隐藏掉。

我们修改WebApplication3DConfig的配置项即可。

successCallback (viewMetaData) { if (viewMetaData.viewType == "3DView") { ... webAppConfig && (webAppConfig.Toolbars = [""]); ... } }

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(4)

其实使用API中的方法你会发现目录树和工具栏都会被隐藏掉,所以这个你看情况使用。

2、自定义目录树的控制显示

目录树的隐藏和显示和工具栏一样的。

successCallback (viewMetaData) { if (viewMetaData.viewType == "3DView") { ... webAppConfig && (webAppConfig.Toolbars = [""]); ... } }

使用设置样式隐藏显示的方法也可以。

document.querySelector('.bf-tree-toolbar').style.display = 'none';3、自定义viewHouse的控制显示

当场景加载完成之后,viewHouse才会被插入到view容器中来,因此执行隐藏viewHouse函数应该在场景加载完成之后进行。

/** * @descripttion: 场景初始化完成 * @param {*} * @return {*} */ onViewAdded(){ // 隐藏viewhouse this.viewer3D && this.viewer3D.hideViewHouse(); // 这个方法也阔以 document.querySelector('.bf-house').style.display = 'none'; }
4、loading样式修改

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(5)

这个初始化的loading样式也是可以修改的。简单讲就是换一张gif图,改一下css样式。

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(6)

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(7)

/* loading.gif设置 */ .bf-loading .bf-loading-gif { /* width: 40px; height: 32px; */ width:112.5px; height:114px; display: block; margin: 0 auto; background-image: url(loading.gif); background-size: 100% 100%; } .bf-loading .bf-loading-progress { text-align: center; /*margin-top: -70px;*/ /*taoxiang font-size:24px;*/ font-size:24px; color: #0DABC9; /*color:#19dcff; opacity:0.7;*/ }5、背景样式的修改

先给整个场景容器一个背景。

#view{ width:100%; height:100%; margin:0px; padding:0px; background:url('../imgs/background.png') no-repeat; background-size: 100% 100%;

修改了bf-container的样式。

.bf-container .bf-view { width: 100%; height: 100%; position: relative; overflow: hidden; background:transparent !important; }

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(8)

6、天空背景

当然了,这里还可以实现天空背景效果,这里直接贴一下代码。

initSkyBox() { const skyBoxManagerConfig = new Glodon.Bimface.Plugins.SkyBox.SkyBoxManagerConfig(); skyBoxManagerConfig.viewer = this.viewer3D; skyBoxManagerConfig.customizedImage = { front: "https://static.bimface.com/attach/0d178c31584d432f93b3df90832d6ba1_EnvMap_posz.jpg" back: "https://static.bimface.com/attach/c02b7114af6d4966b3f1fd7d483fcdd9_EnvMap_negz.jpg" left: "https://static.bimface.com/attach/6c2f5045467b4c51a4e506524e74a65c_EnvMap_negx.jpg" right: "https://static.bimface.com/attach/ec541f626f194a979d49ec5f52ca32bb_EnvMap_posx.jpg" top: "https://static.bimface.com/attach/01700a9a6f7542af8df76bc923b065b9_EnvMap_posy.jpg" bottom: "https://static.bimface.com/attach/031a2a1a51374fc88fe8acf1d490b7c0_EnvMap_negy.jpg" }; const skyBoxManager = new Glodon.Bimface.Plugins.SkyBox.SkyBoxManager(skyBoxManagerConfig); skyBoxManager.setStyle(Glodon.Bimface.Plugins.SkyBox.SkyBoxStyle.Customized); skyBoxManager.enableSkyBox(true); }

bim技术revit系列涉及的软件(BIM应用开发4bimface自定义UI)(9)

猜您喜欢: