8.8.3.3 IfcBlock
8.8.3.3.1 Semantic definition
The IfcBlock is a Construction Solid Geometry (CSG) 3D primitive. It is defined by a position and a positive distance along the three orthogonal axes. The inherited Position attribute has the IfcAxis2Placement3D type and provides:
- SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive.
- SELF\IfcCsgPrimitive3D.Position.Location: The block has one vertex at location and the edges are aligned with the placement axes in the positive sense.
The XLength, YLength, and ZLength attributes define the size of the IfcBlock along the three axes.
Figure 8.8.3.3.A illustrates geometric parameters of a block where the block positioned within its own placement coordinate system. The values for XLength, YLength, and ZLength are applied to the positive direction of the X, Y, and Z axis.
Texture definition
On each side face, textures are aligned facing upright. On the top and bottom faces, textures are aligned facing front-to-back. Textures are stretched or repeated to the extent of each face according to RepeatS and RepeatT.
Figure 8.8.3.3.B illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.
Side | Normal | Origin X | Origin Y | Origin Z | S Axis | T Axis |
---|---|---|---|---|---|---|
Left | -X | 0 | +YLength | 0 | -Y | +Z |
Right | +X | +XLength | 0 | 0 | +Y | +Z |
Front | -Y | 0 | 0 | 0 | +X | +Z |
Back | +Y | +XLength | +YLength | 0 | -X | +Z |
Bottom | -Z | 0 | +YLength | 0 | +X | -Y |
Top | +Z | 0 | 0 | +ZLength | +X | +Y |
8.8.3.3.2 Entity inheritance
-
- IfcCsgPrimitive3D
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.8.3.3.3 Attributes
# | Attribute | Type | Description |
---|---|---|---|
IfcRepresentationItem (2) | |||
LayerAssignment | SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems |
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. |
|
StyledByItem | SET [0:1] OF IfcStyledItem FOR Item |
Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. |
|
IfcCsgPrimitive3D (2) | |||
1 | Position | IfcAxis2Placement3D |
The placement coordinate system to which the parameters of each individual CSG primitive apply. |
* | Dim | IfcDimensionCount |
This attribute is formally derived.
The space dimensionality of this geometric representation item, it is always 3. |
Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes | |||
IfcBlock (3) | |||
2 | XLength | IfcPositiveLengthMeasure |
The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. |
3 | YLength | IfcPositiveLengthMeasure |
The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. |
4 | ZLength | IfcPositiveLengthMeasure |
The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. |
8.8.3.3.4 Examples
8.8.3.3.5 Formal representation
ENTITY IfcBlock
SUBTYPE OF (IfcCsgPrimitive3D);
XLength : IfcPositiveLengthMeasure;
YLength : IfcPositiveLengthMeasure;
ZLength : IfcPositiveLengthMeasure;
END_ENTITY;