IfcBoxedHalfSpace(作为其超类型IfcHalfSpaceSolid)仅在布尔操作中使用。它将域精确地分为两个子集,其中所讨论的域是属性封闭的域。
属性封闭的目的是为布尔运算中的另一个操作数提供一个搜索框。它应足够大,以便在布尔运算后用半空间将生成的实体完全封闭起来。然而,它不会改变最终结果。布尔运算的结果将是相同的,就像由超类型IfcHalfSpaceSolid执行一样。见下图。
提供封闭体的IfcBoundingBox是为了方便接收应用程序而提供的,以便能够使用大小框比较来提高效率(例如,首先检查大小框是否相交,如果不相交,则无需进行计算来检查实体的实体是否相交)。
因此,外壳有助于防止处理与无限大小相关的问题。封闭框位于对象坐标系中,该坐标系由所表示元素的ObjectPlacement建立(例如,通过IfcLocalPlacement)。图311显示了封闭框足够大,可以完全封闭布尔结果。
注:定义根据ISO/CD 10303-42:1992
此实体是由周围矩形框修剪的半空间实体的子类型。长方体的边与几何坐标系的坐标轴平行。
这个盒子的目的是通过生成有限尺寸的实体来促进CSG计算。
注:实体改编自ISO 10303-42中定义的盒式半空间。
IFC1.5.1中增加的新实体
IFC4更改用法正确,外壳的位置坐标系为对象坐标系。
Formal Propositions
Rule | Description |
---|---|
UnboundedSurface | The BaseSurface defining the half space shall not be a bounded surface. |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems |
S[0:1] | Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items. | X | |
StyledByItem | IfcStyledItem @Item |
S[0:1] | Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. | X | |
IfcGeometricRepresentationItem | |||||
IfcHalfSpaceSolid | |||||
1 | BaseSurface | IfcSurface | [1:1] | Surface defining side of half space. | X |
2 | AgreementFlag | IfcBoolean | [1:1] | The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE. | X |
Dim :=3 |
IfcDimensionCount | [1:1] | The space dimensionality of this class, it is always 3 | X | |
IfcBoxedHalfSpace | |||||
3 | Enclosure | IfcBoundingBox | [1:1] | The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. | X |
EXPRESS Specification
ENTITY IfcBoxedHalfSpace
SUBTYPE OF (IfcHalfSpaceSolid);
Enclosure : IfcBoundingBox;
WHERE
UnboundedSurface : NOT ('IFCGEOMETRYRESOURCE.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELFIfcHalfSpaceSolid.BaseSurface));
END_ENTITY;