NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
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 工具的示例所示:
![](http://www.bimant.com/blog/content/images/2022/12/image-76.png)
在上图中,使用 IFC.js 插入 Twitter 推文中的 BIM 模型。 可以在模型周围导航并执行其他操作,例如应用剖切平面、与其他 BIM 工具交互以及将模型导出为 DXF 工程图。
本质上,Twitter 在这种情况下充当 BIM 查看器。 它以相同的方式与任何其他网页一起工作,允许在任何地方显示 BIM 模型(IFC 格式)。
网络研讨会中演示的另一个示例是一个 BIM + GIS 应用程序,该应用程序是使用 IFC.js 和另一个名为 Harp.gl 的开源库在不到 48 小时内开发的,这个在最近的 AEC 黑客马拉松期间开发的 BIM + GIS 应用程序显示了位于旧金山的 BIM 模型:
![](http://www.bimant.com/blog/content/images/2022/12/image-77.png)
然后是下图所示的 BIM 查看器示例,仅用 74 行代码创建了元素选择、环境遮挡、阴影、剪裁位置、相机动画等。 IFC.js 库的实现方式隐藏了代码的复杂性,允许根据正在开发的应用程序的需要轻松引用所需的功能:
![](http://www.bimant.com/blog/content/images/2022/12/image-78.png)
上图中使用 IFC.js 创建的 BIM 查看器, 可以在右侧的开发者工具窗口中看到所选元素的属性。
IFC.js 的源代码位于 GitHub ,包括教程、用例等在内的文档可以在这里访问。随着更多开发人员加入该计划并添加到代码中,它的功能应该会继续得到增强。 不用说,作为一项非商业性的努力,它没有付费应用程序的花哨功能,但它是实用的,如BIM查看器中的示例所示,其中所选元素的属性可以在 Developers 工具中看到 窗口而不是集成的调色板。
此外还应注意,虽然 JavaScript 主要用于 Web 开发,但它也可用于创建桌面应用程序,因此 IFC.js 也可用于快速启动桌面 BIM 应用程序的开发,如下图 所示, 导入和使用 IFC 格式的 BIM 模型的基础知识得到处理后,开发人员可以专注于实现其 BIM 应用程序将提供的其他功能:
![](http://www.bimant.com/blog/content/images/2022/12/image-79.png)
上图展示了使用 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 连接器的应用程序接收。 下图显示了一个示例:
![](http://www.bimant.com/blog/content/images/2022/12/image-80.png)
![](http://www.bimant.com/blog/content/images/2022/12/image-81.png)
目前,大约有 18 个连接器,还有更多连接器正在开发中,通常是与应用程序开发人员协作。 因此,例如,Speckle 正在与 Graphisoft 合作开发 Archicad 连接器; Tekla Structures 的连接器也在开发中。
除了能够实时启用 AEC 数据交换之外,需要注意的关键是 Speckle 不处理文件本身。 相反,数据是通过其 Speckle 连接器作为“流”从应用程序中捕获的。 Speckle 是一个基于 Web 的应用程序,所有这些捕获的流都在线托管,如下图所示。任何流都可以简单地通过 URL 发送到具有连接器的接收应用程序。 Speckle 跟踪对流中捕获的元素所做的任何修改,并向所有在其他应用程序中使用该流的人实时发送有关更新的通知。
![](http://www.bimant.com/blog/content/images/2022/12/image-82.png)
Speckle产品的长期愿景是超越成为最终用户的平台,同时也被开发人员部署。 由于 AEC 数据可以根据需要推入和推出 Speckle,因此可以开发需要处理模型中数据的工具,例如嵌入碳计算、数量报告、成本核算、调度等。 随着 AEC 数据现在从专有文件中“解放”出来,其他开发人员可以访问它并释放 BIM 模型的潜力,而无需开发 API(应用程序编程接口)来处理各个 AEC 应用程序。 他们只需要使用 Speckle 中的数据流,而且它是免费和开源的事实降低了进入门槛,就像使用 IFC.js 一样。
三、结束语
看到如此多的人聚集在一起,汇集他们的技能、兴趣和资源来开发对整个行业有用的开源软件解决方案,为商业软件解决方案提供急需的对比,真是太棒了。 通过免费提供,Speckle 和 IFC.js 允许较小规模的开发人员快速启动他们自己的解决方案的开发,这显着降低了进入门槛,并可以鼓励 AEC 技术行业的更多创新。
这些开源工作的许多贡献者都是以志愿者的身份这样做的,除了他们的有偿工作之外,他们还为此腾出了时间。 他们是开源软件的坚定支持者,并且希望分享他们编写的代码。 我发现它非常鼓舞人心。
原文链接:Speckle and IFC.js: Open Source Tools for BIM
BimAnt翻译整理,转载请标明出处