IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

5.4.3.29 IfcFeatureElementAddition(特征构件添加)

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

5.4.3.29.1 语义定义(Semantic definition)

IfcFeatureElementAddition 是通用特征元素的特化,它表示一个存在依赖性构件,该构件修改了相关主构件的形状和外观。IfcFeatureElementAddition 提供了将形状修改器作为语义对象处理的能力,这些对象添加到主构件的形状中。

IfcFeatureElementAddition 通过对象化关系 IfcRelProjectsElement 与其主构件相关联。此关系意味着主构件的形状与添加特征的形状之间存在布尔“并集”运算。

IfcFeatureElementAddition 的局部放置在其超类型 IfcProduct 中定义。它由 IfcLocalPlacement 定义,该定义定义了所有几何表示引用的局部坐标系。局部放置始终相对于添加特征的构件的局部放置来定义:

  • IfcObjectPlacementPlacementRelTo 属性(如果给定)应指向 IfcElement 的对象放置,该对象放置在 ProjectsElements.RelatingElement 反向属性中(特征的父构件)。

5.4.3.29.2 实体继承(Entity inheritance)

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

与附加到此对象的属性集定义的集合的关系。这些静态或动态定义的特性包含字母数字信息内容,这些内容进一步定义了对象。

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,可用于将产品与一个或多个空间结构元素相关联,除了它主要包含的那个。

IfcElement (13)
8 Tag OPTIONAL IfcIdentifier

产品实例的标签(或标识符),例如序列号或位置编号。这是实例级别的标识符。

FillsVoids SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement

指向 IfcRelFillsElement 关系的引用,该关系将元素作为填充物放入另一个元素中创建的开口。

ConnectedTo SET [0:?] OF IfcRelConnectsElements FOR RelatingElement

指向元素连接关系的引用。该关系随后引用此元素所连接的另一个元素。

IsInterferedByElements SET [0:?] OF IfcRelInterferesElements FOR RelatedElement

指向干扰关系的引用,以指示被干扰的元素。如果提供了该关系,则表示此元素与一个或多个其他元素存在干扰。

IFC4变更 新增逆向关系

InterferesElements SET [0:?] OF IfcRelInterferesElements FOR RelatingElement

指向干扰关系的引用,以指示干扰的元素。如果提供了该关系,则表示此元素与一个或多个其他元素存在干扰。

IFC4变更 新增逆向关系

HasProjections SET [0:?] OF IfcRelProjectsElement FOR RelatingElement

投影关系,通过布尔并集向 IfcBuiltElement 添加一个特征。

HasOpenings SET [0:?] OF IfcRelVoidsElement FOR RelatingBuildingElement

指向 IfcRelVoidsElement 关系的引用,该关系在元素中创建开口。一个元素可以包含零个或多个开口。对于每个使元素产生空洞的开口,都会生成一个新的关系 IfcRelVoidsElement

IsConnectionRealization SET [0:?] OF IfcRelConnectsWithRealizingElements FOR RealizingElements

指向具有实现元素的连接关系的引用。如果提供了该关系,则将此元素分配给连接的实现元素,该连接提供了连接关系的物理体现。

ProvidesBoundaries SET [0:?] OF IfcRelSpaceBoundary FOR RelatedBuildingElement

通过对象化关系 IfcRelSpaceBoundary 指向空间边界。它定义了元素边界空间的と言う概念。

ConnectedFrom SET [0:?] OF IfcRelConnectsElements FOR RelatedElement

指向元素连接关系的引用。该关系随后引用连接到此元素的另一个元素。

ContainedInStructure SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements

包含关系到空间结构元素,该元素主要与之相关联。此包含关系必须是分层的,即一个元素只能直接分配给零个或一个空间结构。

HasCoverings SET [0:?] OF IfcRelCoversBldgElements FOR RelatingBuildingElement

通过对象化关系 IfcRelCoversBldgElements 指向 IfcCovering。它定义了具有相关覆盖物的元素的と言う概念。

HasSurfaceFeatures SET [0:?] OF IfcRelAdheresToElement FOR RelatingElement

指向 IfcRelAdheresToElement 关系的引用,该关系将 IfcSurfaceFeature 附着到元素上。一个元素可以在一个关系中包含零个或多个表面特征。

点击显示 34 个隐藏的继承特性 点击隐藏 34 个继承特性
IfcFeatureElementAddition (1)
ProjectsElements IfcRelProjectsElement FOR RelatedFeatureElement

引用 IfcRelProjectsElement 关系,该关系使用此 IfcFeatureElementAddition 在构件上创建体积加法。IfcFeatureElementAddition 只能通过布尔加法运算在单个构件上创建单个加法。

表 5.4.3.29.A

5.4.3.29.4 属性集

  • Pset_Condition
    • AssessmentDate
    • AssessmentCondition
    • AssessmentDescription
    • AssessmentType
    • AssessmentMethod
    • LastAssessmentReport
    • NextAssessmentDate
    • AssessmentFrequency
  • Pset_ConstructionAdministration
    • ProcurementMethod
    • SpecificationSectionNumber
    • SubmittalIdentifer
  • Pset_ConstructionOccurence
    • InstallationDate
    • ModelNumber
    • TagNumber
    • AssetIdentifier
  • Pset_ElementKinematics
    • CyclicPath
    • CyclicRange
    • LinearPath
    • LinearRange
    • MaximumAngularVelocity
    • MaximumConstantSpeed
    • MinimumTime
  • Pset_EnvironmentalCondition
    • ReferenceAirRelativeHumidity
    • ReferenceEnvironmentTemperature
    • MaximumAtmosphericPressure
    • StorageTemperatureRange
    • MaximumWindSpeed
    • OperationalTemperatureRange
    • MaximumRainIntensity
    • SaltMistLevel
    • SeismicResistance
    • SmokeLevel
    • MaximumSolarRadiation
  • Pset_EnvironmentalImpactIndicators
    • Reference
    • FunctionalUnitReference
    • IndicatorsUnit
    • LifeCyclePhase
    • ExpectedServiceLife
    • TotalPrimaryEnergyConsumptionPerUnit
    • WaterConsumptionPerUnit
    • HazardousWastePerUnit
    • NonHazardousWastePerUnit
    • ClimateChangePerUnit
    • AtmosphericAcidificationPerUnit
    • RenewableEnergyConsumptionPerUnit
    • NonRenewableEnergyConsumptionPerUnit
    • ResourceDepletionPerUnit
    • InertWastePerUnit
    • RadioactiveWastePerUnit
    • StratosphericOzoneLayerDestructionPerUnit
    • PhotochemicalOzoneFormationPerUnit
    • EutrophicationPerUnit
  • Pset_EnvironmentalImpactValues
    • TotalPrimaryEnergyConsumption
    • WaterConsumption
    • HazardousWaste
    • NonHazardousWaste
    • ClimateChange
    • AtmosphericAcidification
    • RenewableEnergyConsumption
    • NonRenewableEnergyConsumption
    • ResourceDepletion
    • InertWaste
    • RadioactiveWaste
    • StratosphericOzoneLayerDestruction
    • PhotochemicalOzoneFormation
    • Eutrophication
    • LeadInTime
    • Duration
    • LeadOutTime
  • Pset_InstallationOccurrence
    • InstallationDate
    • AcceptanceDate
    • PutIntoOperationDate
  • Pset_MaintenanceStrategy
    • AssetCriticality
    • AssetFrailty
    • AssetPriority
    • MonitoringType
    • AccidentResponse
  • Pset_MaintenanceTriggerCondition
    • ConditionTargetPerformance
    • ConditionMaintenanceLevel
    • ConditionReplacementLevel
    • ConditionDisposalLevel
  • Pset_MaintenanceTriggerDuration
    • DurationTargetPerformance
    • DurationMaintenanceLevel
    • DurationReplacementLevel
    • DurationDisposalLevel
  • Pset_MaintenanceTriggerPerformance
    • TargetPerformance
    • PerformanceMaintenanceLevel
    • ReplacementLevel
    • DisposalLevel
  • Pset_ManufacturerOccurrence
    • AcquisitionDate
    • BarCode
    • SerialNumber
    • BatchReference
    • AssemblyPlace
    • ManufacturingDate
  • Pset_ManufacturerTypeInformation
    • GlobalTradeItemNumber
    • ArticleNumber
    • ModelReference
    • ModelLabel
    • Manufacturer
    • ProductionYear
    • AssemblyPlace
    • OperationalDocument
    • SafetyDocument
    • PerformanceCertificate
  • Pset_RepairOccurrence
    • RepairContent
    • RepairDate
    • MeanTimeToRepair
  • Pset_Risk
    • RiskName
    • RiskType
    • NatureOfRisk
    • RiskAssessmentMethodology
    • UnmitigatedRiskLikelihood
    • UnmitigatedRiskConsequence
    • UnmitigatedRiskSignificance
    • MitigationPlanned
    • MitigatedRiskLikelihood
    • MitigatedRiskConsequence
    • MitigatedRiskSignificance
    • MitigationProposed
    • AssociatedProduct
    • AssociatedActivity
    • AssociatedLocation
  • Pset_ServiceLife
    • ServiceLifeDuration
    • MeanTimeBetweenFailure
  • 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
  • Pset_Warranty
    • WarrantyIdentifier
    • WarrantyStartDate
    • IsExtendedWarranty
    • WarrantyPeriod
    • WarrantyContent
    • PointOfContact
    • Exclusions
  • Qto_BodyGeometryValidation
    • GrossSurfaceArea
    • NetSurfaceArea
    • GrossVolume
    • NetVolume
    • SurfaceGenusBeforeFeatures
    • SurfaceGenusAfterFeatures

5.4.3.29.5 概念用法(Concept usage)

概念 用法 描述
IfcRoot (2)
Revision Control General

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

Software Identity General

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

IfcObjectDefinition (11)
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

Aggregation General

聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:

  • 聚合用于建筑构件,以指示墙体内的龙骨等部分;
  • 聚合用于空间元素,以指示空间结构,例如建筑物内的楼层;
  • 聚合用于系统,以指示子系统,例如分支电路。

聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。

concept {
    IfcObjectDefinition:IsDecomposedBy -> IfcRelAggregates:RelatingObject
}
Approval Association General

概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesApproval:RelatedObjects
    IfcRelAssociatesApproval:RelatingApproval -> IfcApproval
    IfcApproval:Name -> IfcLabel_0
    IfcApproval:TimeOfApproval -> IfcDateTime
    IfcApproval:Status -> IfcLabel_1
}
Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
Library Association General

概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesLibrary:RelatedObjects
    IfcRelAssociatesLibrary:RelatingLibrary -> IfcLibraryReference
    IfcLibraryReference:Location -> IfcURIReference
    IfcLibraryReference:Identification -> IfcIdentifier
    IfcLibraryReference:Name -> IfcLabel
    IfcLibraryReference:Description -> IfcText
    IfcLibraryReference:Language -> IfcLanguageId
    IfcLibraryReference:ReferencedLibrary -> IfcLibraryInformation
    IfcRelAssociatesLibrary:RelatingLibrary[binding="RelatingLibrary"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Revision Control General

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

Software Identity General

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

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

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object 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 建立对象坐标系,所有几何表示都基于该坐标系。

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

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

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

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object 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

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

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

IfcElement (71)
Body AdvancedBrep Geometry General

IfcElement(到目前为止在其子类型或视图定义中没有进一步的约束)可以表示为单个或多个边界表示模型,其中包括高级曲面,通常称为 NURBS 曲面。“AdvancedBrep”表示允许表示复杂的自由形状元素。

Body AdvancedSwept Directrix Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSurfaceCurveSweptAreaSolid
    IfcShapeRepresentation:Items -> IfcFixedReferenceSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSurfaceCurveSweptAreaSolid -> SurfaceCurve_SweptArea_PolyCurve_Profile
    IfcFixedReferenceSweptAreaSolid -> FixedReference_SweptArea_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSwept DiskSolid PolyCurve Geometry General

实体高级扫掠圆盘实体多曲线几何体(Body AdvancedSwept DiskSolid PolyCurve Geometry)是通过扫掠圆盘实体模型来表示产品的三维形状,其中直接曲线由索引多曲线创建。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptDiskSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSweptDiskSolid -> Swept_Disk_Solid_PolyCurve_Directrix
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSwept Tapered Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcExtrudedAreaSolidTapered
    IfcShapeRepresentation:Items -> IfcRevolvedAreaSolidTapered
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcExtrudedAreaSolidTapered -> Extruded_Area_Tapered_PolyCurve_Profile
    IfcExtrudedAreaSolidTapered -> Extruded_Area_Tapered_Parameterized_Profile
    IfcRevolvedAreaSolidTapered -> Revolved_Area_Tapered_PolyCurve_Profile
    IfcRevolvedAreaSolidTapered -> Revolved_Area_Tapered_Parameterized_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Brep Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个边界表示模型(这些模型被限制为具有或不具有空洞的面片 Brep)。Brep 表示允许表示复杂的元素形状。

Brep representation
图 5.4.3.29.B — 建筑元素主体边界表示
Body CSG Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为 CSG 基元或 CSG 树。CSG 表示允许表示复杂的元素形状。

Body SectionedSolidHorizontal General

实体分段实体水平几何体(Body SectionedSolidHorizontal)是使用两个或多个闭合轮廓(可能尺寸不同)通过沿直接曲线的指定位置进行扫掠来表示产品的三维实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSectionedSolidHorizontal
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSectionedSolidHorizontal:Directrix -> IfcBoundedCurve
    IfcSectionedSolidHorizontal:CrossSections -> IfcProfileDef
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
    IfcSectionedSolidHorizontal:Directrix[binding="Directrix"]
    IfcSectionedSolidHorizontal:CrossSections[binding="CrossSections"]
}
Body SurfaceModel Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个表面模型,这些模型基于壳体或面体表面模型。它还可以包括镶嵌模型。

surface model
图 5.4.3.29.C — 元素表面模型表示
Body SurfaceOrSolidModel Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为混合表示,包括表面模型和实体模型。

Body SweptSolid Composite Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_Composite_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid CompositeCurve Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_CompositeCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_CompositeCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid ParameterizedProfile Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_Standardized_Profile
    IfcSweptAreaSolid -> Revolved_Area_Standardized_Profile
    IfcSweptAreaSolid -> Extruded_Area_Basic_Profile
    IfcSweptAreaSolid -> Revolved_Area_Basic_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid PolyCurve Geometry General

实体扫掠实体多曲线几何体(Body SweptSolid PolyCurve Geometry)是通过扫掠实体模型来表示产品的三维形状,仅允许使用基本的挤出面积实体和旋转面积实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body Tessellation Geometry Reference View

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个镶嵌表面模型,特别是三角化表面模型。

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"]
}
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"]
}
Element Interference General
concept {
    IfcElement_0:IsInterferedByElements -> IfcRelInterferesElements:RelatedElement
    IfcRelInterferesElements:RelatingElement -> IfcElement_1
    IfcRelInterferesElements:InterferenceGeometry -> IfcConnectionVolumeGeometry
    IfcRelInterferesElements:InterferenceType -> IfcIdentifier
    IfcConnectionVolumeGeometry:VolumeOnRelatingElement -> IfcSolidModel
}
Element Nesting General

主体元素可以嵌套连接的组件。当存在特定的安装位置或外形尺寸来安装特定元素时,应使用此方法。

Element Projecting General
concept {
    IfcElement:HasProjections -> IfcRelProjectsElement:RelatingElement
    IfcRelProjectsElement:RelatedFeatureElement -> IfcProjectionElement
    IfcProjectionElement:PredefinedType -> IfcProjectionElementTypeEnum
}
Element Voiding Features General

构件可以定义挖空特征,这可以通过切割、钻孔或铣削各种材料制成的构件来实现,或者通过嵌入混凝土等材料的模板来实现。

构件的“主体”表示不考虑空腔,需要通过 CSG 操作来产生最终形状。

构件的“网格”表示考虑了空腔,因此无需额外的操作。

concept {
    IfcElement:HasOpenings -> IfcRelVoidsElement:RelatingBuildingElement
    IfcRelVoidsElement:RelatedOpeningElement -> IfcVoidingFeature
    IfcVoidingFeature:PredefinedType -> IfcVoidingFeatureTypeEnum
    IfcElement:HasOpenings[binding="HasOpenings"]
    IfcRelVoidsElement:RelatedOpeningElement[binding="RelatedVoidingFeature"]
    IfcVoidingFeature:PredefinedType[binding="VoidingFeatureType"]
}
FootPrint Annotation Geometry General

“楼板平面标注几何体”是元素的几何表示形式的楼板平面投影,主要包含二维曲线、填充线和附加标注(如标签号或类似项)。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcGeometricCurveSet
    IfcShapeRepresentation:Items -> IfcAnnotationFillArea
    IfcShapeRepresentation:Items -> IfcTextLiteral
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Annotation2D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
FootPrint GeomSet PolyCurve Geometry General

楼板平面表示形式的此专门化使用索引曲线来表示边界。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcGeometricCurveSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=GeometricCurveSet"]
    IfcGeometricCurveSet:Elements -> IfcIndexedPolyCurve
    IfcIndexedPolyCurve:Points -> IfcCartesianPointList2D
    IfcIndexedPolyCurve:Segments -> IfcArcIndex
    IfcIndexedPolyCurve:Segments -> IfcLineIndex
    IfcIndexedPolyCurve:SelfIntersect -> IfcBoolean
    IfcCartesianPointList2D:CoordList -> IfcLengthMeasure
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
FootPrint Geometry General

填充边界的元素提供“楼板平面”表示形式,指示矩形或任何任意的外部和内部边界曲线集。此类元素的示例包括楼板和空间。对于具有指示材料厚度的材料层集关联的元素,可以基于楼板平面和材料层生成“Body”表示形式。填充区域样式可以指示二维渲染的特定颜色、瓷砖或填充线。

楼板平面表示形式的表示标识符为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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"]
}
Product Grid Placement General

产品实例可以相对于网格进行定位,网格的轴可以被修改,从而使产品实例相对于网格轴重新定位。

concept {
    IfcProduct:ObjectPlacement -> IfcGridPlacement
    IfcGridPlacement:PlacementLocation -> IfcVirtualGridIntersection
    IfcGridPlacement:PlacementRefDirection -> IfcDirection
    IfcGridPlacement:PlacementRelTo -> IfcObjectPlacement
    IfcVirtualGridIntersection:OffsetDistances -> IfcLengthMeasure_0
    IfcVirtualGridIntersection:IntersectingAxes -> IfcGridAxis
    IfcGridAxis:AxisTag -> IfcLabel
    IfcGridAxis:AxisCurve -> IfcLine
    IfcGridAxis:SameSense -> IfcBoolean
    IfcLine:Pnt -> IfcCartesianPoint
    IfcLine:Dir -> IfcVector
    IfcCartesianPoint:Coordinates -> IfcLengthMeasure_1
    IfcObjectPlacement:PlacesObject -> IfcGrid_0:ObjectPlacement
}
Product Linear Placement General

具有 Product Linear Placement 模板的产品放置。它定义了基于曲线的局部坐标系,该曲线由 IfcLinearPlacement.RelativePlacement 引用,而 IfcLinearPlacement.RelativePlacement 是一个 IfcAxis2PlacementLinear.Location,使用 IfcPointByDistanceExpression.BasisCurve。局部坐标系基于曲线在 Location 处的切线、其在全局 Z 平面上的法线以及上述向量的叉积。

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"]
}
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"]
}

此概念可应用于以下资源

Surface Feature Adherence General

附着表示主体结构(称为“主机”)与附着组件(称为“附着元素”)之间的外部部分组成关系。附着概念有多种用法,例如:

  • 附着用于建筑构件,以附着表面特征,这些特征以标记、表面处理或缺陷的形式修改了主机构件。

附着是一种双向关系,从主机结构到其附加组件的关系称为附着(adherence),从组件到其主机结构的关系称为托管(hosting)。

concept {
    IfcElement:HasSurfaceFeatures -> IfcRelAdheresToElement:RelatingElement
    IfcRelAdheresToElement:RelatedSurfaceFeatures -> IfcSurfaceFeature
    IfcSurfaceFeature:Name -> IfcLabel
    IfcElement:HasSurfaceFeatures[binding="HasSurfaceFeatures"]
    IfcRelAdheresToElement:RelatedSurfaceFeatures[binding="RelatedSurfaceFeatures"]
    IfcSurfaceFeature:Name[binding="SurfaceFeatureName"]
}
Surface Sectioned Geometry General

“表面分段几何体”是具有“表面”表示形式的元素的表示形式,其中表面使用两个或多个开放轮廓来定义,这些轮廓沿着指定的路径(directrix)在指定位置之间扫掠,例如用于定义 IfcCourse 的上边界。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSectionedSurface
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SectionedSurface"]
    IfcSectionedSurface:Directrix -> IfcBoundedCurve
    IfcSectionedSurface:CrossSections -> IfcProfileDef
    IfcSectionedSurface:CrossSections -> IfcOpenCrossProfileDef
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
    IfcSectionedSurface:Directrix[binding="Directrix"]
    IfcSectionedSurface:CrossSections[binding="CrossSections"]
}
Surface Tessellation Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcTriangulatedFaceSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Tessellation"]
    IfcTriangulatedFaceSet:Coordinates -> IfcCartesianPointList3D
    IfcTriangulatedFaceSet:Normals -> IfcParameterValue
    IfcTriangulatedFaceSet:LayerAssignment -> IfcPresentationLayerAssignment:AssignedItems
    IfcTriangulatedFaceSet:StyledByItem -> IfcStyledItem:Item
    IfcCartesianPointList3D:CoordList -> IfcLengthMeasure
    IfcPresentationLayerAssignment -> Layer
    IfcStyledItem:Styles -> IfcSurfaceStyle
    IfcSurfaceStyle -> Surface_Color_Style
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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 AdvancedSweptSolid Geometry General

实体高级扫掠实体几何体(Body AdvancedSweptSolid Geometry)是通过扫掠实体模型来表示产品的三维形状,包括高级扫掠操作,例如沿任意直接曲线扫掠和锥形扫掠。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Clipping Geometry General

实体裁剪几何体(Body Clipping Geometry)是通过使用构造实体几何模型并仅涉及半空间实体的差集运算来表示产品的三维形状。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBooleanClippingResult_0
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Clipping"]
    IfcBooleanClippingResult_0:Operator -> IfcBooleanOperator
    IfcBooleanClippingResult_0:FirstOperand -> IfcCsgPrimitive3D
    IfcBooleanClippingResult_0:FirstOperand -> IfcSolidModel
    IfcBooleanClippingResult_0:FirstOperand -> IfcBooleanClippingResult_1
    IfcBooleanClippingResult_0:SecondOperand -> IfcHalfSpaceSolid
    IfcBooleanClippingResult_0:SecondOperand -> IfcPolygonalBoundedHalfSpace
    IfcPolygonalBoundedHalfSpace:BaseSurface -> IfcPlane
    IfcPolygonalBoundedHalfSpace:AgreementFlag -> IfcBoolean
    IfcPolygonalBoundedHalfSpace:Position -> IfcAxis2Placement3D
    IfcPolygonalBoundedHalfSpace:PolygonalBoundary -> IfcIndexedPolyCurve
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Geometry General

IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:

Body SweptSolid Geometry General

实体扫掠实体几何体(Body SweptSolid Geometry)是通过扫掠实体模型来表示产品的三维形状,仅允许使用基本的挤出面积实体和旋转面积实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement: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="=Body"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Classification Association General

任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。

Constraint Association General

概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。

基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesConstraint:RelatedObjects
    IfcRelAssociatesConstraint:RelatingConstraint -> IfcObjective
    IfcObjective:BenchmarkValues -> IfcMetric
    IfcObjective:ObjectiveQualifier -> IfcObjectiveEnum
    IfcObjective:LogicalAggregator -> IfcLogicalOperatorEnum
    IfcMetric:DataValue -> IfcMetricValueSelect
    IfcMetric:DataValue -> IfcAppliedValue_0
    IfcMetric:DataValue -> IfcTable
    IfcMetric:Benchmark -> IfcBenchmarkEnum
    IfcMetric:ReferencePath -> IfcReference_1
    IfcMetric:Name -> IfcLabel_1
    IfcMetric:Description -> IfcText_1
    IfcAppliedValue_0:ArithmeticOperator -> IfcArithmeticOperatorEnum
    IfcAppliedValue_0:Components -> IfcAppliedValue_1
    IfcAppliedValue_0:AppliedValue -> IfcLengthMeasure
    IfcAppliedValue_0:AppliedValue -> IfcReal
    IfcTable:Rows -> IfcTableRow
    IfcTable:Columns -> IfcTableColumn
    IfcTableColumn:Identifier -> IfcIdentifier
    IfcTableColumn:Name -> IfcLabel_0
    IfcTableColumn:Description -> IfcText_0
    IfcTableColumn:ReferencePath -> IfcReference_0
    IfcMetric:DataValue[binding="DataValue"]
    IfcReference_1:AttributeIdentifier[binding="Attribute1"]
}
Document Association General

概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。

文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesDocument:RelatedObjects
    IfcRelAssociatesDocument:Name -> IfcLabel_0
    IfcRelAssociatesDocument:RelatingDocument -> IfcDocumentReference
    IfcDocumentReference:Location -> IfcURIReference
    IfcDocumentReference:Identification -> IfcIdentifier
    IfcDocumentReference:Name -> IfcLabel_1
    IfcDocumentReference:Description -> IfcText
    IfcRelAssociatesDocument:Name[binding="Name"]
}
Element Covering General

覆盖元素通过“元素覆盖”概念分配给其承载元素。

concept {
    IfcElement:HasCoverings -> IfcRelCoversBldgElements:RelatingBuildingElement
    IfcRelCoversBldgElements:RelatedCoverings -> IfcCovering
}
Element Occurrence Attributes General

注意:此属性模板与其他类似模板一样,源自与 mvdXML 相关联的旧有要求,以及 MVD 定义交换信息要求的早期时代。此类模板不再为规范增加价值,也不会传达超出模式中已定义信息的内容。此外,一些模板引用了已弃用的实体,可能导致不必要的混淆。 作为清理文档的更广泛工作的一部分,此模板和其他非必需模板将在下一个版本中删除。

物理构件可以通过 Tag 属性进一步标识。这是一个人类可读的标识符,例如构件或项目编号。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。

concept {
    IfcElement:Tag -> IfcIdentifier
}
Element Voiding General

构件可以定义空腔,这些空腔可以是部分凹陷或贯穿整个深度。开口的空腔可选择性地由另一个构件填充,例如门、窗、土方或骨料填充,或者可以表示没有填充物的挖空特征。

构件的“主体”表示不考虑空腔,需要通过 CSG 操作来产生最终形状。

构件的“网格”表示考虑了空腔,因此无需额外的操作。

concept {
    IfcElement:HasOpenings -> IfcRelVoidsElement:RelatingBuildingElement
    IfcElement:HasOpenings[binding="HasOpenings"]
}
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"]
}
Lighting Geometry General

发光的元素提供“照明”表示形式。此类元素的示例包括灯具和照明设备。此表示形式可用于三维渲染或照明设计。

“照明”表示形式的表示标识符、类型以及唯一允许的单个表示项为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcLightSource
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Lighting"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=LightSource"]
    IfcLightSource:LightColour -> IfcColourRgb
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Material Association General

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object 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

对象实例可以通过特定的对象类型来定义,使用 对象类型定义 概念。对于大多数语义对象,定义了一对实体——一个对象实例实体和一个相应的对象类型实体。

在实例级别,对象实例可能具有:

  • 通过应用类型级别定义的所有特性,与其对象类型实例相似的状态;
  • 特定特性的覆盖状态;
  • 没有定义的对象类型实例。

在对象类型级别定义的特性可能包括:

  • 通用命名和预定义类型;
  • 类型驱动的属性集中的通用属性;
  • 通用几何表示,作为映射表示应用于每个实例;
  • 通用材质分配(材质集用法除外);
  • 分解结构的通用定义。

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

concept {
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:IsTypedBy[binding="HasType"]
    IfcRelDefinesByType:RelatingType[binding="RelatingType"]
    IfcTypeObject:Name[binding="TypeName"]
}

此概念可应用于以下资源

Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Product Geometric Representation General

任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。

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

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

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
}
Profile 3D Geometry General

“型材3D几何体”是填充开口的元素的外部轮廓的标准表示形式。此类元素的示例包括门和窗。对于门和窗,型材几何体用于将衬砌和面板尺寸的参数化定义应用于型材。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundedCurve
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Profile"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Curve3D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Profile Geometry General

填充开口的元素提供“型材”表示形式,描述开口的形状。此类元素的示例包括门和窗。

型材表示形式的表示标识符为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Profile"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

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

Spatial Containment General

空间包含关系 概念定义了物理元素(如建筑元素、设备元素或家具元素)作为被包含在空间结构元素内的关系。

IfcElement 的任何子类型都可能参与两种不同的包含关系。第一种(在大多数实现场景中是强制性的)是层级空间包含关系,第二种(可选)是元素组件内的聚合关系。

concept {
    IfcElement:ContainedInStructure -> IfcRelContainedInSpatialStructure:RelatedElements
    IfcRelContainedInSpatialStructure:RelatingStructure -> IfcSpatialElement
    IfcSpatialElement:Name -> IfcLabel
    IfcRelContainedInSpatialStructure:RelatingStructure[binding="RelatingStructure"]
    IfcSpatialElement:Name[binding="SpatialElementName"]
}

此概念可应用于以下资源

Surface 3D Geometry General

“表面3D几何体”是具有描述对象内部或外部表面的“表面”表示形式的元素的标准表面表示形式,例如用于在元素的中平面上定义热边界。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundedSurface
    IfcShapeRepresentation:Items -> IfcSweptSurface
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Surface3D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Surface Geometry General

元素可以具有“表面”表示形式,描述对象的外部表面。此表示形式可用于测试具有部件组合(如框架墙)的对象,或用于在元素的中平面上理想化定义热边界。

表面表示形式的表示标识符为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
IfcFeatureElement (71)
Spatial Containment General

空间包含关系 概念定义了物理元素(如建筑元素、设备元素或家具元素)作为被包含在空间结构元素内的关系。

IfcElement 的任何子类型都可能参与两种不同的包含关系。第一种(在大多数实现场景中是强制性的)是层级空间包含关系,第二种(可选)是元素组件内的聚合关系。

concept {
    IfcElement:ContainedInStructure -> IfcRelContainedInSpatialStructure:RelatedElements
    IfcRelContainedInSpatialStructure:RelatingStructure -> IfcSpatialElement
    IfcSpatialElement:Name -> IfcLabel
    IfcRelContainedInSpatialStructure:RelatingStructure[binding="RelatingStructure"]
    IfcSpatialElement:Name[binding="SpatialElementName"]
}
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 AdvancedBrep Geometry General

IfcElement(到目前为止在其子类型或视图定义中没有进一步的约束)可以表示为单个或多个边界表示模型,其中包括高级曲面,通常称为 NURBS 曲面。“AdvancedBrep”表示允许表示复杂的自由形状元素。

Body AdvancedSwept Directrix Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSurfaceCurveSweptAreaSolid
    IfcShapeRepresentation:Items -> IfcFixedReferenceSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSurfaceCurveSweptAreaSolid -> SurfaceCurve_SweptArea_PolyCurve_Profile
    IfcFixedReferenceSweptAreaSolid -> FixedReference_SweptArea_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSwept DiskSolid PolyCurve Geometry General

实体高级扫掠圆盘实体多曲线几何体(Body AdvancedSwept DiskSolid PolyCurve Geometry)是通过扫掠圆盘实体模型来表示产品的三维形状,其中直接曲线由索引多曲线创建。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptDiskSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSweptDiskSolid -> Swept_Disk_Solid_PolyCurve_Directrix
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSwept Tapered Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcExtrudedAreaSolidTapered
    IfcShapeRepresentation:Items -> IfcRevolvedAreaSolidTapered
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcExtrudedAreaSolidTapered -> Extruded_Area_Tapered_PolyCurve_Profile
    IfcExtrudedAreaSolidTapered -> Extruded_Area_Tapered_Parameterized_Profile
    IfcRevolvedAreaSolidTapered -> Revolved_Area_Tapered_PolyCurve_Profile
    IfcRevolvedAreaSolidTapered -> Revolved_Area_Tapered_Parameterized_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSweptSolid Geometry General

实体高级扫掠实体几何体(Body AdvancedSweptSolid Geometry)是通过扫掠实体模型来表示产品的三维形状,包括高级扫掠操作,例如沿任意直接曲线扫掠和锥形扫掠。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Brep Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个边界表示模型(这些模型被限制为具有或不具有空洞的面片 Brep)。Brep 表示允许表示复杂的元素形状。

Brep representation
图 5.4.3.29.B — 建筑元素主体边界表示
Body CSG Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为 CSG 基元或 CSG 树。CSG 表示允许表示复杂的元素形状。

Body Clipping Geometry General

实体裁剪几何体(Body Clipping Geometry)是通过使用构造实体几何模型并仅涉及半空间实体的差集运算来表示产品的三维形状。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBooleanClippingResult_0
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Clipping"]
    IfcBooleanClippingResult_0:Operator -> IfcBooleanOperator
    IfcBooleanClippingResult_0:FirstOperand -> IfcCsgPrimitive3D
    IfcBooleanClippingResult_0:FirstOperand -> IfcSolidModel
    IfcBooleanClippingResult_0:FirstOperand -> IfcBooleanClippingResult_1
    IfcBooleanClippingResult_0:SecondOperand -> IfcHalfSpaceSolid
    IfcBooleanClippingResult_0:SecondOperand -> IfcPolygonalBoundedHalfSpace
    IfcPolygonalBoundedHalfSpace:BaseSurface -> IfcPlane
    IfcPolygonalBoundedHalfSpace:AgreementFlag -> IfcBoolean
    IfcPolygonalBoundedHalfSpace:Position -> IfcAxis2Placement3D
    IfcPolygonalBoundedHalfSpace:PolygonalBoundary -> IfcIndexedPolyCurve
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Geometry General

IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:

Body SectionedSolidHorizontal General

实体分段实体水平几何体(Body SectionedSolidHorizontal)是使用两个或多个闭合轮廓(可能尺寸不同)通过沿直接曲线的指定位置进行扫掠来表示产品的三维实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSectionedSolidHorizontal
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSectionedSolidHorizontal:Directrix -> IfcBoundedCurve
    IfcSectionedSolidHorizontal:CrossSections -> IfcProfileDef
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
    IfcSectionedSolidHorizontal:Directrix[binding="Directrix"]
    IfcSectionedSolidHorizontal:CrossSections[binding="CrossSections"]
}
Body SurfaceModel Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个表面模型,这些模型基于壳体或面体表面模型。它还可以包括镶嵌模型。

surface model
图 5.4.3.29.C — 元素表面模型表示
Body SurfaceOrSolidModel Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为混合表示,包括表面模型和实体模型。

Body SweptSolid Composite Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_Composite_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid CompositeCurve Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_CompositeCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_CompositeCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid Geometry General

实体扫掠实体几何体(Body SweptSolid Geometry)是通过扫掠实体模型来表示产品的三维形状,仅允许使用基本的挤出面积实体和旋转面积实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement: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="=Body"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid ParameterizedProfile Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_Standardized_Profile
    IfcSweptAreaSolid -> Revolved_Area_Standardized_Profile
    IfcSweptAreaSolid -> Extruded_Area_Basic_Profile
    IfcSweptAreaSolid -> Revolved_Area_Basic_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid PolyCurve Geometry General

实体扫掠实体多曲线几何体(Body SweptSolid PolyCurve Geometry)是通过扫掠实体模型来表示产品的三维形状,仅允许使用基本的挤出面积实体和旋转面积实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body Tessellation Geometry Reference View

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个镶嵌表面模型,特别是三角化表面模型。

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"]
}
Element Covering General

覆盖元素通过“元素覆盖”概念分配给其承载元素。

concept {
    IfcElement:HasCoverings -> IfcRelCoversBldgElements:RelatingBuildingElement
    IfcRelCoversBldgElements:RelatedCoverings -> IfcCovering
}
Element Interference General
concept {
    IfcElement_0:IsInterferedByElements -> IfcRelInterferesElements:RelatedElement
    IfcRelInterferesElements:RelatingElement -> IfcElement_1
    IfcRelInterferesElements:InterferenceGeometry -> IfcConnectionVolumeGeometry
    IfcRelInterferesElements:InterferenceType -> IfcIdentifier
    IfcConnectionVolumeGeometry:VolumeOnRelatingElement -> IfcSolidModel
}
Element Nesting General

主体元素可以嵌套连接的组件。当存在特定的安装位置或外形尺寸来安装特定元素时,应使用此方法。

Element Occurrence Attributes General

注意:此属性模板与其他类似模板一样,源自与 mvdXML 相关联的旧有要求,以及 MVD 定义交换信息要求的早期时代。此类模板不再为规范增加价值,也不会传达超出模式中已定义信息的内容。此外,一些模板引用了已弃用的实体,可能导致不必要的混淆。 作为清理文档的更广泛工作的一部分,此模板和其他非必需模板将在下一个版本中删除。

物理构件可以通过 Tag 属性进一步标识。这是一个人类可读的标识符,例如构件或项目编号。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。

concept {
    IfcElement:Tag -> IfcIdentifier
}
Element Projecting General
concept {
    IfcElement:HasProjections -> IfcRelProjectsElement:RelatingElement
    IfcRelProjectsElement:RelatedFeatureElement -> IfcProjectionElement
    IfcProjectionElement:PredefinedType -> IfcProjectionElementTypeEnum
}
Element Voiding General

构件可以定义空腔,这些空腔可以是部分凹陷或贯穿整个深度。开口的空腔可选择性地由另一个构件填充,例如门、窗、土方或骨料填充,或者可以表示没有填充物的挖空特征。

构件的“主体”表示不考虑空腔,需要通过 CSG 操作来产生最终形状。

构件的“网格”表示考虑了空腔,因此无需额外的操作。

concept {
    IfcElement:HasOpenings -> IfcRelVoidsElement:RelatingBuildingElement
    IfcElement:HasOpenings[binding="HasOpenings"]
}
Element Voiding Features General

构件可以定义挖空特征,这可以通过切割、钻孔或铣削各种材料制成的构件来实现,或者通过嵌入混凝土等材料的模板来实现。

构件的“主体”表示不考虑空腔,需要通过 CSG 操作来产生最终形状。

构件的“网格”表示考虑了空腔,因此无需额外的操作。

concept {
    IfcElement:HasOpenings -> IfcRelVoidsElement:RelatingBuildingElement
    IfcRelVoidsElement:RelatedOpeningElement -> IfcVoidingFeature
    IfcVoidingFeature:PredefinedType -> IfcVoidingFeatureTypeEnum
    IfcElement:HasOpenings[binding="HasOpenings"]
    IfcRelVoidsElement:RelatedOpeningElement[binding="RelatedVoidingFeature"]
    IfcVoidingFeature:PredefinedType[binding="VoidingFeatureType"]
}
FootPrint Annotation Geometry General

“楼板平面标注几何体”是元素的几何表示形式的楼板平面投影,主要包含二维曲线、填充线和附加标注(如标签号或类似项)。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcGeometricCurveSet
    IfcShapeRepresentation:Items -> IfcAnnotationFillArea
    IfcShapeRepresentation:Items -> IfcTextLiteral
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Annotation2D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
FootPrint GeomSet PolyCurve Geometry General

楼板平面表示形式的此专门化使用索引曲线来表示边界。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcGeometricCurveSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=GeometricCurveSet"]
    IfcGeometricCurveSet:Elements -> IfcIndexedPolyCurve
    IfcIndexedPolyCurve:Points -> IfcCartesianPointList2D
    IfcIndexedPolyCurve:Segments -> IfcArcIndex
    IfcIndexedPolyCurve:Segments -> IfcLineIndex
    IfcIndexedPolyCurve:SelfIntersect -> IfcBoolean
    IfcCartesianPointList2D:CoordList -> IfcLengthMeasure
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
FootPrint Geometry General

填充边界的元素提供“楼板平面”表示形式,指示矩形或任何任意的外部和内部边界曲线集。此类元素的示例包括楼板和空间。对于具有指示材料厚度的材料层集关联的元素,可以基于楼板平面和材料层生成“Body”表示形式。填充区域样式可以指示二维渲染的特定颜色、瓷砖或填充线。

楼板平面表示形式的表示标识符为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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"]
}
Lighting Geometry General

发光的元素提供“照明”表示形式。此类元素的示例包括灯具和照明设备。此表示形式可用于三维渲染或照明设计。

“照明”表示形式的表示标识符、类型以及唯一允许的单个表示项为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcLightSource
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Lighting"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=LightSource"]
    IfcLightSource:LightColour -> IfcColourRgb
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object 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

对象实例可以通过特定的对象类型来定义,使用 对象类型定义 概念。对于大多数语义对象,定义了一对实体——一个对象实例实体和一个相应的对象类型实体。

在实例级别,对象实例可能具有:

  • 通过应用类型级别定义的所有特性,与其对象类型实例相似的状态;
  • 特定特性的覆盖状态;
  • 没有定义的对象类型实例。

在对象类型级别定义的特性可能包括:

  • 通用命名和预定义类型;
  • 类型驱动的属性集中的通用属性;
  • 通用几何表示,作为映射表示应用于每个实例;
  • 通用材质分配(材质集用法除外);
  • 分解结构的通用定义。

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

concept {
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:IsTypedBy[binding="HasType"]
    IfcRelDefinesByType:RelatingType[binding="RelatingType"]
    IfcTypeObject:Name[binding="TypeName"]
}
Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Product Geometric Representation General

任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。

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 Grid Placement General

产品实例可以相对于网格进行定位,网格的轴可以被修改,从而使产品实例相对于网格轴重新定位。

concept {
    IfcProduct:ObjectPlacement -> IfcGridPlacement
    IfcGridPlacement:PlacementLocation -> IfcVirtualGridIntersection
    IfcGridPlacement:PlacementRefDirection -> IfcDirection
    IfcGridPlacement:PlacementRelTo -> IfcObjectPlacement
    IfcVirtualGridIntersection:OffsetDistances -> IfcLengthMeasure_0
    IfcVirtualGridIntersection:IntersectingAxes -> IfcGridAxis
    IfcGridAxis:AxisTag -> IfcLabel
    IfcGridAxis:AxisCurve -> IfcLine
    IfcGridAxis:SameSense -> IfcBoolean
    IfcLine:Pnt -> IfcCartesianPoint
    IfcLine:Dir -> IfcVector
    IfcCartesianPoint:Coordinates -> IfcLengthMeasure_1
    IfcObjectPlacement:PlacesObject -> IfcGrid_0:ObjectPlacement
}
Product Linear Placement General

具有 Product Linear Placement 模板的产品放置。它定义了基于曲线的局部坐标系,该曲线由 IfcLinearPlacement.RelativePlacement 引用,而 IfcLinearPlacement.RelativePlacement 是一个 IfcAxis2PlacementLinear.Location,使用 IfcPointByDistanceExpression.BasisCurve。局部坐标系基于曲线在 Location 处的切线、其在全局 Z 平面上的法线以及上述向量的叉积。

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

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

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
}
Profile 3D Geometry General

“型材3D几何体”是填充开口的元素的外部轮廓的标准表示形式。此类元素的示例包括门和窗。对于门和窗,型材几何体用于将衬砌和面板尺寸的参数化定义应用于型材。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundedCurve
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Profile"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Curve3D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Profile Geometry General

填充开口的元素提供“型材”表示形式,描述开口的形状。此类元素的示例包括门和窗。

型材表示形式的表示标识符为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Profile"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

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

Surface 3D Geometry General

“表面3D几何体”是具有描述对象内部或外部表面的“表面”表示形式的元素的标准表面表示形式,例如用于在元素的中平面上定义热边界。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundedSurface
    IfcShapeRepresentation:Items -> IfcSweptSurface
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Surface3D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Surface Feature Adherence General

附着表示主体结构(称为“主机”)与附着组件(称为“附着元素”)之间的外部部分组成关系。附着概念有多种用法,例如:

  • 附着用于建筑构件,以附着表面特征,这些特征以标记、表面处理或缺陷的形式修改了主机构件。

附着是一种双向关系,从主机结构到其附加组件的关系称为附着(adherence),从组件到其主机结构的关系称为托管(hosting)。

concept {
    IfcElement:HasSurfaceFeatures -> IfcRelAdheresToElement:RelatingElement
    IfcRelAdheresToElement:RelatedSurfaceFeatures -> IfcSurfaceFeature
    IfcSurfaceFeature:Name -> IfcLabel
    IfcElement:HasSurfaceFeatures[binding="HasSurfaceFeatures"]
    IfcRelAdheresToElement:RelatedSurfaceFeatures[binding="RelatedSurfaceFeatures"]
    IfcSurfaceFeature:Name[binding="SurfaceFeatureName"]
}
Surface Geometry General

元素可以具有“表面”表示形式,描述对象的外部表面。此表示形式可用于测试具有部件组合(如框架墙)的对象,或用于在元素的中平面上理想化定义热边界。

表面表示形式的表示标识符为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Surface Sectioned Geometry General

“表面分段几何体”是具有“表面”表示形式的元素的表示形式,其中表面使用两个或多个开放轮廓来定义,这些轮廓沿着指定的路径(directrix)在指定位置之间扫掠,例如用于定义 IfcCourse 的上边界。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSectionedSurface
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SectionedSurface"]
    IfcSectionedSurface:Directrix -> IfcBoundedCurve
    IfcSectionedSurface:CrossSections -> IfcProfileDef
    IfcSectionedSurface:CrossSections -> IfcOpenCrossProfileDef
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
    IfcSectionedSurface:Directrix[binding="Directrix"]
    IfcSectionedSurface:CrossSections[binding="CrossSections"]
}
Surface Tessellation Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcTriangulatedFaceSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Tessellation"]
    IfcTriangulatedFaceSet:Coordinates -> IfcCartesianPointList3D
    IfcTriangulatedFaceSet:Normals -> IfcParameterValue
    IfcTriangulatedFaceSet:LayerAssignment -> IfcPresentationLayerAssignment:AssignedItems
    IfcTriangulatedFaceSet:StyledByItem -> IfcStyledItem:Item
    IfcCartesianPointList3D:CoordList -> IfcLengthMeasure
    IfcPresentationLayerAssignment -> Layer
    IfcStyledItem:Styles -> IfcSurfaceStyle
    IfcSurfaceStyle -> Surface_Color_Style
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
点击显示 204 个隐藏的继承概念 点击隐藏 204 个继承概念
IfcFeatureElementAddition (71)
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 AdvancedBrep Geometry General

IfcElement(到目前为止在其子类型或视图定义中没有进一步的约束)可以表示为单个或多个边界表示模型,其中包括高级曲面,通常称为 NURBS 曲面。“AdvancedBrep”表示允许表示复杂的自由形状元素。

Body AdvancedSwept Directrix Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSurfaceCurveSweptAreaSolid
    IfcShapeRepresentation:Items -> IfcFixedReferenceSweptAreaSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSurfaceCurveSweptAreaSolid -> SurfaceCurve_SweptArea_PolyCurve_Profile
    IfcFixedReferenceSweptAreaSolid -> FixedReference_SweptArea_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSwept DiskSolid PolyCurve Geometry General

实体高级扫掠圆盘实体多曲线几何体(Body AdvancedSwept DiskSolid PolyCurve Geometry)是通过扫掠圆盘实体模型来表示产品的三维形状,其中直接曲线由索引多曲线创建。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSweptDiskSolid
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSweptDiskSolid -> Swept_Disk_Solid_PolyCurve_Directrix
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSwept Tapered Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcExtrudedAreaSolidTapered
    IfcShapeRepresentation:Items -> IfcRevolvedAreaSolidTapered
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcExtrudedAreaSolidTapered -> Extruded_Area_Tapered_PolyCurve_Profile
    IfcExtrudedAreaSolidTapered -> Extruded_Area_Tapered_Parameterized_Profile
    IfcRevolvedAreaSolidTapered -> Revolved_Area_Tapered_PolyCurve_Profile
    IfcRevolvedAreaSolidTapered -> Revolved_Area_Tapered_Parameterized_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body AdvancedSweptSolid Geometry General

实体高级扫掠实体几何体(Body AdvancedSweptSolid Geometry)是通过扫掠实体模型来表示产品的三维形状,包括高级扫掠操作,例如沿任意直接曲线扫掠和锥形扫掠。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Brep Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个边界表示模型(这些模型被限制为具有或不具有空洞的面片 Brep)。Brep 表示允许表示复杂的元素形状。

Brep representation
图 5.4.3.29.B — 建筑元素主体边界表示
Body CSG Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为 CSG 基元或 CSG 树。CSG 表示允许表示复杂的元素形状。

Body Clipping Geometry General

实体裁剪几何体(Body Clipping Geometry)是通过使用构造实体几何模型并仅涉及半空间实体的差集运算来表示产品的三维形状。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBooleanClippingResult_0
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Clipping"]
    IfcBooleanClippingResult_0:Operator -> IfcBooleanOperator
    IfcBooleanClippingResult_0:FirstOperand -> IfcCsgPrimitive3D
    IfcBooleanClippingResult_0:FirstOperand -> IfcSolidModel
    IfcBooleanClippingResult_0:FirstOperand -> IfcBooleanClippingResult_1
    IfcBooleanClippingResult_0:SecondOperand -> IfcHalfSpaceSolid
    IfcBooleanClippingResult_0:SecondOperand -> IfcPolygonalBoundedHalfSpace
    IfcPolygonalBoundedHalfSpace:BaseSurface -> IfcPlane
    IfcPolygonalBoundedHalfSpace:AgreementFlag -> IfcBoolean
    IfcPolygonalBoundedHalfSpace:Position -> IfcAxis2Placement3D
    IfcPolygonalBoundedHalfSpace:PolygonalBoundary -> IfcIndexedPolyCurve
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Body Geometry General

IfcProduct 的主体或实体模型几何表示通常使用镶嵌(Tessellation)或边界表示(Brep)定义。子类型可以提供关于其他可用表示类型的建议。持有此几何表示的 IfcShapeRepresentation 的以下属性值应被使用:

Body SectionedSolidHorizontal General

实体分段实体水平几何体(Body SectionedSolidHorizontal)是使用两个或多个闭合轮廓(可能尺寸不同)通过沿直接曲线的指定位置进行扫掠来表示产品的三维实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSectionedSolidHorizontal
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Body"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=AdvancedSweptSolid"]
    IfcSectionedSolidHorizontal:Directrix -> IfcBoundedCurve
    IfcSectionedSolidHorizontal:CrossSections -> IfcProfileDef
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
    IfcSectionedSolidHorizontal:Directrix[binding="Directrix"]
    IfcSectionedSolidHorizontal:CrossSections[binding="CrossSections"]
}
Body SurfaceModel Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个表面模型,这些模型基于壳体或面体表面模型。它还可以包括镶嵌模型。

surface model
图 5.4.3.29.C — 元素表面模型表示
Body SurfaceOrSolidModel Geometry General

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为混合表示,包括表面模型和实体模型。

Body SweptSolid Composite Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_Composite_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid CompositeCurve Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_CompositeCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_CompositeCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid Geometry General

实体扫掠实体几何体(Body SweptSolid Geometry)是通过扫掠实体模型来表示产品的三维形状,仅允许使用基本的挤出面积实体和旋转面积实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement: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="=Body"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid ParameterizedProfile Geometry General
concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_Standardized_Profile
    IfcSweptAreaSolid -> Revolved_Area_Standardized_Profile
    IfcSweptAreaSolid -> Extruded_Area_Basic_Profile
    IfcSweptAreaSolid -> Revolved_Area_Basic_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body SweptSolid PolyCurve Geometry General

实体扫掠实体多曲线几何体(Body SweptSolid PolyCurve Geometry)是通过扫掠实体模型来表示产品的三维形状,仅允许使用基本的挤出面积实体和旋转面积实体。

用于承载此几何表示的_IfcShapeRepresentation_的以下特性值应被使用:

concept {
    IfcElement: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="=Body"]
    IfcSweptAreaSolid -> Extruded_Area_PolyCurve_Profile
    IfcSweptAreaSolid -> Revolved_Area_PolyCurve_Profile
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Geometry"]
}
Body Tessellation Geometry Reference View

任何 IfcElement(到目前为止在其子类型中没有进一步的约束)可以表示为单个或多个镶嵌表面模型,特别是三角化表面模型。

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"]
}
Element Covering General

覆盖元素通过“元素覆盖”概念分配给其承载元素。

concept {
    IfcElement:HasCoverings -> IfcRelCoversBldgElements:RelatingBuildingElement
    IfcRelCoversBldgElements:RelatedCoverings -> IfcCovering
}
Element Interference General
concept {
    IfcElement_0:IsInterferedByElements -> IfcRelInterferesElements:RelatedElement
    IfcRelInterferesElements:RelatingElement -> IfcElement_1
    IfcRelInterferesElements:InterferenceGeometry -> IfcConnectionVolumeGeometry
    IfcRelInterferesElements:InterferenceType -> IfcIdentifier
    IfcConnectionVolumeGeometry:VolumeOnRelatingElement -> IfcSolidModel
}
Element Nesting General

主体元素可以嵌套连接的组件。当存在特定的安装位置或外形尺寸来安装特定元素时,应使用此方法。

Element Occurrence Attributes General

注意:此属性模板与其他类似模板一样,源自与 mvdXML 相关联的旧有要求,以及 MVD 定义交换信息要求的早期时代。此类模板不再为规范增加价值,也不会传达超出模式中已定义信息的内容。此外,一些模板引用了已弃用的实体,可能导致不必要的混淆。 作为清理文档的更广泛工作的一部分,此模板和其他非必需模板将在下一个版本中删除。

物理构件可以通过 Tag 属性进一步标识。这是一个人类可读的标识符,例如构件或项目编号。虽然对此类标签的使用没有限制,但建议 Tag 在其包含的范围内是唯一的。

concept {
    IfcElement:Tag -> IfcIdentifier
}
Element Projecting General
concept {
    IfcElement:HasProjections -> IfcRelProjectsElement:RelatingElement
    IfcRelProjectsElement:RelatedFeatureElement -> IfcProjectionElement
    IfcProjectionElement:PredefinedType -> IfcProjectionElementTypeEnum
}
Element Voiding General

构件可以定义空腔,这些空腔可以是部分凹陷或贯穿整个深度。开口的空腔可选择性地由另一个构件填充,例如门、窗、土方或骨料填充,或者可以表示没有填充物的挖空特征。

构件的“主体”表示不考虑空腔,需要通过 CSG 操作来产生最终形状。

构件的“网格”表示考虑了空腔,因此无需额外的操作。

concept {
    IfcElement:HasOpenings -> IfcRelVoidsElement:RelatingBuildingElement
    IfcElement:HasOpenings[binding="HasOpenings"]
}
Element Voiding Features General

构件可以定义挖空特征,这可以通过切割、钻孔或铣削各种材料制成的构件来实现,或者通过嵌入混凝土等材料的模板来实现。

构件的“主体”表示不考虑空腔,需要通过 CSG 操作来产生最终形状。

构件的“网格”表示考虑了空腔,因此无需额外的操作。

concept {
    IfcElement:HasOpenings -> IfcRelVoidsElement:RelatingBuildingElement
    IfcRelVoidsElement:RelatedOpeningElement -> IfcVoidingFeature
    IfcVoidingFeature:PredefinedType -> IfcVoidingFeatureTypeEnum
    IfcElement:HasOpenings[binding="HasOpenings"]
    IfcRelVoidsElement:RelatedOpeningElement[binding="RelatedVoidingFeature"]
    IfcVoidingFeature:PredefinedType[binding="VoidingFeatureType"]
}
FootPrint Annotation Geometry General

“楼板平面标注几何体”是元素的几何表示形式的楼板平面投影,主要包含二维曲线、填充线和附加标注(如标签号或类似项)。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcGeometricCurveSet
    IfcShapeRepresentation:Items -> IfcAnnotationFillArea
    IfcShapeRepresentation:Items -> IfcTextLiteral
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Annotation2D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
FootPrint GeomSet PolyCurve Geometry General

楼板平面表示形式的此专门化使用索引曲线来表示边界。

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcGeometricCurveSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=GeometricCurveSet"]
    IfcGeometricCurveSet:Elements -> IfcIndexedPolyCurve
    IfcIndexedPolyCurve:Points -> IfcCartesianPointList2D
    IfcIndexedPolyCurve:Segments -> IfcArcIndex
    IfcIndexedPolyCurve:Segments -> IfcLineIndex
    IfcIndexedPolyCurve:SelfIntersect -> IfcBoolean
    IfcCartesianPointList2D:CoordList -> IfcLengthMeasure
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
FootPrint Geometry General

填充边界的元素提供“楼板平面”表示形式,指示矩形或任何任意的外部和内部边界曲线集。此类元素的示例包括楼板和空间。对于具有指示材料厚度的材料层集关联的元素,可以基于楼板平面和材料层生成“Body”表示形式。填充区域样式可以指示二维渲染的特定颜色、瓷砖或填充线。

楼板平面表示形式的表示标识符为:

concept {
    IfcProduct:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=FootPrint"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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"]
}
Lighting Geometry General

发光的元素提供“照明”表示形式。此类元素的示例包括灯具和照明设备。此表示形式可用于三维渲染或照明设计。

“照明”表示形式的表示标识符、类型以及唯一允许的单个表示项为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcLightSource
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Lighting"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=LightSource"]
    IfcLightSource:LightColour -> IfcColourRgb
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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

任何产品或产品类型都可以关联材料,以指示对象的物理组成。

材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
}
Material Single General

材料直接与产品和产品类型关联,以表示整个对象的均匀材料。

材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObjectIfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。

concept {
    IfcObjectDefinition:HasAssociations -> IfcRelAssociatesMaterial:RelatedObjects
    IfcRelAssociatesMaterial:RelatingMaterial -> IfcMaterial
    IfcMaterial -> Material
}
Nesting General

嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:

  • 嵌套用于产品构件,以指示外部可连接部件,例如安装在水槽上的水龙头或安装在接线盒内的开关。
  • 嵌套用于控制对象,以指示规范层次结构。
  • 嵌套用于过程对象,以指示可能并行或串行发生的从属过程。
  • 嵌套用于资源对象,以指示可能并行或串行发生的从属资源分配。

嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。

concept {
    IfcObjectDefinition:IsNestedBy -> IfcRelNests:RelatingObject
}
Object 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

对象实例可以通过特定的对象类型来定义,使用 对象类型定义 概念。对于大多数语义对象,定义了一对实体——一个对象实例实体和一个相应的对象类型实体。

在实例级别,对象实例可能具有:

  • 通过应用类型级别定义的所有特性,与其对象类型实例相似的状态;
  • 特定特性的覆盖状态;
  • 没有定义的对象类型实例。

在对象类型级别定义的特性可能包括:

  • 通用命名和预定义类型;
  • 类型驱动的属性集中的通用属性;
  • 通用几何表示,作为映射表示应用于每个实例;
  • 通用材质分配(材质集用法除外);
  • 分解结构的通用定义。

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

concept {
    IfcObject:IsTypedBy -> IfcRelDefinesByType:RelatedObjects
    IfcRelDefinesByType:RelatingType -> IfcTypeObject
    IfcObject:IsTypedBy[binding="HasType"]
    IfcRelDefinesByType:RelatingType[binding="RelatingType"]
    IfcTypeObject:Name[binding="TypeName"]
}
Object User Identity General

特性 Name 和可选的 Description 可用于 IfcObject 的所有子类型。对于那些具有对象类型定义的子类型,例如 IfcBeam - IfcBeamType,通用的 Name 和可选的 Description 与对象类型相关联。

Product Geometric Representation General

任何 IfcProduct 的几何表示由 IfcProductDefinitionShape 提供,允许进行多个几何表示。它使用 Product Placement 概念,利用 IfcLocalPlacement 建立对象坐标系,所有几何表示都基于该坐标系。

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 Grid Placement General

产品实例可以相对于网格进行定位,网格的轴可以被修改,从而使产品实例相对于网格轴重新定位。

concept {
    IfcProduct:ObjectPlacement -> IfcGridPlacement
    IfcGridPlacement:PlacementLocation -> IfcVirtualGridIntersection
    IfcGridPlacement:PlacementRefDirection -> IfcDirection
    IfcGridPlacement:PlacementRelTo -> IfcObjectPlacement
    IfcVirtualGridIntersection:OffsetDistances -> IfcLengthMeasure_0
    IfcVirtualGridIntersection:IntersectingAxes -> IfcGridAxis
    IfcGridAxis:AxisTag -> IfcLabel
    IfcGridAxis:AxisCurve -> IfcLine
    IfcGridAxis:SameSense -> IfcBoolean
    IfcLine:Pnt -> IfcCartesianPoint
    IfcLine:Dir -> IfcVector
    IfcCartesianPoint:Coordinates -> IfcLengthMeasure_1
    IfcObjectPlacement:PlacesObject -> IfcGrid_0:ObjectPlacement
}
Product Linear Placement General

具有 Product Linear Placement 模板的产品放置。它定义了基于曲线的局部坐标系,该曲线由 IfcLinearPlacement.RelativePlacement 引用,而 IfcLinearPlacement.RelativePlacement 是一个 IfcAxis2PlacementLinear.Location,使用 IfcPointByDistanceExpression.BasisCurve。局部坐标系基于曲线在 Location 处的切线、其在全局 Z 平面上的法线以及上述向量的叉积。

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

如果 IfcProductProduct Placement 相对于 IfcPositioningElement 定位,则此关系涵盖了定位 IfcProductIfcPositioningElement 的信息。

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
}
Profile 3D Geometry General

“型材3D几何体”是填充开口的元素的外部轮廓的标准表示形式。此类元素的示例包括门和窗。对于门和窗,型材几何体用于将衬砌和面板尺寸的参数化定义应用于型材。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundedCurve
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Profile"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Curve3D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Profile Geometry General

填充开口的元素提供“型材”表示形式,描述开口的形状。此类元素的示例包括门和窗。

型材表示形式的表示标识符为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Profile"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
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

几何表示形式的一种特定形式是“参考”几何体。它用于提供用于各种评估(如数量计算等)的几何体,但不用作显示,也不用于空洞关系中的隐式布尔运算。

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

Spatial Containment General

空间包含关系 概念定义了物理元素(如建筑元素、设备元素或家具元素)作为被包含在空间结构元素内的关系。

IfcElement 的任何子类型都可能参与两种不同的包含关系。第一种(在大多数实现场景中是强制性的)是层级空间包含关系,第二种(可选)是元素组件内的聚合关系。

concept {
    IfcElement:ContainedInStructure -> IfcRelContainedInSpatialStructure:RelatedElements
    IfcRelContainedInSpatialStructure:RelatingStructure -> IfcSpatialElement
    IfcSpatialElement:Name -> IfcLabel
    IfcRelContainedInSpatialStructure:RelatingStructure[binding="RelatingStructure"]
    IfcSpatialElement:Name[binding="SpatialElementName"]
}
Surface 3D Geometry General

“表面3D几何体”是具有描述对象内部或外部表面的“表面”表示形式的元素的标准表面表示形式,例如用于在元素的中平面上定义热边界。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcBoundedSurface
    IfcShapeRepresentation:Items -> IfcSweptSurface
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Surface3D"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Surface Feature Adherence General

附着表示主体结构(称为“主机”)与附着组件(称为“附着元素”)之间的外部部分组成关系。附着概念有多种用法,例如:

  • 附着用于建筑构件,以附着表面特征,这些特征以标记、表面处理或缺陷的形式修改了主机构件。

附着是一种双向关系,从主机结构到其附加组件的关系称为附着(adherence),从组件到其主机结构的关系称为托管(hosting)。

concept {
    IfcElement:HasSurfaceFeatures -> IfcRelAdheresToElement:RelatingElement
    IfcRelAdheresToElement:RelatedSurfaceFeatures -> IfcSurfaceFeature
    IfcSurfaceFeature:Name -> IfcLabel
    IfcElement:HasSurfaceFeatures[binding="HasSurfaceFeatures"]
    IfcRelAdheresToElement:RelatedSurfaceFeatures[binding="RelatedSurfaceFeatures"]
    IfcSurfaceFeature:Name[binding="SurfaceFeatureName"]
}
Surface Geometry General

元素可以具有“表面”表示形式,描述对象的外部表面。此表示形式可用于测试具有部件组合(如框架墙)的对象,或用于在元素的中平面上理想化定义热边界。

表面表示形式的表示标识符为:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
Surface Sectioned Geometry General

“表面分段几何体”是具有“表面”表示形式的元素的表示形式,其中表面使用两个或多个开放轮廓来定义,这些轮廓沿着指定的路径(directrix)在指定位置之间扫掠,例如用于定义 IfcCourse 的上边界。

包含此几何表示形式的 IfcShapeRepresentation 的以下特性值应被使用:

concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcSectionedSurface
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=SectionedSurface"]
    IfcSectionedSurface:Directrix -> IfcBoundedCurve
    IfcSectionedSurface:CrossSections -> IfcProfileDef
    IfcSectionedSurface:CrossSections -> IfcOpenCrossProfileDef
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
    IfcSectionedSurface:Directrix[binding="Directrix"]
    IfcSectionedSurface:CrossSections[binding="CrossSections"]
}
Surface Tessellation Geometry General
concept {
    IfcElement:Representation -> IfcProductDefinitionShape
    IfcProductDefinitionShape:Representations -> IfcShapeRepresentation
    IfcShapeRepresentation:ContextOfItems -> IfcGeometricRepresentationContext
    IfcShapeRepresentation:RepresentationIdentifier -> IfcLabel_0
    IfcShapeRepresentation:RepresentationType -> IfcLabel_1
    IfcShapeRepresentation:Items -> IfcTriangulatedFaceSet
    IfcLabel_0 -> constraint_0
    constraint_0[label="=Surface"]
    IfcLabel_1 -> constraint_1
    constraint_1[label="=Tessellation"]
    IfcTriangulatedFaceSet:Coordinates -> IfcCartesianPointList3D
    IfcTriangulatedFaceSet:Normals -> IfcParameterValue
    IfcTriangulatedFaceSet:LayerAssignment -> IfcPresentationLayerAssignment:AssignedItems
    IfcTriangulatedFaceSet:StyledByItem -> IfcStyledItem:Item
    IfcCartesianPointList3D:CoordList -> IfcLengthMeasure
    IfcPresentationLayerAssignment -> Layer
    IfcStyledItem:Styles -> IfcSurfaceStyle
    IfcSurfaceStyle -> Surface_Color_Style
    IfcShapeRepresentation:RepresentationIdentifier[binding="Identifier"]
    IfcShapeRepresentation:RepresentationType[binding="Type"]
    IfcShapeRepresentation:Items[binding="Items"]
}
表 5.4.3.29.D

5.4.3.29.6 形式化表示(Formal representation)

ENTITY IfcFeatureElementAddition
 ABSTRACT SUPERTYPE OF (ONEOF
	(IfcProjectionElement))
 SUBTYPE OF (IfcFeatureElement);
 INVERSE
	ProjectsElements : IfcRelProjectsElement FOR RelatedFeatureElement;
END_ENTITY;

5.4.3.29.7 参考文献