SuperAPI AI 工具集

thatopen-impl-federation

通用与其它

查看项目

更新于 10-16 06:19

技能介绍

用途:在 ThatOpen Engine 中把多个 IFC 模型加载进同一 3D 场景,对齐到共享坐标系,并独立控制各模型可见性。联邦不是单一组件,而是 FragmentsManager(加载、对齐)、Hider(可见性)、BoundingBoxer(空间查询)、Classifier(按模型分组)的组合工作流。

主要能力:每个模型经 IfcLoader 加载后生成独立 FragmentsModel,可来自不同建模工具、不同世界原点。通过 baseCoordinationModel 与 baseCoordinationMatrix 设定基准,再用 applyBaseCoordinateSystem() 对齐后续模型。Hider 提供 set()、isolate()、toggle()、getVisibilityMap(),支持按模型或跨模型控制显隐。BoundingBoxer 提供 addFromModels()、addFromModelIdMap()、get()、getCenter()、getCameraOrientation(),用于相机适配与视图定位。Classifier 提供 byModel()、byCategory()、byIfcBuildingStorey() 与 find(),配合 ModelIdMap 做跨模型查询。

使用方式:先初始化 FragmentsManager 与 IfcLoader,加载首个模型并设为其基准;后续模型加载时使用 coordinate=true 并调用 applyBaseCoordinateSystem() 对齐。跨模型操作统一使用 ModelIdMap(Record<string, Set<number>>),因为局部元素 ID 仅在其模型内唯一。移除单个模型用 fragments.disposeModel(modelId),整体清理用 components.dispose()。

限制与注意:必须为除首个外的每个模型调用坐标对齐,否则模型会散落在各自原始原点,这是最常见的联邦缺陷;不要假设模型共享同一坐标原点;不要用 components.dispose() 做选择性卸载。资料未提供收费、平台与效果信息。