Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcArbitraryClosedProfileDef

Definition from IAI: The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed.

HISTORY: New entity in IFC Release 1.5. Entity has been renamed from IfcArbitraryProfileDef in IFC Release 2x.

Informal proposition:

  1. The OuterCurve has to be a closed curve.
  2. The OuterCurve shall not intersect.

Illustration:

arbitrary profile without boundaries

Position
The OuterCurve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:

  • IfcSweptSurface.Position
  • IfcSweptAreaSolid.Position
or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions

Parameter
The OuterCurve attribute defines a two dimensional closed bounded curve.

Table: Definition of arbitrary closed profile definition

EXPRESS specification:

ENTITY IfcArbitraryClosedProfileDef
SUPERTYPE OF (IfcArbitraryProfileDefWithVoids)
SUBTYPE OF ( IfcProfileDef);
OuterCurve  :  IfcCurve;
WHERE
WR1  :  OuterCurve.Dim = 2;
WR2  :  NOT('IFCGEOMETRYRESOURCE.IFCLINE' IN TYPEOF(OuterCurve));
WR3  :  NOT('IFCGEOMETRYRESOURCE.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve));
END_ENTITY;

Attribute definitions:

OuterCurve  :  Bounded curve, defining the outer boundaries of the arbitrary profile.

Formal Propositions:

WR1  :  The curve used for the outer curve definition shall have the dimensionality of 2.
WR2  :  The outer curve shall not be of type IfcLine as IfcLine is not a closed curve.
WR3  :  The outer curve shall not be of type IfcOffsetCurve2D as it should not be defined as an offset of another curve.

Inheritance graph

ENTITY IfcArbitraryClosedProfileDef;
ENTITY IfcProfileDef;
ProfileType  :  IfcProfileTypeEnum;
ProfileName  :  OPTIONAL IfcLabel;
ENTITY IfcArbitraryClosedProfileDef;
OuterCurve  :  IfcCurve;
END_ENTITY;