5.1.3.10 IfcProduct 产品
抽象 该定义可能不会被直接实例化。
5.1.3.10.1 语义定义(Semantic definition)
IfcProduct 是与几何或空间上下文相关的任何对象的抽象表示。如果 IfcProduct 分配了几何表示,则它会出现在空间中的特定位置。它可以相对于其他产品放置,但最终是相对于项目坐标系。ObjectPlacement 特性建立了 Representation 下所有几何表示项中的点和方向所依据的坐标系。Representation 由 IfcProductDefinitionShape 提供,该形状表示可以是几何形状表示,也可以是拓扑表示(带有或不带有拓扑项的底层几何)。
产品包括为纳入 AEC/FM 项目而制造、供应或创建的对象(称为元素)。这还包括由其他产品间接创建的对象,例如由边界元素定义的空间。产品可以用于永久使用或临时使用,后者的例子是模板。产品由其属性和表示定义。
除了物理产品(由子类型 IfcElement 涵盖)和空间项(由子类型 IfcSpatialElement 涵盖)之外,IfcProduct 还包括与几何或空间上下文相关的非物理项,例如网格、端口、注释、结构作用等。
IfcProduct 的任何实例都定义了一个产品的特定实例。与许多相似(或相同)的 IfcProduct 实例相关的通用类型信息由 IfcTypeProduct(及其子类型)处理,通过对象化关系 IfcRelDefinesByType 分配给一个或多个 IfcProduct 实例。IfcTypeProduct 除了通用属性外,还可以为所有实例提供通用的几何表示。
在通用级别上,产品可以通过使用引用相应对象的关联对象来分配给过程、控制、资源、项目:
- 具有应用的控制:使用 IfcRelAssignsToControl 将 IfcProduct 链接到 IfcControl
- 分配给过程:使用 IfcRelAssignsToProcess 将 IfcProduct 链接到 IfcProcess
- 分配给资源:使用 IfcRelAssignsToResource 将 IfcProduct 链接到 IfcResource
5.1.3.10.2 实体继承(Entity inheritance)
5.1.3.10.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| IfcObjectDefinition (7) | |||
| HasAssignments | SET [0:?] OF IfcRelAssigns FOR RelatedObjects |
引用分配(通过关联关系)其他 IfcObject 子类型到此对象实例的关系对象。例如,与产品、过程、控制、资源或组的关联。 |
|
| Nests | SET [0:1] OF IfcRelNests FOR RelatedObjects |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的一部分。对象实例或类型只能是单个分解的一部分(仅允许分层结构)。 |
|
| IsNestedBy | SET [0:?] OF IfcRelNests FOR RelatingObject |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的整体。对象或对象类型可以被多个其他对象(实例或类型)嵌套。 |
|
| HasContext | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions |
引用提供上下文信息的上下文,例如项目单位或表示上下文。它只应断言在最上层的非空间对象上。 |
|
| IsDecomposedBy | SET [0:?] OF IfcRelAggregates FOR RelatingObject |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的整体。对象定义可以被多个其他对象(实例或部分)聚合。 |
|
| Decomposes | SET [0:1] OF IfcRelAggregates FOR RelatedObjects |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的一部分。对象定义只能是单个分解的一部分(仅允许分层结构)。 |
|
| HasAssociations | SET [0:?] OF IfcRelAssociates FOR RelatedObjects |
引用将外部资源或资源定义与对象关联的关系对象。例如,与库、文档或分类的关联。 |
|
| IfcObject (5) | |||
| 5 | ObjectType | OPTIONAL IfcLabel |
该类型表示指示对象的特定类型。必须在可实例化的子类型的级别上建立用法。特别是,如果特性 PredefinedType 的枚举设置为 USERDEFINED,或者当实例化的具体实体没有 PredefinedType 特性时,它保存用户定义的类型。后者发生在一些特殊的叶子类中,以及直接实例化 IfcBuiltElement 时。 |
| IsDeclaredBy | SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects |
链接到指向声明对象的关系对象,该声明对象为此对象实例提供对象定义。声明对象必须是对象类型分解的一部分。关联的 IfcObject 或其子类型包含特定信息(作为类型或样式定义的一部分),该信息对于声明 IfcObject 或其子类型的所有反映实例是通用的。 |
|
| Declares | SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject |
链接到指向接收对象定义的反向对象的关系对象。反向对象必须是对象实例分解的一部分。关联的 IfcObject 或其子类型提供特定信息(作为类型或样式定义的一部分),该信息对于声明 IfcObject 或其子类型的所有反向实例是通用的。 |
|
| IsTypedBy | SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects |
与对象类型的关系集合,该对象类型为此对象实例提供类型定义。然后,关联的 IfcTypeObject 或其子类型包含特定信息(或类型或样式),该信息对于引用同一类型的所有 IfcObject 或其子类型的实例是通用的。 |
|
| IsDefinedBy | SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects |
与附加到此对象的属性集定义的集合的关系。这些静态或动态定义的特性包含字母数字信息内容,这些内容进一步定义了对象。 |
|
| 点击显示 16 个隐藏的继承特性 点击隐藏 16 个继承特性 | |||
| IfcProduct (5) | |||
| 6 | ObjectPlacement | OPTIONAL IfcObjectPlacement |
这建立了产品在空间中的对象坐标系和位置。位置可以是绝对的(相对于世界坐标系)、相对的(相对于另一个产品的对象位置)或约束的(例如,相对于网格轴或线性定位元素)。位置的类型由 IfcObjectPlacement 的各种子类型确定。如果存在表示,则必须提供对象位置。 |
| 7 | Representation | OPTIONAL IfcProductRepresentation |
引用产品的表示,可以是表示 (IfcProductRepresentation) 或作为形状表示 (IfcProductDefinitionShape) 的特例。产品定义形状为同一对象坐标系中的形状属性提供了多个几何表示,该坐标系由对象位置确定。 |
| ReferencedBy | SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct |
引用 IfcRelAssignsToProduct 关系,通过该关系,其他产品、过程、控制、资源或参与者(作为 IfcObjectDefinition 的子类型)可以与此产品相关联。 |
|
| PositionedRelativeTo | SET [0:?] OF IfcRelPositions FOR RelatedProducts |
引用 IfcRelPositions 关系,该关系定义了其与定位元素的关系。 |
|
| ReferencedInStructures | SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements |
引用对象化关系 IfcRelReferencedInSpatialStructure,可用于将产品与一个或多个空间结构元素相关联,除了它主要包含的那个。 |
|
5.1.3.10.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| PlacementForShapeRepresentation |
如果提供了 Representation 且其为 IfcProductDefinitionShape,则还必须提供 ObjectPlacement。ObjectPlacement 定义了 IfcProductDefinitionShape 的几何表示项所依据的对象坐标系。 |
|
|
5.1.3.10.5 属性集
-
Pset_Risk
- RiskName
- RiskType
- NatureOfRisk
- RiskAssessmentMethodology
- UnmitigatedRiskLikelihood
- UnmitigatedRiskConsequence
- UnmitigatedRiskSignificance
- MitigationPlanned
- MitigatedRiskLikelihood
- MitigatedRiskConsequence
- MitigatedRiskSignificance
- MitigationProposed
- AssociatedProduct
- AssociatedActivity
- AssociatedLocation
-
Pset_Tolerance
- ToleranceDescription
- ToleranceBasis
- OverallTolerance
- HorizontalTolerance
- OrthogonalTolerance
- VerticalTolerance
- PlanarFlatness
- HorizontalFlatness
- ElevationalFlatness
- SideFlatness
- OverallOrthogonality
- HorizontalOrthogonality
- OrthogonalOrthogonality
- VerticalOrthogonality
- OverallStraightness
- HorizontalStraightness
- OrthogonalStraightness
- VerticalStraightness
-
Pset_Uncertainty
- UncertaintyBasis
- UncertaintyDescription
- HorizontalUncertainty
- LinearUncertainty
- OrthogonalUncertainty
- VerticalUncertainty
-
Qto_BodyGeometryValidation
- GrossSurfaceArea
- NetSurfaceArea
- GrossVolume
- NetVolume
- SurfaceGenusBeforeFeatures
- SurfaceGenusAfterFeatures
7.4.8.4.2 概念用法(Concept usage)
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcObjectDefinition (11) | |||
| Classification Association | General |
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。 |
|
| Aggregation | General |
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
|
|
| Approval Association | General |
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
|
|
| Constraint Association | General |
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。 基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
|
|
| Document Association | General |
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。 文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
|
|
| Library Association | General |
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
|
|
| Material Association | General |
任何产品或产品类型都可以关联材料,以指示对象的物理组成。 材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
|
|
| Material Single | General |
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。 材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。
|
|
| Nesting | General |
嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:
嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。
|
|
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| IfcObject (16) | |||
| Aggregation | General |
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
|
|
| Approval Association | General |
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
|
|
| Assignment to Group | General |
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。 分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
|
|
| Classification Association | General |
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。 |
|
| Constraint Association | General |
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。 基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
|
|
| Document Association | General |
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。 文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
|
|
| Library Association | General |
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
|
|
| Material Association | General |
任何产品或产品类型都可以关联材料,以指示对象的物理组成。 材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
|
|
| Material Single | General |
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。 材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。
|
|
| Nesting | General |
嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:
嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。
|
|
| Object Predefined Type | General |
====================== 许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED。 为 Object Occurrence Predefined Type 提供的主要特性是:
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType。 请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
|
|
| 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。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 29 个隐藏的继承概念 点击隐藏 29 个继承概念 | |||
| IfcProduct (33) | |||
| Body Geometry | General |
IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:
|
|
| Product Geometric Representation | General |
任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。 |
|
| Product Geometry Colour | General |
|
|
| Product Geometry Layer | General |
|
|
| Product Relative Positioning | General |
如果 IfcProduct 的 Product Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProduct 的 IfcPositioningElement 的信息。 |
|
| Product Span Positioning | General |
_IfcProduct_可以相对于两个_IfcReferent_实体进行放置,这两个实体指示产品在直线段上的起始和结束位置。
|
|
| Aggregation | General |
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
|
|
| Approval Association | General |
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
|
|
| Assignment to Group | General |
_分配到组_建立对象到组的分配,组是对象的任意集合。它是_组分配_的补充概念模板,定义了对象如何被组分配。 分组关系除了将对象分组外,不具有任何其他含义。它是非层次化的,意味着对象可以被分配到多个组,并且不干扰其他关系概念,例如_元素分解_。分组关系允许子组被分组到组中。
|
|
| Box Geometry | General |
元素可以具有描述对象最小边界框尺寸的简化“盒子”表示。此类表示可用于更高效的空间索引或命中测试。 “盒子”表示的表示标识符、类型以及唯一允许的单个表示项是:
|
|
| Classification Association | General |
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。 |
|
| CoG Geometry | General |
元素可能具有描述重心(Center of Gravity)的“CoG”表示形式,该表示形式为一个点。此表示形式可用于允许验证检查,以在考虑可接受的数值容差的情况下,验证导入的“Body”形状表示后的重心是否与导出时创建的显式值匹配。 “CoG”表示形式的表示标识符、类型以及唯一允许的单个表示项为:
|
|
| Constraint Association | General |
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。 基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
|
|
| Document Association | General |
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。 文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
|
|
| Library Association | General |
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
|
|
| Mapped Geometry | General |
元素可以具有“映射几何体”表示形式,该表示形式在相应的对象类型处重用了“对象类型定义”概念中的“对象类型形状”概念。 映射几何体表示形式的表示标识符是任何其他有效的几何表示形式标识符,例如“Body”、“FootPrint”或“Axis”。
|
|
| Material Association | General |
任何产品或产品类型都可以关联材料,以指示对象的物理组成。 材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
|
|
| Material Single | General |
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。 材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。
|
|
| Nesting | General |
嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:
嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。
|
|
| Object Predefined Type | General |
====================== 许多对象实例具有一个名为 PredefinedType 的特性,该特性是一个特定的枚举。这种预定义类型本质上提供了另一种级别的“通过继承进行分类”,以在无需额外子类型的情况下进一步区分对象。预定义类型不仅是信息性的;各种规则适用,例如适用的属性集、部件组成和分配端口。此类预定义类型通过为 PredefinedType 特性选择正确的枚举值来添加。如果需要自定义值,则必须使用 ObjectType 特性来定义此类自定义类型,而 PredefinedType 则设置为 USERDEFINED。 为 Object Occurrence Predefined Type 提供的主要特性是:
如果对象通过 IfcTypeObject 进行类型化,则仅当 IfcTypeObject 处的 PredefinedType 设置为 NOTDEFINED 时,才能使用 IfcObject 实例处的 PredefinedType。 请注意,PredefinedType 特性本身是在继承层次结构的叶类中定义的,并为该给定叶类提供了一个特定的枚举特性。
|
|
| 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 来使用绝对放置。在这种情况下,形状表示在世界坐标系中定义。
|
|
| Product Topology Representation | General |
产品的拓扑可以以多种方式表示,以满足不同的目的。每种表示都有一个众所周知的字符串标识符和一个特定的表示上下文。可能存在多个表示上下文来描述用于各种用途的拓扑。
|
|
| Property Sets for Objects | General |
用于对象的属性集 概念模板描述了对象实例如何与一个或多个属性集相关联。一个属性集包含一个或多个属性。单个属性的数据类型是单值、枚举值、有界值、表值、引用值、列表值以及属性实例的组合。 属性集也可以与对象类型相关联,请参阅 用于类型的属性集 概念。然后,它们定义了所有相同类型实例的通用属性。如果同一属性(按名称)由同一属性集(按名称)提供,则直接分配给对象实例的属性将覆盖分配给对象类型的属性。
此概念可应用于以下资源 |
|
| Property Sets with Override | General |
任何对象实例都可以拥有属性集,可以直接在对象实例上作为元素特定的属性集,也可以在对象类型上作为类型属性集。在这种情况下,提供给对象实例的特性是元素特定特性和类型特性的组合。如果在实例和类型特性中都定义了相同的特性(在同一属性集中),则实例特性的特性值将覆盖类型特性的特性值。 |
|
| Quantity Sets | General |
任何对象的专门化都可以与多个数量集实例相关联。一个数量集包含多个数量实例。数量实例值的类型是计数、长度、面积、体积、重量、时间,或数量的组合。每个数量由其名称、值以及可选的描述和公式定义。 数量集通过 IfcElementQuantity 的实例来表示,其中 Name 属性确定了数量集的通用标识符。本规范包含一些预定义数量集,每个数量集都提供了模板定义。模板的名称必须用作 Name 属性的值。MethodOfMeasurement 属性指定了计算各个数量值的方法。对于本规范中包含的数量集模板,MethodOfMeasurement 的值应为“BaseQuantities”。
此概念可应用于以下资源 |
|
| Reference Geometry | General |
几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。
|
|
| Reference SweptSolid Geometry | General |
“参考扫掠实体几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。 包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
|
|
| Reference SweptSolid PolyCurve Geometry | General |
“参考扫掠实体多段线几何体”是通过扫掠实体模型表示产品三维形状的参考表示形式,仅允许基本的拉伸面积实体和旋转面积实体。作为参考表示形式,它通常不显示,也不用于空洞关系。 包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
|
|
| Reference Tessellation Geometry | General |
“参考镶嵌几何体”是通过使用镶嵌模型表示产品三维形状的参考表示形式。作为参考表示形式,它通常不显示,也不用于空洞关系。 包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:
|
|
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
7.4.8.4.3 形式化表示(Formal representation)
ENTITY IfcProduct
ABSTRACT SUPERTYPE OF (ONEOF
(IfcAnnotation
,IfcElement
,IfcLinearElement
,IfcPort
,IfcPositioningElement
,IfcSpatialElement
,IfcStructuralActivity
,IfcStructuralItem))
SUBTYPE OF (IfcObject);
ObjectPlacement : OPTIONAL IfcObjectPlacement;
Representation : OPTIONAL IfcProductRepresentation;
INVERSE
ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct;
PositionedRelativeTo : SET [0:?] OF IfcRelPositions FOR RelatedProducts;
ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements;
WHERE
PlacementForShapeRepresentation : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
OR (EXISTS(Representation) AND
(SIZEOF(QUERY(temp <* Representation.Representations | 'IFC4X3_DEV_62887e3f.IFCSHAPEREPRESENTATION' IN TYPEOF(temp))) = 0))
OR (NOT(EXISTS(Representation)));
END_ENTITY;