IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

5.4.3.39 IfcLinearPositioningElement(线性定位构件)

5.4.3.39.1 语义定义(Semantic definition)

IfcLinearPositioningElement 是一个描述根据曲线进行定位的实体。

5.4.3.39.2 实体继承(Entity inheritance)

5.4.3.39.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcRoot (4)
1 GlobalId IfcGloballyUniqueId

在整个软件世界中分配全局唯一标识符。

2 OwnerHistory OPTIONAL IfcOwnerHistory

分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。

3 Name OPTIONAL IfcLabel

供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。

4 Description OPTIONAL IfcText

可选的描述,用于提供信息性注释。

IfcObjectDefinition (7)
HasAssignments SET [0:?] OF IfcRelAssigns FOR RelatedObjects

引用分配(通过关联关系)其他 IfcObject 子类型到此对象实例的关系对象。例如,与产品、过程、控制、资源或组的关联。

Nests SET [0:1] OF IfcRelNests FOR RelatedObjects

引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的一部分。对象实例或类型只能是单个分解的一部分(仅允许分层结构)。

IsNestedBy SET [0:?] OF IfcRelNests FOR RelatingObject

引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的整体。对象或对象类型可以被多个其他对象(实例或类型)嵌套。

HasContext SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions

引用提供上下文信息的上下文,例如项目单位或表示上下文。它只应断言在最上层的非空间对象上。

IsDecomposedBy SET [0:?] OF IfcRelAggregates FOR RelatingObject

引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的整体。对象定义可以被多个其他对象(实例或部分)聚合。

Decomposes SET [0:1] OF IfcRelAggregates FOR RelatedObjects

引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的一部分。对象定义只能是单个分解的一部分(仅允许分层结构)。

HasAssociations SET [0:?] OF IfcRelAssociates FOR RelatedObjects

引用将外部资源或资源定义与对象关联的关系对象。例如,与库、文档或分类的关联。

IfcObject (5)
5 ObjectType OPTIONAL IfcLabel

该类型表示指示对象的特定类型。必须在可实例化的子类型的级别上建立用法。特别是,如果特性 PredefinedType 的枚举设置为 USERDEFINED,或者当实例化的具体实体没有 PredefinedType 特性时,它保存用户定义的类型。后者发生在一些特殊的叶子类中,以及直接实例化 IfcBuiltElement 时。

IsDeclaredBy SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects

链接到指向声明对象的关系对象,该声明对象为此对象实例提供对象定义。声明对象必须是对象类型分解的一部分。关联的 IfcObject 或其子类型包含特定信息(作为类型或样式定义的一部分),该信息对于声明 IfcObject 或其子类型的所有反映实例是通用的。

Declares SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject

链接到指向接收对象定义的反向对象的关系对象。反向对象必须是对象实例分解的一部分。关联的 IfcObject 或其子类型提供特定信息(作为类型或样式定义的一部分),该信息对于声明 IfcObject 或其子类型的所有反向实例是通用的。

IsTypedBy SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects

与对象类型的关系集合,该对象类型为此对象实例提供类型定义。然后,关联的 IfcTypeObject 或其子类型包含特定信息(或类型或样式),该信息对于引用同一类型的所有 IfcObject 或其子类型的实例是通用的。

IsDefinedBy SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects

与附加到此对象的属性集定义的集合的关系。这些静态或动态定义的特性包含字母数字信息内容,这些内容进一步定义了对象。

IfcProduct (5)
6 ObjectPlacement OPTIONAL IfcObjectPlacement

这建立了产品在空间中的对象坐标系和位置。位置可以是绝对的(相对于世界坐标系)、相对的(相对于另一个产品的对象位置)或约束的(例如,相对于网格轴或线性定位元素)。位置的类型由 IfcObjectPlacement 的各种子类型确定。如果存在表示,则必须提供对象位置。

7 Representation OPTIONAL IfcProductRepresentation

引用产品的表示,可以是表示 (IfcProductRepresentation) 或作为形状表示 (IfcProductDefinitionShape) 的特例。产品定义形状为同一对象坐标系中的形状属性提供了多个几何表示,该坐标系由对象位置确定。

ReferencedBy SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct

引用 IfcRelAssignsToProduct 关系,通过该关系,其他产品、过程、控制、资源或参与者(作为 IfcObjectDefinition 的子类型)可以与此产品相关联。

PositionedRelativeTo SET [0:?] OF IfcRelPositions FOR RelatedProducts

引用 IfcRelPositions 关系,该关系定义了其与定位元素的关系。

ReferencedInStructures SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements

引用对象化关系 IfcRelReferencedInSpatialStructure,可用于将产品与一个或多个空间结构元素相关联,除了它主要包含的那个。

点击显示 21 个隐藏的继承特性 点击隐藏 21 个继承特性
IfcPositioningElement (2)
ContainedInStructure SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements

与定位元素主要关联的空间结构元素的关联关系。

Positions SET [0:?] OF IfcRelPositions FOR RelatingPositioningElement

无可用描述

表 5.4.3.39.A

5.4.3.39.4 属性集

  • Pset_Risk
    • RiskName
    • RiskType
    • NatureOfRisk
    • RiskAssessmentMethodology
    • UnmitigatedRiskLikelihood
    • UnmitigatedRiskConsequence
    • UnmitigatedRiskSignificance
    • MitigationPlanned
    • MitigatedRiskLikelihood
    • MitigatedRiskConsequence
    • MitigatedRiskSignificance
    • MitigationProposed
    • AssociatedProduct
    • AssociatedActivity
    • AssociatedLocation
  • Pset_Tolerance
    • ToleranceDescription
    • ToleranceBasis
    • OverallTolerance
    • HorizontalTolerance
    • OrthogonalTolerance
    • VerticalTolerance
    • PlanarFlatness
    • HorizontalFlatness
    • ElevationalFlatness
    • SideFlatness
    • OverallOrthogonality
    • HorizontalOrthogonality
    • OrthogonalOrthogonality
    • VerticalOrthogonality
    • OverallStraightness
    • HorizontalStraightness
    • OrthogonalStraightness
    • VerticalStraightness
  • Pset_Uncertainty
    • UncertaintyBasis
    • UncertaintyDescription
    • HorizontalUncertainty
    • LinearUncertainty
    • OrthogonalUncertainty
    • VerticalUncertainty
  • Qto_BodyGeometryValidation
    • GrossSurfaceArea
    • NetSurfaceArea
    • GrossVolume
    • NetVolume
    • SurfaceGenusBeforeFeatures
    • SurfaceGenusAfterFeatures

5.4.3.39.8 概念用法(Concept usage)

概念 用法 描述
IfcRoot (2)
Revision Control General

使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。

Software Identity General

IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。

IfcObjectDefinition (11)
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

Aggregation General

聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:

  • 聚合用于建筑构件,以指示墙体内的龙骨等部分;
  • 聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
  • 聚合用于系统,以指示子系统,例如分支电路。

聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。

concept {
    IfcObjectDefinition:IsDecomposedBy -> IfcRelAggregates:RelatingObject
}
Approval Association General

概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesApproval:RelatedObjects
    IfcRelAssociatesApproval:RelatingApproval -> IfcApproval
    IfcApproval:Name -> IfcLabel_0
    IfcApproval:TimeOfApproval -> IfcDateTime
    IfcApproval:Status -> IfcLabel_1
}
Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
Library Association General

概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryReference
    IfcLibraryReference:Location -> IfcURIReference
    IfcLibraryReference:Identification -> IfcIdentifier
    IfcLibraryReference:Name -> IfcLabel
    IfcLibraryReference:Description -> IfcText
    IfcLibraryReference:Language -> IfcLanguageId
    IfcLibraryReference:ReferencedLibrary -> IfcLibraryInformation
    IfcRelAssociatesLibrary:RelatingLibrary[binding="RelatingLibrary"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Revision Control General

使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。

Software Identity General

IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。

IfcObject (16)
Aggregation General

聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:

  • 聚合用于建筑构件,以指示墙体内的龙骨等部分;
  • 聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
  • 聚合用于系统,以指示子系统,例如分支电路。

聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。

concept {
    IfcObjectDefinition:IsDecomposedBy -> IfcRelAggregates:RelatingObject
}
Approval Association General

概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesApproval:RelatedObjects
    IfcRelAssociatesApproval:RelatingApproval -> IfcApproval
    IfcApproval:Name -> IfcLabel_0
    IfcApproval:TimeOfApproval -> IfcDateTime
    IfcApproval:Status -> IfcLabel_1
}
Assignment to Group General

_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。

分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。

concept {
    IfcObject:HasAssignments -> IfcRelAssignsToGroup:RelatedObjects
    IfcObject:HasAssignments[binding="IsAssigned"]
}
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
Library Association General

概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryReference
    IfcLibraryReference:Location -> IfcURIReference
    IfcLibraryReference:Identification -> IfcIdentifier
    IfcLibraryReference:Name -> IfcLabel
    IfcLibraryReference:Description -> IfcText
    IfcLibraryReference:Language -> IfcLanguageId
    IfcLibraryReference:ReferencedLibrary -> IfcLibraryInformation
    IfcRelAssociatesLibrary:RelatingLibrary[binding="RelatingLibrary"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object Predefined Type General

======================

许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED

Object Occurrence Predefined Type 提供的主要特性是:

  • PredefinedType:包含实体特定的预定义类型枚举,以进一步分类实体
  • ObjectType:允许自定义值,如果没有适用的枚举值

如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。

concept {
    IfcObject:ObjectType -> IfcLabel
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcTypeObject:ElementType[binding="TypeUserdefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
}
Object Typing General

任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。

此概念可应用于以下资源

Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Property Sets with Override General

任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。

Revision Control General

使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。

Software Identity General

IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。

IfcProduct (33)
Body Geometry General

IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:

Product Geometric Representation General

任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。

Product Geometry Colour General
concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:Items -> IfcSolidModel
    IfcShapeRepresentation:Items -> IfcTessellatedFaceSet
    IfcSolidModel:StyledByItem -> IfcStyledItem:Item
    IfcStyledItem:Styles -> IfcSurfaceStyle
    IfcSurfaceStyle -> Surface_Color_Style
    IfcTessellatedFaceSet:HasColours -> IfcIndexedColourMap:MappedTo
    IfcIndexedColourMap:Opacity -> IfcNormalisedRatioMeasure
    IfcIndexedColourMap:Colours -> IfcColourRgbList
    IfcIndexedColourMap:ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer General
concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:LayerAssignments -> IfcPresentationLayerAssignment:AssignedItems
    IfcPresentationLayerAssignment -> Layer
}
Product Relative Positioning General

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

Product Span Positioning General

_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。

concept {
    IfcProduct:PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
    IfcProduct:PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
    IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
    IfcRelPositions_0:Name -> IfcLabel_0
    IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
    IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
    IfcRelPositions_1:Name -> IfcLabel_1
    IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
    IfcProduct:PositionedRelativeTo[binding="EndPositionedRelativeTo"]
    IfcReferent_0:PredefinedType[binding="StartPositionType"]
    IfcRelPositions_0:Name[binding="StartPositionName"]
    IfcReferent_1:PredefinedType[binding="EndPositionType"]
    IfcRelPositions_1:Name[binding="EndPositionName"]
}
Aggregation General

聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:

  • 聚合用于建筑构件,以指示墙体内的龙骨等部分;
  • 聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
  • 聚合用于系统,以指示子系统,例如分支电路。

聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。

concept {
    IfcObjectDefinition:IsDecomposedBy -> IfcRelAggregates:RelatingObject
}
Approval Association General

概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesApproval:RelatedObjects
    IfcRelAssociatesApproval:RelatingApproval -> IfcApproval
    IfcApproval:Name -> IfcLabel_0
    IfcApproval:TimeOfApproval -> IfcDateTime
    IfcApproval:Status -> IfcLabel_1
}
Assignment to Group General

_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。

分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。

concept {
    IfcObject:HasAssignments -> IfcRelAssignsToGroup:RelatedObjects
    IfcObject:HasAssignments[binding="IsAssigned"]
}
Box Geometry General

元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。

“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundingBox
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Box"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=BoundingBox"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

CoG Geometry General

元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。

“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcCartesianPoint
    IfcLabel_0 -> constraint_0
    constraint_0[label="=CoG"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
Library Association General

概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryReference
    IfcLibraryReference:Location -> IfcURIReference
    IfcLibraryReference:Identification -> IfcIdentifier
    IfcLibraryReference:Name -> IfcLabel
    IfcLibraryReference:Description -> IfcText
    IfcLibraryReference:Language -> IfcLanguageId
    IfcLibraryReference:ReferencedLibrary -> IfcLibraryInformation
    IfcRelAssociatesLibrary:RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry General

元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。

映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation_0
    IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation_0:Items -> IfcMappedItem
    IfcMappedItem:MappingSource -> IfcRepresentationMap
    IfcMappedItem:MappingTarget -> IfcCartesianTransformationOperator3D
    IfcMappedItem:MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation_1
    IfcAxis2Placement3D:Location -> IfcCartesianPoint_0
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcCartesianTransformationOperator3D:Axis1 -> IfcDirection_2
    IfcCartesianTransformationOperator3D:Axis2 -> IfcDirection_3
    IfcCartesianTransformationOperator3D:LocalOrigin -> IfcCartesianPoint_1
    IfcCartesianTransformationOperator3D:Axis3 -> IfcDirection_4
    IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object Predefined Type General

======================

许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED

Object Occurrence Predefined Type 提供的主要特性是:

  • PredefinedType:包含实体特定的预定义类型枚举,以进一步分类实体
  • ObjectType:允许自定义值,如果没有适用的枚举值

如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。

concept {
    IfcObject:ObjectType -> IfcLabel
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcTypeObject:ElementType[binding="TypeUserdefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
}
Object Typing General

任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。

此概念可应用于以下资源

Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Product Local Placement General

产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。

放置遵循聚合和包含关系,如下所示:

  • 在最外层,场地根据纬度、经度和海拔进行全局定位;
  • 对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
  • 对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
  • 对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
  • 对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
  • 对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
  • 对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
  • 对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。

如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。

concept {
    IfcProduct:ObjectPlacement -> IfcLocalPlacement_0
    IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
    IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
    IfcLocalPlacement_1:PlacesObject -> IfcElement:ObjectPlacement
    IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement:ObjectPlacement
    IfcElement:Name -> IfcLabel_0
    IfcSpatialElement:Name -> IfcLabel_1
    IfcProduct:ObjectPlacement[binding="HasPlacement"]
    IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
    IfcElement:Name[binding="ElementName"]
    IfcSpatialElement:Name[binding="SpatialElementName"]
}
Product Topology Representation General

产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcTopologyRepresentation
    IfcTopologyRepresentation:ContextOfItems -> IfcRepresentationContext
    IfcTopologyRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcTopologyRepresentation:RepresentationType -> IfcLabel_1
}
Property Sets for Objects General

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

属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。

concept {
    IfcObject:IsDefinedBy -> IfcRelDefinesByProperties:RelatedObjects
    IfcRelDefinesByProperties:RelatingPropertyDefinition -> IfcPropertySet
    IfcPropertySet:HasProperties -> IfcPropertySingleValue
    IfcPropertySet:HasProperties -> IfcPropertyBoundedValue
    IfcPropertySet:HasProperties -> IfcPropertyEnumeratedValue
    IfcPropertySet:HasProperties -> IfcPropertyListValue
    IfcPropertySet:HasProperties -> IfcPropertyTableValue
    IfcPropertySingleValue -> Single_Value
    IfcPropertyBoundedValue -> Bounded_Value
    IfcPropertyEnumeratedValue -> Enumerated_Value
    IfcPropertyListValue -> List_Value
    IfcPropertyTableValue -> Table_Value
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcPropertySet:Name[binding="PsetName"]
    IfcPropertySet:HasProperties[binding="Properties"]
}

此概念可应用于以下资源

Property Sets with Override General

任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。

Quantity Sets General

任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。

数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。

concept {
    IfcObject:IsDefinedBy -> IfcRelDefinesByProperties:RelatedObjects
    IfcRelDefinesByProperties:RelatingPropertyDefinition -> IfcElementQuantity
    IfcElementQuantity:Name -> IfcLabel_0
    IfcElementQuantity:Description -> IfcText
    IfcElementQuantity:MethodOfMeasurement -> IfcLabel_1
    IfcElementQuantity:Quantities -> IfcQuantityLength
    IfcElementQuantity:Quantities -> IfcQuantityArea
    IfcElementQuantity:Quantities -> IfcQuantityVolume
    IfcElementQuantity:Quantities -> IfcQuantityWeight
    IfcElementQuantity:Quantities -> IfcQuantityCount
    IfcElementQuantity:Quantities -> IfcQuantityTime
    IfcQuantityLength -> Length_Quantity
    IfcQuantityArea -> Area_Quantity
    IfcQuantityVolume -> Volume_Quantity
    IfcQuantityWeight -> Weight_Quantity
    IfcQuantityCount -> Count_Quantity
    IfcQuantityTime -> Time_Quantity
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcElementQuantity:Name[binding="QsetName"]
    IfcElementQuantity:Quantities[binding="Quantities"]
}

此概念可应用于以下资源

Reference Geometry General

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry General

“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SweptSolid"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry General

“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SweptSolid"]
    IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference Tessellation Geometry General

“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcTriangulatedFaceSet
    IfcShapeRepresentation:Items -> IfcPolygonalFaceSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Tessellation"]
    IfcTriangulatedFaceSet -> Triangulated_Geometry
    IfcPolygonalFaceSet -> Polygonal_Geometry
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Revision Control General

使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。

Software Identity General

IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。

IfcPositioningElement (34)
Aggregation General

聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:

  • 聚合用于建筑构件,以指示墙体内的龙骨等部分;
  • 聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
  • 聚合用于系统,以指示子系统,例如分支电路。

聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。

concept {
    IfcObjectDefinition:IsDecomposedBy -> IfcRelAggregates:RelatingObject
}
Approval Association General

概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesApproval:RelatedObjects
    IfcRelAssociatesApproval:RelatingApproval -> IfcApproval
    IfcApproval:Name -> IfcLabel_0
    IfcApproval:TimeOfApproval -> IfcDateTime
    IfcApproval:Status -> IfcLabel_1
}
Assignment to Group General

_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。

分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。

concept {
    IfcObject:HasAssignments -> IfcRelAssignsToGroup:RelatedObjects
    IfcObject:HasAssignments[binding="IsAssigned"]
}
Body Geometry General

IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:

Box Geometry General

元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。

“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundingBox
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Box"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=BoundingBox"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

CoG Geometry General

元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。

“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcCartesianPoint
    IfcLabel_0 -> constraint_0
    constraint_0[label="=CoG"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
FootPrint Geometry General

填充边界的元素提供“楼板平面”表示形式,指示矩形或任何任意的外部和内部边界曲线集。此类元素的示例包括楼板和空间。对于具有指示材料厚度的材料层集关联的元素,可以基于楼板平面和材料层生成“Body”表示形式。填充区域样式可以指示二维渲染的特定颜色、瓷砖或填充线。

楼板平面表示形式的表示标识符为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Library Association General

概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryReference
    IfcLibraryReference:Location -> IfcURIReference
    IfcLibraryReference:Identification -> IfcIdentifier
    IfcLibraryReference:Name -> IfcLabel
    IfcLibraryReference:Description -> IfcText
    IfcLibraryReference:Language -> IfcLanguageId
    IfcLibraryReference:ReferencedLibrary -> IfcLibraryInformation
    IfcRelAssociatesLibrary:RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry General

元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。

映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation_0
    IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation_0:Items -> IfcMappedItem
    IfcMappedItem:MappingSource -> IfcRepresentationMap
    IfcMappedItem:MappingTarget -> IfcCartesianTransformationOperator3D
    IfcMappedItem:MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation_1
    IfcAxis2Placement3D:Location -> IfcCartesianPoint_0
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcCartesianTransformationOperator3D:Axis1 -> IfcDirection_2
    IfcCartesianTransformationOperator3D:Axis2 -> IfcDirection_3
    IfcCartesianTransformationOperator3D:LocalOrigin -> IfcCartesianPoint_1
    IfcCartesianTransformationOperator3D:Axis3 -> IfcDirection_4
    IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object Predefined Type General

======================

许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED

Object Occurrence Predefined Type 提供的主要特性是:

  • PredefinedType:包含实体特定的预定义类型枚举,以进一步分类实体
  • ObjectType:允许自定义值,如果没有适用的枚举值

如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。

concept {
    IfcObject:ObjectType -> IfcLabel
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcTypeObject:ElementType[binding="TypeUserdefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
}
Object Typing General

任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。

Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Product Geometric Representation General

任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。

Product Geometry Colour General
concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:Items -> IfcSolidModel
    IfcShapeRepresentation:Items -> IfcTessellatedFaceSet
    IfcSolidModel:StyledByItem -> IfcStyledItem:Item
    IfcStyledItem:Styles -> IfcSurfaceStyle
    IfcSurfaceStyle -> Surface_Color_Style
    IfcTessellatedFaceSet:HasColours -> IfcIndexedColourMap:MappedTo
    IfcIndexedColourMap:Opacity -> IfcNormalisedRatioMeasure
    IfcIndexedColourMap:Colours -> IfcColourRgbList
    IfcIndexedColourMap:ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer General
concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:LayerAssignments -> IfcPresentationLayerAssignment:AssignedItems
    IfcPresentationLayerAssignment -> Layer
}
Product Local Placement General

产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。

放置遵循聚合和包含关系,如下所示:

  • 在最外层,场地根据纬度、经度和海拔进行全局定位;
  • 对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
  • 对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
  • 对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
  • 对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
  • 对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
  • 对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
  • 对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。

如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。

concept {
    IfcProduct:ObjectPlacement -> IfcLocalPlacement_0
    IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
    IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
    IfcLocalPlacement_1:PlacesObject -> IfcElement:ObjectPlacement
    IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement:ObjectPlacement
    IfcElement:Name -> IfcLabel_0
    IfcSpatialElement:Name -> IfcLabel_1
    IfcProduct:ObjectPlacement[binding="HasPlacement"]
    IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
    IfcElement:Name[binding="ElementName"]
    IfcSpatialElement:Name[binding="SpatialElementName"]
}
Product Relative Positioning General

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

Product Span Positioning General

_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。

concept {
    IfcProduct:PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
    IfcProduct:PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
    IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
    IfcRelPositions_0:Name -> IfcLabel_0
    IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
    IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
    IfcRelPositions_1:Name -> IfcLabel_1
    IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
    IfcProduct:PositionedRelativeTo[binding="EndPositionedRelativeTo"]
    IfcReferent_0:PredefinedType[binding="StartPositionType"]
    IfcRelPositions_0:Name[binding="StartPositionName"]
    IfcReferent_1:PredefinedType[binding="EndPositionType"]
    IfcRelPositions_1:Name[binding="EndPositionName"]
}
Product Topology Representation General

产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcTopologyRepresentation
    IfcTopologyRepresentation:ContextOfItems -> IfcRepresentationContext
    IfcTopologyRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcTopologyRepresentation:RepresentationType -> IfcLabel_1
}
Property Sets for Objects General

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

属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。

concept {
    IfcObject:IsDefinedBy -> IfcRelDefinesByProperties:RelatedObjects
    IfcRelDefinesByProperties:RelatingPropertyDefinition -> IfcPropertySet
    IfcPropertySet:HasProperties -> IfcPropertySingleValue
    IfcPropertySet:HasProperties -> IfcPropertyBoundedValue
    IfcPropertySet:HasProperties -> IfcPropertyEnumeratedValue
    IfcPropertySet:HasProperties -> IfcPropertyListValue
    IfcPropertySet:HasProperties -> IfcPropertyTableValue
    IfcPropertySingleValue -> Single_Value
    IfcPropertyBoundedValue -> Bounded_Value
    IfcPropertyEnumeratedValue -> Enumerated_Value
    IfcPropertyListValue -> List_Value
    IfcPropertyTableValue -> Table_Value
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcPropertySet:Name[binding="PsetName"]
    IfcPropertySet:HasProperties[binding="Properties"]
}
Property Sets with Override General

任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。

Quantity Sets General

任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。

数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。

concept {
    IfcObject:IsDefinedBy -> IfcRelDefinesByProperties:RelatedObjects
    IfcRelDefinesByProperties:RelatingPropertyDefinition -> IfcElementQuantity
    IfcElementQuantity:Name -> IfcLabel_0
    IfcElementQuantity:Description -> IfcText
    IfcElementQuantity:MethodOfMeasurement -> IfcLabel_1
    IfcElementQuantity:Quantities -> IfcQuantityLength
    IfcElementQuantity:Quantities -> IfcQuantityArea
    IfcElementQuantity:Quantities -> IfcQuantityVolume
    IfcElementQuantity:Quantities -> IfcQuantityWeight
    IfcElementQuantity:Quantities -> IfcQuantityCount
    IfcElementQuantity:Quantities -> IfcQuantityTime
    IfcQuantityLength -> Length_Quantity
    IfcQuantityArea -> Area_Quantity
    IfcQuantityVolume -> Volume_Quantity
    IfcQuantityWeight -> Weight_Quantity
    IfcQuantityCount -> Count_Quantity
    IfcQuantityTime -> Time_Quantity
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcElementQuantity:Name[binding="QsetName"]
    IfcElementQuantity:Quantities[binding="Quantities"]
}
Reference Geometry General

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry General

“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SweptSolid"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry General

“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SweptSolid"]
    IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference Tessellation Geometry General

“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcTriangulatedFaceSet
    IfcShapeRepresentation:Items -> IfcPolygonalFaceSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Tessellation"]
    IfcTriangulatedFaceSet -> Triangulated_Geometry
    IfcPolygonalFaceSet -> Polygonal_Geometry
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Revision Control General

使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。

Software Identity General

IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。

点击显示 96 个隐藏的继承概念 点击隐藏 96 个继承概念
IfcLinearPositioningElement (34)
Aggregation General

聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:

  • 聚合用于建筑构件,以指示墙体内的龙骨等部分;
  • 聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
  • 聚合用于系统,以指示子系统,例如分支电路。

聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。

concept {
    IfcObjectDefinition:IsDecomposedBy -> IfcRelAggregates:RelatingObject
}
Approval Association General

概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesApproval:RelatedObjects
    IfcRelAssociatesApproval:RelatingApproval -> IfcApproval
    IfcApproval:Name -> IfcLabel_0
    IfcApproval:TimeOfApproval -> IfcDateTime
    IfcApproval:Status -> IfcLabel_1
}
Assignment to Group General

_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。

分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。

concept {
    IfcObject:HasAssignments -> IfcRelAssignsToGroup:RelatedObjects
    IfcObject:HasAssignments[binding="IsAssigned"]
}
Body Geometry General

IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:

Box Geometry General

元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。

“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundingBox
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Box"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=BoundingBox"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

CoG Geometry General

元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。

“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcCartesianPoint
    IfcLabel_0 -> constraint_0
    constraint_0[label="=CoG"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
FootPrint Geometry General

填充边界的元素提供“楼板平面”表示形式,指示矩形或任何任意的外部和内部边界曲线集。此类元素的示例包括楼板和空间。对于具有指示材料厚度的材料层集关联的元素,可以基于楼板平面和材料层生成“Body”表示形式。填充区域样式可以指示二维渲染的特定颜色、瓷砖或填充线。

楼板平面表示形式的表示标识符为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Library Association General

概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryReference
    IfcLibraryReference:Location -> IfcURIReference
    IfcLibraryReference:Identification -> IfcIdentifier
    IfcLibraryReference:Name -> IfcLabel
    IfcLibraryReference:Description -> IfcText
    IfcLibraryReference:Language -> IfcLanguageId
    IfcLibraryReference:ReferencedLibrary -> IfcLibraryInformation
    IfcRelAssociatesLibrary:RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry General

元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。

映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation_0
    IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation_0:Items -> IfcMappedItem
    IfcMappedItem:MappingSource -> IfcRepresentationMap
    IfcMappedItem:MappingTarget -> IfcCartesianTransformationOperator3D
    IfcMappedItem:MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation_1
    IfcAxis2Placement3D:Location -> IfcCartesianPoint_0
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcCartesianTransformationOperator3D:Axis1 -> IfcDirection_2
    IfcCartesianTransformationOperator3D:Axis2 -> IfcDirection_3
    IfcCartesianTransformationOperator3D:LocalOrigin -> IfcCartesianPoint_1
    IfcCartesianTransformationOperator3D:Axis3 -> IfcDirection_4
    IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object Predefined Type General

======================

许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED

Object Occurrence Predefined Type 提供的主要特性是:

  • PredefinedType:包含实体特定的预定义类型枚举,以进一步分类实体
  • ObjectType:允许自定义值,如果没有适用的枚举值

如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。

concept {
    IfcObject:ObjectType -> IfcLabel
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcTypeObject:ElementType[binding="TypeUserdefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
}
Object Typing General

任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。

Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Product Geometric Representation General

任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。

Product Geometry Colour General
concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:Items -> IfcSolidModel
    IfcShapeRepresentation:Items -> IfcTessellatedFaceSet
    IfcSolidModel:StyledByItem -> IfcStyledItem:Item
    IfcStyledItem:Styles -> IfcSurfaceStyle
    IfcSurfaceStyle -> Surface_Color_Style
    IfcTessellatedFaceSet:HasColours -> IfcIndexedColourMap:MappedTo
    IfcIndexedColourMap:Opacity -> IfcNormalisedRatioMeasure
    IfcIndexedColourMap:Colours -> IfcColourRgbList
    IfcIndexedColourMap:ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer General
concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:LayerAssignments -> IfcPresentationLayerAssignment:AssignedItems
    IfcPresentationLayerAssignment -> Layer
}
Product Local Placement General

产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。

放置遵循聚合和包含关系,如下所示:

  • 在最外层,场地根据纬度、经度和海拔进行全局定位;
  • 对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
  • 对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
  • 对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
  • 对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
  • 对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
  • 对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
  • 对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。

如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。

concept {
    IfcProduct:ObjectPlacement -> IfcLocalPlacement_0
    IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
    IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
    IfcLocalPlacement_1:PlacesObject -> IfcElement:ObjectPlacement
    IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement:ObjectPlacement
    IfcElement:Name -> IfcLabel_0
    IfcSpatialElement:Name -> IfcLabel_1
    IfcProduct:ObjectPlacement[binding="HasPlacement"]
    IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
    IfcElement:Name[binding="ElementName"]
    IfcSpatialElement:Name[binding="SpatialElementName"]
}
Product Relative Positioning General

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

Product Span Positioning General

_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。

concept {
    IfcProduct:PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
    IfcProduct:PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
    IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
    IfcRelPositions_0:Name -> IfcLabel_0
    IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
    IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
    IfcRelPositions_1:Name -> IfcLabel_1
    IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
    IfcProduct:PositionedRelativeTo[binding="EndPositionedRelativeTo"]
    IfcReferent_0:PredefinedType[binding="StartPositionType"]
    IfcRelPositions_0:Name[binding="StartPositionName"]
    IfcReferent_1:PredefinedType[binding="EndPositionType"]
    IfcRelPositions_1:Name[binding="EndPositionName"]
}
Product Topology Representation General

产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcTopologyRepresentation
    IfcTopologyRepresentation:ContextOfItems -> IfcRepresentationContext
    IfcTopologyRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcTopologyRepresentation:RepresentationType -> IfcLabel_1
}
Property Sets for Objects General

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

属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。

concept {
    IfcObject:IsDefinedBy -> IfcRelDefinesByProperties:RelatedObjects
    IfcRelDefinesByProperties:RelatingPropertyDefinition -> IfcPropertySet
    IfcPropertySet:HasProperties -> IfcPropertySingleValue
    IfcPropertySet:HasProperties -> IfcPropertyBoundedValue
    IfcPropertySet:HasProperties -> IfcPropertyEnumeratedValue
    IfcPropertySet:HasProperties -> IfcPropertyListValue
    IfcPropertySet:HasProperties -> IfcPropertyTableValue
    IfcPropertySingleValue -> Single_Value
    IfcPropertyBoundedValue -> Bounded_Value
    IfcPropertyEnumeratedValue -> Enumerated_Value
    IfcPropertyListValue -> List_Value
    IfcPropertyTableValue -> Table_Value
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcPropertySet:Name[binding="PsetName"]
    IfcPropertySet:HasProperties[binding="Properties"]
}
Property Sets with Override General

任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。

Quantity Sets General

任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。

数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。

concept {
    IfcObject:IsDefinedBy -> IfcRelDefinesByProperties:RelatedObjects
    IfcRelDefinesByProperties:RelatingPropertyDefinition -> IfcElementQuantity
    IfcElementQuantity:Name -> IfcLabel_0
    IfcElementQuantity:Description -> IfcText
    IfcElementQuantity:MethodOfMeasurement -> IfcLabel_1
    IfcElementQuantity:Quantities -> IfcQuantityLength
    IfcElementQuantity:Quantities -> IfcQuantityArea
    IfcElementQuantity:Quantities -> IfcQuantityVolume
    IfcElementQuantity:Quantities -> IfcQuantityWeight
    IfcElementQuantity:Quantities -> IfcQuantityCount
    IfcElementQuantity:Quantities -> IfcQuantityTime
    IfcQuantityLength -> Length_Quantity
    IfcQuantityArea -> Area_Quantity
    IfcQuantityVolume -> Volume_Quantity
    IfcQuantityWeight -> Weight_Quantity
    IfcQuantityCount -> Count_Quantity
    IfcQuantityTime -> Time_Quantity
    IfcObject:PredefinedType[binding="PredefinedType"]
    IfcElementQuantity:Name[binding="QsetName"]
    IfcElementQuantity:Quantities[binding="Quantities"]
}
Reference Geometry General

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry General

“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SweptSolid"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry General

“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SweptSolid"]
    IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Reference Tessellation Geometry General

“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcTriangulatedFaceSet
    IfcShapeRepresentation:Items -> IfcPolygonalFaceSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Reference"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Tessellation"]
    IfcTriangulatedFaceSet -> Triangulated_Geometry
    IfcPolygonalFaceSet -> Polygonal_Geometry
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
}
Revision Control General

使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。

Software Identity General

IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。

表 5.4.3.39.B

5.4.3.39.9 形式化表示(Formal representation)

ENTITY IfcLinearPositioningElement
 SUPERTYPE OF (ONEOF
	(IfcAlignment))
 SUBTYPE OF (IfcPositioningElement);
END_ENTITY;

5.4.3.39.10 参考文献