Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

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,φ ,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_revolution. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard.

HISTORY: New entity in IFC Release 2x.

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.

Inheritance graph

ENTITY IfcSurfaceOfRevolution;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments  :  SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem  :  SET [0:1] OF IfcStyledItem FOR Item;
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;