IfcArbitraryProfileDefWithVoids

Definition from IAI: The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed.

> HISTORY: New entity in IFC Release 2x.

Informal propositions:

1. The outer curve and all inner curves shall be closed curves.
2. The outer curve shall enclose all inner curves.
3. No inner curve shall intersect with the outer curve or any other inner curve.
4. No inner curve may enclose another inner curve.

Illustration:

| Position The OuterCurve, defined at the supertype IfcArbitraryClosedProfileDef and the inner curves are defined in the same underlying coordinate system. The common underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: 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, the InnerCurves define a set of two dimensional closed bounded curves.

Table: Definition of arbitrary closed profile definition with voids

EXPRESS specification:

ENTITY IfcArbitraryProfileDefWithVoids
SUBTYPE OF ( | IfcArbitraryClosedProfileDef);
InnerCurves | : | SET [1:?] OF IfcCurve;
WHERE
WR1 | : | SELF\IfcProfileDef.ProfileType = AREA;
WR2 | : | SIZEOF(QUERY(temp <* InnerCurves | temp.Dim <> 2)) = 0;
WR3 | : | SIZEOF(QUERY(temp <* InnerCurves | 'IFCGEOMETRYRESOURCE.IFCLINE' IN TYPEOF(temp))) = 0;
END_ENTITY;

Attribute definitions:

InnerCurves | : | Set of bounded curves, defining the inner boundaries of the arbitrary profile.

Formal Propositions:

WR1 | : | The type of the profile shall be AREA, as it can only be involved in the definition of a swept area.
WR2 | : | All inner curves shall have the dimensionality of 2.
WR3 | : | None of the inner curves shall by of type IfcLine, as an IfcLine can not be a closed curve.

Inheritance graph

ENTITY IfcArbitraryProfileDefWithVoids;
ENTITY IfcProfileDef;
ProfileType | : | IfcProfileTypeEnum;
ProfileName | : | OPTIONAL IfcLabel;
ENTITY IfcArbitraryClosedProfileDef;
OuterCurve | : | IfcCurve;
ENTITY IfcArbitraryProfileDefWithVoids;
InnerCurves | : | SET [1:?] OF IfcCurve;
END_ENTITY;