测试版

[扩展名](https://www.opendesign.com/cn/sig)# 扫描到BIM SDK

一个开放的、厂商中立的扫描到BIM SDK——由其成员构建和指导

- RCP
-
- RCS
-
- LAS
-
- PTS
-
- XYZ
-
- IFC

- C++
-
- 桌面平台

[60 天免费试用](https://www.opendesign.com/cn/free-trial)

## 特点

- ### 识别

    直接从点云识别建筑对象：地板、墙壁、开口、斜屋顶
- ### 分类

    两种识别流程：基于几何的（快速，无机器学习）和机器学习辅助的（语义分割，精度更高）。
- ### 转换

    多边形网格到精确的B-Rep几何体 — 自动模式

## 查看实际应用

- 演示 1
- 演示 2
- 演示 3

##### 演示 1

点云转BIM：简单模型

[Demo%201.mp4](https://www.opendesign.com/files/2026-04/Demo%201.mp4)

- 1

##### 演示 2 — 点云 → BIM

点云到BIM流程

[Demo%202.mp4](https://www.opendesign.com/files/2026-04/Demo%202.mp4)

- 1

##### 演示 3 — 网格 → B-Rep

网格到B-Rep转换

[Demo_3.mp4](https://www.opendesign.com/files/2026-04/Demo_3.mp4)

- 1

  显示文本 ### 点云到BIM：自动化流程

此演示展示了在允许近乎全自动识别的模型上，从点云到BIM的完整流程。

#### 加载与设置

我们首先使用Docker运行ML服务器——这是语义分割所必需的。ML组件作为一个独立的Docker + Python服务运行，独立于C++ API。接下来，我们启动OdaScan2BimApp，选择“点云到BIM”模式，并加载点云。

#### 阶段 1: 语义分割（可选，基于机器学习）

我们从专用调色板启动语义分割。所使用的模型是 Point Transformer V2 Extended——这是我们目前关注的两个模型之一，另一个是 PointMLP。这两个模型都是根据我们自己的实验选择的，并在 S3DIS（斯坦福 3D 室内场景数据集）和我们自己标注的点云上进行了训练。

语义分割将点云中的每个点标记为墙壁、地板、天花板或其他。这是一个可选步骤，但它能显著提高下游准确性——如果没有它，管道会从点云中的所有物体（包括桌子、椅子、床和散热器）中提取平面区域。这些非结构性物体会产生噪声，在 BIM 识别过程中被误解为错误的墙壁和地板。分割可以及早过滤掉这些噪声。

完成后，应用程序允许与分割结果进行交互：可以有选择地隐藏或显示类别，可以恢复原始点云颜色，并且可以组合不同的可视化模式。

#### 阶段 2: 平面区域计算

此阶段从语义分割的点云中提取平面。它使用超体素聚类和区域生长进行初始过分割（有意避免可能合并不同表面的欠分割），然后使用迭代 RANSAC 平面检测来查找平面，接着使用区域生长进行表面细化。

初始步骤——超体素聚类、区域生长和 RANSAC——使用第三方点云库 (PCL)。此后的所有内容都是 ODA 自己的代码：表面细化和扩展，以及边界识别。边界是通过将 3D 点投影到 2D 图像（俯视图和侧视图投影）、分析 2D 区域并将其映射回 3D 来确定的。

应用程序支持组合不同的可视化模式：仅平面区域、仅点云或组合。

#### 阶段 3: BIM 对象识别

在此测试模型上，识别几乎是全自动的，仅需进行少量参数调整。识别遵循固定顺序：

首先是楼板识别——水平区域被识别为IfcSlabs。附近和共面的楼板会被合并，碎片区域会被连接，小片段会被过滤掉。

接着是墙体识别——将相同的程序应用于垂直区域。墙体被识别、合并、连接和过滤。

接下来是楼板-墙体连接——建立墙体和楼板之间的空间关系，并进行几何调整以使其精确对齐。

然后是斜坡区域的屋顶识别（如果存在）。

最后是开口识别——墙体几何中的空隙被识别为窗户和门。这是机器学习分割发挥作用的第二个地方：由家具（床、书柜、散热器）后面的墙体缺失点引起的明显开口可以被识别为误报并进行过滤。机器学习分割实现了这种过滤——如果没有机器学习，假开口不会被自动过滤。

#### 输出

结果将导出为IFC文件。它可以保存并在任何兼容IFC的查看器中打开，例如ODA的OpenIFCViewer，用于验证和质量评估。

### 点云到BIM：手动修正

此演示展示了一个真实世界的场景，其中自动化流程需要大量人工干预。它说明了 OdaScan2BimApp 中可用的校正工具以及实践中出现的问题类型。

#### 从已保存的中间结果开始

为了节省时间，我们从语义分割和平面区域计算的预计算和保存结果开始。该应用程序允许保存中间流程状态并稍后从它们恢复——这对于前两个阶段（分割和区域计算）耗时的工作流程至关重要。

#### 挑战：关闭的门

这个特定点云的主要难点在于扫描时几乎所有门都关闭了。在点云数据中，关闭的门与墙壁无法区分，这意味着管道无法检测到应该有门的位置。这是扫描到BIM工作流程中最常见的实际问题之一。

#### 自动步骤

最初的识别步骤仍然是自动的：楼板识别、墙体识别和墙体合并。即使在具有挑战性的扫描中，这些步骤也能很好地工作。

#### 手动校正工作流程

自动连接后，我们会审查结果并开始手动修复。该应用程序提供了几个关键工具：

点云在BIM模型上的叠加——原始点云可以叠加在识别出的BIM几何体上。通过将原始扫描数据与生成的模型进行视觉比较，可以很容易地发现识别错误的地方。

撤销单个操作——在第一个案例中，一个门区域错误地连接到了一个墙区域，从而产生了一堵无效的墙。我们只撤销那个特定的连接（而不是整个操作历史），删除门区域，然后手动连接正确的区域。

墙体调整大小——有几堵墙需要调整：有些更短，有些更长，一堵更宽。在此阶段不需要精确的准确性，因为后续的自动程序（楼板-墙体几何调整）会处理精确对齐。

手动过滤——在自动噪声墙体过滤后，仍有一些错误的墙体。我们手动删除它们。

手动楼板-墙体连接——自动连接无法处理未触及楼板的墙体。这些需要手动连接步骤。

#### 开口识别挑战

几何调整后，我们进行开口识别。由于门关闭问题，自动错误开口移除在此次扫描中表现不佳。我们再次叠加原始点云并手动移除不正确的开口。

有些门洞根本没有被检测到——因为扫描将门捕捉为实体表面，它们看起来像墙壁。这是一个根本性的限制：如果在扫描时物理门是关闭的，任何算法都无法推断出其后面存在开口。

#### 结果

尽管需要手动操作，最终的BIM模型准确地表示了建筑结构。手动校正工具——特别是撤销单个操作、点云叠加和元素调整大小——使得即使对于困难的扫描，该过程也易于管理。

### 网格转B-Rep

此演示展示了在两个不同复杂度的模型上进行的网格到B-Rep转换管道。这是SDK中的一个独立方向，与点云到BIM管道无关。

#### 网格到B-Rep的作用

目标是将多边形网格（三角化表面）转换为精确的边界表示（B-Rep）——CAD和BIM应用程序使用的标准几何格式。B-Rep模型具有精确的数学表面、清晰的边缘和正确的拓扑结构，使其适用于编辑、测量和下游工程工作流程。

#### 转换过程

该管道分两个阶段工作。首先，网格被分割：曲率分析和锐边检测将其划分为区域，每个区域被归类为规范表面（平面、圆柱体、球体或圆锥体），并且段被扩展以覆盖相邻的一致区域。

其次，B-Rep构建：每个段被转换为其解析表面表示，相邻表面之间的交线定义了边缘，表面被修剪并组装成一个完整的B-Rep实体。所使用的B-Rep引擎是ODA轻量级B-Rep建模器。

#### 模型1：具有非平面特征的简单几何体

第一个模型主要由平面组成，使得平面区域易于识别。然而，它包含圆柱形和圆锥形孔洞，这考验了规范曲面识别能力。系统将这些识别为圆柱体和圆锥体，创建相应的解析曲面，并构建有效的B-Rep几何体，包括孔洞与周围平面之间的交线。

#### 模型2：复杂曲面几何体

第二个模型的三角形数量较少，但更具挑战性——它包含数量显著更多的圆柱形段。当曲率半径较大时，识别圆柱形表面会更困难，因为这些表面看起来几乎是平坦的，容易与平面混淆。此模型展示了系统如何处理这种模糊性。

#### 非规范段问题

无法识别为平面、圆柱体、球体或圆锥体的段是主要挑战。目前，SDK采用暴力回退方法：未识别段中的每个三角形在B-Rep输出中都成为一个独立的平面。这保证了模型的有效性，但增加了面数。实验性的基于样条的曲面拟合方法在有限情况下显示出有希望的结果，但任意段的鲁棒重建仍然是一个开放的研究问题。

#### DWG导出

结果可以导出为DWG格式，这对于在标准CAD程序中进行验证以及与使用基于DWG工作流的团队共享非常有用。在常用工具中检查B-Rep质量的能力对于验证转换结果至关重要。

## 工作原理

### 点云转BIM

- #### 点云

    RCP · RCS · LAS · PTS · XYZ
- #### AEC对象

    楼板 · 墙体 · 开口 · 屋顶
- #### BIM

    IFC导出

一个独立的方向。从原始点云数据构建干净的多边形网格。在点云转BIM中，对于AEC算法无法分类的对象，它也作为一种备用方案。

---

### 网格转B-Rep

- #### 网格
- #### 分割

    曲率 · 表面识别
- #### B-Rep

    Precise geometry

一个独立的方向。通过自动分割和表面识别，将多边形网格转换为精确的B-Rep几何体。

[技术详情](https://www.opendesign.com/files/2026-04/ODA_ScanToBIM_Technical_Deep_Dive.pdf)

### 支持的格式

- #### 导入
-
- #### .RCP / .RCS

    Autodesk ReCap
- #### .LAS

    ASPRS LiDAR
- #### .PTS

    Leica
- #### .XYZ

    通用
- #### .PCD

    点云库

- #### 导出
-
- #### .IFC

    开放BIM标准

## 路线图

- ### 已实现

    - #### 点云到BIM：

        AEC对象识别（地板、墙壁、开口、屋顶）→ IFC导出
    - #### 网格到B-Rep：

        从多边形网格自动转换为B-Rep
    - #### 点云导入：

        RCP, RCS, LAS, PTS, XYZ
- ### 2026年推出

    - 建筑构件识别增强
    - 支持大型点云进行机器学习
    - 自动房间检测
    - 网格分割改进
    - 非结构化对象的点云到网格转换

路线图的优先级由SIG成员决定。加入SIG以影响其方向。

## 用例

- ### 设计

    让您的用户能够扫描现有场地，并使用从点云数据自动识别的精确竣工模型开始在BIM中进行设计。
- ### 建造

    为您的用户提供自动化质量控制：扫描结构，提取识别出的元素，并与设计模型进行比较——所有这些都在您的应用程序内部完成。
- ### 运维

    让您的用户通过激光扫描创建和维护数字孪生。结构化的IFC输出，用于文档、分析和设施管理 — 嵌入到您的平台中。

## FAQ

- 使用Scan-to-BIM SDK需要机器学习或GPU吗？ 不需要。该流程无需机器学习即可运行——平面区域计算和BIM对象识别完全通过C++ API在CPU上运行。基于机器学习的语义分割是一个可选的第一步，它通过在识别前过滤非结构对象（家具、散热器、设备）来提高准确性。如果您使用机器学习，则需要Docker、Python和GPU。这两个组件是独立的。
- Scan-to-BIM SDK支持哪些点云格式？ 导入：.RCP/.RCS (Autodesk ReCap), .LAS (ASPRS LiDAR), .PTS (Leica), .PCD (点云库), .XYZ (通用)。导出：.IFC (开放BIM标准)。目前不支持E57和PTX。
- 该SDK可以识别哪些建筑元素？ PC-to-BIM管道目前可识别楼板、墙体、开口（窗户和门）和坡屋顶。这些以IFC格式导出为分类的AEC对象。2026年路线图包括增强建筑构件识别和自动房间检测功能。
- PC-to-BIM和Mesh to B-Rep之间有什么区别？ 两个独立的方向。PC-to-BIM直接从点云数据中识别建筑对象并导出为IFC——这是核心方向。Mesh to B-Rep通过分割和规范曲面识别将多边形网格转换为精确的边界表示（B-Rep）几何体——这是一项独立的功能，与PC-to-BIM管道无关。
- Scan-to-BIM SDK是成品吗？ 该SDK处于测试阶段，正在积极开发中。它是在ODA战略互操作性小组（SIG）计划下开发的，参与公司指导其路线图。2026年路线图包括对ML的大点云支持、自动房间检测和网格分割改进。
- 如何获取Scan-to-BIM SDK？ 通过Scan-to-BIM SIG。提供试用SIG——60天免费。完整的SIG会员资格包括对路线图优先级的投票权以及直接与工程团队沟通的权限。

  ## 掌控您的  
扫描到BIM技术

### 战略互联团队

- **扫描到BIM SDK**是在[**ODA SIG项目**](https://www.opendesign.com/cn/sig)下开发的——这是一种由成员发起的开发模式，其中构建该技术的公司也指导其发展。
- 加入已在塑造该项目的公司——包括CAD/BIM平台供应商、建筑设备制造商和技术联盟。

- 掌控项目优先级和路线图方向
- 决定许可要求和费用
- 无版税费用，无按次使用费用
- 从第一天起即可获得测试版访问权限

## 加入扫描到BIM SIG

与最需要它的公司一起塑造SDK。  
从免费的60天试用开始。

[请与我们联系！](/cn/contact/webmaster)
