Toroidal Surface |

Item | SPF | XML | Change | Description |
---|---|---|---|---|

IFC4 Addendum 2 |
||||

IfcToroidalSurface | 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

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

MinorRadiusand 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)= cosv((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 fromtoroidal_surfacedefined in ISO 10303-42.

HISTORY New entity in IFC4 Addendum 2.

# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|

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

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

Rule | Description |
---|---|

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

# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|

IfcRepresentationItem | |||||

LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | 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 IFC4 CHANGE The inverse attribute | X | |

StyledByItem | IfcStyledItem @Item | 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 | X | |

IfcGeometricRepresentationItem | |||||

IfcSurface | |||||

Dim :=3 | IfcDimensionCount | The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item.
IFC4 CHANGE Derived attribute promoted from subtypes. |
X | ||

IfcElementarySurface | |||||

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

IfcToroidalSurface | |||||

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

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

` <xs:element name="IfcToroidalSurface" type="ifc:IfcToroidalSurface" substitutionGroup="ifc:IfcElementarySurface" nillable="true"/>`

<xs:complexType name="IfcToroidalSurface">

<xs:complexContent>

<xs:extension base="ifc:IfcElementarySurface">

<xs:attribute name="MajorRadius" type="ifc:IfcPositiveLengthMeasure" use="optional"/>

<xs:attribute name="MinorRadius" type="ifc:IfcPositiveLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

```
ENTITY IfcToroidalSurface
```

SUBTYPE OF (IfcElementarySurface)**;**

MajorRadius : IfcPositiveLengthMeasure;

MinorRadius : IfcPositiveLengthMeasure;

WHERE

MajorLargerMinor : MinorRadius < MajorRadius;

END_ENTITY;