Natural language names
Toroidal Surface
Change log
IFC4 Addendum 2
Semantic definitions at the entity
Entity 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:

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

An IfcToroidalSurface is 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 the MinorRadius and the MajorRadius is 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) = C + (R + rcos v)((cosu)x + (sin u))y) + r(sinv))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) = x2 + y2 + z2 -2R√(x2+y2) - r2 + R2.

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

( Sx, Sy, Sz ).

The unit normal is given by

N(u,v) = cosv((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 self-intersecting.

NOTE  Entity adapted from toroidal_surface defined in ISO 10303-42.
HISTORY  New entity in IFC4 Addendum 2.
Attribute definitions
#AttributeTypeCardinalityDescription G
2MajorRadiusIfcPositiveLengthMeasure The major radius of the torus.X
3MinorRadiusIfcPositiveLengthMeasure The minor radius of the torus.X
Formal Propositions
MajorLargerMinorThe attribute value of the MinorRadius shall be smaller then the value of the MajorRadius
Inherited definitions from supertypes
Entity inheritance IfcElementarySurface IfcSurface IfcGeometricRepresentationItem IfcRepresentationItem
Attribute inheritance
S[0:1]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.
S[0:1]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.
IfcDimensionCountThe space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item.
IFC4 CHANGE Derived attribute promoted from subtypes.
1PositionIfcAxis2Placement3D The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. X
2MajorRadiusIfcPositiveLengthMeasure The major radius of the torus.X
3MinorRadiusIfcPositiveLengthMeasure The minor radius of the torus.X
Formal representations
XML Specification
 <xs:element name="IfcToroidalSurface" type="ifc:IfcToroidalSurface" substitutionGroup="ifc:IfcElementarySurface" nillable="true"/>
 <xs:complexType name="IfcToroidalSurface">
   <xs:extension base="ifc:IfcElementarySurface">
    <xs:attribute name="MajorRadius" type="ifc:IfcPositiveLengthMeasure" use="optional"/>
    <xs:attribute name="MinorRadius" type="ifc:IfcPositiveLengthMeasure" use="optional"/>
EXPRESS Specification
ENTITY IfcToroidalSurface
 SUBTYPE OF (IfcElementarySurface);
  MajorRadius : IfcPositiveLengthMeasure;
  MinorRadius : IfcPositiveLengthMeasure;
  MajorLargerMinor : MinorRadius < MajorRadius;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page