用途:在审查、验证或审计 IfcOpenShell Python 代码正确性时启用,适用于 IFC 文件创建、修改、读取脚本的生产前审计,几何处理代码检查,多 IFC schema 版本兼容性评估,以及 100MB 以上大文件的性能评估。
主要能力:按顺序执行十步检查清单,每步引用依赖技能定义的规则。包括 schema 感知(如 StandardCase 在 IFC4X3 移除、IfcBuiltElement 与 IfcBuildingElement 名称差异、IFC2X3 缺少 PredefinedType);API 用法正确性(应使用 ifcopenshell.api.run 而非 model.create_entity,必须用关键字参数,v0.8+ 需传列表);文件 I/O 与事务(显式 schema、version= 参数、事务必须关闭、禁止事务中 undo/redo);实体引用安全(移除后不可访问、先收集再删除);None 返回值处理(get_container、get_type、get_material、by_guid 等需判空);GUID 处理(须用 ifcopenshell.guid.new() 生成 22 字符 base64 GUID);单位处理(调用 calculate_unit_scale);属性集处理(避免重复 pset、使用 pset.add_pset);性能模式(用 geom.iterator 替代循环 create_shape、用 by_type 替代全量遍历、批量调用);IFC2X3 兼容性(OwnerHistory 必需、无 IfcContext)。
使用方式:按检查清单逐步执行,将问题分为 BLOCKER、WARNING、INFO 三级,最后按指定格式输出验证报告,含摘要、各级问题列表与 PASS/FAIL 结论。部分问题可自动修复,如单元素改列表、model.remove 改 root.remove_product、create_entity 改 API、补 None 判空、UUID 改 IFC GUID、循环删除改先收集、create_shape 循环改迭代器、schema 感知实体选择。
限制:资料未提供该技能的安装方式、收费、平台与运行环境信息;自动修复仅部分适用,涉及重构的需提供模板;具体规则依赖 ifcos-syntax-fileio、ifcos-syntax-api、ifcos-errors-patterns、ifcos-errors-schema、ifcos-errors-performance 等依赖技能。