BIM轻量化技术简介

BIM轻量化技术是指在工程建筑的BIM模型建立之后(利用专业的BIM建模软件,比如Autodesk Revit, Bentley MicroStation, DS Catia等),通过对BIM模型的压缩处理等技术手段,让BIM可以在各类WEB浏览器、移动App上被使用的技术。

BIM轻量化技术大大拓展了BIM的应用范围,让三维可视化、数据化的BIM模型不仅只停留在设计阶段,而是可以应用于施工阶段、运维阶段,覆盖整个工程建筑的全生命周期。

BIM轻量化技术使得BIM模型可以脱离专业的BIM建模软件,可以应用于各种各样的信息化系统、软件平台,大大拓展了BIM技术的应用场景。

BIM轻量化技术还可以实现多种不同格式BIM模型的融合应用,打破了不同BIM建模厂商产品间的屏障,实现了统一数据格式与统一数据应用,实现了多专业协同,大大降低了BIM应用的复杂度。

BIM轻量化技术大大拓展了BIM技术的应用人群范围,使得大量的非专业技术人群也可以方便使用BIM技术,充分发挥了BIM技术的三维可视化、数据化,体现出协同效应。

由此可见,BIM轻量化技术是BIM技术推广应用的关键点,是BIM技术实现应用价值的倍增器!

BIM轻量化引擎

BIM轻量化引擎产品是BIM轻量化技术的具体代表与实现!

BIM轻量化引擎技术方案选择

BIM轻量化引擎产品从技术方案上,可分为传统的ActiveX插件技术和WEBGL技术两种。传统的ActiveX插件技术因技术老旧,存在巨大安全隐患,已经逐渐被淘汰。采用WebGL技术的BIM轻量化引擎代表了最先进的技术和方向,无数据安全隐患、不仅适用于各类WEB浏览器,也适用于移动App应用,是当前BIM轻量化引擎产品的最佳选择。

WebGL轻量化BIM引擎工作原理

WebGL轻量化BIM引擎要在确保BIM模型的数据不损失的情况下,实现BIM模型的轻量化,让BIM模型能够在Web浏览器或App上更快的加载和使用。

WebGL轻量化BIM引擎对BIM模型的轻量化处理实现,一般可以分为以下几步,如图所示:

1) 数模分离

BIM模型包含三维几何数据和模型结构属性等非几何数据两部分。首先,WebGL轻量化BIM引擎需要将几何数据和非几何数据进行拆分。通过这样的处理,原始BIM模型文件中约20%-50%的非几何数据会被剥离出去,输出为数据文件供BIM应用开发使用。

2) 三维几何数据轻量化处理

剥离非几何数据后剩下的三维几何数据,我们还需要进一步轻量化处理优化,以降低三维几何数据量,节约客户端电脑的渲染计算量,从而提高BIM模型下载、渲染和功能处理的速度。

三维几何数据优化这块,一般采取的方案包括:

a) 参数化或三角化几何描述

通过采用参数化或三角化的描述手段来降低三维几何数据的数据文件大小,让模型数据变得更小。

b) 相似性算法减少构件存储量;

在一个工程BIM模型中很多构件长得一模一样,只是所处位置或角度不同,这时就可以采用相似性算法进行数据合并,即:只保留一个构件的数据,其他相似构件只记录一个引用 + 空间坐标即可。通过这种方式可以有效减少构件存储量,达到轻量化的目的。

c) 构建符合场景远近原则的多级构件组织体系;

大的BIM模型构件数量会非常多,在WEB浏览器中全部下载和加载这些构件是不现实的。同时,观察BIM模型的视野范围或场景又是相对有限的。所以利用这个特点,就可以创建一个符合场景远近原则的多级构件体系,使得用户在观察BIM模型时,在远处可以看到全景,但不用看到细节,在近处可以看到细节,但无需看到BIM模型的全部。这样可以大大提高BIM模型在WEB浏览器加载速度和用户体验,解决大体量BIM模型的轻量化问题。

d) 可能的其他方案

其他能够提高WEB浏览器下载和渲染模型效率的技术方案。

3) 三维几何数据在WEB浏览器或App端的实时渲染及管理

WebGL轻量化BIM引擎要实现对三维几何数据的实时渲染(注意:这是实时渲染,跟很炫目的后期专业渲染制作动画的技术要求完全不同),需要进行以下两个步骤的动作。

a) 三维几何数据从服务器端下载到客户端电脑或移动端设备内存。

b) 调用客户端电脑或移动端设备内存和GPU(显卡)高效的实时渲染三维几何数据,还原三维BIM模型。

c) 通过API接口调用形式,实现对三维BIM模型及其构件的操作、管理和对外功能实现。

WebGL轻量化BIM引擎技术指标

一款优秀的WebGL轻量化BIM引擎产品必须同时满足一下几个方面的指标:

1) 对不同格式的BIM模型文件的兼容能力

一般来说,引擎必须能够支持当前市场主流的BIM建模软件生成的BIM模型文件格式,比如:

最主流的Autodesk的rvt、rfa、nwd格式,Bentley的Dgn、iModel格式,Catia的CATPart格式,还有BuildingSmart确定的IFC格式,通用的三维文件格式如Obj、Dae、3ds、Fbx格式。

2) 对BIM模型数据的还原能力

原有BIM模型在经过BIM轻量化引擎处理后的所呈现出来的三维几何数据是否存在构件缺失、几何变形、颜色改变,非几何数据是否存在缺失、混乱等情况是判断引擎是否合格的一个关键指标。

3) WEB端BIM模型的加载速度、渲染流畅度和稳定性

在网络环境、客户端硬件配置确定的情况下, 轻量化处理后的BIM模型通过BIM轻量化引擎在Web端的加载速度、渲染流畅度、操作稳定性是引擎最核心的指标。

没有一个用户能够忍受较长的BIM模型加载时间、卡顿的操作和性能的不稳定。

4) 对大体型BIM模型的支持能力

BIM模型精度越来越高、大型公路工程的BIM模型文件往往超过10G以上,如此大体量的模型就要求BIM轻量化引擎有对应的支持能力。

是否支持10G以上的BIM模型是判断一个BIM轻量化引擎是否可用的标准!

5) 引擎所提供的功能是否丰富

BIM轻量化引擎的功能丰富度决定了能进行什么样的BIM应用。所以,一个BIM轻量化引擎处理最基本的模型加载、放大缩小、透明、着色、视点、标签、爆炸、测量、漫游等基本功能之外,是否还具有其他功能也是判断引擎是否优秀的重要指标。

参考:

https://zhuanlan.zhihu.com/p/148683028

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/107533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【RTOS学习】优先级 | Tick | 任务状态 | 空闲任务 | 任务调度

🐱作者:一只大喵咪1201 🐱专栏:《RTOS学习》 🔥格言:你只管努力,剩下的交给时间! 优先级 | Tick | 任务状态 | 空闲任务 | 任务调度 🏀优先级⚽任务管理 🏀T…

LockSupport-park和unpark编码实战

package com.nanjing.gulimall.zhouyimo.test;import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.LockSupport;/*** author zhou* version 1.0* date 2023/10/16 9:11 下午*/ public class LockSupportDemo {public static void main(String[] args) {…

软考高项第四版教材整合管理(第8章)重点内容

序:距离2023下半年软考还有18天,来不及看书的小伙伴看过来啦,一起过一下重点,开始之前,建议大家将下面的过程组矩阵图熟记!!! 第8章 项目整合管理 项目整合管理包括识别、定义、组…

node教程

文章目录 1.node入门 1.node入门 node是什么? node.js是一个开源的,跨平台的JS运行环境(其实可以理解为是一款应用程序,是一款软件,可以运行JS) node作用: 1.开发服务器应用

【LeetCode热题100】--169.多数元素

169.多数元素 使用哈希表&#xff1a; class Solution {public int majorityElement(int[] nums) {int n nums.length;int m n/2;Map<Integer,Integer> map new HashMap<>(); //定义一个hashfor(int num:nums){Integer count map.get(num); //Map.get() 方法…

8、docker 安装 nginx

1、下载镜像 docker pull nginx 2、本机创建目录 1&#xff09;创建nginx挂载目录 mkdir /usr/local/nginx 2&#xff09;进入nginx目录 cd /usr/local/nginx 3&#xff09;创建 www和logs目录 mkdir -p www logs 3、创建nginx容器 此容器用于复制配置文件&#xff0c;复…

[Spring] SpringMVC 简介(三)

目录 九、SpringMVC 中的 AJAX 请求 1、简单示例 2、RequestBody&#xff08;重点关注“赋值形式”&#xff09; 3、ResponseBody&#xff08;经常用&#xff09; 4、为什么不用手动接收 JSON 字符串、转换 JSON 字符串 5、RestController 十、文件上传与下载 1、Respo…

将中文名格式化输出为英文名

要求&#xff1a; 编写Java程序&#xff0c;输入样式为&#xff1a;Zhong wen ming的人名&#xff0c;以 Ming,Zhong.W 的形式打印出来。其中.W是中间单词的首字母&#xff1b;例如输入”Willian Jefferson Clinton“,输出形式为&#xff1a;Clinton,Willian.J public static …

【仪器仪表专题】案例:测试充电芯片保护时间测试10小时后电子负载自动下线是为什么?

测试充电芯片保护时间有两种办法,一种是使用真实的电池让充电芯片一直充电(可以通过降充电电流、修改时间参数或是并电池增加容量的方式)。另一种是使用电子负载的CV模式模拟电池(需要增加一个芯片NTC电阻来避免充电芯片发生NTC错误)。 为了最完整的还原这个过程,我采取…

IDEA实现远程Debug调试

一、 前提   需要准备JDK1.8环境&#xff0c;安装IDEA(版本不限) 二、 IDEA中如何实现远程Debug模式 (1)、创建demo项目 1.File一>New一>project… 2.Maven Archetype一>填写Name一>选择jdk1.8一>选择Web一>创建 (2)、配置Idea 找到Remote Jvm Debug java…

【Vue 2】Props

Prop大小写 Prop的命名规则有camelCase&#xff0c;驼峰命名和kebab-case&#xff0c;短横线分隔。 由于HTML对大小写不敏感&#xff0c;所以浏览器会把大写字母解释为小写字母。 当我们使用camelCase命名prop时&#xff0c;在Dom中的template模板使用该prop就需要换成对应的…

交叉熵Loss多分类问题实战(手写数字)

1、import所需要的torch库和包 2、加载mnist手写数字数据集&#xff0c;划分训练集和测试集&#xff0c;转化数据格式&#xff0c;batch_size设置为200 3、定义三层线性网络参数w&#xff0c;b&#xff0c;设置求导信息 4、初始化参数&#xff0c;这一步比较关键&#xff0c;…

如何使用内网穿透实现U8用友ERP本地部署并远程访问办公?

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上&#xff0c;点击开始菜单栏&#xff0c;打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…

VMware使用ubuntu安装增强功能实现自动缩放

VMware使用ubuntu安装增强功能实现自动缩放 1.下载 VMware Tools2.安装tool 1.下载 VMware Tools 1.需要先弹出DVD 2.虚拟机-安装VMware Tools 进入终端 3.把media下的VMware压缩包拷贝到home/下 4.去home下解压 2.安装tool 进入vmware-tools-distrib sudo ./vmware-ins…

G.711语音编解码器详解

语音编解码利用人听觉上的冗余对语音信息进行压缩从而达到节省带宽的目的。值得注意的是,本文说的是语音编解码器,也就Speech codec,而常用的还有另一种编解码器称作音频编解码器,英文是Audio codec,它们的区别如下。 以前在学校的时候研究了很多VoIP的编解码器从G.723到A…

Linux:将mysql数据导入mongodb

mysql和mongodb都要同时开启 进入mysql创建一个数据库为aaa create database aaa; 创建一个tarro表结构为 &#xff08;id int,name varchar(20)&#xff09; create table tarro(id int,name varchar(20)); 插入几个数据&#xff0c;等会把这里的数据导过去 insert in…

香港学界呼吁RWA“在港先发”,构建基于港元稳定币的Web3生态!

2023年以来&#xff0c;市场对于RWA&#xff08;Real World Assets&#xff09;即真实世界资产“代币化”的讨论愈发频繁&#xff0c;一些观点认为 RWA将在下一轮加密资产牛市中成为焦点&#xff0c;部分Web3创业者和传统金融企业也快速将业务方向瞄准相关赛道&#xff0c;而被…

Sanic​——Python函数变成API的神器

今天给大家介绍一个超好用的框架&#xff0c;迅速将Python函数变成API&#xff0c;它就是最近越来越火的异步Web框架Sanic。 1. Sanic简介 Sanic 是 Python3.7 Web 服务器和 Web 框架&#xff0c;旨在提高性能。它允许使用 Python3.5 中添加的async/await语法&#xff0c;这使…

[牛客习题]“幸运的袋子”

习题链接&#xff1a;幸运的袋子_牛客题霸_牛客网 题目分析 由题意可知&#xff1a;“幸运的袋子”的概念是——小球的数值之和大于小球的数值之积。 假如现在有5个小球&#xff1a;1&#xff0c;1&#xff0c;3&#xff0c;5&#xff0c;7&#xff0c;并将他们编号a0~a4.我们…

【数据结构】链表

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈数据结构 &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 链表 1. ArrayList的缺陷2. 链表2.1…