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
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 I 形剖面;
* 门可以关联用于框架和玻璃的构成件;
* 端口可以关联流过它的剖面和/或材料,例如热水。
材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
示例 材料信息也可以在对象类型级别提供,定义相同类型的所有实例的通用材料数据。然后可以通过逆向 IsTypedBy 关系访问对象类型,并通过其 HasAssociations 逆向关系和 IfcRelAssociatesMaterial .RelatingMaterial 指向材料信息。如果两者都提供,则直接分配给对象实例的材料将覆盖分配给对象类型的材料。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesMaterial :RelatedObjects
}
Material Single
General
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。
材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 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
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 I 形剖面;
* 门可以关联用于框架和玻璃的构成件;
* 端口可以关联流过它的剖面和/或材料,例如热水。
材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
示例 材料信息也可以在对象类型级别提供,定义相同类型的所有实例的通用材料数据。然后可以通过逆向 IsTypedBy 关系访问对象类型,并通过其 HasAssociations 逆向关系和 IfcRelAssociatesMaterial .RelatingMaterial 指向材料信息。如果两者都提供,则直接分配给对象实例的材料将覆盖分配给对象类型的材料。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesMaterial :RelatedObjects
}
Material Single
General
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。
材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 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
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 I 形剖面;
* 门可以关联用于框架和玻璃的构成件;
* 端口可以关联流过它的剖面和/或材料,例如热水。
材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
示例 材料信息也可以在对象类型级别提供,定义相同类型的所有实例的通用材料数据。然后可以通过逆向 IsTypedBy 关系访问对象类型,并通过其 HasAssociations 逆向关系和 IfcRelAssociatesMaterial .RelatingMaterial 指向材料信息。如果两者都提供,则直接分配给对象实例的材料将覆盖分配给对象类型的材料。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesMaterial :RelatedObjects
}
Material Single
General
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。
材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 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
产品类型可以具有表示几何、间隙或其他概念的形状表示。
附加到类型的形状表示使用数据类型 IfcRepresentationMap 的 RepresentationMaps 关系来定义。它提供了存储多个表示图以用于不同目的的手段。为了在产品类型的每个实例中使用表示图,产品实例必须使用“映射几何”概念。
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 转换为产品实例的对象坐标系。
图 6.1.3.39.A 说明了通过产品实例的形状表示引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。
图 6.1.3.39.A — 具有单一放置的产品类型几何体
图 6.1.3.39.B 说明了通过产品实例的形状表示多次引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。不同的平移值决定了多个放置的模式。
图 6.1.3.39.B — 具有多个放置的产品类型几何体
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"]
}
IfcElementType
(24)
Element Type Predefined Type
General
============================
如果需要自定义值来描述物理对象类型,可以使用 ElementType 特性来定义此类自定义类型,其中 PredefinedType 设置为 USERDEFINED。
物理元素类型可以通过 Tag 特性进一步识别。这是一个人类可读的标识符,例如元素或项目编号。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。
concept {
IfcElementType :ElementType -> IfcLabel_0
IfcElementType :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 Tessellated Geometry
General
concept {
IfcElementType :RepresentationMaps -> IfcRepresentationMap
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement2D
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="='Surface'"]
IfcLabel_1 -> constraint_1
constraint_1[label="='Tessellation'"]
IfcTriangulatedFaceSet :Coordinates -> IfcCartesianPointList3D
IfcTriangulatedFaceSet :Normals -> IfcParameterValue
IfcTriangulatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcTriangulatedFaceSet :HasTextures -> IfcIndexedTriangleTextureMap :MappedTo
IfcTriangulatedFaceSet :StyledByItem -> IfcStyledItem :Item
IfcCartesianPointList3D :CoordList -> IfcLengthMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcColourRgbList :ColourList -> IfcNormalisedRatioMeasure
IfcIndexedTriangleTextureMap :Maps -> IfcImageTexture
IfcImageTexture -> Image_Texture
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcShapeRepresentation :Items[binding="Geometry"]
}
Type Element Aggregation
General
元素类型可以定义聚合组件。
此类组件的放置可以显式使用相对于封闭的_IfcElementType_的_IfcLocalPlacement_来定义,或者如果_IfcElement .ObjectPlacement_为空,则隐式定义。
如果给定的_IfcElementType_被实例化为一个实例,那么该实例必须包含等效的聚合元素,其名称与元素类型内的名称相对应。
concept {
IfcElementType :IsDecomposedBy -> IfcRelAggregates :RelatingObject
IfcRelAggregates :RelatedObjects -> IfcElement
IfcElementType :PredefinedType[binding="PredefinedType"]
IfcRelAggregates :RelatedObjects[binding="RelatedObjects"]
}
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
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 I 形剖面;
* 门可以关联用于框架和玻璃的构成件;
* 端口可以关联流过它的剖面和/或材料,例如热水。
材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
示例 材料信息也可以在对象类型级别提供,定义相同类型的所有实例的通用材料数据。然后可以通过逆向 IsTypedBy 关系访问对象类型,并通过其 HasAssociations 逆向关系和 IfcRelAssociatesMaterial .RelatingMaterial 指向材料信息。如果两者都提供,则直接分配给对象实例的材料将覆盖分配给对象类型的材料。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesMaterial :RelatedObjects
}
Material Single
General
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。
材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 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
产品类型可以具有表示几何、间隙或其他概念的形状表示。
附加到类型的形状表示使用数据类型 IfcRepresentationMap 的 RepresentationMaps 关系来定义。它提供了存储多个表示图以用于不同目的的手段。为了在产品类型的每个实例中使用表示图,产品实例必须使用“映射几何”概念。
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 转换为产品实例的对象坐标系。
图 6.1.3.39.A 说明了通过产品实例的形状表示引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。
图 6.1.3.39.A — 具有单一放置的产品类型几何体
图 6.1.3.39.B 说明了通过产品实例的形状表示多次引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。不同的平移值决定了多个放置的模式。
图 6.1.3.39.B — 具有多个放置的产品类型几何体
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 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"]
}
Type Element Nesting
General
被托管的组件可以在类型上指定,遵循与相应实例相同的规则。
在类型对象上,被托管的组件没有定义类型,但作为占位符,指示包含类型对象的实例应使用被托管组件的重复列表,其中类型在每个实例处定义。
此关系不同于 IfcRelAggregates ,后者用于在指定位置定义构件的显式分解;此嵌套关系指示构件的任意组成,其中位置是参数化定义的——无论是隐式定义(材料剖面、图层或组成部分关联)还是显式定义(约束关联)。
组件的顺序和命名可能基于参数化材料关联。例如,如果 IfcElementType 具有关联的 IfcMaterialLayerSet ,则图层根据每个嵌套的 IfcElement 的材料关联来构建,并且每个 IfcMaterialLayer 的 Name 必须对应于每个 IfcElement 的 Name 。
concept {
IfcElementType :IsNestedBy -> IfcRelNests :RelatingObject
IfcRelNests :RelatedObjects -> IfcElement
IfcElement :Name -> IfcLabel
IfcRelNests :RelatedObjects[binding="Elements"]
IfcElement :Name[binding="Name"]
}
IfcBuiltElementType
(24)
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"]
}
Element Type Predefined Type
General
============================
如果需要自定义值来描述物理对象类型,可以使用 ElementType 特性来定义此类自定义类型,其中 PredefinedType 设置为 USERDEFINED。
物理元素类型可以通过 Tag 特性进一步识别。这是一个人类可读的标识符,例如元素或项目编号。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。
concept {
IfcElementType :ElementType -> IfcLabel_0
IfcElementType :Tag -> IfcLabel_1
}
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
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 I 形剖面;
* 门可以关联用于框架和玻璃的构成件;
* 端口可以关联流过它的剖面和/或材料,例如热水。
材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
示例 材料信息也可以在对象类型级别提供,定义相同类型的所有实例的通用材料数据。然后可以通过逆向 IsTypedBy 关系访问对象类型,并通过其 HasAssociations 逆向关系和 IfcRelAssociatesMaterial .RelatingMaterial 指向材料信息。如果两者都提供,则直接分配给对象实例的材料将覆盖分配给对象类型的材料。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesMaterial :RelatedObjects
}
Material Single
General
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。
材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 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
产品类型可以具有表示几何、间隙或其他概念的形状表示。
附加到类型的形状表示使用数据类型 IfcRepresentationMap 的 RepresentationMaps 关系来定义。它提供了存储多个表示图以用于不同目的的手段。为了在产品类型的每个实例中使用表示图,产品实例必须使用“映射几何”概念。
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 转换为产品实例的对象坐标系。
图 6.1.3.39.A 说明了通过产品实例的形状表示引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。
图 6.1.3.39.A — 具有单一放置的产品类型几何体
图 6.1.3.39.B 说明了通过产品实例的形状表示多次引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。不同的平移值决定了多个放置的模式。
图 6.1.3.39.B — 具有多个放置的产品类型几何体
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"]
}
Type Body Tessellated Geometry
General
concept {
IfcElementType :RepresentationMaps -> IfcRepresentationMap
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement2D
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="='Surface'"]
IfcLabel_1 -> constraint_1
constraint_1[label="='Tessellation'"]
IfcTriangulatedFaceSet :Coordinates -> IfcCartesianPointList3D
IfcTriangulatedFaceSet :Normals -> IfcParameterValue
IfcTriangulatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcTriangulatedFaceSet :HasTextures -> IfcIndexedTriangleTextureMap :MappedTo
IfcTriangulatedFaceSet :StyledByItem -> IfcStyledItem :Item
IfcCartesianPointList3D :CoordList -> IfcLengthMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcColourRgbList :ColourList -> IfcNormalisedRatioMeasure
IfcIndexedTriangleTextureMap :Maps -> IfcImageTexture
IfcImageTexture -> Image_Texture
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcShapeRepresentation :Items[binding="Geometry"]
}
Type Element Aggregation
General
元素类型可以定义聚合组件。
此类组件的放置可以显式使用相对于封闭的_IfcElementType_的_IfcLocalPlacement_来定义,或者如果_IfcElement .ObjectPlacement_为空,则隐式定义。
如果给定的_IfcElementType_被实例化为一个实例,那么该实例必须包含等效的聚合元素,其名称与元素类型内的名称相对应。
concept {
IfcElementType :IsDecomposedBy -> IfcRelAggregates :RelatingObject
IfcRelAggregates :RelatedObjects -> IfcElement
IfcElementType :PredefinedType[binding="PredefinedType"]
IfcRelAggregates :RelatedObjects[binding="RelatedObjects"]
}
Type Element Nesting
General
被托管的组件可以在类型上指定,遵循与相应实例相同的规则。
在类型对象上,被托管的组件没有定义类型,但作为占位符,指示包含类型对象的实例应使用被托管组件的重复列表,其中类型在每个实例处定义。
此关系不同于 IfcRelAggregates ,后者用于在指定位置定义构件的显式分解;此嵌套关系指示构件的任意组成,其中位置是参数化定义的——无论是隐式定义(材料剖面、图层或组成部分关联)还是显式定义(约束关联)。
组件的顺序和命名可能基于参数化材料关联。例如,如果 IfcElementType 具有关联的 IfcMaterialLayerSet ,则图层根据每个嵌套的 IfcElement 的材料关联来构建,并且每个 IfcMaterialLayer 的 Name 必须对应于每个 IfcElement 的 Name 。
concept {
IfcElementType :IsNestedBy -> IfcRelNests :RelatingObject
IfcRelNests :RelatedObjects -> IfcElement
IfcElement :Name -> IfcLabel
IfcRelNests :RelatedObjects[binding="Elements"]
IfcElement :Name[binding="Name"]
}
点击显示 94 个隐藏的继承概念
点击隐藏 94 个继承概念
IfcStairFlightType
(25)
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"]
}
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"]
}
Element Type Predefined Type
General
============================
如果需要自定义值来描述物理对象类型,可以使用 ElementType 特性来定义此类自定义类型,其中 PredefinedType 设置为 USERDEFINED。
物理元素类型可以通过 Tag 特性进一步识别。这是一个人类可读的标识符,例如元素或项目编号。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。
concept {
IfcElementType :ElementType -> IfcLabel_0
IfcElementType :Tag -> IfcLabel_1
}
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
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 I 形剖面;
* 门可以关联用于框架和玻璃的构成件;
* 端口可以关联流过它的剖面和/或材料,例如热水。
材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
示例 材料信息也可以在对象类型级别提供,定义相同类型的所有实例的通用材料数据。然后可以通过逆向 IsTypedBy 关系访问对象类型,并通过其 HasAssociations 逆向关系和 IfcRelAssociatesMaterial .RelatingMaterial 指向材料信息。如果两者都提供,则直接分配给对象实例的材料将覆盖分配给对象类型的材料。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesMaterial :RelatedObjects
}
Material Single
General
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。
材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 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
产品类型可以具有表示几何、间隙或其他概念的形状表示。
附加到类型的形状表示使用数据类型 IfcRepresentationMap 的 RepresentationMaps 关系来定义。它提供了存储多个表示图以用于不同目的的手段。为了在产品类型的每个实例中使用表示图,产品实例必须使用“映射几何”概念。
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 转换为产品实例的对象坐标系。
图 6.1.3.39.A 说明了通过产品实例的形状表示引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。
图 6.1.3.39.A — 具有单一放置的产品类型几何体
图 6.1.3.39.B 说明了通过产品实例的形状表示多次引用表示映射的示例。在此示例中,笛卡尔变换算子仅使用平移,而不使用旋转、镜像或缩放。不同的平移值决定了多个放置的模式。
图 6.1.3.39.B — 具有多个放置的产品类型几何体
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"]
}
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"]
}
此概念可应用于以下资源
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 Tessellated Geometry
General
concept {
IfcElementType :RepresentationMaps -> IfcRepresentationMap
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement2D
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="='Surface'"]
IfcLabel_1 -> constraint_1
constraint_1[label="='Tessellation'"]
IfcTriangulatedFaceSet :Coordinates -> IfcCartesianPointList3D
IfcTriangulatedFaceSet :Normals -> IfcParameterValue
IfcTriangulatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcTriangulatedFaceSet :HasTextures -> IfcIndexedTriangleTextureMap :MappedTo
IfcTriangulatedFaceSet :StyledByItem -> IfcStyledItem :Item
IfcCartesianPointList3D :CoordList -> IfcLengthMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcColourRgbList :ColourList -> IfcNormalisedRatioMeasure
IfcIndexedTriangleTextureMap :Maps -> IfcImageTexture
IfcImageTexture -> Image_Texture
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcShapeRepresentation :Items[binding="Geometry"]
}
Type Element Aggregation
General
元素类型可以定义聚合组件。
此类组件的放置可以显式使用相对于封闭的_IfcElementType_的_IfcLocalPlacement_来定义,或者如果_IfcElement .ObjectPlacement_为空,则隐式定义。
如果给定的_IfcElementType_被实例化为一个实例,那么该实例必须包含等效的聚合元素,其名称与元素类型内的名称相对应。
concept {
IfcElementType :IsDecomposedBy -> IfcRelAggregates :RelatingObject
IfcRelAggregates :RelatedObjects -> IfcElement
IfcElementType :PredefinedType[binding="PredefinedType"]
IfcRelAggregates :RelatedObjects[binding="RelatedObjects"]
}
Type Element Nesting
General
被托管的组件可以在类型上指定,遵循与相应实例相同的规则。
在类型对象上,被托管的组件没有定义类型,但作为占位符,指示包含类型对象的实例应使用被托管组件的重复列表,其中类型在每个实例处定义。
此关系不同于 IfcRelAggregates ,后者用于在指定位置定义构件的显式分解;此嵌套关系指示构件的任意组成,其中位置是参数化定义的——无论是隐式定义(材料剖面、图层或组成部分关联)还是显式定义(约束关联)。
组件的顺序和命名可能基于参数化材料关联。例如,如果 IfcElementType 具有关联的 IfcMaterialLayerSet ,则图层根据每个嵌套的 IfcElement 的材料关联来构建,并且每个 IfcMaterialLayer 的 Name 必须对应于每个 IfcElement 的 Name 。
concept {
IfcElementType :IsNestedBy -> IfcRelNests :RelatingObject
IfcRelNests :RelatedObjects -> IfcElement
IfcElement :Name -> IfcLabel
IfcRelNests :RelatedObjects[binding="Elements"]
IfcElement :Name[binding="Name"]
}