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.
Definition according to ISO 10303-42 A block is a type of geometric representation item which is a solid rectangular parallelepiped, defined with a location and placement coordinate system. The block is specified by the positive lengths x, y, and z along the axes of the placement coordinate system, and has one vertex at the origin of the placement coordinate system. Entity adapted from block defined in ISO 10303-42. New entity in IFC2x3.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. The inverse attribute LayerAssignments has been added. The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. |
|
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. The inverse attribute StyledByItem has been added. |
|
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;