IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

5.1.3.11 IfcProject 项目

RV ⓘ
AbV ⓘ

5.1.3.11.1 语义定义(Semantic definition)

IfcProject 建立了信息交换或共享的上下文,它可以代表一个建筑项目,但不必如此。IfcProject 在交换结构中的主要目的是提供根实例和所有其他包含的信息项的上下文。

IfcProject 提供的上下文包括:

  • 默认单位
  • 用于交换结构的几何表示上下文,包括形状表示
  • 项目坐标系
  • 坐标空间维度
  • 几何表示中使用的精度
  • 可选的真北指示
  • 可选的项目坐标系与地理空间坐标参考系统之间的地图转换。

IFC4变更 属性_RepresentationContexts_和_UnitsInContext_改为可选并提升至超类型_IfcContext_

5.1.3.11.2 实体继承(Entity inheritance)

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

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

点击显示 11 个隐藏的继承特性 点击隐藏 11 个继承特性
IfcContext (7)
5 ObjectType OPTIONAL IfcLabel

对象类型表示指示对象的特定类型。必须在可实例化的子类型级别建立用法。

6 LongName OPTIONAL IfcLabel

上下文中用于参考目的的长名称。

7 Phase OPTIONAL IfcLabel

当前项目阶段,或此项目的生命周期阶段。适用的值必须由视图定义或实施者协议约定。

8 RepresentationContexts OPTIONAL SET [1:?] OF IfcRepresentationContext

上下文中使用的表示的上下文。当上下文是一个项目并且它包括其组件的形状表示时,需要包括一个或多个几何表示上下文,这些上下文定义例如世界坐标系、坐标空间维度和/或精度因子。 {}

9 UnitsInContext OPTIONAL IfcUnitAssignment

全局分配给上下文中使用的测量类型的单位。 {}

IsDefinedBy SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects

与附加到此上下文的属性集定义的关联关系集合。这些静态或动态定义的属性包含进一步定义上下文的字母数字信息内容。 {}

Declares SET [0:?] OF IfcRelDeclares FOR RelatingContext

引用 IfcRelDeclares 关系,该关系将包含的层次结构的最顶层实体分配给此上下文实例。

表 5.1.3.11.A

5.1.3.11.4 形式化命题(Formal propositions)

名称 描述
CorrectContext

如果提供了 RepresentationContexts 关系,则不应有 IfcGeometricRepresentationSubContext 实例直接包含在 RepresentationContexts 集中。

NOT(EXISTS(SELF\IfcContext.RepresentationContexts)) OR
(SIZEOF(QUERY(Temp <* SELF\IfcContext.RepresentationContexts |
 'IFC4X3_DEV_62887e3f.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp)
  )) = 0)
HasName

必须为 IfcProject 提供 Name 特性。它是项目的简称。

EXISTS(SELF\IfcRoot.Name)
NoDecomposition

IfcProject 代表任何分解树的根。因此,它不应用于分解任何其他对象定义。

SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0
表 5.1.3.11.C

5.1.3.11.5 属性集

  • Pset_ProjectCommon
    • ProjectType
    • ProjectInvestmentEstimate
    • FundingSource
    • ROI
    • NetEarnedValue
    • PaybackPeriod

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

IfcContext (18)
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
}
Project Classification Information General

项目可以定义分类结构,这些结构可用于对同一项目内或引用项目(包含当前项目作为 IfcProjectLibrary)的对象进行分类。

分类信息可以提供为外部分类引用,仅引用一个 IfcClassification(包含分类名称、版本和资源位置),或者引用一个 IfcClassification,其中包含 IfcClassificationReference 作为分类符号,从而允许在交换结构中包含分类系统结构。

concept {
    IfcContext:HasAssociations -> IfcRelAssociatesClassification:RelatedObjects
    IfcContext:Phase -> IfcLabel_3
    IfcContext:ObjectType -> IfcLabel_4
    IfcContext:LongName -> IfcLabel_5
    IfcRelAssociatesClassification:RelatingClassification -> IfcClassification
    IfcClassification:Source -> IfcLabel_0
    IfcClassification:Name -> IfcLabel_1
    IfcClassification:ReferenceTokens -> IfcIdentifier_0
    IfcClassification:HasReferences -> IfcClassificationReference_0:ReferencedSource
    IfcClassificationReference_0:HasReferences -> IfcClassificationReference_1:ReferencedSource
    IfcClassificationReference_0:Identification -> IfcIdentifier_1
    IfcClassificationReference_0:Name -> IfcLabel_2
    IfcClassificationReference_0:Description -> IfcText
    IfcClassificationReference_0:Sort -> IfcIdentifier_2
    IfcClassification:Source[binding="ClassificationSource"]
    IfcClassification:Name[binding="ClassificationName"]
    IfcClassification:ReferenceTokens[binding="ReferenceTokens"]
}
Project Context General

所有项目数据集都应包含一个 IfcProject 实例,指示总体上下文和其中包含的对象目录。上下文定义可能包括:

  • 默认单位
  • 形状表示的几何表示上下文
  • 项目坐标系统的全局定位
  • 对使用的分类系统或其他外部信息源的引用
  • 项目上下文中使用的对象类型和属性模板的注册表
concept {
    IfcContext:LongName -> IfcLabel_0
    IfcContext:ObjectType -> IfcLabel_1
    IfcContext:Phase -> IfcLabel_2
}
Project Document Information General

项目可以定义外部文档,这些文档可用于将任意信息附加到同一项目或引用项目中的对象。

concept {
    IfcContext:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcContext:Phase -> IfcLabel_1
    IfcContext:ObjectType -> IfcLabel_2
    IfcContext:LongName -> IfcLabel_3
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentInformation
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentInformation:Location -> IfcURIReference
    IfcDocumentInformation:ElectronicFormat -> IfcIdentifier
    IfcDocumentInformation:Identification -> IfcIdentifier
    IfcDocumentInformation:Name -> IfcLabel_0
    IfcDocumentInformation:Description -> IfcText
}
Project Library Information General

项目可以定义包含项目修订版的库,例如模型服务器或数据库。可以引用多个库来指示多个修订版、多个分支和/或多个服务器。

如果提供了 IfcLibraryInformation,则必须可以使用以下值检索项目(前提是用户具有访问权限):

IfcLibraryInformation HTTP Header 描述
Location / 用于检索(或更新)内容类型中指定项目的完整限定URL
Version ETag 用于限定特定版本的版本戳,格式为服务器特定格式,可以按顺序排序进行比较
VersionDate Last-Modified 服务器上记录的文件UTC日期和时间
Publisher (username) 提交项目修订版的帐户句柄由 IfcPersonIdentification 标识
表 5.1.3.11.E

在检索或更新此类数据(在获得访问权限的情况下)时,服务器可能支持以下标准HTTP操作(除了任何扩展操作):

HTTP 描述
OPTIONS 确定可用的HTTP操作。
HEAD 在不下载项目的情况下确定项目的最新版本。
GET 下载项目的最新版本(或提供ETag的特定版本)。
PUT 替换项目,清除任何版本历史记录。服务器可能会拒绝或以其他方式修改提交的内容。
POST 上传项目的新版本,附加到版本历史记录。服务器可能会拒绝、合并或以其他方式修改提交的内容。
DELETE 删除项目。
表 5.1.3.11.F

服务器可能支持以下标准MIME类型(除了专有格式)用于上传和下载数据,用于HTTP Accept头:

MIME Type Format
application/xml IFC-XML
application/step IFC-SPF
表 5.1.3.11.G
concept {
    IfcContext:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcContext:Phase -> IfcLabel_2
    IfcContext:ObjectType -> IfcLabel_3
    IfcContext:LongName -> IfcLabel_4
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryInformation
    IfcLibraryInformation:Version -> IfcLabel_0
    IfcLibraryInformation:Publisher -> IfcPersonAndOrganization
    IfcLibraryInformation:VersionDate -> IfcDateTime
    IfcLibraryInformation:Location -> IfcURIReference
    IfcLibraryInformation:Description -> IfcText
    IfcLibraryInformation:Name -> IfcLabel_1
    IfcPersonAndOrganization:ThePerson -> IfcPerson
    IfcPerson:Identification -> IfcIdentifier
}
Project Representation Context 3D General

为3D表示创建的主要几何表示上下文,可以使用几何表示子上下文进一步细化以适应特定的3D上下文。

concept {
    IfcContext:RepresentationContexts -> IfcGeometricRepresentationContext
    IfcContext:Phase -> IfcLabel_5
    IfcContext:ObjectType -> IfcLabel_6
    IfcContext:LongName -> IfcLabel_7
    IfcGeometricRepresentationContext:ContextIdentifier -> IfcLabel_0
    IfcGeometricRepresentationContext:ContextType -> IfcLabel_1
    IfcGeometricRepresentationContext:CoordinateSpaceDimension -> IfcDimensionCount
    IfcGeometricRepresentationContext:WorldCoordinateSystem -> IfcAxis2Placement3D
    IfcGeometricRepresentationContext:TrueNorth -> IfcDirection_2
    IfcGeometricRepresentationContext:HasSubContexts -> IfcGeometricRepresentationSubContext_0:ParentContext
    IfcGeometricRepresentationContext:HasSubContexts -> IfcGeometricRepresentationSubContext_1:ParentContext
    IfcDimensionCount -> constraint_0
    constraint_0[label="=3"]
    IfcAxis2Placement3D:Location -> IfcCartesianPoint
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcGeometricRepresentationSubContext_0:TargetScale -> IfcPositiveRatioMeasure
    IfcGeometricRepresentationSubContext_0:TargetView -> IfcGeometricProjectionEnum
    IfcGeometricRepresentationSubContext_0:UserDefinedTargetView -> IfcLabel_2
    IfcGeometricRepresentationSubContext_0:ContextIdentifier -> IfcLabel_3
    IfcGeometricRepresentationSubContext_0:ContextType -> IfcLabel_4
    IfcGeometricRepresentationContext:ContextIdentifier[binding="ContextIdentifier"]
    IfcGeometricRepresentationContext:ContextType[binding="ContextType"]
    IfcGeometricRepresentationSubContext_0:ContextIdentifier[binding="SubContextIdentifier"]
    IfcGeometricRepresentationSubContext_0:ContextType[binding="SubContextType"]
}
Project Template Definitions General

属性集模板的声明,包括用作属性定义的属性模板。此类模板定义了适用的属性、它们的名称、描述、度量类型和属性类型(单个、枚举、有界列表或表值)。

concept {
    IfcContext:Declares -> IfcRelDeclares:RelatingContext
    IfcContext:Phase -> IfcLabel_4
    IfcContext:ObjectType -> IfcLabel_5
    IfcContext:LongName -> IfcLabel_6
    IfcRelDeclares:RelatedDefinitions -> IfcPropertySetTemplate
    IfcPropertySetTemplate:TemplateType -> IfcPropertySetTemplateTypeEnum
    IfcPropertySetTemplate:ApplicableEntity -> IfcIdentifier
    IfcPropertySetTemplate:HasPropertyTemplates -> IfcSimplePropertyTemplate
    IfcSimplePropertyTemplate:TemplateType -> IfcSimplePropertyTemplateTypeEnum
    IfcSimplePropertyTemplate:PrimaryMeasureType -> IfcLabel_0
    IfcSimplePropertyTemplate:SecondaryMeasureType -> IfcLabel_1
    IfcSimplePropertyTemplate:Enumerators -> IfcPropertyEnumeration
    IfcSimplePropertyTemplate:AccessState -> IfcStateEnum
    IfcSimplePropertyTemplate:PrimaryUnit -> IfcUnit_0
    IfcSimplePropertyTemplate:SecondaryUnit -> IfcUnit_1
    IfcSimplePropertyTemplate:Expression -> IfcLabel_3
    IfcPropertyEnumeration:Name -> IfcLabel_2
    IfcPropertyEnumeration:EnumerationValues -> IfcValue
    IfcRelDeclares:RelatedDefinitions[binding="Type"]
}
Project Type Definitions General

在项目上下文中,声明了对象类型,例如此项目中由实例使用的构件类型。它提供了所有对象类型的目录,无论它们在哪里被实例使用。

concept {
    IfcContext:Declares -> IfcRelDeclares:RelatingContext
    IfcContext:Phase -> IfcLabel_0
    IfcContext:ObjectType -> IfcLabel_1
    IfcContext:LongName -> IfcLabel_2
    IfcRelDeclares:RelatedDefinitions -> IfcTypeObject
    IfcRelDeclares:RelatedDefinitions[binding="RelatedTypes"]
}
Revision Control General

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

Software Identity General

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

点击显示 31 个隐藏的继承概念 点击隐藏 31 个继承概念
IfcProject (27)
Project Classification Information General

项目可以定义分类结构,这些结构可用于对同一项目内或引用项目(包含当前项目作为 IfcProjectLibrary)的对象进行分类。

分类信息可以提供为外部分类引用,仅引用一个 IfcClassification(包含分类名称、版本和资源位置),或者引用一个 IfcClassification,其中包含 IfcClassificationReference 作为分类符号,从而允许在交换结构中包含分类系统结构。

concept {
    IfcContext:HasAssociations -> IfcRelAssociatesClassification:RelatedObjects
    IfcContext:Phase -> IfcLabel_3
    IfcContext:ObjectType -> IfcLabel_4
    IfcContext:LongName -> IfcLabel_5
    IfcRelAssociatesClassification:RelatingClassification -> IfcClassification
    IfcClassification:Source -> IfcLabel_0
    IfcClassification:Name -> IfcLabel_1
    IfcClassification:ReferenceTokens -> IfcIdentifier_0
    IfcClassification:HasReferences -> IfcClassificationReference_0:ReferencedSource
    IfcClassificationReference_0:HasReferences -> IfcClassificationReference_1:ReferencedSource
    IfcClassificationReference_0:Identification -> IfcIdentifier_1
    IfcClassificationReference_0:Name -> IfcLabel_2
    IfcClassificationReference_0:Description -> IfcText
    IfcClassificationReference_0:Sort -> IfcIdentifier_2
    IfcClassification:Source[binding="ClassificationSource"]
    IfcClassification:Name[binding="ClassificationName"]
    IfcClassification:ReferenceTokens[binding="ReferenceTokens"]
}
Project Declaration General

IfcProject 也是建筑项目其他信息的上下文,例如工作计划。非产品结构通过其第一级对象使用 IfcRelDeclares 关系分配给 IfcProjectIfcProject 为工作计划(或其他非产品描述)提供了建筑项目的上下文。它由对象化关系 IfcRelDeclares 处理。

图 5.1.3.11.B 说明了 IfcProject 作为工作计划或工作计划的上下文。

project relationships
图 5.1.3.11.B — 项目空间和工作计划结构

此概念可应用于以下资源

Project Document Information General

项目可以定义外部文档,这些文档可用于将任意信息附加到同一项目或引用项目中的对象。

concept {
    IfcContext:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcContext:Phase -> IfcLabel_1
    IfcContext:ObjectType -> IfcLabel_2
    IfcContext:LongName -> IfcLabel_3
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentInformation
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentInformation:Location -> IfcURIReference
    IfcDocumentInformation:ElectronicFormat -> IfcIdentifier
    IfcDocumentInformation:Identification -> IfcIdentifier
    IfcDocumentInformation:Name -> IfcLabel_0
    IfcDocumentInformation:Description -> IfcText
}
Project Global Positioning General

项目的表示上下文引用全局定位,即项目的局部工程坐标系映射到定义的投影坐标系(GIS 系统中使用的矩形地图坐标系)。

Project Library Information General

项目可以定义包含项目修订版的库,例如模型服务器或数据库。可以引用多个库来指示多个修订版、多个分支和/或多个服务器。

如果提供了 IfcLibraryInformation,则必须可以使用以下值检索项目(前提是用户具有访问权限):

IfcLibraryInformation HTTP Header 描述
Location / 用于检索(或更新)内容类型中指定项目的完整限定URL
Version ETag 用于限定特定版本的版本戳,格式为服务器特定格式,可以按顺序排序进行比较
VersionDate Last-Modified 服务器上记录的文件UTC日期和时间
Publisher (username) 提交项目修订版的帐户句柄由 IfcPersonIdentification 标识
表 5.1.3.11.H

在检索或更新此类数据(在获得访问权限的情况下)时,服务器可能支持以下标准HTTP操作(除了任何扩展操作):

HTTP 描述
OPTIONS 确定可用的HTTP操作。
HEAD 在不下载项目的情况下确定项目的最新版本。
GET 下载项目的最新版本(或提供ETag的特定版本)。
PUT 替换项目,清除任何版本历史记录。服务器可能会拒绝或以其他方式修改提交的内容。
POST 上传项目的新版本,附加到版本历史记录。服务器可能会拒绝、合并或以其他方式修改提交的内容。
DELETE 删除项目。
表 5.1.3.11.I

服务器可能支持以下标准MIME类型(除了专有格式)用于上传和下载数据,用于HTTP Accept头:

MIME Type Format
application/xml IFC-XML
application/step IFC-SPF
表 5.1.3.11.J
concept {
    IfcContext:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcContext:Phase -> IfcLabel_2
    IfcContext:ObjectType -> IfcLabel_3
    IfcContext:LongName -> IfcLabel_4
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryInformation
    IfcLibraryInformation:Version -> IfcLabel_0
    IfcLibraryInformation:Publisher -> IfcPersonAndOrganization
    IfcLibraryInformation:VersionDate -> IfcDateTime
    IfcLibraryInformation:Location -> IfcURIReference
    IfcLibraryInformation:Description -> IfcText
    IfcLibraryInformation:Name -> IfcLabel_1
    IfcPersonAndOrganization:ThePerson -> IfcPerson
    IfcPerson:Identification -> IfcIdentifier
}
Project Representation Context General

项目表示上下文指示适用于项目或项目库中所有几何图形的坐标系方向、正北方向、精度和其他值。为3D模型和2D表示创建了一个主要的几何表示上下文,两者都可以使用几何表示子上下文进行进一步细化。

concept {
    IfcContext:RepresentationContexts -> IfcGeometricRepresentationContext
    IfcContext:Phase -> IfcLabel_5
    IfcContext:ObjectType -> IfcLabel_6
    IfcContext:LongName -> IfcLabel_7
    IfcGeometricRepresentationContext:ContextIdentifier -> IfcLabel_0
    IfcGeometricRepresentationContext:ContextType -> IfcLabel_1
    IfcGeometricRepresentationContext:CoordinateSpaceDimension -> IfcDimensionCount
    IfcGeometricRepresentationContext:WorldCoordinateSystem -> IfcAxis2Placement3D
    IfcGeometricRepresentationContext:TrueNorth -> IfcDirection_2
    IfcGeometricRepresentationContext:HasSubContexts -> IfcGeometricRepresentationSubContext:ParentContext
    IfcAxis2Placement3D:Location -> IfcCartesianPoint
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcGeometricRepresentationSubContext:ContextIdentifier -> IfcLabel_2
    IfcGeometricRepresentationSubContext:ContextType -> IfcLabel_3
    IfcGeometricRepresentationSubContext:TargetScale -> IfcPositiveRatioMeasure
    IfcGeometricRepresentationSubContext:TargetView -> IfcGeometricProjectionEnum
    IfcGeometricRepresentationSubContext:UserDefinedTargetView -> IfcLabel_4
    IfcGeometricRepresentationContext:ContextIdentifier[binding="ContextIdentifier"]
    IfcGeometricRepresentationContext:ContextType[binding="ContextType"]
    IfcGeometricRepresentationSubContext:ContextIdentifier[binding="SubContextIdentifier"]
    IfcGeometricRepresentationSubContext:ContextType[binding="SubContextType"]
}

此概念可与以下组合一起应用

ContextIdentifier ContextType Description
Model 3D 所有 3D 几何的上下文。
Plan 2D 所有 2D 注释的上下文。
表 5.1.3.11.K
Project Representation Context 2D General

为2D表示创建的主要几何表示上下文,可以使用几何表示子上下文进一步细化以适应特定的2D上下文。

concept {
    IfcContext:RepresentationContexts -> IfcGeometricRepresentationContext
    IfcContext:Phase -> IfcLabel_5
    IfcContext:ObjectType -> IfcLabel_6
    IfcContext:LongName -> IfcLabel_7
    IfcGeometricRepresentationContext:ContextIdentifier -> IfcLabel_0
    IfcGeometricRepresentationContext:ContextType -> IfcLabel_1
    IfcGeometricRepresentationContext:CoordinateSpaceDimension -> IfcDimensionCount
    IfcGeometricRepresentationContext:WorldCoordinateSystem -> IfcAxis2Placement3D
    IfcGeometricRepresentationContext:TrueNorth -> IfcDirection_2
    IfcGeometricRepresentationContext:HasSubContexts -> IfcGeometricRepresentationSubContext:ParentContext
    IfcDimensionCount -> constraint_0
    constraint_0[label="=2"]
    IfcAxis2Placement3D:Location -> IfcCartesianPoint
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcGeometricRepresentationSubContext:TargetScale -> IfcPositiveRatioMeasure
    IfcGeometricRepresentationSubContext:TargetView -> IfcGeometricProjectionEnum
    IfcGeometricRepresentationSubContext:UserDefinedTargetView -> IfcLabel_2
    IfcGeometricRepresentationSubContext:ContextIdentifier -> IfcLabel_3
    IfcGeometricRepresentationSubContext:ContextType -> IfcLabel_4
    IfcGeometricRepresentationContext:ContextIdentifier[binding="ContextIdentifier"]
    IfcGeometricRepresentationContext:ContextType[binding="ContextType"]
    IfcGeometricRepresentationSubContext:ContextIdentifier[binding="SubContextIdentifier"]
    IfcGeometricRepresentationSubContext:ContextType[binding="SubContextType"]
}
Project Representation Context 3D General

为3D表示创建的主要几何表示上下文,可以使用几何表示子上下文进一步细化以适应特定的3D上下文。

concept {
    IfcContext:RepresentationContexts -> IfcGeometricRepresentationContext
    IfcContext:Phase -> IfcLabel_5
    IfcContext:ObjectType -> IfcLabel_6
    IfcContext:LongName -> IfcLabel_7
    IfcGeometricRepresentationContext:ContextIdentifier -> IfcLabel_0
    IfcGeometricRepresentationContext:ContextType -> IfcLabel_1
    IfcGeometricRepresentationContext:CoordinateSpaceDimension -> IfcDimensionCount
    IfcGeometricRepresentationContext:WorldCoordinateSystem -> IfcAxis2Placement3D
    IfcGeometricRepresentationContext:TrueNorth -> IfcDirection_2
    IfcGeometricRepresentationContext:HasSubContexts -> IfcGeometricRepresentationSubContext_0:ParentContext
    IfcGeometricRepresentationContext:HasSubContexts -> IfcGeometricRepresentationSubContext_1:ParentContext
    IfcDimensionCount -> constraint_0
    constraint_0[label="=3"]
    IfcAxis2Placement3D:Location -> IfcCartesianPoint
    IfcAxis2Placement3D:Axis -> IfcDirection_0
    IfcAxis2Placement3D:RefDirection -> IfcDirection_1
    IfcGeometricRepresentationSubContext_0:TargetScale -> IfcPositiveRatioMeasure
    IfcGeometricRepresentationSubContext_0:TargetView -> IfcGeometricProjectionEnum
    IfcGeometricRepresentationSubContext_0:UserDefinedTargetView -> IfcLabel_2
    IfcGeometricRepresentationSubContext_0:ContextIdentifier -> IfcLabel_3
    IfcGeometricRepresentationSubContext_0:ContextType -> IfcLabel_4
    IfcGeometricRepresentationContext:ContextIdentifier[binding="ContextIdentifier"]
    IfcGeometricRepresentationContext:ContextType[binding="ContextType"]
    IfcGeometricRepresentationSubContext_0:ContextIdentifier[binding="SubContextIdentifier"]
    IfcGeometricRepresentationSubContext_0:ContextType[binding="SubContextType"]
}
Project Template Definitions General

属性集模板的声明,包括用作属性定义的属性模板。此类模板定义了适用的属性、它们的名称、描述、度量类型和属性类型(单个、枚举、有界列表或表值)。

concept {
    IfcContext:Declares -> IfcRelDeclares:RelatingContext
    IfcContext:Phase -> IfcLabel_4
    IfcContext:ObjectType -> IfcLabel_5
    IfcContext:LongName -> IfcLabel_6
    IfcRelDeclares:RelatedDefinitions -> IfcPropertySetTemplate
    IfcPropertySetTemplate:TemplateType -> IfcPropertySetTemplateTypeEnum
    IfcPropertySetTemplate:ApplicableEntity -> IfcIdentifier
    IfcPropertySetTemplate:HasPropertyTemplates -> IfcSimplePropertyTemplate
    IfcSimplePropertyTemplate:TemplateType -> IfcSimplePropertyTemplateTypeEnum
    IfcSimplePropertyTemplate:PrimaryMeasureType -> IfcLabel_0
    IfcSimplePropertyTemplate:SecondaryMeasureType -> IfcLabel_1
    IfcSimplePropertyTemplate:Enumerators -> IfcPropertyEnumeration
    IfcSimplePropertyTemplate:AccessState -> IfcStateEnum
    IfcSimplePropertyTemplate:PrimaryUnit -> IfcUnit_0
    IfcSimplePropertyTemplate:SecondaryUnit -> IfcUnit_1
    IfcSimplePropertyTemplate:Expression -> IfcLabel_3
    IfcPropertyEnumeration:Name -> IfcLabel_2
    IfcPropertyEnumeration:EnumerationValues -> IfcValue
    IfcRelDeclares:RelatedDefinitions[binding="Type"]
}
Project Type Definitions General

在项目上下文中,声明了对象类型,例如此项目中由实例使用的构件类型。它提供了所有对象类型的目录,无论它们在哪里被实例使用。

concept {
    IfcContext:Declares -> IfcRelDeclares:RelatingContext
    IfcContext:Phase -> IfcLabel_0
    IfcContext:ObjectType -> IfcLabel_1
    IfcContext:LongName -> IfcLabel_2
    IfcRelDeclares:RelatedDefinitions -> IfcTypeObject
    IfcRelDeclares:RelatedDefinitions[binding="RelatedTypes"]
}
Project Units General

项目上下文包括IFC数据集内默认单位的定义。它们为整个数据集的上下文定义一次。默认单位是指适用于:

  • 几何表示上下文中的所有几何表示项;
  • 所有数据类型指示度量数据类型的属性;
  • 所有未提供本地单位定义且数据类型指示度量数据类型的属性和数量。

默认单位定义为:

  • 具有SI单位名称和前缀的SI单位
  • 具有到其SI单位的转换因子的基于转换的单位
  • 派生单位,由一个或多个单位元素组成,这些单位元素是SI单位或基于转换的单位
  • 货币单位作为单位的特殊情况,用于保存货币名称
concept {
    IfcContext:UnitsInContext -> IfcUnitAssignment
    IfcContext:Phase -> IfcLabel_4
    IfcContext:ObjectType -> IfcLabel_5
    IfcContext:LongName -> IfcLabel_6
    IfcUnitAssignment:Units -> IfcDerivedUnit
    IfcUnitAssignment:Units -> IfcMonetaryUnit
    IfcUnitAssignment:Units -> IfcSIUnit
    IfcUnitAssignment:Units -> IfcConversionBasedUnit
    IfcUnitAssignment:Units -> IfcConversionBasedUnitWithOffset
    IfcDerivedUnit:UnitType -> IfcDerivedUnitEnum
    IfcDerivedUnit:Elements -> IfcDerivedUnitElement
    IfcDerivedUnit:UserDefinedType -> IfcLabel_0
    IfcDerivedUnitElement:Unit -> IfcNamedUnit
    IfcMonetaryUnit:Currency -> IfcLabel_1
    IfcSIUnit:UnitType -> IfcUnitEnum_0
    IfcSIUnit:Prefix -> IfcSIPrefix
    IfcSIUnit:Name -> IfcSIUnitName
    IfcConversionBasedUnit:Dimensions -> IfcDimensionalExponents_0
    IfcConversionBasedUnit:UnitType -> IfcUnitEnum_1
    IfcConversionBasedUnit:Name -> IfcLabel_2
    IfcConversionBasedUnit:ConversionFactor -> IfcMeasureWithUnit_0
    IfcConversionBasedUnitWithOffset:Dimensions -> IfcDimensionalExponents_1
    IfcConversionBasedUnitWithOffset:UnitType -> IfcUnitEnum_2
    IfcConversionBasedUnitWithOffset:Name -> IfcLabel_3
    IfcConversionBasedUnitWithOffset:ConversionFactor -> IfcMeasureWithUnit_1
    IfcConversionBasedUnitWithOffset:ConversionOffset -> IfcReal
    IfcContext:UnitsInContext[binding="HasUnits"]
    IfcDerivedUnit:UnitType[binding="DerivedUnitType"]
    IfcSIUnit:UnitType[binding="SIUnitType"]
    IfcSIUnit:Name[binding="SIUnitName"]
    IfcConversionBasedUnit:UnitType[binding="ConversionUnitType"]
    IfcConversionBasedUnit:Name[binding="ConversionUnitName"]
}
Spatial Decomposition General

IfcProject 用于引用建筑物或其他建筑项目的空间结构根(这是主要的项目分解,并且要求是分层的)。空间结构元素通过使用对象化关系 IfcRelAggregates 相互链接,并链接到 IfcProject

以下约束适用于在 IfcProject 上下文中 IfcRelAggregates 关系的使用:

图 5.1.3.11.B 说明了项目关系与空间结构、元素和元素类型库。

spatial decomposition relationships
图 5.1.3.11.B — 项目空间结构、产品和产品类型库

此概念可应用于以下资源

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
}
Project Context General

所有项目数据集都应包含一个 IfcProject 实例,指示总体上下文和其中包含的对象目录。上下文定义可能包括:

  • 默认单位
  • 形状表示的几何表示上下文
  • 项目坐标系统的全局定位
  • 对使用的分类系统或其他外部信息源的引用
  • 项目上下文中使用的对象类型和属性模板的注册表
concept {
    IfcContext:LongName -> IfcLabel_0
    IfcContext:ObjectType -> IfcLabel_1
    IfcContext:Phase -> IfcLabel_2
}
Project Global Positioning Geographic General
concept {
    IfcProject:RepresentationContexts -> IfcGeometricRepresentationContext
    IfcProject:ObjectType -> IfcLabel_1
    IfcProject:LongName -> IfcLabel_2
    IfcGeometricRepresentationContext:HasCoordinateOperation -> IfcRigidOperation:SourceCRS
    IfcRigidOperation:FirstCoordinate -> IfcPlaneAngleMeasure_1
    IfcRigidOperation:SecondCoordinate -> IfcPlaneAngleMeasure_2
    IfcRigidOperation:Height -> IfcLengthMeasure_1
    IfcRigidOperation:TargetCRS -> IfcGeographicCRS
    IfcGeographicCRS:Name -> IfcLabel_0
    IfcGeometricRepresentationContext:HasCoordinateOperation[binding="HasGlobalPosition"]
    IfcRigidOperation:FirstCoordinate[binding="FirstCoordinate"]
    IfcRigidOperation:SecondCoordinate[binding="SecondCoordinate"]
    IfcRigidOperation:Height[binding="Height"]
    IfcGeographicCRS:Name[binding="CRSName"]
}
Project Global Positioning Mapped General
concept {
    IfcProject:RepresentationContexts -> IfcGeometricRepresentationContext
    IfcProject:ObjectType -> IfcLabel_1
    IfcProject:LongName -> IfcLabel_2
    IfcGeometricRepresentationContext:HasCoordinateOperation -> IfcRigidOperation:SourceCRS
    IfcRigidOperation:FirstCoordinate -> IfcLengthMeasure_1
    IfcRigidOperation:SecondCoordinate -> IfcLengthMeasure_2
    IfcRigidOperation:Height -> IfcLengthMeasure_3
    IfcRigidOperation:TargetCRS -> IfcProjectedCRS
    IfcProjectedCRS:Name -> IfcLabel_0
    IfcGeometricRepresentationContext:HasCoordinateOperation[binding="HasGlobalPosition"]
    IfcRigidOperation:FirstCoordinate[binding="FirstCoordinate"]
    IfcRigidOperation:SecondCoordinate[binding="SecondCoordinate"]
    IfcRigidOperation:Height[binding="Height"]
    IfcProjectedCRS:Name[binding="CRSName"]
}
Property Sets for Contexts General

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

concept {
    IfcContext: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
    IfcPropertySet:Name[binding="PsetName"]
    IfcPropertySet:HasProperties[binding="Properties"]
}

此概念可应用于以下资源

Revision Control General

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

Software Identity General

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

表 5.1.3.11.D

7.4.8.8.4 形式化表示(Formal representation)

ENTITY IfcProject
 SUBTYPE OF (IfcContext);
 WHERE
	CorrectContext : NOT(EXISTS(SELF\IfcContext.RepresentationContexts)) OR
(SIZEOF(QUERY(Temp <* SELF\IfcContext.RepresentationContexts |
 'IFC4X3_DEV_62887e3f.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp)
  )) = 0);
	HasName : EXISTS(SELF\IfcRoot.Name);
	NoDecomposition : SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0;
END_ENTITY;

7.4.8.8.5 参考文献