Speckle+IFC.js:开源BIM

news2025/1/20 3:37:58

2021年12 月底,我有机会参加了一个关于两个开源工具的网络研讨会:Speckle 和 IFC.js。 该网络研讨会是由一个名为 Agile BIM 的社区组织的,我对此也一无所知。 然而,我所知道的事实是开源软件开发在任何领域的重要性,开发人员作为一个团队聚集在一起创建软件,这些软件可以免费提供以进行可能的修改和重新分发,从而允许它进一步开发 . 使用开源开发的技术通常是商业软件公司无法提供的,其业务是开发专有软件。

在这里插入图片描述

对于 AEC 行业,我们确实有开放设计联盟(ODA)和 buildingSMART International 等组织致力于促进开放性和互操作性,关于这一点请参阅最近的文章 ODA Summit 2021和 buildingSMART 标准概述。IFC 格式已为 OpenBIM 建立完善,几乎得到所有领先的 AEC 技术开发商的一致支持,以允许他们的应用程序交换彼此的数据 。

那么,Speckle 和 IFC.js 是什么,它们有什么作用,为什么需要它们? 2021 年 12 月 15 日举行的关于这两个开源工具的敏捷 BIM 网络研讨会让我有机会了解更多关于它们的信息。

首先是 IFC.js。

一、IFC.js

IFC.js 是一个正在开发的 JavaScript 库,旨在使 BIM 开发民主化并降低成本,这样 AEC 技术领域的小公司也可以获得开发 BIM 的机会,而不会被大公司垄断。 这不仅有利于小型企业,也有利于整个行业,因为更多 BIM 解决方案将以更实惠的价格在更多国家/地区推出。 反过来,这将导致 BIM 的采用率不断提高,从而提高整个行业的技术水平。 此外,降低开发 BIM 的成本也将刺激该领域的更多创新并加快改进步伐。 从本质上讲,这个想法不仅是为了创造公平的竞争环境,而且实际上是为了让更多的玩家能够参与进来。

IFC.js 背后的想法是通过免费提供 IFC 开发的源代码和文档来实现这一点,这样开发人员至少可以准备好这个起点并准备开始。 当然,前提是 IFC 格式对任何类型的 BIM 软件开发都至关重要;考虑到IFC的成熟程度——更不用说它是唯一可用的开放式 BIM 标准——这是一个安全的选择。 但是,实施起来非常困难。 凭借完全免费的现成实施,IFC.js 消除了进入障碍,使小型开发人员更容易快速启动他们的软件开发。

IFC.js 的当前功能包括以 3D 形式读取和写入 IFC 文件。 此外,由于它是一个 JavaScript 框架,它允许创建可在 Web 浏览器以及多个平台上的移动设备中运行的 BIM 工具。 IFC.js不仅易于使用,而且非常高效,如仅用 30 行 JavaScript 在 Twitter 中创建 BIM 工具的示例所示:
在这里插入图片描述

在上图中,使用 IFC.js 插入 Twitter 推文中的 BIM 模型。 可以在模型周围导航并执行其他操作,例如应用剖切平面、与其他 BIM 工具交互以及将模型导出为 DXF 工程图。

本质上,Twitter 在这种情况下充当 BIM 查看器。 它以相同的方式与任何其他网页一起工作,允许在任何地方显示 BIM 模型(IFC 格式)。

网络研讨会中演示的另一个示例是一个 BIM + GIS 应用程序,该应用程序是使用 IFC.js 和另一个名为 Harp.gl 的开源库在不到 48 小时内开发的,这个在最近的 AEC 黑客马拉松期间开发的 BIM + GIS 应用程序显示了位于旧金山的 BIM 模型:
在这里插入图片描述

然后是下图所示的 BIM 查看器示例,仅用 74 行代码创建了元素选择、环境遮挡、阴影、剪裁位置、相机动画等。 IFC.js 库的实现方式隐藏了代码的复杂性,允许根据正在开发的应用程序的需要轻松引用所需的功能:
在这里插入图片描述

上图中使用 IFC.js 创建的 BIM 查看器, 可以在右侧的开发者工具窗口中看到所选元素的属性。

IFC.js 的源代码位于 GitHub ,包括教程、用例等在内的文档可以在这里访问。随着更多开发人员加入该计划并添加到代码中,它的功能应该会继续得到增强。 不用说,作为一项非商业性的努力,它没有付费应用程序的花哨功能,但它是实用的,如BIM查看器中的示例所示,其中所选元素的属性可以在 Developers 工具中看到 窗口而不是集成的调色板。

此外还应注意,虽然 JavaScript 主要用于 Web 开发,但它也可用于创建桌面应用程序,因此 IFC.js 也可用于快速启动桌面 BIM 应用程序的开发,如下图 所示, 导入和使用 IFC 格式的 BIM 模型的基础知识得到处理后,开发人员可以专注于实现其 BIM 应用程序将提供的其他功能:

在这里插入图片描述

上图展示了使用 IFC.js 创建的测试桌面应用程序。 虽然此示例在 Windows 上运行,但 IFC.js 也适用于 Mac 和 Linux 平台。

二、Speckle

网络研讨会中介绍的第二个开源工具是 Speckle。 与 IFC.js 不同,IFC.js 不仅免费且开源,而且还由在不同公司工作的个人协作开发,Speckle 实际上是一家名为 Speckle Systems 的公司的产品,该公司拥有一些全职员工,其中许多人拥有之前曾在以尖端技术开发和实施而闻名的 AEC 公司从事计算设计工作,例如 Arup、Buro Happold 和 Foster+Partners。

事实上,我第一次听说 Speckle 是在 upFront.eZine 的第 1113 期,Arup Digital Technology 的高级顾问 Peter Debney 提到了为什么 Arup 帮助开发 Speckle 并作为开源产品来解决建筑中的数据传输问题 .

Speckle 是一种协作和互操作性解决方案,不同于使用 IFC 等通用文件格式在应用程序之间交换数据,Speckle通过为最流行的 AEC 应用程序提供连接器来工作,允许它们与其他连接的应用程序实时交换数据。 一旦为应用程序安装了连接器,它允许从模型中选择的元素被捕获为“流”,然后可以被任何其他具有 Speckle 连接器的应用程序接收。 下图显示了一个示例:

在这里插入图片描述

在 Revit 模型中选择元素以创建 Speckle 流
在这里插入图片描述

将其导入 Rhino + Grasshopper

目前,大约有 18 个连接器,还有更多连接器正在开发中,通常是与应用程序开发人员协作。 因此,例如,Speckle 正在与 Graphisoft 合作开发 Archicad 连接器; Tekla Structures 的连接器也在开发中。

除了能够实时启用 AEC 数据交换之外,需要注意的关键是 Speckle 不处理文件本身。 相反,数据是通过其 Speckle 连接器作为“流”从应用程序中捕获的。 Speckle 是一个基于 Web 的应用程序,所有这些捕获的流都在线托管,如下图所示。任何流都可以简单地通过 URL 发送到具有连接器的接收应用程序。 Speckle 跟踪对流中捕获的元素所做的任何修改,并向所有在其他应用程序中使用该流的人实时发送有关更新的通知。

在这里插入图片描述

所有保存的 Speckle 流都可以在线查看。

Speckle产品的长期愿景是超越成为最终用户的平台,同时也被开发人员部署。 由于 AEC 数据可以根据需要推入和推出 Speckle,因此可以开发需要处理模型中数据的工具,例如嵌入碳计算、数量报告、成本核算、调度等。 随着 AEC 数据现在从专有文件中“解放”出来,其他开发人员可以访问它并释放 BIM 模型的潜力,而无需开发 API(应用程序编程接口)来处理各个 AEC 应用程序。 他们只需要使用 Speckle 中的数据流,而且它是免费和开源的事实降低了进入门槛,就像使用 IFC.js 一样。

三、结束语

看到如此多的人聚集在一起,汇集他们的技能、兴趣和资源来开发对整个行业有用的开源软件解决方案,为商业软件解决方案提供急需的对比,真是太棒了。 通过免费提供,Speckle 和 IFC.js 允许较小规模的开发人员快速启动他们自己的解决方案的开发,这显着降低了进入门槛,并可以鼓励 AEC 技术行业的更多创新。

这些开源工作的许多贡献者都是以志愿者的身份这样做的,除了他们的有偿工作之外,他们还为此腾出了时间。 他们是开源软件的坚定支持者,并且希望分享他们编写的代码。 我发现它非常鼓舞人心。


原文链接:Speckle+IFC.js:开源BIM — BimAnt

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

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

相关文章

C#基于ASP.NET的社区人口管理系统

论文阐述了社区人口信息管理系统的设计与实现,并对该系统的需求分析及系统需要实现的设计方法作了介绍。该系统的基本功能包括用户登录,管理员信息管理,常住人口管理,迁出人口信息管理,迁入人口信息管理,查…

Docker安装RabbitMq延迟队列插件

// todo 文章目录一:下载延迟队列插件1. 地址2. 把刚刚下载的插件拖拽至虚拟机中二: 进入容器执行延迟队列插件1. 延迟插件拷贝到容器内部2. 进入容器,让插件生效3. 再次查看交换机类型一:下载延迟队列插件 1. 地址 &#xff1a…

20221216英语学习

今日新词: duplicate v.复制; 被复制; 复写; 复印; 重复; 使加倍; 使成双 September n.九月 scandal n.丑事,丑闻,丑行 considerate adj.考虑周到的,体贴的,体谅的 report n.报告, 报道, 汇报, 调查报告 across …

前端实现分页打印(一)

实现页面为结算单,也页面由固定头部,订单信息,产品列表,金额汇总,订单明细 其中产品列表需要动态计算分压,订单明细由于存在多个子单,订单收费项目可配置化,导致也存在多个分页需要处…

Apereo Cas在项目中接入

1.介绍 Apereo CAS的一个功能就是单点登录,统一的登录登出接口与页面,让系统中的模块只需要关注在业务点,而把安全认证的功能交给统一认证来做。所以客户端的集成主要是单点登录的集成,客户端指定需要做安全认证的页面&#xff0…

8年软件测试工程师感悟—我亲身经历的2022年软件质量工作

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然&a…

PyTorch深度学习框架学习记录(2)--MNIST手写数字识别(续)

文章目录前言MNIST手写数字识别数据的准备工作数据的处理主干网络的定义损失函数的使用(修改)训练和预测运行前言 这个是我在学习中的其中一种方式实现MNIST手写的识别,思路我觉得比较清晰,后面会把另外的方法代码整理发布。 MN…

是否有 API 可供云对接?

涂鸦提供了两种维度供开发者拉取:应用维度、产品维度。 应用维度:设备绑定的用户属于开发者在涂鸦云应用中的用户,开发者间接拥有权限操作属于自己应用用户的设备; 产品维度:设备所属产品属于开发者在涂鸦云产品中的设…

2022年总结:道阻且长,行则将至

前言 今年是第四个年头写总结了,直到这个时候,我仍未想出今年的标题是什么。 2019年总结,平凡的我仍在平凡的生活 2020年总结,所有努力只为一份期待 2021年总结:前路有光,初心莫忘 如果非得用一句话来…

(Java)SpringMVC学习笔记(二)

前言 继续学习SpringMVC视频教程,争取今明后三天把设定的目标完成 SpringMVC 框架搭建 这一步花了我一上午时间,报了个404错误,没办法,只能从头开始创建项目(心态差点整爆炸,第一次是自认不懂&#xff0…

格力博通过创业板注册:上半年营收32亿 拟募资34.56亿

雷递网 雷建平 12月15日格力博(江苏)股份有限公司(简称:“格力博”)日前通过注册,准备在深交所创业板上市。格力博计划募资34.56亿元,其中,11.69亿元用于年产500万件新能源园林机械智…

【从零开始学习深度学习】25.卷积神经网络之LeNet模型介绍及其Pytorch实现【含完整代码】

目录1. LeNet模型介绍与实现2. 输入为Fashion-MNIST时各层输出形状3. 获取Fashion-MNIST数据和并使用LeNet模型进行训练4.完整代码之前我们对Fashion-MNIST数据集中的图像进行分类时,是将28*28图像中的像素逐行展开,得到长度为784的向量,并输…

Spring Cloud基于JWT创建统一的认证服务

认证服务肯定要有用户信息,不然怎么认证是否为合法用户?因为是内部的调用认证,可以简单一点,用数据库管理就是一种方式。或者可以配置用户信息,然后集成分布式配置管理就完美了。 表结构 本教程中的案例把查数据库这…

2022-年终总结

2022年已经到了尾声,后半年度过的太漫长了,也是自己这两年来成长速度最快的一次了(后文揭晓) 今年的年中总结链接 上半年我沉浸在读各类技术书籍中,但是后半年的我几乎放弃了读书,转而投身到另外一个学习渠…

Linux Phy 驱动解析

文章目录1. 简介2. phy_device2.1 mdio bus2.2 mdio device2.3 mdio driver2.4 poll task2.4.1 自协商配置2.4.2 link 状态读取2.4.3 link 状态通知3. phylink3.1 phylink_create()3.2 phylink_connect_phy()3.3 phylink_start()3.3 poll task参考资料1. 简介 在调试网口驱动的…

从另外一个角度解释AUC

AUC到底代表什么呢,我们从另外一个角度解释AUC,我们先看看一个auc曲线 蓝色曲线下的面积(我的模型的AUC)比红线下的面积(理论随机模型的AUC)大得多,所以我的模型一定更好。 我的模型比随机模型好多少呢?理论随机模型只是对角线,…

加密与认证技术

加密与认证技术密码技术概述密码算法与密码体制的基本概念加密算法与解密算法秘钥的作用什么是密码密钥长度对称密码体系对称加密的基本概念典型的对称加密算法DES加密算法3DES加密算法非对称密码体系非对称加密基本概念密码技术概述 密码技术是保证网络安全的核心技术之一&am…

【windows Server 2019系列】 构建IIS服务器

个人名片: 对人间的热爱与歌颂,可抵岁月冗长🌞 Github👨🏻‍💻:念舒_C.ying CSDN主页✏️:念舒_C.ying 个人博客🌏 :念舒_C.ying Web服务器也称为WWW(World W…

电子厂测试题——难倒众多主播——大司马也才90分

一、选择题 1、1-2 ( ) A.1 B.3 C.-1 D.-3 2、|1-2|( ) A.1 B.3 C. -1 D.-3 3、1x2x3( ) A.5 B.6 C.7 D.8 4、3643( ) A.29 B.16 C.8 D.3 5、55x5( ) A.15 B.30 C.50 D.125 二、填空题(请填写阿拉伯数字) 6、110100 1000_______ 7、一个三角形砍去1个角&#…

Feign的两种最佳实践方式介绍

何谓最佳实践呢?就是企业中各种踩坑,最后总结出来的相对比较好的使用方式; 下面给大家介绍两种比较好的实践方案: 方式一(继承):给消费者的FeignClient和提供着的Controller定义一个统一的父接…