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。此外,它还可以为概念提供名称和描述。
IfcObject
(16)
Aggregation
General
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合用于建筑构件,以指示墙体内的龙骨等部分;
聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
聚合用于系统,以指示子系统,例如分支电路。
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
concept {
IfcObjectDefinition :IsDecomposedBy -> IfcRelAggregates :RelatingObject
}
Approval Association
General
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesApproval :RelatedObjects
IfcRelAssociatesApproval :RelatingApproval -> IfcApproval
IfcApproval :Name -> IfcLabel_0
IfcApproval :TimeOfApproval -> IfcDateTime
IfcApproval :Status -> IfcLabel_1
}
Assignment to Group
General
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。
分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
concept {
IfcObject :HasAssignments -> IfcRelAssignsToGroup :RelatedObjects
IfcObject :HasAssignments[binding="IsAssigned"]
}
Classification Association
General
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。
Constraint Association
General
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。
基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesConstraint :RelatedObjects
IfcRelAssociatesConstraint :RelatingConstraint -> IfcObjective
IfcObjective :BenchmarkValues -> IfcMetric
IfcObjective :ObjectiveQualifier -> IfcObjectiveEnum
IfcObjective :LogicalAggregator -> IfcLogicalOperatorEnum
IfcMetric :DataValue -> IfcMetricValueSelect
IfcMetric :DataValue -> IfcAppliedValue_0
IfcMetric :DataValue -> IfcTable
IfcMetric :Benchmark -> IfcBenchmarkEnum
IfcMetric :ReferencePath -> IfcReference_1
IfcMetric :Name -> IfcLabel_1
IfcMetric :Description -> IfcText_1
IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
IfcAppliedValue_0:Components -> IfcAppliedValue_1
IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
IfcAppliedValue_0:AppliedValue -> IfcReal
IfcTable :Rows -> IfcTableRow
IfcTable :Columns -> IfcTableColumn
IfcTableColumn :Identifier -> IfcIdentifier
IfcTableColumn :Name -> IfcLabel_0
IfcTableColumn :Description -> IfcText_0
IfcTableColumn :ReferencePath -> IfcReference_0
IfcMetric :DataValue[binding="DataValue"]
IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association
General
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。
文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesDocument :RelatedObjects
IfcRelAssociatesDocument :Name -> IfcLabel_0
IfcRelAssociatesDocument :RelatingDocument -> IfcDocumentReference
IfcDocumentReference :Location -> IfcURIReference
IfcDocumentReference :Identification -> IfcIdentifier
IfcDocumentReference :Name -> IfcLabel_1
IfcDocumentReference :Description -> IfcText
IfcRelAssociatesDocument :Name[binding="Name"]
}
Library Association
General
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesLibrary :RelatedObjects
IfcRelAssociatesLibrary :RelatingLibrary -> IfcLibraryReference
IfcLibraryReference :Location -> IfcURIReference
IfcLibraryReference :Identification -> IfcIdentifier
IfcLibraryReference :Name -> IfcLabel
IfcLibraryReference :Description -> IfcText
IfcLibraryReference :Language -> IfcLanguageId
IfcLibraryReference :ReferencedLibrary -> IfcLibraryInformation
IfcRelAssociatesLibrary :RelatingLibrary[binding="RelatingLibrary"]
}
Material Association
General
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 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 Predefined Type
General
======================
许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED 。
为 Object Occurrence Predefined Type 提供的主要特性是:
PredefinedType :包含实体特定的预定义类型枚举,以进一步分类实体
ObjectType :允许自定义值,如果没有适用的枚举值
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType 。
请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
concept {
IfcObject :ObjectType -> IfcLabel
IfcObject :IsTypedBy -> IfcRelDefinesByType :RelatedObjects
IfcRelDefinesByType :RelatingType -> IfcTypeObject
IfcObject :ObjectType[binding="UserDefinedType"]
IfcObject :PredefinedType[binding="PredefinedType"]
IfcTypeObject :ElementType[binding="TypeUserdefinedType"]
IfcTypeObject :PredefinedType[binding="TypePredefinedType"]
}
Object Typing
General
任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。
此概念可应用于以下资源
Object User Identity
General
特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType ,通用的 Name 和可选的 Description 与对象类型相关联。
Property Sets with Override
General
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。
Revision Control
General
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。
Software Identity
General
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。
IfcProduct
(33)
Body Geometry
General
IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:
Product Geometric Representation
General
任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。
注释 关于如何应用局部定位以及哪些形状表示适用的详细规范,在 IfcProduct 的子类型级别提供,并进一步由模型视图定义和实施者协议确定。
Product Geometry Colour
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :Items -> IfcSolidModel
IfcShapeRepresentation :Items -> IfcTessellatedFaceSet
IfcSolidModel :StyledByItem -> IfcStyledItem :Item
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcTessellatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcIndexedColourMap :Opacity -> IfcNormalisedRatioMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcIndexedColourMap :ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :LayerAssignments -> IfcPresentationLayerAssignment :AssignedItems
IfcPresentationLayerAssignment -> Layer
}
Product Relative Positioning
General
如果 IfcProduct 的 Product Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProduct 的 IfcPositioningElement 的信息。
Product Span Positioning
General
_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。
concept {
IfcProduct :PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
IfcProduct :PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
IfcRelPositions_0:Name -> IfcLabel_0
IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
IfcRelPositions_1:Name -> IfcLabel_1
IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
IfcProduct :PositionedRelativeTo[binding="EndPositionedRelativeTo"]
IfcReferent_0:PredefinedType[binding="StartPositionType"]
IfcRelPositions_0:Name[binding="StartPositionName"]
IfcReferent_1:PredefinedType[binding="EndPositionType"]
IfcRelPositions_1:Name[binding="EndPositionName"]
}
Aggregation
General
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合用于建筑构件,以指示墙体内的龙骨等部分;
聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
聚合用于系统,以指示子系统,例如分支电路。
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
concept {
IfcObjectDefinition :IsDecomposedBy -> IfcRelAggregates :RelatingObject
}
Approval Association
General
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesApproval :RelatedObjects
IfcRelAssociatesApproval :RelatingApproval -> IfcApproval
IfcApproval :Name -> IfcLabel_0
IfcApproval :TimeOfApproval -> IfcDateTime
IfcApproval :Status -> IfcLabel_1
}
Assignment to Group
General
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。
分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
concept {
IfcObject :HasAssignments -> IfcRelAssignsToGroup :RelatedObjects
IfcObject :HasAssignments[binding="IsAssigned"]
}
Box Geometry
General
元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。
“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:
注释 规范未确定边界框的创建方法。如果需要规定此类方法,则必须通过模型视图定义或实施者协议来建立定义。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcBoundingBox
IfcLabel_0 -> constraint_0
constraint_0[label="=Box"]
IfcLabel_1 -> constraint_1
constraint_1[label="=BoundingBox"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Classification Association
General
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。
CoG Geometry
General
元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。
“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcCartesianPoint
IfcLabel_0 -> constraint_0
constraint_0[label="=CoG"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Constraint Association
General
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。
基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesConstraint :RelatedObjects
IfcRelAssociatesConstraint :RelatingConstraint -> IfcObjective
IfcObjective :BenchmarkValues -> IfcMetric
IfcObjective :ObjectiveQualifier -> IfcObjectiveEnum
IfcObjective :LogicalAggregator -> IfcLogicalOperatorEnum
IfcMetric :DataValue -> IfcMetricValueSelect
IfcMetric :DataValue -> IfcAppliedValue_0
IfcMetric :DataValue -> IfcTable
IfcMetric :Benchmark -> IfcBenchmarkEnum
IfcMetric :ReferencePath -> IfcReference_1
IfcMetric :Name -> IfcLabel_1
IfcMetric :Description -> IfcText_1
IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
IfcAppliedValue_0:Components -> IfcAppliedValue_1
IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
IfcAppliedValue_0:AppliedValue -> IfcReal
IfcTable :Rows -> IfcTableRow
IfcTable :Columns -> IfcTableColumn
IfcTableColumn :Identifier -> IfcIdentifier
IfcTableColumn :Name -> IfcLabel_0
IfcTableColumn :Description -> IfcText_0
IfcTableColumn :ReferencePath -> IfcReference_0
IfcMetric :DataValue[binding="DataValue"]
IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association
General
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。
文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesDocument :RelatedObjects
IfcRelAssociatesDocument :Name -> IfcLabel_0
IfcRelAssociatesDocument :RelatingDocument -> IfcDocumentReference
IfcDocumentReference :Location -> IfcURIReference
IfcDocumentReference :Identification -> IfcIdentifier
IfcDocumentReference :Name -> IfcLabel_1
IfcDocumentReference :Description -> IfcText
IfcRelAssociatesDocument :Name[binding="Name"]
}
Library Association
General
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesLibrary :RelatedObjects
IfcRelAssociatesLibrary :RelatingLibrary -> IfcLibraryReference
IfcLibraryReference :Location -> IfcURIReference
IfcLibraryReference :Identification -> IfcIdentifier
IfcLibraryReference :Name -> IfcLabel
IfcLibraryReference :Description -> IfcText
IfcLibraryReference :Language -> IfcLanguageId
IfcLibraryReference :ReferencedLibrary -> IfcLibraryInformation
IfcRelAssociatesLibrary :RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry
General
元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。
映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation_0
IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
IfcShapeRepresentation_0:Items -> IfcMappedItem
IfcMappedItem :MappingSource -> IfcRepresentationMap
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3D
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation_1
IfcAxis2Placement3D :Location -> IfcCartesianPoint_0
IfcAxis2Placement3D :Axis -> IfcDirection_0
IfcAxis2Placement3D :RefDirection -> IfcDirection_1
IfcCartesianTransformationOperator3D :Axis1 -> IfcDirection_2
IfcCartesianTransformationOperator3D :Axis2 -> IfcDirection_3
IfcCartesianTransformationOperator3D :LocalOrigin -> IfcCartesianPoint_1
IfcCartesianTransformationOperator3D :Axis3 -> IfcDirection_4
IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association
General
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 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 Predefined Type
General
======================
许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED 。
为 Object Occurrence Predefined Type 提供的主要特性是:
PredefinedType :包含实体特定的预定义类型枚举,以进一步分类实体
ObjectType :允许自定义值,如果没有适用的枚举值
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType 。
请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
concept {
IfcObject :ObjectType -> IfcLabel
IfcObject :IsTypedBy -> IfcRelDefinesByType :RelatedObjects
IfcRelDefinesByType :RelatingType -> IfcTypeObject
IfcObject :ObjectType[binding="UserDefinedType"]
IfcObject :PredefinedType[binding="PredefinedType"]
IfcTypeObject :ElementType[binding="TypeUserdefinedType"]
IfcTypeObject :PredefinedType[binding="TypePredefinedType"]
}
Object Typing
General
任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。
此概念可应用于以下资源
Object User Identity
General
特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType ,通用的 Name 和可选的 Description 与对象类型相关联。
Product Local Placement
General
产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。
放置遵循聚合和包含关系,如下所示:
在最外层,场地根据纬度、经度和海拔进行全局定位;
对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。
如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。
concept {
IfcProduct :ObjectPlacement -> IfcLocalPlacement_0
IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
IfcLocalPlacement_1:PlacesObject -> IfcElement :ObjectPlacement
IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement :ObjectPlacement
IfcElement :Name -> IfcLabel_0
IfcSpatialElement :Name -> IfcLabel_1
IfcProduct :ObjectPlacement[binding="HasPlacement"]
IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
IfcElement :Name[binding="ElementName"]
IfcSpatialElement :Name[binding="SpatialElementName"]
}
Product Topology Representation
General
产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcTopologyRepresentation
IfcTopologyRepresentation :ContextOfItems -> IfcRepresentationContext
IfcTopologyRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcTopologyRepresentation :RepresentationType -> IfcLabel_1
}
Property Sets for Objects
General
用于对象的属性集 概念模板描述了对象实例如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型是单值、枚举值、有界值、表值、引用值、列表值以及属性实例的组合。
属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcPropertySet
IfcPropertySet :HasProperties -> IfcPropertySingleValue
IfcPropertySet :HasProperties -> IfcPropertyBoundedValue
IfcPropertySet :HasProperties -> IfcPropertyEnumeratedValue
IfcPropertySet :HasProperties -> IfcPropertyListValue
IfcPropertySet :HasProperties -> IfcPropertyTableValue
IfcPropertySingleValue -> Single_Value
IfcPropertyBoundedValue -> Bounded_Value
IfcPropertyEnumeratedValue -> Enumerated_Value
IfcPropertyListValue -> List_Value
IfcPropertyTableValue -> Table_Value
IfcObject :PredefinedType[binding="PredefinedType"]
IfcPropertySet :Name[binding="PsetName"]
IfcPropertySet :HasProperties[binding="Properties"]
}
此概念可应用于以下资源
Property Sets with Override
General
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。
Quantity Sets
General
任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。
数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcElementQuantity
IfcElementQuantity :Name -> IfcLabel_0
IfcElementQuantity :Description -> IfcText
IfcElementQuantity :MethodOfMeasurement -> IfcLabel_1
IfcElementQuantity :Quantities -> IfcQuantityLength
IfcElementQuantity :Quantities -> IfcQuantityArea
IfcElementQuantity :Quantities -> IfcQuantityVolume
IfcElementQuantity :Quantities -> IfcQuantityWeight
IfcElementQuantity :Quantities -> IfcQuantityCount
IfcElementQuantity :Quantities -> IfcQuantityTime
IfcQuantityLength -> Length_Quantity
IfcQuantityArea -> Area_Quantity
IfcQuantityVolume -> Volume_Quantity
IfcQuantityWeight -> Weight_Quantity
IfcQuantityCount -> Count_Quantity
IfcQuantityTime -> Time_Quantity
IfcObject :PredefinedType[binding="PredefinedType"]
IfcElementQuantity :Name[binding="QsetName"]
IfcElementQuantity :Quantities[binding="Quantities"]
}
此概念可应用于以下资源
Reference Geometry
General
几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。
示例 使用“参考”表示形式的一个示例是用于开口构件,这些构件不应用于通过 IfcRelVoidsElement 关系创建空洞,因为空洞已包含在被空洞构件的“Body”表示形式中。表示形式的表示标识符为:'Reference'
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry
General
“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry
General
“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference Tessellation Geometry
General
“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcShapeRepresentation :Items -> IfcPolygonalFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=Tessellation"]
IfcTriangulatedFaceSet -> Triangulated_Geometry
IfcPolygonalFaceSet -> Polygonal_Geometry
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Revision Control
General
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。
Software Identity
General
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。
IfcStructuralActivity
(33)
Aggregation
General
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合用于建筑构件,以指示墙体内的龙骨等部分;
聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
聚合用于系统,以指示子系统,例如分支电路。
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
concept {
IfcObjectDefinition :IsDecomposedBy -> IfcRelAggregates :RelatingObject
}
Approval Association
General
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesApproval :RelatedObjects
IfcRelAssociatesApproval :RelatingApproval -> IfcApproval
IfcApproval :Name -> IfcLabel_0
IfcApproval :TimeOfApproval -> IfcDateTime
IfcApproval :Status -> IfcLabel_1
}
Assignment to Group
General
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。
分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
concept {
IfcObject :HasAssignments -> IfcRelAssignsToGroup :RelatedObjects
IfcObject :HasAssignments[binding="IsAssigned"]
}
Body Geometry
General
IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:
Box Geometry
General
元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。
“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:
注释 规范未确定边界框的创建方法。如果需要规定此类方法,则必须通过模型视图定义或实施者协议来建立定义。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcBoundingBox
IfcLabel_0 -> constraint_0
constraint_0[label="=Box"]
IfcLabel_1 -> constraint_1
constraint_1[label="=BoundingBox"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Classification Association
General
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。
CoG Geometry
General
元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。
“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcCartesianPoint
IfcLabel_0 -> constraint_0
constraint_0[label="=CoG"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Constraint Association
General
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。
基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesConstraint :RelatedObjects
IfcRelAssociatesConstraint :RelatingConstraint -> IfcObjective
IfcObjective :BenchmarkValues -> IfcMetric
IfcObjective :ObjectiveQualifier -> IfcObjectiveEnum
IfcObjective :LogicalAggregator -> IfcLogicalOperatorEnum
IfcMetric :DataValue -> IfcMetricValueSelect
IfcMetric :DataValue -> IfcAppliedValue_0
IfcMetric :DataValue -> IfcTable
IfcMetric :Benchmark -> IfcBenchmarkEnum
IfcMetric :ReferencePath -> IfcReference_1
IfcMetric :Name -> IfcLabel_1
IfcMetric :Description -> IfcText_1
IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
IfcAppliedValue_0:Components -> IfcAppliedValue_1
IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
IfcAppliedValue_0:AppliedValue -> IfcReal
IfcTable :Rows -> IfcTableRow
IfcTable :Columns -> IfcTableColumn
IfcTableColumn :Identifier -> IfcIdentifier
IfcTableColumn :Name -> IfcLabel_0
IfcTableColumn :Description -> IfcText_0
IfcTableColumn :ReferencePath -> IfcReference_0
IfcMetric :DataValue[binding="DataValue"]
IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association
General
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。
文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesDocument :RelatedObjects
IfcRelAssociatesDocument :Name -> IfcLabel_0
IfcRelAssociatesDocument :RelatingDocument -> IfcDocumentReference
IfcDocumentReference :Location -> IfcURIReference
IfcDocumentReference :Identification -> IfcIdentifier
IfcDocumentReference :Name -> IfcLabel_1
IfcDocumentReference :Description -> IfcText
IfcRelAssociatesDocument :Name[binding="Name"]
}
Library Association
General
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesLibrary :RelatedObjects
IfcRelAssociatesLibrary :RelatingLibrary -> IfcLibraryReference
IfcLibraryReference :Location -> IfcURIReference
IfcLibraryReference :Identification -> IfcIdentifier
IfcLibraryReference :Name -> IfcLabel
IfcLibraryReference :Description -> IfcText
IfcLibraryReference :Language -> IfcLanguageId
IfcLibraryReference :ReferencedLibrary -> IfcLibraryInformation
IfcRelAssociatesLibrary :RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry
General
元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。
映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation_0
IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
IfcShapeRepresentation_0:Items -> IfcMappedItem
IfcMappedItem :MappingSource -> IfcRepresentationMap
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3D
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation_1
IfcAxis2Placement3D :Location -> IfcCartesianPoint_0
IfcAxis2Placement3D :Axis -> IfcDirection_0
IfcAxis2Placement3D :RefDirection -> IfcDirection_1
IfcCartesianTransformationOperator3D :Axis1 -> IfcDirection_2
IfcCartesianTransformationOperator3D :Axis2 -> IfcDirection_3
IfcCartesianTransformationOperator3D :LocalOrigin -> IfcCartesianPoint_1
IfcCartesianTransformationOperator3D :Axis3 -> IfcDirection_4
IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association
General
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 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 Predefined Type
General
======================
许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED 。
为 Object Occurrence Predefined Type 提供的主要特性是:
PredefinedType :包含实体特定的预定义类型枚举,以进一步分类实体
ObjectType :允许自定义值,如果没有适用的枚举值
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType 。
请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
concept {
IfcObject :ObjectType -> IfcLabel
IfcObject :IsTypedBy -> IfcRelDefinesByType :RelatedObjects
IfcRelDefinesByType :RelatingType -> IfcTypeObject
IfcObject :ObjectType[binding="UserDefinedType"]
IfcObject :PredefinedType[binding="PredefinedType"]
IfcTypeObject :ElementType[binding="TypeUserdefinedType"]
IfcTypeObject :PredefinedType[binding="TypePredefinedType"]
}
Object Typing
General
任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。
Object User Identity
General
特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType ,通用的 Name 和可选的 Description 与对象类型相关联。
Product Geometric Representation
General
任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。
注释 关于如何应用局部定位以及哪些形状表示适用的详细规范,在 IfcProduct 的子类型级别提供,并进一步由模型视图定义和实施者协议确定。
Product Geometry Colour
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :Items -> IfcSolidModel
IfcShapeRepresentation :Items -> IfcTessellatedFaceSet
IfcSolidModel :StyledByItem -> IfcStyledItem :Item
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcTessellatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcIndexedColourMap :Opacity -> IfcNormalisedRatioMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcIndexedColourMap :ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :LayerAssignments -> IfcPresentationLayerAssignment :AssignedItems
IfcPresentationLayerAssignment -> Layer
}
Product Local Placement
General
产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。
放置遵循聚合和包含关系,如下所示:
在最外层,场地根据纬度、经度和海拔进行全局定位;
对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。
如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。
concept {
IfcProduct :ObjectPlacement -> IfcLocalPlacement_0
IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
IfcLocalPlacement_1:PlacesObject -> IfcElement :ObjectPlacement
IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement :ObjectPlacement
IfcElement :Name -> IfcLabel_0
IfcSpatialElement :Name -> IfcLabel_1
IfcProduct :ObjectPlacement[binding="HasPlacement"]
IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
IfcElement :Name[binding="ElementName"]
IfcSpatialElement :Name[binding="SpatialElementName"]
}
Product Relative Positioning
General
如果 IfcProduct 的 Product Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProduct 的 IfcPositioningElement 的信息。
Product Span Positioning
General
_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。
concept {
IfcProduct :PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
IfcProduct :PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
IfcRelPositions_0:Name -> IfcLabel_0
IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
IfcRelPositions_1:Name -> IfcLabel_1
IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
IfcProduct :PositionedRelativeTo[binding="EndPositionedRelativeTo"]
IfcReferent_0:PredefinedType[binding="StartPositionType"]
IfcRelPositions_0:Name[binding="StartPositionName"]
IfcReferent_1:PredefinedType[binding="EndPositionType"]
IfcRelPositions_1:Name[binding="EndPositionName"]
}
Product Topology Representation
General
产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcTopologyRepresentation
IfcTopologyRepresentation :ContextOfItems -> IfcRepresentationContext
IfcTopologyRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcTopologyRepresentation :RepresentationType -> IfcLabel_1
}
Property Sets for Objects
General
用于对象的属性集 概念模板描述了对象实例如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型是单值、枚举值、有界值、表值、引用值、列表值以及属性实例的组合。
属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcPropertySet
IfcPropertySet :HasProperties -> IfcPropertySingleValue
IfcPropertySet :HasProperties -> IfcPropertyBoundedValue
IfcPropertySet :HasProperties -> IfcPropertyEnumeratedValue
IfcPropertySet :HasProperties -> IfcPropertyListValue
IfcPropertySet :HasProperties -> IfcPropertyTableValue
IfcPropertySingleValue -> Single_Value
IfcPropertyBoundedValue -> Bounded_Value
IfcPropertyEnumeratedValue -> Enumerated_Value
IfcPropertyListValue -> List_Value
IfcPropertyTableValue -> Table_Value
IfcObject :PredefinedType[binding="PredefinedType"]
IfcPropertySet :Name[binding="PsetName"]
IfcPropertySet :HasProperties[binding="Properties"]
}
Property Sets with Override
General
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。
Quantity Sets
General
任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。
数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcElementQuantity
IfcElementQuantity :Name -> IfcLabel_0
IfcElementQuantity :Description -> IfcText
IfcElementQuantity :MethodOfMeasurement -> IfcLabel_1
IfcElementQuantity :Quantities -> IfcQuantityLength
IfcElementQuantity :Quantities -> IfcQuantityArea
IfcElementQuantity :Quantities -> IfcQuantityVolume
IfcElementQuantity :Quantities -> IfcQuantityWeight
IfcElementQuantity :Quantities -> IfcQuantityCount
IfcElementQuantity :Quantities -> IfcQuantityTime
IfcQuantityLength -> Length_Quantity
IfcQuantityArea -> Area_Quantity
IfcQuantityVolume -> Volume_Quantity
IfcQuantityWeight -> Weight_Quantity
IfcQuantityCount -> Count_Quantity
IfcQuantityTime -> Time_Quantity
IfcObject :PredefinedType[binding="PredefinedType"]
IfcElementQuantity :Name[binding="QsetName"]
IfcElementQuantity :Quantities[binding="Quantities"]
}
Reference Geometry
General
几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。
示例 使用“参考”表示形式的一个示例是用于开口构件,这些构件不应用于通过 IfcRelVoidsElement 关系创建空洞,因为空洞已包含在被空洞构件的“Body”表示形式中。表示形式的表示标识符为:'Reference'
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry
General
“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry
General
“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference Tessellation Geometry
General
“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcShapeRepresentation :Items -> IfcPolygonalFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=Tessellation"]
IfcTriangulatedFaceSet -> Triangulated_Geometry
IfcPolygonalFaceSet -> Polygonal_Geometry
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Revision Control
General
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。
Software Identity
General
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。
IfcStructuralAction
(33)
Aggregation
General
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合用于建筑构件,以指示墙体内的龙骨等部分;
聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
聚合用于系统,以指示子系统,例如分支电路。
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
concept {
IfcObjectDefinition :IsDecomposedBy -> IfcRelAggregates :RelatingObject
}
Approval Association
General
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesApproval :RelatedObjects
IfcRelAssociatesApproval :RelatingApproval -> IfcApproval
IfcApproval :Name -> IfcLabel_0
IfcApproval :TimeOfApproval -> IfcDateTime
IfcApproval :Status -> IfcLabel_1
}
Assignment to Group
General
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。
分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
concept {
IfcObject :HasAssignments -> IfcRelAssignsToGroup :RelatedObjects
IfcObject :HasAssignments[binding="IsAssigned"]
}
Body Geometry
General
IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:
Box Geometry
General
元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。
“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:
注释 规范未确定边界框的创建方法。如果需要规定此类方法,则必须通过模型视图定义或实施者协议来建立定义。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcBoundingBox
IfcLabel_0 -> constraint_0
constraint_0[label="=Box"]
IfcLabel_1 -> constraint_1
constraint_1[label="=BoundingBox"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Classification Association
General
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。
CoG Geometry
General
元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。
“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcCartesianPoint
IfcLabel_0 -> constraint_0
constraint_0[label="=CoG"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Constraint Association
General
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。
基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesConstraint :RelatedObjects
IfcRelAssociatesConstraint :RelatingConstraint -> IfcObjective
IfcObjective :BenchmarkValues -> IfcMetric
IfcObjective :ObjectiveQualifier -> IfcObjectiveEnum
IfcObjective :LogicalAggregator -> IfcLogicalOperatorEnum
IfcMetric :DataValue -> IfcMetricValueSelect
IfcMetric :DataValue -> IfcAppliedValue_0
IfcMetric :DataValue -> IfcTable
IfcMetric :Benchmark -> IfcBenchmarkEnum
IfcMetric :ReferencePath -> IfcReference_1
IfcMetric :Name -> IfcLabel_1
IfcMetric :Description -> IfcText_1
IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
IfcAppliedValue_0:Components -> IfcAppliedValue_1
IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
IfcAppliedValue_0:AppliedValue -> IfcReal
IfcTable :Rows -> IfcTableRow
IfcTable :Columns -> IfcTableColumn
IfcTableColumn :Identifier -> IfcIdentifier
IfcTableColumn :Name -> IfcLabel_0
IfcTableColumn :Description -> IfcText_0
IfcTableColumn :ReferencePath -> IfcReference_0
IfcMetric :DataValue[binding="DataValue"]
IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association
General
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。
文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesDocument :RelatedObjects
IfcRelAssociatesDocument :Name -> IfcLabel_0
IfcRelAssociatesDocument :RelatingDocument -> IfcDocumentReference
IfcDocumentReference :Location -> IfcURIReference
IfcDocumentReference :Identification -> IfcIdentifier
IfcDocumentReference :Name -> IfcLabel_1
IfcDocumentReference :Description -> IfcText
IfcRelAssociatesDocument :Name[binding="Name"]
}
Library Association
General
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesLibrary :RelatedObjects
IfcRelAssociatesLibrary :RelatingLibrary -> IfcLibraryReference
IfcLibraryReference :Location -> IfcURIReference
IfcLibraryReference :Identification -> IfcIdentifier
IfcLibraryReference :Name -> IfcLabel
IfcLibraryReference :Description -> IfcText
IfcLibraryReference :Language -> IfcLanguageId
IfcLibraryReference :ReferencedLibrary -> IfcLibraryInformation
IfcRelAssociatesLibrary :RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry
General
元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。
映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation_0
IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
IfcShapeRepresentation_0:Items -> IfcMappedItem
IfcMappedItem :MappingSource -> IfcRepresentationMap
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3D
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation_1
IfcAxis2Placement3D :Location -> IfcCartesianPoint_0
IfcAxis2Placement3D :Axis -> IfcDirection_0
IfcAxis2Placement3D :RefDirection -> IfcDirection_1
IfcCartesianTransformationOperator3D :Axis1 -> IfcDirection_2
IfcCartesianTransformationOperator3D :Axis2 -> IfcDirection_3
IfcCartesianTransformationOperator3D :LocalOrigin -> IfcCartesianPoint_1
IfcCartesianTransformationOperator3D :Axis3 -> IfcDirection_4
IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association
General
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 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 Predefined Type
General
======================
许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED 。
为 Object Occurrence Predefined Type 提供的主要特性是:
PredefinedType :包含实体特定的预定义类型枚举,以进一步分类实体
ObjectType :允许自定义值,如果没有适用的枚举值
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType 。
请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
concept {
IfcObject :ObjectType -> IfcLabel
IfcObject :IsTypedBy -> IfcRelDefinesByType :RelatedObjects
IfcRelDefinesByType :RelatingType -> IfcTypeObject
IfcObject :ObjectType[binding="UserDefinedType"]
IfcObject :PredefinedType[binding="PredefinedType"]
IfcTypeObject :ElementType[binding="TypeUserdefinedType"]
IfcTypeObject :PredefinedType[binding="TypePredefinedType"]
}
Object Typing
General
任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。
Object User Identity
General
特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType ,通用的 Name 和可选的 Description 与对象类型相关联。
Product Geometric Representation
General
任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。
注释 关于如何应用局部定位以及哪些形状表示适用的详细规范,在 IfcProduct 的子类型级别提供,并进一步由模型视图定义和实施者协议确定。
Product Geometry Colour
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :Items -> IfcSolidModel
IfcShapeRepresentation :Items -> IfcTessellatedFaceSet
IfcSolidModel :StyledByItem -> IfcStyledItem :Item
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcTessellatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcIndexedColourMap :Opacity -> IfcNormalisedRatioMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcIndexedColourMap :ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :LayerAssignments -> IfcPresentationLayerAssignment :AssignedItems
IfcPresentationLayerAssignment -> Layer
}
Product Local Placement
General
产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。
放置遵循聚合和包含关系,如下所示:
在最外层,场地根据纬度、经度和海拔进行全局定位;
对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。
如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。
concept {
IfcProduct :ObjectPlacement -> IfcLocalPlacement_0
IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
IfcLocalPlacement_1:PlacesObject -> IfcElement :ObjectPlacement
IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement :ObjectPlacement
IfcElement :Name -> IfcLabel_0
IfcSpatialElement :Name -> IfcLabel_1
IfcProduct :ObjectPlacement[binding="HasPlacement"]
IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
IfcElement :Name[binding="ElementName"]
IfcSpatialElement :Name[binding="SpatialElementName"]
}
Product Relative Positioning
General
如果 IfcProduct 的 Product Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProduct 的 IfcPositioningElement 的信息。
Product Span Positioning
General
_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。
concept {
IfcProduct :PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
IfcProduct :PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
IfcRelPositions_0:Name -> IfcLabel_0
IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
IfcRelPositions_1:Name -> IfcLabel_1
IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
IfcProduct :PositionedRelativeTo[binding="EndPositionedRelativeTo"]
IfcReferent_0:PredefinedType[binding="StartPositionType"]
IfcRelPositions_0:Name[binding="StartPositionName"]
IfcReferent_1:PredefinedType[binding="EndPositionType"]
IfcRelPositions_1:Name[binding="EndPositionName"]
}
Product Topology Representation
General
产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcTopologyRepresentation
IfcTopologyRepresentation :ContextOfItems -> IfcRepresentationContext
IfcTopologyRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcTopologyRepresentation :RepresentationType -> IfcLabel_1
}
Property Sets for Objects
General
用于对象的属性集 概念模板描述了对象实例如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型是单值、枚举值、有界值、表值、引用值、列表值以及属性实例的组合。
属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcPropertySet
IfcPropertySet :HasProperties -> IfcPropertySingleValue
IfcPropertySet :HasProperties -> IfcPropertyBoundedValue
IfcPropertySet :HasProperties -> IfcPropertyEnumeratedValue
IfcPropertySet :HasProperties -> IfcPropertyListValue
IfcPropertySet :HasProperties -> IfcPropertyTableValue
IfcPropertySingleValue -> Single_Value
IfcPropertyBoundedValue -> Bounded_Value
IfcPropertyEnumeratedValue -> Enumerated_Value
IfcPropertyListValue -> List_Value
IfcPropertyTableValue -> Table_Value
IfcObject :PredefinedType[binding="PredefinedType"]
IfcPropertySet :Name[binding="PsetName"]
IfcPropertySet :HasProperties[binding="Properties"]
}
Property Sets with Override
General
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。
Quantity Sets
General
任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。
数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcElementQuantity
IfcElementQuantity :Name -> IfcLabel_0
IfcElementQuantity :Description -> IfcText
IfcElementQuantity :MethodOfMeasurement -> IfcLabel_1
IfcElementQuantity :Quantities -> IfcQuantityLength
IfcElementQuantity :Quantities -> IfcQuantityArea
IfcElementQuantity :Quantities -> IfcQuantityVolume
IfcElementQuantity :Quantities -> IfcQuantityWeight
IfcElementQuantity :Quantities -> IfcQuantityCount
IfcElementQuantity :Quantities -> IfcQuantityTime
IfcQuantityLength -> Length_Quantity
IfcQuantityArea -> Area_Quantity
IfcQuantityVolume -> Volume_Quantity
IfcQuantityWeight -> Weight_Quantity
IfcQuantityCount -> Count_Quantity
IfcQuantityTime -> Time_Quantity
IfcObject :PredefinedType[binding="PredefinedType"]
IfcElementQuantity :Name[binding="QsetName"]
IfcElementQuantity :Quantities[binding="Quantities"]
}
Reference Geometry
General
几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。
示例 使用“参考”表示形式的一个示例是用于开口构件,这些构件不应用于通过 IfcRelVoidsElement 关系创建空洞,因为空洞已包含在被空洞构件的“Body”表示形式中。表示形式的表示标识符为:'Reference'
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry
General
“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry
General
“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference Tessellation Geometry
General
“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcShapeRepresentation :Items -> IfcPolygonalFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=Tessellation"]
IfcTriangulatedFaceSet -> Triangulated_Geometry
IfcPolygonalFaceSet -> Polygonal_Geometry
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Revision Control
General
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。
Software Identity
General
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。
点击显示 128 个隐藏的继承概念
点击隐藏 128 个继承概念
IfcStructuralCurveAction
(33)
Aggregation
General
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合用于建筑构件,以指示墙体内的龙骨等部分;
聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
聚合用于系统,以指示子系统,例如分支电路。
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
concept {
IfcObjectDefinition :IsDecomposedBy -> IfcRelAggregates :RelatingObject
}
Approval Association
General
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesApproval :RelatedObjects
IfcRelAssociatesApproval :RelatingApproval -> IfcApproval
IfcApproval :Name -> IfcLabel_0
IfcApproval :TimeOfApproval -> IfcDateTime
IfcApproval :Status -> IfcLabel_1
}
Assignment to Group
General
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。
分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
concept {
IfcObject :HasAssignments -> IfcRelAssignsToGroup :RelatedObjects
IfcObject :HasAssignments[binding="IsAssigned"]
}
Body Geometry
General
IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:
Box Geometry
General
元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。
“盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:
注释 规范未确定边界框的创建方法。如果需要规定此类方法,则必须通过模型视图定义或实施者协议来建立定义。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcBoundingBox
IfcLabel_0 -> constraint_0
constraint_0[label="=Box"]
IfcLabel_1 -> constraint_1
constraint_1[label="=BoundingBox"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Classification Association
General
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。
CoG Geometry
General
元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。
“CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcCartesianPoint
IfcLabel_0 -> constraint_0
constraint_0[label="=CoG"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Constraint Association
General
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。
基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesConstraint :RelatedObjects
IfcRelAssociatesConstraint :RelatingConstraint -> IfcObjective
IfcObjective :BenchmarkValues -> IfcMetric
IfcObjective :ObjectiveQualifier -> IfcObjectiveEnum
IfcObjective :LogicalAggregator -> IfcLogicalOperatorEnum
IfcMetric :DataValue -> IfcMetricValueSelect
IfcMetric :DataValue -> IfcAppliedValue_0
IfcMetric :DataValue -> IfcTable
IfcMetric :Benchmark -> IfcBenchmarkEnum
IfcMetric :ReferencePath -> IfcReference_1
IfcMetric :Name -> IfcLabel_1
IfcMetric :Description -> IfcText_1
IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
IfcAppliedValue_0:Components -> IfcAppliedValue_1
IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
IfcAppliedValue_0:AppliedValue -> IfcReal
IfcTable :Rows -> IfcTableRow
IfcTable :Columns -> IfcTableColumn
IfcTableColumn :Identifier -> IfcIdentifier
IfcTableColumn :Name -> IfcLabel_0
IfcTableColumn :Description -> IfcText_0
IfcTableColumn :ReferencePath -> IfcReference_0
IfcMetric :DataValue[binding="DataValue"]
IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association
General
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。
文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesDocument :RelatedObjects
IfcRelAssociatesDocument :Name -> IfcLabel_0
IfcRelAssociatesDocument :RelatingDocument -> IfcDocumentReference
IfcDocumentReference :Location -> IfcURIReference
IfcDocumentReference :Identification -> IfcIdentifier
IfcDocumentReference :Name -> IfcLabel_1
IfcDocumentReference :Description -> IfcText
IfcRelAssociatesDocument :Name[binding="Name"]
}
Library Association
General
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
concept {
IfcObjectDefinition :HasAssociations -> IfcRelAssociatesLibrary :RelatedObjects
IfcRelAssociatesLibrary :RelatingLibrary -> IfcLibraryReference
IfcLibraryReference :Location -> IfcURIReference
IfcLibraryReference :Identification -> IfcIdentifier
IfcLibraryReference :Name -> IfcLabel
IfcLibraryReference :Description -> IfcText
IfcLibraryReference :Language -> IfcLanguageId
IfcLibraryReference :ReferencedLibrary -> IfcLibraryInformation
IfcRelAssociatesLibrary :RelatingLibrary[binding="RelatingLibrary"]
}
Mapped Geometry
General
元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。
映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation_0
IfcShapeRepresentation_0:ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation_0:RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation_0:RepresentationType -> IfcLabel_1
IfcShapeRepresentation_0:Items -> IfcMappedItem
IfcMappedItem :MappingSource -> IfcRepresentationMap
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3D
IfcMappedItem :MappingTarget -> IfcCartesianTransformationOperator3DnonUniform
IfcRepresentationMap :MappingOrigin -> IfcAxis2Placement3D
IfcRepresentationMap :MappedRepresentation -> IfcShapeRepresentation_1
IfcAxis2Placement3D :Location -> IfcCartesianPoint_0
IfcAxis2Placement3D :Axis -> IfcDirection_0
IfcAxis2Placement3D :RefDirection -> IfcDirection_1
IfcCartesianTransformationOperator3D :Axis1 -> IfcDirection_2
IfcCartesianTransformationOperator3D :Axis2 -> IfcDirection_3
IfcCartesianTransformationOperator3D :LocalOrigin -> IfcCartesianPoint_1
IfcCartesianTransformationOperator3D :Axis3 -> IfcDirection_4
IfcShapeRepresentation_0:RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation_0:RepresentationType[binding="Type"]
}
Material Association
General
任何产品或产品类型都可以关联材料,以指示对象的物理组成。
示例 对象可以由单一材料或具有特定布局的材料集组成。几个例子包括:
* 楼板可以关联一层混凝土;
* 梁可以关联钢的 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 Predefined Type
General
======================
许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED 。
为 Object Occurrence Predefined Type 提供的主要特性是:
PredefinedType :包含实体特定的预定义类型枚举,以进一步分类实体
ObjectType :允许自定义值,如果没有适用的枚举值
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType 。
请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
concept {
IfcObject :ObjectType -> IfcLabel
IfcObject :IsTypedBy -> IfcRelDefinesByType :RelatedObjects
IfcRelDefinesByType :RelatingType -> IfcTypeObject
IfcObject :ObjectType[binding="UserDefinedType"]
IfcObject :PredefinedType[binding="PredefinedType"]
IfcTypeObject :ElementType[binding="TypeUserdefinedType"]
IfcTypeObject :PredefinedType[binding="TypePredefinedType"]
}
Object Typing
General
任何对象实例都可以通过被分配给一个使用此概念的通用对象类型来类型化。通过在 IfcObject 的子类型级别覆盖此概念,引入了一个限制可分配的 IfcTypeObject 子类型的特定规则。
Object User Identity
General
特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType ,通用的 Name 和可选的 Description 与对象类型相关联。
Product Geometric Representation
General
任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。
注释 关于如何应用局部定位以及哪些形状表示适用的详细规范,在 IfcProduct 的子类型级别提供,并进一步由模型视图定义和实施者协议确定。
Product Geometry Colour
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :Items -> IfcSolidModel
IfcShapeRepresentation :Items -> IfcTessellatedFaceSet
IfcSolidModel :StyledByItem -> IfcStyledItem :Item
IfcStyledItem :Styles -> IfcSurfaceStyle
IfcSurfaceStyle -> Surface_Color_Style
IfcTessellatedFaceSet :HasColours -> IfcIndexedColourMap :MappedTo
IfcIndexedColourMap :Opacity -> IfcNormalisedRatioMeasure
IfcIndexedColourMap :Colours -> IfcColourRgbList
IfcIndexedColourMap :ColourIndex -> IfcPositiveInteger
}
Product Geometry Layer
General
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :LayerAssignments -> IfcPresentationLayerAssignment :AssignedItems
IfcPresentationLayerAssignment -> Layer
}
Product Local Placement
General
产品实例可以相对于其所包含的位置进行三维空间定位。放置由相对位置(X、Y、Z 坐标)、水平参考方向和垂直轴方向定义。在最外层,相对方向根据表示上下文定义;例如,+X 可能指向东方,+Y 可能指向北方,+Z 可能指向上方。
放置遵循聚合和包含关系,如下所示:
在最外层,场地根据纬度、经度和海拔进行全局定位;
对于空间结构,定位相对于聚合。例如,一个场地可以聚合多个建筑,每个建筑可以聚合多个楼层,每个楼层可以聚合多个空间;
对于建筑构件,定位相对于包含的空间结构。例如,一个楼层可以包含楼板、墙体、柱子和梁;
对于聚合部件,定位相对于聚合。例如,一个楼梯可以聚合一个或多个楼梯段;
对于特征构件,定位相对于受影响的建筑构件。例如,一个洞口构件相对于其所在的墙体进行定位,而该墙体又相对于楼层进行定位;
对于填充物,定位相对于被填充的洞口。例如,一扇门相对于一个洞口进行定位,而该洞口又相对于墙体进行定位;
对于分配端口,定位相对于包含的分配构件。例如,一个空气终端可能有一个用于管道段或配件的端口连接;
对于分配构件,定位相对于包含的空间结构,但可能受端口连接的约束。例如,一个电气接线盒可能填充墙体内的某个洞口,并且该接线盒可能包含用于包含的插座或开关的端口;这些连接构件的放置相对于接线盒的连接端口受到约束。再举一个例子,一个空气终端可能填充一个相对于空间进行放置的天花板覆盖层;连接管道配件的放置可能相对于空气终端受到约束。
如果包含的空间结构包含一个网格,则放置也可以基于相对于网格坐标。在某些用例中,可以通过省略 IfcObjectPlacement 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。
concept {
IfcProduct :ObjectPlacement -> IfcLocalPlacement_0
IfcLocalPlacement_0:RelativePlacement -> IfcAxis2Placement3D
IfcLocalPlacement_0:PlacementRelTo -> IfcLocalPlacement_1
IfcLocalPlacement_1:PlacesObject -> IfcElement :ObjectPlacement
IfcLocalPlacement_1:PlacesObject -> IfcSpatialElement :ObjectPlacement
IfcElement :Name -> IfcLabel_0
IfcSpatialElement :Name -> IfcLabel_1
IfcProduct :ObjectPlacement[binding="HasPlacement"]
IfcLocalPlacement_1:PlacesObject[binding="RelativeToElement"]
IfcElement :Name[binding="ElementName"]
IfcSpatialElement :Name[binding="SpatialElementName"]
}
Product Relative Positioning
General
如果 IfcProduct 的 Product Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProduct 的 IfcPositioningElement 的信息。
Product Span Positioning
General
_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。
concept {
IfcProduct :PositionedRelativeTo -> IfcRelPositions_0:RelatedProducts
IfcProduct :PositionedRelativeTo -> IfcRelPositions_1:RelatedProducts
IfcRelPositions_0:RelatingPositioningElement -> IfcReferent_0
IfcRelPositions_0:Name -> IfcLabel_0
IfcReferent_0:PredefinedType -> IfcReferentTypeEnum_0
IfcRelPositions_1:RelatingPositioningElement -> IfcReferent_1
IfcRelPositions_1:Name -> IfcLabel_1
IfcReferent_1:PredefinedType -> IfcReferentTypeEnum_1
IfcProduct :PositionedRelativeTo[binding="EndPositionedRelativeTo"]
IfcReferent_0:PredefinedType[binding="StartPositionType"]
IfcRelPositions_0:Name[binding="StartPositionName"]
IfcReferent_1:PredefinedType[binding="EndPositionType"]
IfcRelPositions_1:Name[binding="EndPositionName"]
}
Product Topology Representation
General
产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcTopologyRepresentation
IfcTopologyRepresentation :ContextOfItems -> IfcRepresentationContext
IfcTopologyRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcTopologyRepresentation :RepresentationType -> IfcLabel_1
}
Property Sets for Objects
General
用于对象的属性集 概念模板描述了对象实例如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型是单值、枚举值、有界值、表值、引用值、列表值以及属性实例的组合。
属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcPropertySet
IfcPropertySet :HasProperties -> IfcPropertySingleValue
IfcPropertySet :HasProperties -> IfcPropertyBoundedValue
IfcPropertySet :HasProperties -> IfcPropertyEnumeratedValue
IfcPropertySet :HasProperties -> IfcPropertyListValue
IfcPropertySet :HasProperties -> IfcPropertyTableValue
IfcPropertySingleValue -> Single_Value
IfcPropertyBoundedValue -> Bounded_Value
IfcPropertyEnumeratedValue -> Enumerated_Value
IfcPropertyListValue -> List_Value
IfcPropertyTableValue -> Table_Value
IfcObject :PredefinedType[binding="PredefinedType"]
IfcPropertySet :Name[binding="PsetName"]
IfcPropertySet :HasProperties[binding="Properties"]
}
Property Sets with Override
General
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。
Quantity Sets
General
任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。
数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。
concept {
IfcObject :IsDefinedBy -> IfcRelDefinesByProperties :RelatedObjects
IfcRelDefinesByProperties :RelatingPropertyDefinition -> IfcElementQuantity
IfcElementQuantity :Name -> IfcLabel_0
IfcElementQuantity :Description -> IfcText
IfcElementQuantity :MethodOfMeasurement -> IfcLabel_1
IfcElementQuantity :Quantities -> IfcQuantityLength
IfcElementQuantity :Quantities -> IfcQuantityArea
IfcElementQuantity :Quantities -> IfcQuantityVolume
IfcElementQuantity :Quantities -> IfcQuantityWeight
IfcElementQuantity :Quantities -> IfcQuantityCount
IfcElementQuantity :Quantities -> IfcQuantityTime
IfcQuantityLength -> Length_Quantity
IfcQuantityArea -> Area_Quantity
IfcQuantityVolume -> Volume_Quantity
IfcQuantityWeight -> Weight_Quantity
IfcQuantityCount -> Count_Quantity
IfcQuantityTime -> Time_Quantity
IfcObject :PredefinedType[binding="PredefinedType"]
IfcElementQuantity :Name[binding="QsetName"]
IfcElementQuantity :Quantities[binding="Quantities"]
}
Reference Geometry
General
几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。
示例 使用“参考”表示形式的一个示例是用于开口构件,这些构件不应用于通过 IfcRelVoidsElement 关系创建空洞,因为空洞已包含在被空洞构件的“Body”表示形式中。表示形式的表示标识符为:'Reference'
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid Geometry
General
“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference SweptSolid PolyCurve Geometry
General
“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcSweptAreaSolid
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=SweptSolid"]
IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Reference Tessellation Geometry
General
“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。
包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
concept {
IfcProduct :Representation -> IfcProductDefinitionShape
IfcProductDefinitionShape :Representations -> IfcShapeRepresentation
IfcShapeRepresentation :ContextOfItems -> IfcGeometricRepresentationContext
IfcShapeRepresentation :RepresentationIdentifier -> IfcLabel_0
IfcShapeRepresentation :RepresentationType -> IfcLabel_1
IfcShapeRepresentation :Items -> IfcTriangulatedFaceSet
IfcShapeRepresentation :Items -> IfcPolygonalFaceSet
IfcLabel_0 -> constraint_0
constraint_0[label="=Reference"]
IfcLabel_1 -> constraint_1
constraint_1[label="=Tessellation"]
IfcTriangulatedFaceSet -> Triangulated_Geometry
IfcPolygonalFaceSet -> Polygonal_Geometry
IfcShapeRepresentation :RepresentationIdentifier[binding="Identifier"]
IfcShapeRepresentation :RepresentationType[binding="Type"]
}
Revision Control
General
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。
Software Identity
General
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。