用途:当需要为项目挑选读写 IFC 文件的实现库,或不确定某语言、平台、IFC 版本该用哪个工具时,用本技能做选型路由。它是“指针型”技能,只回答“用哪个库”,不教库 API、安装或代码;库的 API 细节由各库归属包负责。IFC 标准本身(schema、实体、格式、几何、版本演进)由 IFC 技能包讲解。
主要能力:给出库全景与选型决策。IfcOpenShell 支持 Python 与 C++,运行于桌面、服务器、CLI,并可通过 Bonsai 嵌入 Blender,已验证覆盖 IFC2x3、IFC4、IFC4.3 及运行时加载的 schema。web-ifc(ThatOpen engine_web-ifc)为 TypeScript 与编译到 WebAssembly 的 C++,运行于浏览器和 Node.js,可读写 IFC,具体版本列表由 ThatOpen 包维护。xBIM Toolkit(XbimEssentials)为 C#/.NET,运行于 .NET 桌面与服务器,已验证 IFC2x3 和 IFC4。IFC++ 为 C++ 原生桌面实现,版本列表由 IFC++ 项目维护。
使用方式:先按项目实现语言过滤(语言是硬约束,.NET 项目不能用 Python 库),再确认部署目标,最后核对目标 IFC 版本。Python 数据管道/自动化/服务器/CLI 选 IfcOpenShell;TypeScript/JavaScript 浏览器或 Node.js 选 web-ifc;C#/.NET 选 xBIM;C++ 原生高性能桌面选 IfcOpenShell(C++ 核心)或 IFC++;Blender 插件或 3D 创作选基于 IfcOpenShell 的 Bonsai。IFC2x3 或 IFC4 三者皆可;IFC4.3 仅 IfcOpenShell 已验证,web-ifc 需向 ThatOpen 包确认,xBIM 需向项目确认。
限制:不得断言库支持“已验证”列之外的 IFC 版本。IFC5 与 IFCx 尚未发布为标准,工具链处于开发中,不可当作生产可用;IFCx 的 Rust 工具仅称“新兴”,不得断言存在具体仓库,社区 Rust 项目必须标注为社区项目而非 OpenAEC 包。不得用 IfcConvert 做 schema 版本迁移(它只做几何/文件格式转换),版本迁移属于 ifcpatch Migrate 概念,见 ifc-impl-version-migration。API、安装与代码问题一律路由到归属包:IfcOpenShell 到 Blender-Bonsai-ifcOpenShell-Sverchok 包,web-ifc 到 ThatOpen 包,xBIM 与 IFC++ 到各自项目文档。