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:
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 | 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 LayerAssignments has been added. IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. | 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 StyledByItem has been added. | 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;