8.8.3.4 IfcBooleanClippingResult(布尔裁剪结果)
AbV ⓘ
8.8.3.4.1 语义定义(Semantic definition)
布尔裁剪结果被定义为通用 IfcBooleanResult 的特殊子类型。它对布尔结果的操作数和运算符进行了约束。
布尔裁剪结果是扫掠实体与半空间实体之间的布尔差,或者是布尔差结果与半空间实体之间的布尔差。因此,可以应用多个差运算来实现最终的布尔结果。
8.8.3.4.2 实体继承(Entity inheritance)
-
- IfcBooleanResult
- IfcAnnotationFillArea
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.8.3.4.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRepresentationItem (2) | |||
| LayerAssignment | SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems |
将表示项分配给单个或多个层。LayerAssignments 可以覆盖其所在的 IfcRepresentation 的 Items 列表中的 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 |
此属性是形式化派生的
此实体的空间维度。它与第一个操作数的空间维度相同。一个 where 规则确保两个操作数具有相同的空间维度。 |
8.8.3.4.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| FirstOperandType |
布尔裁剪操作的第一个操作数应为 IfcSweptAreaSolid 或(在存在多个裁剪的情况下)IfcBooleanResult。 |
|
|
| OperatorType |
用于裁剪的布尔运算符始终为 "Difference"。 |
|
|
| SecondOperandType |
布尔裁剪操作的第二个操作数应为 IfcHalfSpaceSolid。 |
|
|
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;