项目介绍
AI_IFC 是一个自托管、开源的 IFC 模型审查与编辑平台。它从 SimpleCADAPI fork 而来,但活跃产品是 viewer/ 下的 IFC 平台;SimpleCADAPI 相关代码已于 2026-08-06 移至私有归档仓 0702hjj/SimpleCADAPI-archive,详见 License 与第三方组件。
定位
- 是什么:IFC 模型的自托管审查 + 编辑平台——真改 IFC 属性、语义化版本对比,以及人/AI 双角色共用的编辑 API。
- 面向谁:内网/个人自托管的 BIM 团队;做 IFC 工具链的开发者;需要「AI 可接入的 BIM 编辑底座」的研究者。
- 当前能力:端到端可用——上传 → 转换 → 三维审查 → Issue → 属性编辑 → commit → 版本 diff。
能力边界
已交付:
- IFC 上传与队列化转换(XKT 几何 + 语义元数据)。
- 三维审查:模型树、属性检查、可见性工具、剖切、测量、NavCube。
- Issue 与 3D Pin:带相机视角与截图创建、状态流转、点击定位。
- 属性编辑:白名单字段 override(显示层)与 pending → commit 两阶段真改 IFC。
- 版本快照与属性级语义 diff(Diff Viewer)。
- 人与 AI 共用同一套编辑 API,provenance 区分
UI/AI。 - PostgreSQL 可选存储(issues / overrides / change log);不配置时文件存储零依赖可跑。
- 多用户/鉴权;AI 生成 IFC 本体;MCP 封装;几何 diff;Docker Compose 一键部署;完整中英文双语站点;OpenAPI 自动生成。
四组件架构
| 组件 | 技术 | 职责 |
|---|---|---|
web | React 19 + xeokit | 模型库、三维查看、属性编辑、Issue、Diff Viewer |
server | Go 1.26(stdlib + pgx/v5) | 上传/转换队列、REST API、编辑编排、存储抽象 |
converter | Node CLI(web-ifc + xeokit-convert) | IFC → XKT + metadata.json |
edit-service | Python FastAPI + IfcOpenShell + ifcdiff | 真改 IFC、pending/commit、版本快照、语义 diff |
三语言并存是生态现实而非设计偏好:每个语言绑定的是该生态里唯一或最优的 IFC 库。服务之间通过 REST 与子进程解耦,任一组件可独立替换。
详细架构见 总体架构。