SuperAPI AI 工具集

crosstech-impl-ifc-to-webifc

编程与开发

查看项目

更新于 10-15 22:17

技能介绍

用途:当同一份 IFC 处理逻辑需要在 IfcOpenShell(Python,服务端)与 web-ifc(WebAssembly,浏览器端)之间迁移或混合使用时,本技能提供对照参考,避免误以为两库具备相同的属性访问模式。

主要能力:给出 API 映射表,如初始化、打开/关闭文件、按类型或 ID 取实体、读取 Name/GlobalId/属性集与几何等操作在两库中的对应写法;列出关键警告,包括 web-ifc 必须 await api.Init()、必须手动调用 api.CloseModel(modelID)(WASM 内存不由 JS 垃圾回收)、属性值在 web-ifc 中包裹于 {value: ...}、几何绕数与坐标系不同;提供决策树,按运行环境、所需操作、是否跨端传数据和坐标系选择方案;给出属性访问、几何提取、大模型流式处理、服务端与浏览器混合架构、Z-up 转 Y-up 等必要模式与限制说明。

使用方式:按 API 映射表在两端编写对应调用;跨端传输时约定序列化格式(属性走 JSON,几何预切分为 glTF 或 Fragments);服务端到浏览器的坐标需做 Z-up 转 Y-up 转换,web-ifc 在 COORDINATE_TO_ORIGIN 默认开启时内部处理。

适用场景:浏览器交互可视化、服务端建模与批量处理、复杂布尔几何、混合应用等。

限制:两库几何引擎不同,切分后的顶点与三角形布局不一致,不可直接比较;IfcOpenShell 仅部分支持 IFC4X3,web-ifc 相关支持仍在演进;web-ifc 受约 2GB WASM 内存限制,超大模型宜用 IfcOpenShell;文档给出 web-ifc 的流式接口示例为 StreamAllMeshes,并提醒大模型避免一次性加载全部几何。其他未提供的事实暂未给出。