IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

5.4.3.67 IfcSpatialElementType (空间图元类型)

抽象 该定义可能不会被直接实例化。

5.4.3.67.1 语义定义(Semantic definition)

IfcSpatialElementType 定义了空间结构图元的一系列通用共享属性集定义,以及可选的产品表示集合。它用于定义空间图元规范(特定图元的信息,该信息对于该图元类型的所有实例都是通用的)。

空间图元类型用于定义某种空间结构图元的通用属性,这些属性可以应用于该类型的多个实例,以指定特定的样式。空间图元类型(即,可实例化的子类型)可以在未被指定给实例的情况下进行交换。

抽象类 IfcSpatialElementType 的子类型的实例由抽象类 IfcSpatialElement 的子类型的实例表示。

5.4.3.67.2 实体继承(Entity inheritance)

5.4.3.67.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

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

IfcTypeObject (3)
5 ApplicableOccurrence OPTIONAL IfcIdentifier

此特性可选地定义了实例对象的数据类型,类型对象可以关联到该实例对象。如果不存在,则不对类型对象适用于哪个实例对象给出任何限制。使用以下约定:

  • 使用 IFC 命名约定(驼峰式命名,带有“Ifc”前缀)的适用实例对象的 IFC 实体名称。
  • 可选地在“/”(正斜杠)之后,以大写形式跟上预定义类型。
  • 如果一个类型对象适用于多个实例对象,则这些实例对象名称应以逗号“,”分隔,形成一个逗号分隔的字符串。
6 HasPropertySets OPTIONAL SET [1:?] OF IfcPropertySetDefinition

与对象类型关联的、并且是引用此对象类型的全部实例对象共有的属性集集合。

IFC2x3变更 属性聚合类型已从LIST更改为SET。

Types SET [0:1] OF IfcRelDefinesByType FOR RelatingType

指向关系 IfcRelDefinesByType 的引用,从而指向由该类型定义的那些实例对象。

IfcTypeProduct (3)
7 RepresentationMaps OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap

唯一的表示映射列表。每个表示映射描述了产品样式的形状块定义。通过提供多个表示映射,可以给出多视图块定义。

8 Tag OPTIONAL IfcLabel

产品特定类型上的标签(或标识)标识符,例如货号(如 EAN)。这是特定层级的标识符。

ReferencedBy SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct

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

点击显示 17 个隐藏的继承特性 点击隐藏 17 个继承特性
IfcSpatialElementType (1)
9 ElementType OPTIONAL IfcLabel

该类型表示指示对象的特定类型。该用法必须在可实例化的子类型层级建立。特别是,如果“PredefinedType”特性的枚举设置为USERDEFINED,则它包含用户定义的类型。

表 5.4.3.67.B

5.4.3.67.4 属性集

  • Pset_Risk
    • RiskName
    • RiskType
    • NatureOfRisk
    • RiskAssessmentMethodology
    • UnmitigatedRiskLikelihood
    • UnmitigatedRiskConsequence
    • UnmitigatedRiskSignificance
    • MitigationPlanned
    • MitigatedRiskLikelihood
    • MitigatedRiskConsequence
    • MitigatedRiskSignificance
    • MitigationProposed
    • AssociatedProduct
    • AssociatedActivity
    • AssociatedLocation
  • Pset_SpaceAirHandlingDimensioning
    • CoolingDesignAirFlow
    • HeatingDesignAirFlow
    • SensibleHeatGain
    • TotalHeatGain
    • TotalHeatLoss
    • CoolingDryBulb
    • CoolingRelativeHumidity
    • HeatingDryBulb
    • HeatingRelativeHumidity
    • VentilationDesignAirFlow
    • DesignAirFlow
    • CeilingRAPlenum
    • BoundaryAreaHeatLoss
  • Pset_SpaceCommon
    • Reference
    • IsExternal
    • GrossPlannedArea
    • NetPlannedArea
    • PubliclyAccessible
    • HandicapAccessible
  • Pset_SpaceCoveringRequirements
    • FloorCovering
    • FloorCoveringThickness
    • WallCovering
    • WallCoveringThickness
    • CeilingCovering
    • CeilingCoveringThickness
    • SkirtingBoard
    • SkirtingBoardHeight
    • Molding
    • MoldingHeight
    • ConcealedFlooring
    • ConcealedFlooringOffset
    • ConcealedCeiling
    • ConcealedCeilingOffset
  • Pset_SpaceFireSafetyRequirements
    • FireRiskFactor
    • FlammableStorage
    • FireExit
    • SprinklerProtection
    • SprinklerProtectionAutomatic
    • AirPressurization
  • Pset_SpaceHVACDesign
    • TemperatureSetPoint
    • TemperatureMax
    • TemperatureMin
    • TemperatureSummerMax
    • TemperatureSummerMin
    • TemperatureWinterMax
    • TemperatureWinterMin
    • HumiditySetPoint
    • HumidityMax
    • HumidityMin
    • HumiditySummer
    • HumidityWinter
    • DiscontinuedHeating
    • NaturalVentilation
    • NaturalVentilationRate
    • MechanicalVentilation
    • MechanicalVentilationRate
    • AirConditioning
    • AirConditioningCentral
    • AirHandlingName
  • Pset_SpaceLightingDesign
    • ArtificialLighting
    • Illuminance
  • Pset_SpaceOccupancyRequirements
    • OccupancyType
    • OccupancyNumber
    • OccupancyNumberPeak
    • OccupancyTimePerDay
    • AreaPerOccupant
    • MinimumHeadroom
    • IsOutlookDesirable
  • Pset_SpaceThermalLoad
    • People
    • Lighting
    • EquipmentSensible
    • VentilationIndoorAir
    • VentilationOutdoorAir
    • RecirculatedAir
    • ExhaustAir
    • AirExchangeRate
    • DryBulbTemperature
    • RelativeHumidity
    • InfiltrationSensible
    • TotalSensibleLoad
    • TotalLatentLoad
    • TotalRadiantLoad
  • Pset_ThermalLoad
    • OccupancyDiversity
    • LightingDiversity
    • ApplianceDiversity
    • OutsideAirPerPerson
    • ReceptacleLoadIntensity
    • AppliancePercentLoadToRadiant
    • LightingLoadIntensity
    • LightingPercentLoadToReturnAir
    • TotalCoolingLoad
    • TotalHeatingLoad
    • InfiltrationDiversitySummer
    • InfiltrationDiversityWinter
    • LoadSafetyFactor
  • 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

5.4.3.67.5 概念用法(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。此外,它还可以为概念提供名称和描述。

IfcTypeObject (13)
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
}
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 Type Predefined Type General

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

许多对象实例和对象类型实体都有一个名为 PredefinedType 的特性,该特性由一个特定的枚举组成。这种预定义类型本质上提供了另一个继承级别,以在无需额外实体的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

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

concept {
    IfcTypeObject:Types -> IfcRelDefinesByType:RelatingType
    IfcRelDefinesByType:RelatedObjects -> IfcObject:IsTypedBy
    IfcObject:ObjectType -> IfcLabel

    IfcTypeObject:ElementType[binding="TypeUserDefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
}
Property Sets for Types General

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

分配给对象类型的属性值同样适用于该对象类型的所有实例,请参阅 对象类型定义 概念,除非它被具有相同名称的属性在具有相同名称的属性集中被单个对象实例覆盖。

concept {
    IfcTypeObject:HasPropertySets -> 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
    IfcPropertySet:Name[binding="PsetName"]
}
Revision Control General

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

Software Identity General

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

IfcTypeProduct (20)
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
}
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 Type Predefined Type General

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

许多对象实例和对象类型实体都有一个名为 PredefinedType 的特性,该特性由一个特定的枚举组成。这种预定义类型本质上提供了另一个继承级别,以在无需额外实体的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

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

concept {
    IfcTypeObject:Types -> IfcRelDefinesByType:RelatingType
    IfcRelDefinesByType:RelatedObjects -> IfcObject:IsTypedBy
    IfcObject:ObjectType -> IfcLabel

    IfcTypeObject:ElementType[binding="TypeUserDefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
}
Product Type Geometric Representation General

产品类型可以具有表示几何、间隙或其他概念的形状表示。

附加到类型的形状表示使用数据类型 IfcRepresentationMapRepresentationMaps 关系来定义。它提供了存储多个表示图以用于不同目的的手段。为了在产品类型的每个实例中使用表示图,产品实例必须使用“映射几何”概念。

concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
}
Product Type Shape General

RepresentationMaps 定义了类型产品形状,并且可以分配多个几何表示。如果通过使用 IfcRelDefinesByType 关系将产品实例分配给该类型,则这些实例必须引用表示映射。该引用由一个或多个 IfcShapeRepresentation 创建,该 IfcShapeRepresentation 具有 IfcMappedItem 作为其 Items,该 IfcMappedItem 将类型产品的 IfcRepresentationMap 放置在空间上下文中,即通过使用笛卡尔变换算子将 IfcRepresentationMap 转换为产品实例的对象坐标系。

图 5.4.3.67.C 说明了通过产品实例的形状表示引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。

representation map
图 5.4.3.67.C — 具有单一放置的产品类型几何体

图 5.4.3.67.A 说明了通过产品实例的形状表示多次引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。不同的平移值决定了多个放置的模式。

representation map
图 5.4.3.67.A — 具有多个放置的产品类型几何体
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 for Types General

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

分配给对象类型的属性值同样适用于该对象类型的所有实例,请参阅 对象类型定义 概念,除非它被具有相同名称的属性在具有相同名称的属性集中被单个对象实例覆盖。

concept {
    IfcTypeObject:HasPropertySets -> 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
    IfcPropertySet:Name[binding="PsetName"]
}
Revision Control General

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

Software Identity General

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

Type Body AdvancedBrep Geometry General
concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcAdvancedBrep
    IfcAdvancedBrep:Outer -> IfcClosedShell
    IfcClosedShell:CfsFaces -> IfcAdvancedFace
    IfcAdvancedFace:Bounds -> IfcFaceOuterBound
    IfcAdvancedFace:FaceSurface -> IfcBSplineSurfaceWithKnots
    IfcFaceOuterBound:Bound -> IfcEdgeLoop
    IfcFaceOuterBound:Orientation -> IfcBoolean_2
    IfcEdgeLoop:EdgeList -> IfcOrientedEdge
    IfcOrientedEdge:EdgeElement -> IfcEdgeCurve
    IfcOrientedEdge:Orientation -> IfcBoolean_1
    IfcEdgeCurve:EdgeGeometry -> IfcBSplineCurveWithKnots
    IfcEdgeCurve:EdgeStart -> IfcVertexPoint_0
    IfcEdgeCurve:EdgeEnd -> IfcVertexPoint_1
    IfcEdgeCurve:SameSense -> IfcBoolean_0
    IfcBSplineCurveWithKnots:Degree -> IfcInteger_0
    IfcBSplineCurveWithKnots:ControlPointsList -> IfcCartesianPoint_0
    IfcBSplineCurveWithKnots:CurveForm -> IfcBSplineCurveForm
    IfcBSplineCurveWithKnots:ClosedCurve -> IfcLogical_0
    IfcBSplineCurveWithKnots:SelfIntersect -> IfcLogical_1
    IfcBSplineCurveWithKnots:KnotMultiplicities -> IfcInteger_1
    IfcBSplineCurveWithKnots:Knots -> IfcParameterValue_0
    IfcBSplineCurveWithKnots:KnotSpec -> IfcKnotType_0
    IfcVertexPoint_0:VertexGeometry -> IfcCartesianPoint_1
    IfcVertexPoint_1:VertexGeometry -> IfcCartesianPoint_2
    IfcBSplineSurfaceWithKnots:ControlPointsList -> IfcCartesianPoint_3
    IfcBSplineSurfaceWithKnots:UDegree -> IfcInteger_2
    IfcBSplineSurfaceWithKnots:VDegree -> IfcInteger_3
    IfcBSplineSurfaceWithKnots:SurfaceForm -> IfcBSplineSurfaceForm
    IfcBSplineSurfaceWithKnots:UClosed -> IfcLogical_2
    IfcBSplineSurfaceWithKnots:VClosed -> IfcLogical_3
    IfcBSplineSurfaceWithKnots:SelfIntersect -> IfcLogical_4
    IfcBSplineSurfaceWithKnots:UMultiplicities -> IfcInteger_4
    IfcBSplineSurfaceWithKnots:VMultiplicities -> IfcInteger_5
    IfcBSplineSurfaceWithKnots:UKnots -> IfcParameterValue_1
    IfcBSplineSurfaceWithKnots:VKnots -> IfcParameterValue_2
    IfcBSplineSurfaceWithKnots:KnotSpec -> IfcKnotType_1
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Type Body Brep Geometry General
concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcFacetedBrep
    IfcFacetedBrep:Outer -> IfcClosedShell
    IfcClosedShell:CfsFaces -> IfcFace
    IfcFace:Bounds -> IfcFaceOuterBound
    IfcFaceOuterBound:Bound -> IfcPolyLoop
    IfcFaceOuterBound:Orientation -> IfcBoolean
    IfcPolyLoop:Polygon -> IfcCartesianPoint
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Type Body CSG Geometry General
concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcCsgSolid
    IfcShapeRepresentation:Items -> IfcBlock
    IfcShapeRepresentation:Items -> IfcRectangularPyramid
    IfcShapeRepresentation:Items -> IfcRightCircularCone
    IfcShapeRepresentation:Items -> IfcRightCircularCylinder
    IfcShapeRepresentation:Items -> IfcSphere
    IfcCsgSolid:TreeRootExpression -> IfcBooleanResult
    IfcBooleanResult:Operator -> IfcBooleanOperator
    IfcBooleanResult:FirstOperand -> IfcBooleanOperand_0
    IfcBooleanResult:SecondOperand -> IfcBooleanOperand_1
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Type Body Geometry General

主体表示定义了产品类型的物理形状。

concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
点击显示 46 个隐藏的继承概念 点击隐藏 46 个继承概念
IfcSpatialElementType (21)
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
}
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 Type Predefined Type General

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

许多对象实例和对象类型实体都有一个名为 PredefinedType 的特性,该特性由一个特定的枚举组成。这种预定义类型本质上提供了另一个继承级别,以在无需额外实体的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType

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

concept {
    IfcTypeObject:Types -> IfcRelDefinesByType:RelatingType
    IfcRelDefinesByType:RelatedObjects -> IfcObject:IsTypedBy
    IfcObject:ObjectType -> IfcLabel

    IfcTypeObject:ElementType[binding="TypeUserDefinedType"]
    IfcTypeObject:PredefinedType[binding="TypePredefinedType"]
    IfcObject:ObjectType[binding="UserDefinedType"]
    IfcObject:PredefinedType[binding="PredefinedType"]
}
Product Type Geometric Representation General

产品类型可以具有表示几何、间隙或其他概念的形状表示。

附加到类型的形状表示使用数据类型 IfcRepresentationMapRepresentationMaps 关系来定义。它提供了存储多个表示图以用于不同目的的手段。为了在产品类型的每个实例中使用表示图,产品实例必须使用“映射几何”概念。

concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
}
Product Type Shape General

RepresentationMaps 定义了类型产品形状,并且可以分配多个几何表示。如果通过使用 IfcRelDefinesByType 关系将产品实例分配给该类型,则这些实例必须引用表示映射。该引用由一个或多个 IfcShapeRepresentation 创建,该 IfcShapeRepresentation 具有 IfcMappedItem 作为其 Items,该 IfcMappedItem 将类型产品的 IfcRepresentationMap 放置在空间上下文中,即通过使用笛卡尔变换算子将 IfcRepresentationMap 转换为产品实例的对象坐标系。

图 5.4.3.67.C 说明了通过产品实例的形状表示引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。

representation map
图 5.4.3.67.C — 具有单一放置的产品类型几何体

图 5.4.3.67.A 说明了通过产品实例的形状表示多次引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。不同的平移值决定了多个放置的模式。

representation map
图 5.4.3.67.A — 具有多个放置的产品类型几何体
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 for Types General

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

分配给对象类型的属性值同样适用于该对象类型的所有实例,请参阅 对象类型定义 概念,除非它被具有相同名称的属性在具有相同名称的属性集中被单个对象实例覆盖。

concept {
    IfcTypeObject:HasPropertySets -> 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
    IfcPropertySet:Name[binding="PsetName"]
}
Revision Control General

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

Software Identity General

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

Spatial Element Type Predefined Type General

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

如果需要自定义值来描述空间元素类型,可以使用 ElementType 特性来定义此类自定义类型,其中 PredefinedType 设置为 USERDEFINED

特定子类型为 Object User Identity 模板引入了附加特性。

  • 空间元素类型子类型可以通过 Tag 特性进一步识别。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。
  • 空间元素类型子类型可以通过 LongName 特性进一步归属。虽然 Name 特性通常提供一个编码的或缩写的标识符,但 LongName 提供了一个功能性的位置名称,例如“接待区”。

注意:由于 IfcSpatialElementType 的相应实例没有 Tag 特性,因此建议此处不使用它。

concept {
    IfcSpatialElementType:ElementType -> IfcLabel_0
    IfcSpatialElementType:Tag -> IfcLabel_1
}
Type Body AdvancedBrep Geometry General
concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcAdvancedBrep
    IfcAdvancedBrep:Outer -> IfcClosedShell
    IfcClosedShell:CfsFaces -> IfcAdvancedFace
    IfcAdvancedFace:Bounds -> IfcFaceOuterBound
    IfcAdvancedFace:FaceSurface -> IfcBSplineSurfaceWithKnots
    IfcFaceOuterBound:Bound -> IfcEdgeLoop
    IfcFaceOuterBound:Orientation -> IfcBoolean_2
    IfcEdgeLoop:EdgeList -> IfcOrientedEdge
    IfcOrientedEdge:EdgeElement -> IfcEdgeCurve
    IfcOrientedEdge:Orientation -> IfcBoolean_1
    IfcEdgeCurve:EdgeGeometry -> IfcBSplineCurveWithKnots
    IfcEdgeCurve:EdgeStart -> IfcVertexPoint_0
    IfcEdgeCurve:EdgeEnd -> IfcVertexPoint_1
    IfcEdgeCurve:SameSense -> IfcBoolean_0
    IfcBSplineCurveWithKnots:Degree -> IfcInteger_0
    IfcBSplineCurveWithKnots:ControlPointsList -> IfcCartesianPoint_0
    IfcBSplineCurveWithKnots:CurveForm -> IfcBSplineCurveForm
    IfcBSplineCurveWithKnots:ClosedCurve -> IfcLogical_0
    IfcBSplineCurveWithKnots:SelfIntersect -> IfcLogical_1
    IfcBSplineCurveWithKnots:KnotMultiplicities -> IfcInteger_1
    IfcBSplineCurveWithKnots:Knots -> IfcParameterValue_0
    IfcBSplineCurveWithKnots:KnotSpec -> IfcKnotType_0
    IfcVertexPoint_0:VertexGeometry -> IfcCartesianPoint_1
    IfcVertexPoint_1:VertexGeometry -> IfcCartesianPoint_2
    IfcBSplineSurfaceWithKnots:ControlPointsList -> IfcCartesianPoint_3
    IfcBSplineSurfaceWithKnots:UDegree -> IfcInteger_2
    IfcBSplineSurfaceWithKnots:VDegree -> IfcInteger_3
    IfcBSplineSurfaceWithKnots:SurfaceForm -> IfcBSplineSurfaceForm
    IfcBSplineSurfaceWithKnots:UClosed -> IfcLogical_2
    IfcBSplineSurfaceWithKnots:VClosed -> IfcLogical_3
    IfcBSplineSurfaceWithKnots:SelfIntersect -> IfcLogical_4
    IfcBSplineSurfaceWithKnots:UMultiplicities -> IfcInteger_4
    IfcBSplineSurfaceWithKnots:VMultiplicities -> IfcInteger_5
    IfcBSplineSurfaceWithKnots:UKnots -> IfcParameterValue_1
    IfcBSplineSurfaceWithKnots:VKnots -> IfcParameterValue_2
    IfcBSplineSurfaceWithKnots:KnotSpec -> IfcKnotType_1
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Type Body Brep Geometry General
concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcFacetedBrep
    IfcFacetedBrep:Outer -> IfcClosedShell
    IfcClosedShell:CfsFaces -> IfcFace
    IfcFace:Bounds -> IfcFaceOuterBound
    IfcFaceOuterBound:Bound -> IfcPolyLoop
    IfcFaceOuterBound:Orientation -> IfcBoolean
    IfcPolyLoop:Polygon -> IfcCartesianPoint
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Type Body CSG Geometry General
concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcCsgSolid
    IfcShapeRepresentation:Items -> IfcBlock
    IfcShapeRepresentation:Items -> IfcRectangularPyramid
    IfcShapeRepresentation:Items -> IfcRightCircularCone
    IfcShapeRepresentation:Items -> IfcRightCircularCylinder
    IfcShapeRepresentation:Items -> IfcSphere
    IfcCsgSolid:TreeRootExpression -> IfcBooleanResult
    IfcBooleanResult:Operator -> IfcBooleanOperator
    IfcBooleanResult:FirstOperand -> IfcBooleanOperand_0
    IfcBooleanResult:SecondOperand -> IfcBooleanOperand_1
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Type Body Geometry General

主体表示定义了产品类型的物理形状。

concept {
    IfcTypeProduct:RepresentationMaps -> IfcRepresentationMap
    IfcRepresentationMap:MappedRepresentation -> IfcShapeRepresentation
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement3D
    IfcRepresentationMap:MappingOrigin -> IfcAxis2Placement2D
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:RepresentationType[binding="RepresentationType"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
表 5.4.3.67.D

5.4.3.67.6 形式化表示(Formal representation)

ENTITY IfcSpatialElementType
 ABSTRACT SUPERTYPE OF (ONEOF
	(IfcSpatialStructureElementType
	,IfcSpatialZoneType))
 SUBTYPE OF (IfcTypeProduct);
	ElementType : OPTIONAL IfcLabel;
END_ENTITY;

5.4.3.67.7 参考文献