IFC 4.3.x development IfcToroidalSurface

Change log


added Semantic definitions at the entity

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 + 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 self-intersecting.

NOTE  Entity adapted from toroidal_surface defined in ISO 10303-42.

HISTORY  New entity in IFC4 Addendum 2. Attributes

# Attribute Type Description
LayerAssignmentSET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItemsAssignment 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.
Dim INVALID The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item.

> IFC4 CHANGE Derived attribute promoted from subtypes.
1 Position IfcAxis2Placement3D The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface.
2 MajorRadius IfcPositiveLengthMeasure The major radius of the torus.
3 MinorRadius IfcPositiveLengthMeasure The minor radius of the torus. Entity inheritance

dot_inheritance IfcToroidalSurface IfcToroidalSurface IfcElementarySurface IfcElementarySurface IfcToroidalSurface->IfcElementarySurface IfcElementarySurface_children 3 more... IfcElementarySurface_children->IfcElementarySurface IfcSurface IfcSurface IfcElementarySurface->IfcSurface IfcSurface_children 3 more... IfcSurface_children->IfcSurface IfcGeometricRepresentationItem IfcGeometricRepresentationItem IfcSurface->IfcGeometricRepresentationItem IfcGeometricRepresentationItem_children 24 more... IfcGeometricRepresentationItem_children->IfcGeometricRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcGeometricRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem Formal representations

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