IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.8.3.4 IfcBooleanClippingResult(布尔裁剪结果)

AbV ⓘ

8.8.3.4.1 语义定义(Semantic definition)

布尔裁剪结果被定义为通用 IfcBooleanResult 的特殊子类型。它对布尔结果的操作数和运算符进行了约束。

布尔裁剪结果是扫掠实体与半空间实体之间的布尔差,或者是布尔差结果与半空间实体之间的布尔差。因此,可以应用多个差运算来实现最终的布尔结果。

8.8.3.4.2 实体继承(Entity inheritance)

8.8.3.4.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcRepresentationItem (2)
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems

将表示项分配给单个或多个层。LayerAssignments 可以覆盖其所在的 IfcRepresentationItems 列表中的 LayerAssignments

StyledByItem SET [0:1] OF IfcStyledItem FOR Item

引用为表示提供表现信息的 IfcStyledItem,例如,为几何曲线提供曲线样式,包括颜色和厚度。

点击显示 2 个隐藏的继承特性 点击隐藏 2 个继承特性
IfcBooleanResult (4)
1 Operator IfcBooleanOperator

用于创建结果的布尔运算中使用的布尔运算符。

2 FirstOperand IfcBooleanOperand

布尔运算中要操作的第一个操作数。

3 SecondOperand IfcBooleanOperand

为运算指定的第二个操作数。

* Dim IfcDimensionCount

此属性是形式化派生的

FirstOperand.Dim

此实体的空间维度。它与第一个操作数的空间维度相同。一个 where 规则确保两个操作数具有相同的空间维度。

表 8.8.3.4.A

8.8.3.4.4 形式化命题(Formal propositions)

名称 描述
FirstOperandType

布尔裁剪操作的第一个操作数应为 IfcSweptAreaSolid 或(在存在多个裁剪的情况下)IfcBooleanResult

('IFC4X3_DEV_62887e3f.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR 
('IFC4X3_DEV_62887e3f.IFCSWEPTDISCSOLID' IN TYPEOF(FirstOperand)) OR 
('IFC4X3_DEV_62887e3f.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand))
OperatorType

用于裁剪的布尔运算符始终为 "Difference"。

Operator = DIFFERENCE
SecondOperandType

布尔裁剪操作的第二个操作数应为 IfcHalfSpaceSolid

('IFC4X3_DEV_62887e3f.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand))
表 8.8.3.4.B

8.8.3.4.5 形式化表示(Formal representation)

ENTITY IfcBooleanClippingResult
 SUBTYPE OF (IfcBooleanResult);
 WHERE
	FirstOperandType : ('IFC4X3_DEV_62887e3f.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR 
('IFC4X3_DEV_62887e3f.IFCSWEPTDISCSOLID' IN TYPEOF(FirstOperand)) OR 
('IFC4X3_DEV_62887e3f.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand));
	OperatorType : Operator = DIFFERENCE;
	SecondOperandType : ('IFC4X3_DEV_62887e3f.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand));
END_ENTITY;

8.8.3.4.6 参考文献