用途:在 Bonsai(Blender BIM)与 IfcClash 环境中执行 BIM 模型的碰撞检测、干涉检查与空间协调,避免常见实现错误。
主要能力:支持三种检测模式——intersection(物理重叠)、collision(表面接触)、clearance(净距/维护空间);可定义 Group A 与 Group B 两组来源并配合过滤器限定范围;结果可导出为 .bcf(供 Navisworks、Solibri、BIMcollab 等外部协作)或 .json(供程序化分析);提供 smart_clash_group 基于 OPTICS 算法对空间邻近碰撞聚类,减少噪声;支持在 3D 视口中以 ClashDecorator 叠加显示碰撞点、连线与标签。
必要用法:运行前必须先将 IFC 文件保存到磁盘,IfcClash 从磁盘读取而非 Blender 内存模型;每个碰撞集必须同时定义 Group A 和 Group B;执行前须指定输出路径(.bcf 或 .json);导入须使用 bonsai.* 而非已更名的 blenderbim.*。典型流程为:保存模型 → 用 bpy.ops.bim.add_clash_set() 建集并配置模式与容差 → 添加两组来源与过滤 → 设置 export_path 后执行 bpy.ops.bim.execute_ifc_clash() → 用 bpy.ops.bim.select_ifc_clash_results() 加载结果、bpy.ops.bim.select_clash(index=N) 定位 → 可选 bpy.ops.bim.smart_clash_group() 分组。也可脱离 Bonsai 直接使用 ifcclash.Clasher 独立运行。
适用场景:建筑与机电管线综合、结构与 MEP 协调、维护净距与消防间距检查、碰撞问题跟踪与 BCF 协作。
限制:碰撞检测为批处理操作,没有实时监控;大模型未加过滤会产生大量运行时间与噪声;collision 模式配合 allow_touching=True 检测硬重叠会产生误报,应改用 intersection 模式;结果超过 50 个碰撞时建议使用智能分组。版本要求 Bonsai v0.8.x、IfcOpenShell v0.8.x、Blender 4.2.0+、Python 3.11。