8.9.3.74 IfcToroidalSurface
8.9.3.74.1 Semantic definition
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
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) = C + (R + r_cos _v)((cos_u_)x + (sin u))y) + r(sin_v_))z
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_((cos u)x + (sin u)y) + (sin v)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 selfintersecting.
8.9.3.74.2 Entity inheritance

 IfcSurface
 IfcAnnotationFillArea
 IfcBooleanResult
 IfcBoundingBox
 IfcCartesianPointList
 IfcCartesianTransformationOperator
 IfcCsgPrimitive3D
 IfcCurve
 IfcDirection
 IfcFaceBasedSurfaceModel
 IfcFillAreaStyleHatching
 IfcFillAreaStyleTiles
 IfcGeometricSet
 IfcHalfSpaceSolid
 IfcLightSource
 IfcPlacement
 IfcPlanarExtent
 IfcPoint
 IfcSectionedSpine
 IfcSegment
 IfcShellBasedSurfaceModel
 IfcSolidModel
 IfcTessellatedItem
 IfcTextLiteral
 IfcVector
8.9.3.74.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. 

IfcSurface (1)  
*  Dim  IfcDimensionCount 
This attribute is formally derived.
The space dimensionality of IfcSurface. It is always a threedimensional geometric representation item. 
IfcElementarySurface (1)  
1  Position  IfcAxis2Placement3D 
The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. 
Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes  
IfcToroidalSurface (2)  
2  MajorRadius  IfcPositiveLengthMeasure 
The major radius of the torus. 
3  MinorRadius  IfcPositiveLengthMeasure 
The minor radius of the torus. 
8.9.3.74.4 Formal propositions
Name  Description 

MajorLargerMinor 
The attribute value of the MinorRadius shall be smaller then the value of the MajorRadius 

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