<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Revit on 我的博客</title><link>https://hugo-blog-eight-gamma.vercel.app/tags/revit/</link><description>Recent content in Revit on 我的博客</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Wed, 16 Sep 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://hugo-blog-eight-gamma.vercel.app/tags/revit/index.xml" rel="self" type="application/rss+xml"/><item><title>BIM 模型审查引擎・第三方空间几何算法包调研报告</title><link>https://hugo-blog-eight-gamma.vercel.app/0006.html</link><pubDate>Wed, 16 Sep 2026 14:00:00 +0800</pubDate><guid>https://hugo-blog-eight-gamma.vercel.app/0006.html</guid><description>&lt;h2 id="1-调研背景"&gt;1 调研背景&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;项目目标&lt;/strong&gt;：开发类似 Solibri 的 BIM 模型审查插件，核心需求为&lt;strong&gt;三维构件空间关系判定&lt;/strong&gt;——碰撞检测、距离计算、包含 / 相交 / 分离、空间包围盒、实体布尔、模型拓扑校验，支撑 BIM 合规性规则检查（管线净距、构件冲突、空间占位、洞口校核等）。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;调研对象&lt;/strong&gt;：开源空间几何内核、空间索引库、IFC 几何处理组件；重点评估适配 .NET 栈（Revit 插件，.NET 10）、支持 BIM 三角网格 / 实体 BREP、可做空间查询、许可友好、性能可用于大规模模型场景。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;调研目的&lt;/strong&gt;：对比各算法包能力、限制、集成成本，输出技术路线选型建议，为审查引擎架构定案提供依据。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;业务边界说明&lt;/strong&gt;：Solibri 核心能力 = IFC 模型解析 + 空间索引 + 三维几何相交 / 距离计算 + 规则引擎。本次调研聚焦&lt;strong&gt;空间几何与空间索引&lt;/strong&gt;算法包，&lt;strong&gt;不含&lt;/strong&gt;规则引擎、IFC 解析库（IFC 解析可单独选用 IfcOpenShell 等）。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="2-需求拆解审查引擎核心空间能力清单"&gt;2 需求拆解（审查引擎核心空间能力清单）&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;类别&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;具体能力需求&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;BIM 审查场景&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;基础几何&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;点 / 线 / 面 / 实体、包围盒 AABB/OBB、三角网格、BREP 实体&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;构件粗筛、包围盒预检测&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;空间关系判断&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;相交、包含、分离、接触、最小距离、穿透深度&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;碰撞检查、构件净距校验&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;布尔运算&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;实体求交、求差、求和&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;空间扣除、洞口校核、体积计算&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;空间索引&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;AABB 树、BVH、八叉树，批量构件快速筛选（减少两两几何计算）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;大模型性能优化（上万构件）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;网格处理&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;三角网格简化、缝合、修复非流形&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Revit 导出模型存在烂面、破面&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;接口与集成&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;.NET 原生 / C++ 可封装 C#、支持嵌入 Revit 插件、支持 IFC/STEP 几何&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;插件部署限制&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;许可&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MIT/Apache 2.0 等宽松开源，避免 GPL 传染性开源&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;商用插件发布风险&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="3-候选开源空间算法包调研详情"&gt;3 候选开源空间算法包调研详情&#10;&lt;/h2&gt;&lt;h3 id="31-opencascadeocct"&gt;3.1 OpenCASCADE（OCCT）&#10;&lt;/h3&gt;&lt;p&gt;工业级三维几何内核，C++ 开发，老牌 BREP 实体几何引擎，STEP/IGES 原生支持，大量 BIM/CAE 软件底层依赖（FreeCAD 底层就是 OCCT）。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ &lt;strong&gt;支持&lt;/strong&gt;：BREP 实体、曲面、布尔运算、实体相交、距离计算、拓扑分析；自带 AABB 包围盒；支持 STEP/IGES；可处理参数化实体&lt;/li&gt;&#10;&lt;li&gt;⚠️ &lt;strong&gt;限制&lt;/strong&gt;：&#10;&lt;ul&gt;&#10;&lt;li&gt;C++ 库，.NET 需要自行封装（OCCT .NET wrapper 非官方，如 OCC.Net）&lt;/li&gt;&#10;&lt;li&gt;编译、部署复杂；体积大&lt;/li&gt;&#10;&lt;li&gt;对破损 BIM 模型（非流形、碎面）容错较差&lt;/li&gt;&#10;&lt;li&gt;无内置 BVH 空间索引，需要自己实现或搭配第三方 BVH 库做构件加速筛选&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;📜 &lt;strong&gt;License&lt;/strong&gt;：LGPL 2.1。&lt;strong&gt;商用注意&lt;/strong&gt;：动态链接 LGPL 库不传染源码；静态链接会触发 LGPL 开源义务，插件打包需要关注发布方式&lt;/li&gt;&#10;&lt;li&gt;🎯 &lt;strong&gt;适用场景&lt;/strong&gt;：需要高精度实体布尔、拓扑检查；适合做精确几何计算。Solibri 早期底层几何内核同类路线&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="32-cgalcomputational-geometry-algorithms-library"&gt;3.2 CGAL（Computational Geometry Algorithms Library）&#10;&lt;/h3&gt;&lt;p&gt;C++ 计算几何算法库，学术 + 工业级，算法种类最全，支持三角网格、布尔、网格修复、BVH 空间查询。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ &lt;strong&gt;支持&lt;/strong&gt;：精确几何谓词、三角网格布尔、网格修复、BVH / 空间索引、距离、相交检测；点云、多边形、多面体处理能力极强&lt;/li&gt;&#10;&lt;li&gt;⚠️ &lt;strong&gt;限制&lt;/strong&gt;：&#10;&lt;ul&gt;&#10;&lt;li&gt;C++ 库，需要 C++/CLI 封装给 .NET；编译门槛高&lt;/li&gt;&#10;&lt;li&gt;大量算法是精确算术，大规模 BIM 模型性能开销大；可切换浮点数模式，但会引入精度问题&lt;/li&gt;&#10;&lt;li&gt;不原生支持 BREP 实体，偏重三角网格&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;📜 &lt;strong&gt;License&lt;/strong&gt;：混合开源（GPL/LGPL），&lt;strong&gt;部分模块 GPL&lt;/strong&gt;，商用项目需要谨慎挑选模块&lt;/li&gt;&#10;&lt;li&gt;🎯 &lt;strong&gt;适用场景&lt;/strong&gt;：网格修复、复杂空间查询；如果 BIM 全部转三角网格后做审查，CGAL 是强候选&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="33-bullet-physicsbullet3"&gt;3.3 Bullet Physics（Bullet3）&#10;&lt;/h3&gt;&lt;p&gt;C++ 物理引擎，内置成熟 BVH、AABB、碰撞检测库，游戏 / 可视化领域大量使用。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ &lt;strong&gt;支持&lt;/strong&gt;：AABB/OBB、BVH 加速结构、三角网格碰撞、距离查询；对海量三角面性能优秀；跨平台&lt;/li&gt;&#10;&lt;li&gt;⚠️ &lt;strong&gt;限制&lt;/strong&gt;：只做碰撞相交，&lt;strong&gt;不支持实体布尔运算，不支持 BREP 拓扑&lt;/strong&gt;；几何是离散三角网格，无实体拓扑信息；不适合体积、洞口布尔扣除场景&lt;/li&gt;&#10;&lt;li&gt;📜 &lt;strong&gt;License&lt;/strong&gt;：zlib 许可，极其宽松，商用无源码传染风险&lt;/li&gt;&#10;&lt;li&gt;🎯 &lt;strong&gt;适用场景&lt;/strong&gt;：粗碰撞筛查、净距检测，不适合实体拓扑类审查。&lt;strong&gt;适合作为第一层空间索引加速层&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="34-embreeintel"&gt;3.4 Embree（Intel）&#10;&lt;/h3&gt;&lt;p&gt;Intel 开源光线追踪内核，高性能 BVH，面向光线投射、包围盒查询。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ &lt;strong&gt;支持&lt;/strong&gt;：高性能 BVH 构建、光线相交查询；大规模三角面查询速度极快&lt;/li&gt;&#10;&lt;li&gt;⚠️ &lt;strong&gt;限制&lt;/strong&gt;：只做光线 / 三角面相交，无实体布尔、无空间距离谓词；不是通用几何库&lt;/li&gt;&#10;&lt;li&gt;📜 &lt;strong&gt;License&lt;/strong&gt;：Apache 2.0，商用友好&lt;/li&gt;&#10;&lt;li&gt;🎯 &lt;strong&gt;适用场景&lt;/strong&gt;：BIM 空间射线查询（房间空间拾取、遮挡检测），不适合构件碰撞和布尔&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="35-triangle--tetgen"&gt;3.5 Triangle / TetGen&#10;&lt;/h3&gt;&lt;p&gt;三角面、四面体网格生成库，仅用于网格剖分，&lt;strong&gt;不能做空间关系判断与布尔&lt;/strong&gt;，仅辅助几何预处理，不适合作为主引擎。&lt;/p&gt;&#10;&lt;h3 id="36-net-原生库适合-revit-c-插件直接调用"&gt;3.6 .NET 原生库（适合 Revit C# 插件直接调用）&#10;&lt;/h3&gt;&lt;h4 id="361-mathnetnumerics"&gt;3.6.1 MathNet.Numerics&#10;&lt;/h4&gt;&lt;p&gt;纯 .NET 数值库，矩阵、向量基础运算；&lt;strong&gt;无三维实体 / 网格相交、无空间索引&lt;/strong&gt;，只能做底层数学工具，不能作为空间引擎。License MIT。&lt;/p&gt;&#10;&lt;h4 id="362-rhino3dmrhino3d-开源-net-库"&gt;3.6.2 Rhino3dm（Rhino3D 开源 .NET 库）&#10;&lt;/h4&gt;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;重点&lt;/strong&gt;：McNeel 官方开源 .NET 库，Rhino 几何内核剥离，NuGet 包直接 C# 引用，&lt;strong&gt;无需 C++ 封装&lt;/strong&gt;！&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ &lt;strong&gt;支持&lt;/strong&gt;：BREP 实体、NURBS 曲面、三角网格；相交、距离、布尔运算；AABB/OBB；内置 BVH；支持 STEP 导入；纯 .NET 托管调用&lt;/li&gt;&#10;&lt;li&gt;⚠️ &lt;strong&gt;限制&lt;/strong&gt;：&#10;&lt;ul&gt;&#10;&lt;li&gt;开源版 Rhino3dm 是几何数据模型 + 基础计算，&lt;strong&gt;不包含完整 Rhino 空间加速全套高级算法&lt;/strong&gt;；大规模上万构件场景性能需要测试&lt;/li&gt;&#10;&lt;li&gt;复杂破损 IFC 模型 BREP 转换容易失败&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;📜 &lt;strong&gt;License&lt;/strong&gt;：MIT，商用非常友好，无传染性开源&lt;/li&gt;&#10;&lt;li&gt;🎯 &lt;strong&gt;亮点&lt;/strong&gt;：&lt;strong&gt;唯一可直接在 Revit C# 插件中引用、无需 C++ 封装的 BREP + 网格几何库&lt;/strong&gt;，集成成本最低，开发速度最快&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="363-nettopologysuitents"&gt;3.6.3 NetTopologySuite（NTS）&#10;&lt;/h4&gt;&lt;p&gt;JTS 拓扑套件 .NET 移植版本，&lt;strong&gt;二维几何王者，三维能力弱&lt;/strong&gt;，仅支持简单 3D 点线面，不支持 BREP、三维实体布尔。MIT 许可。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;结论&lt;/strong&gt;：NTS 适合 2D 图纸审查，不适合三维 BIM 构件空间审查。&lt;/p&gt;&#10;&lt;h3 id="37-ifcopenshell补充非纯空间算法包"&gt;3.7 IfcOpenShell（补充，非纯空间算法包）&#10;&lt;/h3&gt;&lt;p&gt;C++/Python/C# 绑定，&lt;strong&gt;IFC 解析库&lt;/strong&gt;，可将 IFC 构件解析成 OCCT 几何；职责是 IFC→几何转换，不是审查计算内核，常搭配 OCCT 一起使用。LGPL。&lt;/p&gt;&#10;&lt;h2 id="4-候选包横向对比汇总表"&gt;4 候选包横向对比汇总表&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;算法包&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;开发语言&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;BREP 实体&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;三角网格布尔&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;空间索引 (BVH)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;三维相交 / 距离&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;.NET 集成难度&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;License&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;商用风险&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;OpenCASCADE (OCCT)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C++&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌ 需自建&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;高（C++ 封装）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;LGPL 2.1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;中等（静态链接风险）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CGAL&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C++&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;很高&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPL/LGPL 混合&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;高（部分模块 GPL）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Bullet3&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C++&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅（仅碰撞）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;中&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;zlib&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Rhino3dm&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;.NET&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅ 基础&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;极低（NuGet）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MIT&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Embree&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;C++&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;✅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;仅光线相交&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;中&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Apache 2.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;NTS&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;.NET&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;❌&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;仅弱 3D&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;极低&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MIT&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="5-技术路线方案对比审查引擎架构可选路线"&gt;5 技术路线方案对比（审查引擎架构可选路线）&#10;&lt;/h2&gt;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：开发 Revit 插件，BIM 构件空间审查（Solibri 同类功能）&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h3 id="方案-arhino3dm-为主内核推荐快速原型路线"&gt;方案 A：Rhino3dm 为主内核（&lt;strong&gt;推荐【快速原型路线】&lt;/strong&gt;）&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;架构&lt;/strong&gt;：Revit 插件 (C#) → Rhino3dm（BREP + 网格几何、相交、布尔、BVH）→ 空间关系判断 → 规则引擎&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;优势&lt;/strong&gt;：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;.NET 原生 NuGet，无 C++ 编译、跨平台封装难题，直接嵌入 Revit 插件，&lt;strong&gt;开发周期短&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;MIT 许可，商用无风险；BREP 与三角网格双支持；自带 BVH&lt;/li&gt;&#10;&lt;li&gt;可以直接读取 Revit 几何转换到 Rhino 几何对象，&lt;strong&gt;转换链路短&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;短板&lt;/strong&gt;：超大模型（几万构件）下 BVH 性能上限低于 OCCT/CGAL；极端破损模型鲁棒性一般&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;适用&lt;/strong&gt;：MVP 原型开发、中小规模 BIM 模型审查；团队以 C#/.NET 开发为主，缺少 C++ 底层开发人力&lt;/p&gt;&#10;&lt;h3 id="方案-bocct-为主内核--bullet-做空间索引加速推荐高性能生产路线"&gt;方案 B：OCCT 为主内核 + Bullet 做空间索引加速（&lt;strong&gt;推荐【高性能生产路线】&lt;/strong&gt;）&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;架构&lt;/strong&gt;：Revit 插件 (C#) ↔ C++ 封装层 ↔ OCCT（BREP 实体布尔、拓扑） + Bullet（BVH 批量包围盒预筛选）&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;流程&lt;/strong&gt;：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Bullet BVH 做粗筛：构件包围盒不相交直接跳过，减少昂贵实体几何计算&lt;/li&gt;&#10;&lt;li&gt;粗筛命中后，交给 OCCT 做精确 BREP 相交、距离、布尔运算&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;strong&gt;优势&lt;/strong&gt;：工业级精度，Solibri 同类底层思路；处理实体拓扑、洞口扣除、体积计算能力最强&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;短板&lt;/strong&gt;：C++ 封装、编译、部署复杂；LGPL 许可管控；开发周期长；需要 C++ 开发人力&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;适用&lt;/strong&gt;：长期产品化，面向大型轨道交通 / 机场复杂 BIM 项目，&lt;strong&gt;上万构件高精度审查场景&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="方案-ccgal--bullet纯网格路线"&gt;方案 C：CGAL + Bullet（纯网格路线）&#10;&lt;/h3&gt;&lt;p&gt;全部构件转三角网格，CGAL 做网格布尔 / 修复，Bullet 做 BVH 加速。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;短板&lt;/strong&gt;：丢失 BREP 拓扑信息；不能做实体参数化分析；许可风险高&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;适用&lt;/strong&gt;：仅做网格碰撞，&lt;strong&gt;不推荐作为 BIM 审查主引擎&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="方案-d自研空间算法不推荐"&gt;方案 D：自研空间算法（&lt;strong&gt;不推荐&lt;/strong&gt;）&#10;&lt;/h3&gt;&lt;p&gt;自己实现 BVH、三维相交、实体布尔。三维计算几何坑极多（浮点精度、非流形、拓扑退化），研发成本巨大，稳定性很难达到 OCCT/Rhino3dm 成熟库水平。&lt;/p&gt;&#10;&lt;h2 id="6-关键风险点"&gt;6 关键风险点&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;BIM 模型几何破损问题&lt;/strong&gt;：Revit/IFC 导出模型经常出现非流形、碎面、重叠面；所有开源库都会受影响，&lt;strong&gt;需要前置几何修复流程&lt;/strong&gt;（CGAL 或 OCCT 自带修复工具）&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;浮点精度问题&lt;/strong&gt;：三维几何判断容差是 BIM 审查核心，所有库都需要&lt;strong&gt;统一全局容差配置&lt;/strong&gt;（Solibri 可配置规则容差）&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;许可合规风险&lt;/strong&gt;：&lt;strong&gt;GPL 库绝对不能直接静态链接到商用闭源插件&lt;/strong&gt;；LGPL 需要严格区分动态 / 静态链接&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Revit 进程内存限制&lt;/strong&gt;：大规模模型几何加载会占用大量内存，&lt;strong&gt;空间索引需要做按需加载&lt;/strong&gt;，不能一次性载入全部构件&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="7-选型建议与落地路径"&gt;7 选型建议与落地路径&#10;&lt;/h2&gt;&lt;h3 id="71-选型结论"&gt;7.1 选型结论&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;短期 MVP 原型开发（优先推荐）：采用 Rhino3dm（MIT）&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;优点：C# 直接集成、开发速度快、许可安全，快速验证整套审查业务逻辑（构件相交、净距、空间包含规则）&lt;/li&gt;&#10;&lt;li&gt;适用：验证业务规则、开发 Demo、内部测试，快速跑通和 Solibri 对齐的审查案例&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;中长期产品化，面向大型复杂 BIM 项目：采用 OCCT (LGPL) + Bullet (zlib) 组合架构&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;粗筛用 Bullet BVH 做包围盒加速；精确几何相交、布尔、拓扑计算交给 OCCT。需要投入 C++ 封装开发，同时做好开源许可合规管理&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;不推荐&lt;/strong&gt;：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;CGAL 作为主内核（许可 + 性能复杂度）&lt;/li&gt;&#10;&lt;li&gt;自研底层几何算法&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="72-落地实施步骤"&gt;7.2 落地实施步骤&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;原型阶段&lt;/strong&gt;：基于 Rhino3dm 搭建最小验证 Demo，实现：构件包围盒 BVH、构件最小距离、相交判断；拿轨道交通 BIM 模型做案例测试，验证性能与精度&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;压力测试&lt;/strong&gt;：针对 5000 / 10000 构件规模模型，测试查询耗时、内存占用，评估 Rhino3dm 性能瓶颈&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;架构迭代&lt;/strong&gt;：如果原型阶段发现大模型性能不足，拆分架构，把计算密集几何部分下沉到 C++ 层，切换 OCCT + Bullet 方案，上层 C# 插件保持业务规则不变&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;配套&lt;/strong&gt;：几何预处理模块（破面修复）、统一容差管理、构件空间索引持久化&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="8-附录待后续调研事项"&gt;8 附录：待后续调研事项&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Rhino3dm 大规模构件 BVH 性能实测、破损 IFC 几何转换成功率&lt;/li&gt;&#10;&lt;li&gt;OCCT .NET 封装方案（OCC.Net）稳定性、LGPL 商用发布合规细则&lt;/li&gt;&#10;&lt;li&gt;空间审查规则引擎技术选型（和几何引擎解耦）&lt;/li&gt;&#10;&lt;li&gt;IFC 几何转换组件（IfcOpenShell）与几何内核对接测试&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>