行业基础类STEP文件(IFC)的特征表示
本节描述了可从IFC读者输出的功能。一般情况下,IFC作家将接受功能,它具有相同的结构从读者的输出。
当在关系模式操作时,IFC读者将产生的特征为在源IFC文件的每个对象。在IFC数据模型而言,这意味着每个对象,其类型为IFCProduct的子类型将作为特征输出。这些功能将有许多这表明其对IFC对象层次内发生的属性。
- GlobalId: This attribute will contain the object’s global id, as copied directly from the IFC file.When writing features, this value may be replaced, if it is not a valid GUID.该 GUID specification can be foundhere.
- ifc_unique_id: This attribute will contain a value which is guaranteed to be unique among all features produced from a single IFC file.In some cases, multiple objects within a single IFC file will have the same GlobalId value.In those cases, theifc_unique_idattribute can be used to distinguish between features with the same GlobalId.
- ifc_parent_id: This attribute will contain the GlobalId value of the feature’s parent object.For example, a wall feature will have a building storey feature as its parent, and a window may have a wall or opening as its parent object.
- ifc_parent_unique_id: This attribute is similar to theifc_parent_idattribute, except that it will contain the same value as the ifc_unique_id attribute of the parent feature.
每个功能将有一个IFMEAggregate几何形状。聚集体的部分将成为对象的各种几何形状的表示,以及其描述该对象的任何属性/数量套。
当在分层模式下运行,国际金融公司读者会产生一个单一的功能,它包含所有IFC在源文件中的对象。每个对象将由IFMEAggregate几何表示。几何名称将指示哪种类型的IFC对象的由骨料几何表示。
聚集体的几何形状的每个部分将成为对象的几何表示,属性/数量集或嵌套IFC对象。通常情况下,层次结构的顶部水平将是这样的:
IfcProject> IfcSite> IfcBuilding> IfcBuildingStorey
国际金融公司作家将接受其功能特征类型是已知的IFC对象类型。对象类型的完整列表取决于IFC正在写入的版本。最常用的功能类型有:
- IfcProject
- IfcSite
- IfcBuilding
- IfcBuildingStorey
- IfcSpace
- IfcBeam
- IfcColumn
- IfcWall / IfcWallStandardCase
- IfcDoor
- IfcWindow
- IfcSlab
- IfcRoof
- IfcStair / IfcStairFlight
国际金融公司作家会自动创建项目,选址和建设目标,如果没有作为从工作区功能提供。此外,建筑物层高的对象将被创建,以保持它们没有父ID,或者它的父ID不能得到解决所有功能。
笔者将接受IFC对象的特点,或嵌套的几何形状。例如,壁对象可以到达作为IfcWall特征,或作为几何包含在父对象内,与几何名称设置为IfcWall。这对应于hierarchical和relational读者模式。
除了ID值描述IFC对象 - 关系模式所有IFC对象可以有一个名称和描述值。某些对象类型可以具有其它值也是如此。例如,在写时IFC2x3,IfcRailing对象可以具有一个PredefinedType值,和写入IFC4时,一个IfcWindow对象可以具有几个额外的值,包括PredefinedType和PartitioningType。要确定哪些对象可以具有的准确值,指的是用于正被写入的IFC版本的文档。
国际金融公司对象可能有多种几何表示。例如,壁可以具有3D模型,以及一个简单的线表示。每个几何表示属于一个表示上下文。表示上下文列表国际金融公司笔者将输出可以利用“表示上下文”参数进行设置。
每个几何表示必须表明它属于哪个上下文。这个值可以在几何名称进行设置,或在ifc_representation_identifier几何特征。
此值必须完全匹配值中的一个的标识符列Representation Contextswriter parameter和几何类型必须匹配在对应的几何类型细胞中列出的类型之一。如果不符合这些标准的几何图形将被忽略。
在IFC数据模型,开口是必须明确创建的对象。例如,创建在墙壁上的窗口时,第一开口必须被切出的壁,然后窗口被放置到开口中。
国际金融公司作家希望IfcOpeningElement对象到达作为特征或嵌套的几何形状,酷似任何其他IFC对象。然而,开口的几何表示可以到达作为另一功能的一部分。如果CSG固体到达作为对象的几何形状的表示,作家将着眼于用于任何减影固体ifc_opening_id特征。如果此特征存在,则几何形状将被用作链接的开口对象的几何表示。如果特征值不对应于一个IfcOpeningElement对象,一个新的将被创建。
根据的价值Read Property/Quantity Sets Asreader parameter中,IFC读者表示属性集嵌套的几何形状,或为特征。如果使用的特征表示,特征类型将是IfcPropertySet。类似地,如果使用的几何形状的表示,几何名称将被设置为IfcPropertySet。确定哪些IFC的类型对象的特征或几何表示当IFC作家将查找这些值。该ifc_property_set_name属性/特性将被设置为属性集名称,和属性GlobalId将包含属性集ID。当编写属性集,GlobalId不是再保险quired, and anifc_unique_idvalue may be used instead.If anifc_unique_idvalue is used, the IFC writer will automatically generate a valid GUID for the property set.
When property sets are read as features, an IFC object will refer to a property set by including the property set’s GlobalId value in the object’sifc_property_sets{}list attribute.Similarly, the IFC writer will look for this list attribute when relating IFC object features to property set features.In the writer, this list attribute may contain the GlobalId orifc_unique_idvalue of the related property set.该 individual properties in the property set will be set as attributes on the IfcPropertySet feature.
When property sets are read as nested geometries, the IFMEAggregate geometry representing an IFC object will contain ageometry instancefor each property set associated with the IFC object.该 geometry instance will refer to a geometry definition, which will be an IFMENull geometry.该 individual properties in the property set will be set as traits on the geometry.Since the property set is nested within the object’s aggregate geometry, there is no need to link the object to the property set with theifc_property_sets{}list attribute.
Quantity sets are handled similarly to property sets – the IFC reader will produce quantity sets as features or as nested geometries.Depending on the representation used, the feature type or geometry name will be set to IfcQuantitySet.该ifc_quantity_set_nameattribute/trait will contain the quantity set name, and the GlobalId attribute/trait will contain the quantity set id.When writing quantity sets, the GlobalId is not required, and anifc_unique_idvalue may be used instead.If anifc_unique_idvalue is used, the IFC writer will automatically generate a valid GUID for the quantity set.
When quantity sets are read as features, an IFC objects will refer to a quantity set by including the quantity set’s GlobalId value in the object’sifc_quantity_sets{}list attribute.Similarly, the IFC writer will look for this list attribute when relating IFC object features to quantity set features.In the writer, this list attribute may contain the GlobalId orifc_unique_idvalue of the related quantity set.该 individual quantities in the quantity set will be set as attributes on the IfcQuantitySet feature.
When property sets are read as nested geometries, the IFMEAggregate geometry representing an IFC object will contain a geometry instance for each quantity set associated with the IFC object.该 geometry instance will refer to a geometry definition, which will be an IFMENull geometry.该 individual quantities in the property set will be set as traits on the geometry.Since the quantity set is nested within the object’s aggregate geometry, there is no need to link the object to the quantity set with theifc_quantity_sets{}list attribute.
该 IFC reader can optionally produce features which contain the definition of the property and quantity sets in an IFC file.This behavior is controlled by the ‘Create Property/Quantity Set Definition Features’ parameter.
该se definition features can be considered as ‘schema features’ for the property and quantity sets in an IFC file.该y will contain list attributes which describe the names, types and data types of the properties in a property set, or the quantities in a quantity set.
该 IFC writer will only write out property and quantity sets for which it has a definition.By default, the writer is aware of the property and quantity sets which are defined in the IFC specification, such as Pset_BuildingCommon or Qto_WallBaseQuantities.In order to write out property or quantity sets which are not defined in the IFC specification, a definition feature must be sent to the writer.In particular, when doing an IFC to IFC translations, the source property and quantity sets will only be preserved if the property and quantity set definition features from the reader are sent to the writer.
Property Set Definitions
A property set definition feature will have its feature type set to ‘PropertySetDefinition’.该 property set name will be stored in the ifc_property_set_name attribute.Information about the properties in the property set will be stored the following list attributes:
- ifc_properties{}.name – This list attribute will contain the names of the properties in the property set.
- ifc_properties{}.property_type – This list attribute will contain the type of the property.At the moment the only supported property types are:
- IfcPropertySingleValue
- IfcPropertyBoundedValue
- IfcPropertyEnumeratedValue
- ifc_properties{}.data_type – This list attribute will contain the data type of the property.该re is a larger number of supported data types.该 full list can be seen at the following pages:
IFC2x3 | IFC4 |
---|---|
A quantity set definition will have its feature type set toQuantitySetDefinition.该 quantity set name will be stored in theifc_quantity_set_nameattribute.Information about the quantities in the quantity set will set stored in the following list attributes:
- ifc_quantities{}.name – This list attribute will contain the names of the quantities in the quantity set.
- ifc_quantities{}.type – This list attribute will contain the types of the quantities in the quantity set.Valid values in this list attribute are:
- IfcQuantityArea
- IfcQuantityCount
- IfcQuantityLength
- IfcQuantityTime
- IfcQuantityVolume
- IfcQuantityWeight
Objects of type IfcDistributionPort define the topology of distribution systems in a building, such as the plumbing, electrical, or HVAC systems.该 IFC reader produces a feature for each IfcDistributionPort object in the IFC file.这些特性使用ifc_parent_id属性 refer to the distribution object they are a part of, such as a pipe fitting or an air duct.In addition, if two ports are connected, each one will have its ifc_connected_port_id attribute set to the GlobalId value of the other.
When writing distribution port objects, it is not necessary for two connected port objects to refer to each other.该 reference may go in one direction only.