用途:在 Bonsai v0.8.x 中从 IFC 构件计算工程量,包括面积、长度、体积、重量及自定义算量集。模块路径为 bonsai.bim.module.qto,禁止使用旧路径 blenderbim.bim.module.qto。
主要能力:calculator.py 提供 30 多个计算函数,覆盖线性量(get_length、get_width、get_height、get_perimeter 等)、面积量(get_net_footprint_area、get_gross_surface_area、get_formwork_area 等)、体积量(get_net_volume、get_gross_volume、get_space_net_volume)、重量量(get_net_weight、get_gross_weight,需先赋值 Pset_MaterialCommon.MassDensity)及专用量(楼梯长度、饰面高度、接触面积等)。QTO 规则以 JSON 配置,将 IFC 类映射到标准算量集与计算函数,存于 ifc5d.qto.rules,并按 IFC4/IFC4X3 过滤。
使用方式:单个量用 bim.calculate_single_quantity 指定 calculator、qto_name、prop_name、calculator_function;批量用 bim.perform_quantity_take_off 并设置 qto_rule,选中对象则处理选中项,未选中则处理匹配规则的全部 IfcElement。编辑模式下可用 bim.calculate_edge_lengths、bim.calculate_face_areas、bim.calculate_circle_radius 等网格级算子。
限制与注意:运行前须确认对象有网格几何并已通过 Bonsai 赋予 IFC 类;修改几何后须重新计算,算量不与几何实时联动;重量计算前须赋值质量密度;gross 为不含洞口原始几何,net 为扣除洞口,须按场景正确选择。get_contact_area 依赖 Shapely,体积计算依赖 BMesh,邻近检测依赖 mathutils.BVHTree。
适用场景:材料订购、结构分析、成本计算等需要从 IFC 模型提取工程量的工作流。