Navigation

IfcSurfaceOfRevolution

Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below.

The parameterisation is as follows where the curve has a parameterisation l(u):

C = AxisPosition.Location
V = AxisPosition.Z

In order to produce a single-value surface the a complete revolution, the curve shall be such that when expressed in a cylindrical coordinate system the curve shall be such that when expressed in a cylindrical coordinate system (r,f ,z) centred at C with an axis V no two distinct parametric points on the curve shall have the same values for (r, z).

For a surface of revolution the parametric range is 0 < u < 360 degree. The parameterisation range for v is defined by referenced curve.

NOTE Corresponding STEP entity: surface_of_linear_extrusion. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. The following adaption has been made. The ExtrusionAxis and the Direction are defined as two separate attributes in correlation to the definition of the extruded_area_solid, and not as a single vector attribute. The vector is derived as ExtrusionAxis.

HISTORY New class in IFC Release 2.x.
ISSUE See issue log for changes made in IFC Release 2.x .

Informal propositions:

  1. The surface shall not self-intersect
  2. The swept curve shall not be coincident with the axis line for any finite part of its legth.

EXPRESS specification:

ENTITY IfcSurfaceOfRevolution
SUBTYPE OF ( IfcSweptSurface);
AxisPosition  :  IfcAxis1Placement;
DERIVE
AxisLine  :  IfcLine :=  IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(AxisPosition.Location, 
  IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(AxisPosition.Z,1.0));
END_ENTITY;

Attribute definitions:

AxisPosition  :  A point on the axis of revolution and the direction of the axis of revolution.
AxisLine  :  The line coinciding with the axis of revolution.

References (1):

Name Type Referred through Express-G
IfcSweptSurface Entity
Subtype
Diagram 8

Inheritance graph

ENTITY IfcSurfaceOfRevolution;
ENTITY IfcRepresentationItem;
ENTITY IfcGeometricRepresentationItem;
ENTITY IfcSurface;
ENTITY IfcSweptSurface;
SweptCurve  :  IfcProfileDef;
Position  :  IfcAxis2Placement3D;
DERIVE
Dim  :  IfcDimensionCount :=  Position.Dim;
ENTITY IfcSurfaceOfRevolution;
AxisPosition  :  IfcAxis1Placement;
DERIVE
AxisLine  :  IfcLine :=  IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(AxisPosition.Location, 
  IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(AxisPosition.Z,1.0));
END_ENTITY;