added |

The *IfcToroidalSurface* is a bounded elementary surface. It is constructed by completely revolving a circle around an axis line. The inherited *Position* attribute defines the *IfcAxisPlacement3D* and provides:

*SELF\IfcElementarySurface.Position*: The location and orientation of the axis system for the primitive.*SELF\IfcElementarySurface.Position.Location*: The center of the toroidal surface.*SELF\IfcElementarySurface.Position.Position[3]:*The axis of revolution of the toroidal surface

NOTE Definition according to ISO/CD 10303-42:1992

AnIfcToroidalSurfaceis a type of elementary surface, which could be produced by revolving a circle about a line in its plane. The radius of the circle being revolved is referred to here as theMinorRadiusand theMajorRadiusis the distance from the centre of this circle to the axis of revolution. A toroidal surface is defined by the major and minor radii and the position and orientation of the surface.C = Position.Location

x = Position.P[1]

y = Position.P[2]

z = Position.P[3] (axis of toroidal_surface)

R= MajorRadius

r= MinorRadius

* σ(u,v)* =

where the parametrisation range is *0 ≤ u, v ≤ 360* degrees. *u* and *v* are angular parameters and when numerical values are specified they shall use the current units for plane angle measure.

In the placement coordinate system defined above, the surface is represented by the equation *S* = 0, where

S(x, y, z) = x^2^ + y^2^ + z^2^ -2R√(x^2^+y^2^) - r^2^ + R^2^.

The positive direction of the normal to the surface at any point on the surface is given by

( S~x~, S~y~, S~z~ ).

The unit normal is given by

N(u,v)= cos_v_((cosu)x+ (sinu)y) + (sinv)z.

The sense of this normal is away from the nearest point on the circle of radius *R* with centre **C**. A manifold surface will be produced if the major radius is greater than the minor radius. If this condition is not fulfilled, the resulting surface will be self-intersecting.

NOTE Entity adapted from

toroidal_surfacedefined in ISO 10303-42.HISTORY New entity in IFC4 Addendum 2.

# | Attribute | Type | Description |
---|---|---|---|

IfcRepresentationItem | |||

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. > IFC2x3 CHANGE The inverse attribute LayerAssignments has been added. > IFC4 CHANGE 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. > IFC2x3 CHANGE The inverse attribute StyledByItem has been added. | |

IfcGeometricRepresentationItem | |||

IfcSurface | |||

Dim | INVALID | The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item. > IFC4 CHANGE Derived attribute promoted from subtypes. | |

IfcElementarySurface | |||

1 | Position | IfcAxis2Placement3D | The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. |

IfcToroidalSurface | |||

2 | MajorRadius | IfcPositiveLengthMeasure | The major radius of the torus. |

3 | MinorRadius | IfcPositiveLengthMeasure | The minor radius of the torus. |

ENTITY IfcToroidalSurface SUBTYPE OF (IfcElementarySurface); MajorRadius : IfcPositiveLengthMeasure; MinorRadius : IfcPositiveLengthMeasure; WHERE MajorLargerMinor : MinorRadius < MajorRadius; END_ENTITY;