IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.15.3.3 IfcArbitraryProfileDefWithVoids(带空隙任意轮廓定义)

RV ⓘ
AbV ⓘ

8.15.3.3.1 语义定义(Semantic definition)

IfcArbitraryProfileDefWithVoids 定义了一个带孔的任意闭合二维轮廓。它由外部边界和内部边界组成。IfcArbitraryProfileDefWithVoids 的常见用途是作为创建扫描曲面或扫描实体的横截面。

非正式命题

  1. 外部曲线和所有内部曲线应为闭合曲线。
  2. 外部曲线应包围所有内部曲线。
  3. 任何内部曲线不得与外部曲线或其他内部曲线相交。即,考虑到几何表示上下文的几何精度因子,轮廓定义中的任意两条曲线不得有共同点或共同段。换句话说,曲线既不能交叉也不能相互接触。
  4. 任何内部曲线不得包围另一条内部曲线。

图 8.15.3.3.A 展示了带空隙的任意闭合轮廓定义。在超类型 IfcArbitraryClosedProfileDef 中定义的 OuterCurve 和内部曲线在同一基础坐标系中定义。共同的基础坐标系由使用该轮廓定义的扫描面积实体定义。它是以下项的 xy 平面:

或在分段脊线的情况下,是 IfcSectionedSpine.CrossSectionPositions 每个列表成员的 xy 平面。OuterCurve 属性定义了一条二维闭合有界曲线,InnerCurves 定义了一组二维闭合有界曲线。

带内部边界的任意轮廓
图 8.15.3.3.A — 带空隙的任意轮廓

8.15.3.3.2 实体继承(Entity inheritance)

8.15.3.3.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcProfileDef (4)
1 ProfileType IfcProfileTypeEnum

定义此轮廓定义应解析的几何类型,是曲线还是曲面区域。如果是曲线,轮廓应由扫描曲面引用;如果是区域,轮廓应由扫描实体引用。

2 ProfileName OPTIONAL IfcLabel

轮廓的人类可读名称,例如根据标准轮廓表。如上所述,机器可读的标准轮廓名称应在 IfcExternalReference.ItemReference 中提供。

HasExternalReference SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects

与轮廓关联的外部信息(例如库、分类或文档信息)的引用。

HasProperties SET [0:?] OF IfcProfileProperties FOR ProfileDefinition

轮廓的附加属性,例如机械属性。

IfcArbitraryClosedProfileDef (1)
3 OuterCurve IfcCurve

有界曲线,定义任意轮廓的外部边界。

点击显示 5 个隐藏的继承特性 点击隐藏 5 个继承特性
IfcArbitraryProfileDefWithVoids (1)
4 InnerCurves SET [1:?] OF IfcCurve

有界曲线集合,定义任意轮廓的内部边界。

表 8.15.3.3.B

8.15.3.3.4 形式化命题(Formal propositions)

名称 描述
WR1

轮廓的类型应为 AREA,因为它只能参与扫描面积的定义。

SELF\IfcProfileDef.ProfileType = AREA
WR2

所有内部曲线应具有二维性。

SIZEOF(QUERY(temp <* InnerCurves | temp.Dim <> 2)) = 0
WR3

任何内部曲线不得为 IfcLine 类型,因为 IfcLine 不能是闭合曲线。

SIZEOF(QUERY(temp <* InnerCurves | 'IFC4X3_DEV_62887e3f.IFCLINE' IN TYPEOF(temp))) = 0
表 8.15.3.3.C

8.15.3.3.5 属性集

  • 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)

概念 用法 描述
IfcProfileDef (1)
Property Sets for Profiles General

用于剖面的属性集 概念模板描述了剖面如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型可以是单值、枚举值、表值、引用值或列表值,以及属性实例的组合。

注释:IfcProfileDef 不是 IfcObject。出于历史原因,此概念列在 对象定义 下。在标准未来版本中,各种属性集关联机制可能会得到统一。

适用于此模板的属性集将带有 IfcPropertySetTemplateTypeEnum "PSET_PROFILEDRIVEN"。

concept {
    IfcProfileDef:HasProperties -> IfcProfileProperties:ProfileDefinition

    IfcProfileProperties:Name -> IfcIdentifier
    IfcProfileProperties:Description -> IfcText
    IfcProfileProperties:Properties -> IfcPropertySingleValue
    IfcProfileProperties:Properties -> IfcPropertyBoundedValue
    IfcProfileProperties:Properties -> IfcPropertyEnumeratedValue
    IfcProfileProperties:Properties -> IfcPropertyListValue
    IfcProfileProperties:Properties -> IfcPropertyTableValue

    IfcPropertySingleValue -> Single_Value
    IfcPropertyBoundedValue -> Bounded_Value
    IfcPropertyEnumeratedValue -> Enumerated_Value
    IfcPropertyListValue -> List_Value
    IfcPropertyTableValue -> Table_Value

    IfcProfileProperties:Name[binding="PsetName"]
    IfcProfileProperties:Properties[binding="Properties"]
}

此概念可应用于以下资源

IfcArbitraryClosedProfileDef (1)
Property Sets for Profiles General

用于剖面的属性集 概念模板描述了剖面如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型可以是单值、枚举值、表值、引用值或列表值,以及属性实例的组合。

注释:IfcProfileDef 不是 IfcObject。出于历史原因,此概念列在 对象定义 下。在标准未来版本中,各种属性集关联机制可能会得到统一。

适用于此模板的属性集将带有 IfcPropertySetTemplateTypeEnum "PSET_PROFILEDRIVEN"。

concept {
    IfcProfileDef:HasProperties -> IfcProfileProperties:ProfileDefinition

    IfcProfileProperties:Name -> IfcIdentifier
    IfcProfileProperties:Description -> IfcText
    IfcProfileProperties:Properties -> IfcPropertySingleValue
    IfcProfileProperties:Properties -> IfcPropertyBoundedValue
    IfcProfileProperties:Properties -> IfcPropertyEnumeratedValue
    IfcProfileProperties:Properties -> IfcPropertyListValue
    IfcProfileProperties:Properties -> IfcPropertyTableValue

    IfcPropertySingleValue -> Single_Value
    IfcPropertyBoundedValue -> Bounded_Value
    IfcPropertyEnumeratedValue -> Enumerated_Value
    IfcPropertyListValue -> List_Value
    IfcPropertyTableValue -> Table_Value

    IfcProfileProperties:Name[binding="PsetName"]
    IfcProfileProperties:Properties[binding="Properties"]
}

此概念可应用于以下资源

点击显示 2 个隐藏的继承概念 点击隐藏 2 个继承概念
IfcArbitraryProfileDefWithVoids (1)
Property Sets for Profiles General

用于剖面的属性集 概念模板描述了剖面如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型可以是单值、枚举值、表值、引用值或列表值,以及属性实例的组合。

注释:IfcProfileDef 不是 IfcObject。出于历史原因,此概念列在 对象定义 下。在标准未来版本中,各种属性集关联机制可能会得到统一。

适用于此模板的属性集将带有 IfcPropertySetTemplateTypeEnum "PSET_PROFILEDRIVEN"。

concept {
    IfcProfileDef:HasProperties -> IfcProfileProperties:ProfileDefinition

    IfcProfileProperties:Name -> IfcIdentifier
    IfcProfileProperties:Description -> IfcText
    IfcProfileProperties:Properties -> IfcPropertySingleValue
    IfcProfileProperties:Properties -> IfcPropertyBoundedValue
    IfcProfileProperties:Properties -> IfcPropertyEnumeratedValue
    IfcProfileProperties:Properties -> IfcPropertyListValue
    IfcProfileProperties:Properties -> IfcPropertyTableValue

    IfcPropertySingleValue -> Single_Value
    IfcPropertyBoundedValue -> Bounded_Value
    IfcPropertyEnumeratedValue -> Enumerated_Value
    IfcPropertyListValue -> List_Value
    IfcPropertyTableValue -> Table_Value

    IfcProfileProperties:Name[binding="PsetName"]
    IfcProfileProperties:Properties[binding="Properties"]
}

此概念可应用于以下资源

表 8.15.3.3.D

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

8.15.3.3.8 参考文献