8.15.3.3 IfcArbitraryProfileDefWithVoids
8.15.3.3.1 Semantic definition
The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes. It is given by an outer boundary and inner boundaries. A common usage of IfcArbitraryProfileDefWithVoids is as the cross section for the creation of swept surfaces or swept solids.
Informal Propositions
- The outer curve and all inner curves shall be closed curves.
- The outer curve shall enclose all inner curves.
- No inner curve shall intersect with the outer curve or any other inner curve. That is, no two curves of the profile definition shall have a point or segment in common, taken into account the geometric precision factor of the geometric representation context. In other words, curves must neither cross nor touch each other.
- No inner curve may enclose another inner curve.
Figure 8.15.3.3.A illustrates the arbitrary closed profile definition with voids. 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. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves.

8.15.3.3.2 Entity inheritance
8.15.3.3.3 Attributes
# | Attribute | Type | Description |
---|---|---|---|
IfcProfileDef (4) | |||
IfcArbitraryClosedProfileDef (1) | |||
Click to show 5 hidden inherited attributes Click to hide 5 inherited attributes | |||
IfcArbitraryProfileDefWithVoids (1) | |||
4 | InnerCurves | SET [1:?] OF IfcCurve |
Set of bounded curves, defining the inner boundaries of the arbitrary profile. |
8.15.3.3.4 Formal propositions
Name | Description |
---|---|
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. |
|
8.15.3.3.5 Property sets
-
Pset_ProfileArbitraryDoubleT
- OverallWidth
- LeftFlangeWidth
- RightFlangeWidth
- OverallDepth
- FlangeDepth
- FlangeDraft
- FlangeChamfer
- FlangeBaseFillet
- FlangeTopFillet
- StemBaseWidth
- StemTopWidth
- StemBaseChamfer
- StemTopChamfer
- StemBaseFillet
- StemTopFillet
-
Pset_ProfileArbitraryHollowCore
- OverallWidth
- OverallDepth
- EdgeDraft
- DraftBaseOffset
- DraftSideOffset
- BaseChamfer
- KeyDepth
- KeyHeight
- KeyOffset
- BottomCover
- CoreSpacing
- CoreBaseHeight
- CoreMiddleHeight
- CoreTopHeight
- CoreBaseWidth
- CoreTopWidth
- CenterCoreSpacing
- CenterCoreBaseHeight
- CenterCoreMiddleHeight
- CenterCoreTopHeight
- CenterCoreBaseWidth
- CenterCoreTopWidth
- NumberOfCores
-
Pset_ProfileMechanical
- MassPerLength
- CrossSectionArea
- Perimeter
- MinimumPlateThickness
- MaximumPlateThickness
- CentreOfGravityInX
- CentreOfGravityInY
- ShearCentreZ
- ShearCentreY
- MomentOfInertiaY
- MomentOfInertiaZ
- MomentOfInertiaYZ
- TorsionalConstantX
- WarpingConstant
- ShearDeformationAreaZ
- ShearDeformationAreaY
- MaximumSectionModulusY
- MinimumSectionModulusY
- MaximumSectionModulusZ
- MinimumSectionModulusZ
- TorsionalSectionModulus
- ShearAreaZ
- ShearAreaY
- PlasticShapeFactorY
- PlasticShapeFactorZ
8.15.3.3.6 Concept usage
Concept | Usage | Description | |
---|---|---|---|
IfcProfileDef (1) | |||
IfcArbitraryClosedProfileDef (1) | |||
Click to show 2 hidden inherited concepts Click to hide 2 inherited concepts | |||
IfcArbitraryProfileDefWithVoids (1) | |||
Property Sets for Profiles | General |
This concept can be applied to the following resources: |
8.15.3.3.7 Formal representation
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 | 'IFC4X3_DEV_738df036.IFCLINE' IN TYPEOF(temp))) = 0; END_ENTITY;