IFC 4.3.2.20250905 (IFC4X3_ADD2) under development

  • Help suggest improvements
  • Get user or developer support

8.8.3.43 IfcSweptDiskSolid

RV ⓘ
AbV ⓘ

8.8.3.43.1 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 8.8.3.43.A 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
Although the example shows a Directrix as a poly curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions. The geometric item IfcIndexedPolyCurve provides a more compact representation compared with IfcCompositeCurve as is therefore the preferred curve representation for the Directrix.
disk solid
Figure 8.8.3.43.A — Swept disk solid geometry
Definition according to ISO/CD 10303-42:1992 A swept disk solid is the solid produced by sweeping a circular disk along a three dimensional curve. During the sweeping operation the normal to the plane of the circular disk is in the direction of the tangent to the directrix curve and the center of the disk lies on the directrix. The circular disk may, optionally, have a central hole, in this case the resulting solid has a through hole, or, an internal void when the directrix forms a close curve. Entity adapted from swept_disk_solid defined in ISO 10303-42. New entity in IFC2x2. The attribute StartParam and EndParam have been made optional.

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.

8.8.3.43.2 Entity inheritance

8.8.3.43.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.
IfcSolidModel (1)
* Dim IfcDimensionCount

This attribute is formally derived.

3

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.

The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange.
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.

The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange.
Table 8.8.3.43.D

8.8.3.43.4 Formal propositions

Name Description
DirectrixBounded

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

New WHERE rule.
(EXISTS(StartParam) AND EXISTS(EndParam)) OR 
(SIZEOF(['IFC4X3_DEV_bc7847cd.IFCCONIC', 'IFC4X3_DEV_bc7847cd.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1)
DirectrixDim

The Directrix shall be a curve in three dimensional space.

Directrix.Dim = 3
InnerRadiusSize

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

(NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius)
Table 8.8.3.43.E

8.8.3.43.5 Examples

8.8.3.43.6 Formal representation

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

8.8.3.43.7 References

Edit on Github


Is this page difficult to understand? Let us know!

8.8.3.43.8 Changelog

8.8.3.43.8.1 IFC4

  • 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