IFC 4.3.x development

8.15.3.3 IfcArbitraryProfileDefWithVoids

Change log

IFC4

modificationswhere_rules WR3 definitionChanged from sizeof(query(temp <* InnerCurves | 'ifc2x3.ifcline' in typeof(temp))) = 0 to sizeof(query(temp <* InnerCurves | 'ifc4.ifcline' in typeof(temp))) = 0

IFC4X1

modificationswhere_rules WR3 definitionChanged from sizeof(query(temp <* InnerCurves | 'ifc4.ifcline' in typeof(temp))) = 0 to sizeof(query(temp <* InnerCurves | 'ifc4x1.ifcline' in typeof(temp))) = 0

IFC4X2

modificationswhere_rules WR3 definitionChanged from sizeof(query(temp <* InnerCurves | 'ifc4x1.ifcline' in typeof(temp))) = 0 to sizeof(query(temp <* InnerCurves | 'ifc4x2.ifcline' in typeof(temp))) = 0

IFC4X3_RC3

modificationswhere_rules WR3 definitionChanged from sizeof(query(temp <* InnerCurves | 'ifc4x2.ifcline' in typeof(temp))) = 0 to sizeof(query(temp <* InnerCurves | 'ifc4x3_rc3.ifcline' in typeof(temp))) = 0

8.15.3.3.1 Semantic definitions at the entity

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.

HISTORY  New entity in IFC2x.

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. 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.
  4. No inner curve may enclose another inner curve.

Figure 1 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:

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.

"arbitrary profile with inner boundaries"

8.15.3.3.1 Attributes

# Attribute Type Description
IfcProfileDef
1 ProfileType IfcProfileTypeEnum Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid.
2 ProfileName OPTIONAL IfcLabel Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in _IfcExternalReference.ItemReference_.
HasExternalReferenceSET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjectsReference to external information, e.g. library, classification, or document information, which is associated with the profile.

> IFC4 CHANGE New inverse attribute
HasProperties SET [0:?] OF IfcProfileProperties FOR ProfileDefinition Additional properties of the profile, for example mechanical properties.

> IFC4 CHANGE New inverse attribute
IfcArbitraryClosedProfileDef
3 OuterCurve IfcCurve Bounded curve, defining the outer boundaries of the arbitrary profile.
IfcArbitraryProfileDefWithVoids
4 InnerCurves SET [1:?] OF IfcCurve Set of bounded curves, defining the inner boundaries of the arbitrary profile.

8.15.3.3.2 Entity inheritance

dot_inheritance IfcArbitraryProfileDefWithVoids IfcArbitraryProfileDefWithVoids IfcArbitraryClosedProfileDef IfcArbitraryClosedProfileDef IfcArbitraryProfileDefWithVoids->IfcArbitraryClosedProfileDef IfcProfileDef IfcProfileDef IfcArbitraryClosedProfileDef->IfcProfileDef IfcProfileDef_children 5 more... IfcProfileDef_children->IfcProfileDef

8.15.3.3.3 Definitions applying to General Usage

8.15.3.3.3.1 Property Sets for Objects

PsetName
'Pset_ProfileMechanical'

8.15.3.3.4 Formal representations

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_a1492713.IFCLINE' IN TYPEOF(temp))) = 0;
END_ENTITY;