是否可以使用 Autodesk forge 识别 BIM 模型的内部和外部元素?
Posted
技术标签:
【中文标题】是否可以使用 Autodesk forge 识别 BIM 模型的内部和外部元素?【英文标题】:Is it possible to identify interior and exterior elements of a BIM model using Autodesk forge? 【发布时间】:2021-11-15 14:47:04 【问题描述】:过去几个月我一直在学习 Forge API,但对这个平台还是比较陌生。如果这是一个明显的问题,请原谅。 我有一个 Autodesk Forge 应用程序,我可以在其中上传 Revit 文件并将其元数据提取到数据库中。在元数据中,有一个名为“功能”的类别。它显示特定元素是内部还是外部。如果缺少“功能”数据,是否有任何方法可以使用 Autodesk forge API 识别内部和外部元素?还是以编程方式?
在 Revit 中,我使用 Element.Location 节点(在 Dynamo 中)并提取墙壁、窗户等的 XYZ 坐标,并通过区分内部和外部元素的算法运行该数据。识别内外墙、窗户、楼梯等的可能方法是什么。
感谢任何帮助/指导。
【问题讨论】:
【参考方案1】:据我所知,只有 Revit 墙有功能参数,它是元素属性的一部分(在 Revit 中,我们称之为参数)。在 Forge Viewer 中,您可以通过调用 Viewer3D#getProperties 获取它。
https://knowledge.autodesk.com/support/revit-lt/learn-explore/caas/CloudHelp/cloudhelp/2022/ENU/RevitLT-ArchDes/files/GUID-718C1341-C4FC-40D6-9646-D2E13A861D33-htm.html
不幸的是,Revit API 的Element.Location
在 Forge Viewer 中不相等,因为在 Forge 转换期间所有几何图形都将转换为网格。要获取网格位置,您可以利用对象边界框的中心:https://***.com/a/64769854/7745569
【讨论】:
感谢您的指导。我将尝试根据顶点获取片段位置。另一方面,我发现了一些示例 Revit 文件,当我提取元数据时,还有其他几个元素,包括具有功能:内部/外部的地板和门窗。 i.imgur.com/0GTkOF2.png 在设计 Revit 文件时通常会标记这些数据吗?如果是,并且如果它没有被标记,找到片段位置是否有助于确定元素是内部还是外部?请指教。谢谢! 感谢您的指出。我没有注意到 Floor 有function
参数。这应该取决于设计师。函数参数可能没有设置正确的值。 help.autodesk.com/view/RVT/2022/ENU/… 和 help.autodesk.com/view/RVT/2022/ENU/…
如果功能参数设置不正确,将很难在查看器中确定内部/外部元素。因此,我建议您考虑改用 Revit API,并在 Desisgn Automation API for Revit 上运行它。以下是关于查找外墙的 Revit API 的讨论:thebuildingcoder.typepad.com/blog/2018/05/…
非常感谢您的建议。通过设计自动化运行 Revit API 帮助解决了我的问题。然而,它只识别和区分墙壁、窗户和门与内部和外部。如果 BIM 模型具有 MEP 组件,是否有可能从外部和内部识别 MEP 元素?请提出建议并建议我如何实现它。以上是关于是否可以使用 Autodesk forge 识别 BIM 模型的内部和外部元素?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Autodesk Forge 扩展与 React.js 一起使用?