IFC (IFC4X3) development IfcSweptDiskSolid Semantic definition

An IfcSweptDiskSolid represents the 3D shape by a sweeping representation scheme allowing a two dimensional circularly bounded plane to sweep along a three dimensional Directrix through space.

The StartParam and EndParam parameter are optional, if not provided they default to the start and end of the Directrix. Only if the Directrix is given by a bounded or by a closed curve, it is permissible to omit the values of StartParam and EndParam.

If the transitions between consecutive segments of the Directrix are not tangent continuous, the resulting solid is created by a miter at half angle between the two segments. Informal proposition restricts the permissible angle between two non-tangent continuous segments.

Figure illustrates an example.

  • Directrix given as IfcIndexedPolyCurve, having linear and circular arc segments, that are tangent continuous between each segments
  • Directrix being a bounded and open curve
  • No StartParam and EndParam are provided, start and end default to start and end of the bounded curve of the Directrix
disk solid
Figure — Swept disk solid geometry

Informal Propositions:

  1. If the Directrix curve definition is not tangent continuous, the transition between the segments has to be within an acceptable limit of tangent discontinuity. Very sharp edges may result in nearly impossible miter. Implementer agreements may define acceptable limits for tangent discontinuity.
  2. The segments of the Directrix shall be long enough to apply the Radius. In case of an arc segment forming part of the Directrix, its radius shall be greater then the disk Radius
  3. The Directrix shall not be based on an intersecting curve. Entity inheritance 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.

IfcSolidModel (1)
* Dim IfcDimensionCount

This attribute is formally derived.


The space dimensionality of this class, it is always 3.

Click to show 3 hidden inherited attributes Click to hide 3 inherited attributes
IfcSweptDiskSolid (5)
1 Directrix IfcCurve

The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix.

2 Radius IfcPositiveLengthMeasure

The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied.

3 InnerRadius OPTIONAL IfcPositiveLengthMeasure

This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk.

4 StartParam OPTIONAL IfcParameterValue

The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.

5 EndParam OPTIONAL IfcParameterValue

The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.

Table Formal propositions

Name Description

If the values for StartParam or EndParam are omitted, then the Directrix has to be a bounded or closed curve.

(EXISTS(StartParam) AND EXISTS(EndParam)) OR 
(SIZEOF(['IFC4X3_DEV_64d1fa4d.IFCCONIC', 'IFC4X3_DEV_64d1fa4d.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1)

The Directrix shall be a curve in three dimensional space.

Directrix.Dim = 3

If InnerRadius exists then Radius denoting the outer radius shall be greater than InnerRadius.

(NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius)
Table Formal representation

ENTITY IfcSweptDiskSolid
 SUBTYPE OF (IfcSolidModel);
	Directrix : IfcCurve;
	Radius : IfcPositiveLengthMeasure;
	InnerRadius : OPTIONAL IfcPositiveLengthMeasure;
	StartParam : OPTIONAL IfcParameterValue;
	EndParam : OPTIONAL IfcParameterValue;
	DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR 
(SIZEOF(['IFC4X3_DEV_64d1fa4d.IFCCONIC', 'IFC4X3_DEV_64d1fa4d.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1);
	DirectrixDim : Directrix.Dim = 3;
	InnerRadiusSize : (NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius);
END_ENTITY; References

Edit on Github

Is this page difficult to understand? Let us know! Changelog

  • where rule, DirectrixBounded
  • where rule, DirectrixDim
  • where rule, InnerRadiusSize
  • where rule, WR1
  • where rule, WR2
  • attribute EndParam optional, Is now optional
  • attribute StartParam optional, Is now optional