Struct Ifc2x3¶
Defined in File Ifc2x3.h
Nested Relationships¶
Struct Documentation¶
-
struct
Ifc2x3
¶ Public Types
-
typedef IfcUtil::IfcBaseClass
IfcActorSelect
¶ The actor select type allows a person, or an organization, or a person associated with an organization to be referenced.
NOTE Corresponds to the following entity in ISO 10303-41: person_organization_select.
HISTORY New entity in IFC Release 1.5.1
SELECT
IfcOrganization An organization. IfcPerson A person. IfcPersonAndOrganization A person related to an organization.
-
typedef IfcUtil::IfcBaseClass
IfcAppliedValueSelect
¶ IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue.
Select from:
IfcMeasureWithUnit IfcMonetaryMeasure IfcRatioMeasure
HISTORY: New SELECT type in IFC 2x2.
Use definitions Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8
-
typedef IfcUtil::IfcBaseClass
IfcAxis2Placement
¶ Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality.
NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard.
HISTORY: New type in IFC Release 1.5
-
typedef IfcUtil::IfcBaseClass
IfcBooleanOperand
¶ Definition from ISO/CD 10303-42:1992: This select type identifies all those types of entities which may participate in a Boolean operation to form a CSG solid.
Definition from IAI: CSG primitives are out of scope for the current IFC Release. Only faceted B-reps, swept area solids and half space solids are available as Boolean operands. Boolean results themselves can be used as operands thus enabling nested Boolean operations.
NOTE Corresponding STEP type: boolean_operand, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard. In IFC Release 1.5.1 & 2.0 only Boolean results (IfcBooleanResult), half space solids (IfcHalfSpaceSolid), faceted B-Rep, extruded solids and revolved solids (IfcSolidModel) are defined for being valid Boolean operands.
HISTORY: New Type in IFC Release 1.5.1
-
typedef IfcUtil::IfcBaseClass
IfcCharacterStyleSelect
¶ The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable.
NOTE Corresponding ISO 10303 name: character_style_select. Please refer to ISO/IS 10303-46:1994, p. 89 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
IFC2x3 CHANGE The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour.
-
typedef IfcUtil::IfcBaseClass
IfcClassificationNotationSelect
¶
-
typedef IfcUtil::IfcBaseClass
IfcColour
¶ Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture.
NOTE Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcColourOrFactor
¶ The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components.
HISTORY: New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcConditionCriterionSelect
¶
-
typedef IfcUtil::IfcBaseClass
IfcCsgSelect
¶ Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive.
NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard.
HISTORY New Type in IFC Release 1.5.1.
-
typedef IfcUtil::IfcBaseClass
IfcCurveFontOrScaledCurveFontSelect
¶ Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling.
NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcCurveOrEdgeCurve
¶ IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. SELECT
HISTORY New select type in IFC2x Edition 3.
-
typedef IfcUtil::IfcBaseClass
IfcCurveStyleFontSelect
¶ Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font.
NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcDateTimeSelect
¶
-
typedef IfcUtil::IfcBaseClass
IfcDefinedSymbolSelect
¶ The defined symbol select is a selection between a predefined symbol and an externally defined symbol.
NOTE Corresponding ISO 10303 name: defined_symbol_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcDerivedMeasureValue
¶ IfcDerivedMeasureValue is a select type for selecting between derived measure types.
SELECT
IfcAbsorbedDoseMeasure IfcAccelerationMeasure IfcAngularVelocityMeasure IfcCompoundPlaneAngleMeasure IfcDoseEquivalentMeasure IfcDynamicViscosityMeasure IfcElectricCapacitanceMeasure IfcElectricChargeMeasure IfcElectricConductanceMeasure IfcElectricResistanceMeasure IfcElectricVoltageMeasure IfcEnergyMeasure IfcForceMeasure IfcFrequencyMeasure IfcHeatFluxDensityMeasure IfcIlluminanceMeasure IfcInductanceMeasure IfcIntegerCountRateMeasure IfcIsothermalMoisturecapacityMeasure IfcKinematicViscosityMeasure IfcLinearForceMeasure IfcLinearMomentMeasure IfcLinearStiffnessMeasure IfcLinearVelocityMeasure IfcLuminousFluxMeasure IfcMagneticFluxDensityMeasure IfcMagneticFluxMeasure IfcMassDensityMeasure IfcMassFlowRateMeasure IfcModulusOfElasticityMeasure IfcModulusOfSubgradeReactionMeasure IfcMoistureDiffusivityMeasure IfcMolecularWeightMeasure IfcMomentOfInertiaMeasure IfcMonetaryMeasure IfcPlanarForceMeasure IfcPowerMeasure IfcPressureMeasure IfcRadioActivityMeasure IfcRotationalFrequencyMeasure IfcRotationalStiffnessMeasure IfcShearModulusMeasure IfcSpecificHeatCapacityMeasure IfcThermalAdmittanceMeasure IfcThermalConductivityMeasure IfcThermalResistanceMeasure IfcThermalTransmittanceMeasure IfcTimeStamp IfcTorqueMeasure IfcVaporPermeabilityMeasure IfcVolumetricFlowRateMeasure IfcCurvatureMeasure IfcMassPerLengthMeasure IfcRotationalMassMeasure IfcSectionalAreaIntegralMeasure IfcSectionModulusMeasure IfcTemperatureGradientMeasure IfcTemperatureRateOfChangeMeasure IfcWarpingConstantMeasure IfcWarpingMomentMeasure IfcThermalExpansionCoefficientMeasure IfcModulusOfLinearSubgradeReactionMeasure IfcModulusOfRotationalSubgradeReactionMeasure IfcLuminousIntensityDistributionMeasure IfcSoundPowerMeasure IfcSoundPressureMeasure
HISTORY New type in IFC Release 2x.
IFC2x4 change: added IfcTemperatureRateOfChangeMeasure.
-
typedef IfcUtil::IfcBaseClass
IfcDocumentSelect
¶ IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source.
HISTORY: New Select Type in IFC 2x
Select From:
IfcDocumentInformation (for “metadata” of an external document) IfcDocumentReference (for reference within a document)
-
typedef IfcUtil::IfcBaseClass
IfcDraughtingCalloutElement
¶
-
typedef IfcUtil::IfcBaseClass
IfcFillAreaStyleTileShapeSelect
¶ The fill area style tile shape select is used to make a selection for the style of the fill area style tile.
NOTE: The IfcFillAreaStyleTileShapeSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
NOTE Corresponding ISO 10303 name: fill_area_style_tile_shape_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcFillStyleSelect
¶ Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles.
NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcGeometricSetSelect
¶ Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set.
NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard.
HISTORY: New type in IFC Release 2x.
-
typedef IfcUtil::IfcBaseClass
IfcHatchLineDistanceSelect
¶ The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector.
HISTORY New type in IFC2x3.
-
typedef IfcUtil::IfcBaseClass
IfcLayeredItem
¶ Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers.
It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer.
NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard.
HISTORY: New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcLibrarySelect
¶ IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source.
HISTORY: New Select Type in IFC2x
Select From:
IfcLibraryInformation (for library information) IfcLibraryReference (for reference into a library of information by location)
Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building.
-
typedef IfcUtil::IfcBaseClass
IfcLightDistributionDataSourceSelect
¶ A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution.
The light distribution provides the luminous intensity distribution according to some standardized light distribution curves.
Select:
Type Definition
IfcExternalReference Light distribution is represented by a standard photometric data file such as Eulumdat, IES, CIBSE TM14.
IfcLightIntensityDistribution For representing a light distribution directly the following values needs to be given in a table like structure with column and row headings. These headings should contain the angles (C/γ or B/β ) and the table body contains the intensity values, (normally normalized to cd/Klm). The angles can be non- equidistant and the angle steps can be almost any value in the valid range, so a list of all available angles in both directions covers all cases.
HISTORY New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcMaterialSelect
¶ IfcMaterialSelect provides selection of either a material definition or a material usage definition that can be assigned to an element, a resource or another entity within IFC. SELECT
IfcMaterialDefinition
IfcMaterial IfcMaterialLayer IfcMaterialLayerSet IfcMaterialProfile IfcMaterialProfileSet IfcMaterialConstituent IfcMaterialConstituentSet
IfcMaterialUsageDefinition
IfcMaterialLayerSetUsage IfcMaterialProfileSetUsage
HISTORY New select in IFC 1.0
IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards.
-
typedef IfcUtil::IfcBaseClass
IfcMeasureValue
¶ Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2).
NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41.
NOTE Corresponding ISO 10303 name: measure_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
IFC 2x4 change: added IfcNonNegativeLengthMeasure
-
typedef IfcUtil::IfcBaseClass
IfcMetricValueSelect
¶ IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric.
HISTORY: New type in IFC Release 2.0
Select
IfcCostValue IfcDateTime IfcMeasureWithUnit IfcTable IfcText IfcTimeSeries
-
typedef IfcUtil::IfcBaseClass
IfcObjectReferenceSelect
¶ IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set.
HISTORY New select type in IFC Release 2.0.
-
typedef IfcUtil::IfcBaseClass
IfcOrientationSelect
¶
-
typedef IfcUtil::IfcBaseClass
IfcPointOrVertexPoint
¶ IfcPointOrVertexPointprovides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. SELECT
HISTORY New select type in IFC2x Edition 3.
-
typedef IfcUtil::IfcBaseClass
IfcPresentationStyleSelect
¶ Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled.
NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
IFC2x4 CHANGE The select type has been deprecated.
-
typedef IfcUtil::IfcBaseClass
IfcShell
¶ Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥.
A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. A shell of dimensionality 1 is represented by a connected graph of dimensionality 1. A shell of dimensionality 2 is a topological entity constructed by joining faces along edges. Its domain, if present, is a connected, orientable 2-manifold with boundary, that is, a connected, oriented, finite, non-self-intersecting surface, which may be closed or open.
Shells of dimensionality 0 and 1 are not part of the current IFC release.
NOTE Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release.
HISTORY New type in IFC2x.
-
typedef IfcUtil::IfcBaseClass
IfcSimpleValue
¶ IfcSimpleValue is a select type for selecting between simple value types.
SELECT
IfcInteger: Defined type of simple type INTEGER. IfcReal: Defined type of simple type REAL. IfcBoolean: Defined type of simple type BOOLEAN. IfcLogical: Defined type of simple type LOGICAL. IfcIdentifier: Defined type of simple type STRING for identification purposes. IfcLabel: Defined type of simple type STRING for naming purposes. IfcText: Defined type of simple type STRING for descriptive purposes. IfcDateTime: Defined type of simple type STRING to represent a date and time. IfcDate: Defined type of simple type STRING to represent a date. IfcTime: Defined type of simple type STRING to represent a time. IfcDuration: Defined type of simple type STRING to represent a duration.
HISTORY New type in IFC Release 2x.
IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added.
-
typedef IfcUtil::IfcBaseClass
IfcSizeSelect
¶ Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure.
Definition from ISO: The size (or width) measure value is given in the global drawing length units.
NOTE global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.
NOTE Corresponding ISO 10303 name: size_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
IFC2x3 CHANGE The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added.
-
typedef IfcUtil::IfcBaseClass
IfcSpecularHighlightSelect
¶ The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness.
NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes:
in ISO10303-46 the attribute specular_exponent is given in VRML97 the attribute shininess is given
For each surface side style only one of the two methods is needed for calculating the specular part of the equation.
HISTORY: New type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcStructuralActivityAssignmentSelect
¶ Definition from IAI: This type definition shall be used to distinguish between a reference to an instance either of IfcStructuralItem or IfcBuildingElement. The IfcStructuralActivityAssignmentSelect type is referenced by the entity IfcRelConnectsStructuralActivity which defines the connection between activities (IfcStructuralActivity) and the loaded element.
HISTORY: New type in Release IFC2x Edition 2.
-
typedef IfcUtil::IfcBaseClass
IfcSurfaceOrFaceSurface
¶ IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. SELECT
IfcSurface IfcFaceSurface IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface)
HISTORY New select type in IFC2x3.
-
typedef IfcUtil::IfcBaseClass
IfcSurfaceStyleElementSelect
¶ Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface.
The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library.
NOTE The IfcSurfaceLightingProperties are needed for exact lighting calculation, because physically based lighting calculation algorithms need exact physically based parameters. The factors in IfcSurfaceStyleRendering lack the physical base, they are intended for rendering calculations, but a lighting calculation based software cannot use these values.
NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard.
HISTORY: New Select type in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcSymbolStyleSelect
¶ The symbol style select allows for the selection of styles to be assigned to an annotated symbol.
NOTE: The selection is restricted to colour within the current release of IFC
NOTE Corresponding ISO 10303 name: symbol_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
-
typedef IfcUtil::IfcBaseClass
IfcTextFontSelect
¶ IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303.
NOTE IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard.
HISTORY New type in IFC2x2.
IFC2x3 CHANGE The select type has been renamed from IfcFontSelect.
-
typedef IfcUtil::IfcBaseClass
IfcTextStyleSelect
¶ The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices:
IfcTextStyleWithBoxCharacteristics for definitions from ISO/IS 10303-46:1994 for (old) vector based and monospace text. IfcTextStyleTextModel for definitions from Cascading Style Sheets, level 1, W3C Recommendation 17 Dec 1996, revised 11 Jan 1999, CSS1, for all true type text. The use of the CSS1 definitions is the preferred way to represent text styles.
HISTORY New type in IFC2x2.
IFC2x3 CHANGE The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel.
-
typedef IfcUtil::IfcBaseClass
IfcTrimmingSelect
¶ Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve.
NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard.
HISTORY New Type in IFC Release 1.0
-
typedef IfcUtil::IfcBaseClass
IfcUnit
¶ Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed.
NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41.
NOTE: Corresponding ISO 10303 name: unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
SELECT
IfcNamedUnit: A unit which is identified by a name. IfcDerivedUnit: A unit which is derived from an expression of units. IfcMonetaryUnit: A unit for defining currencies.
HISTORY: New type in IFC Release 1.5.1.
-
typedef IfcUtil::IfcBaseClass
IfcValue
¶ IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, IfcMeasureValue and IfcDerivedMeasureValue.
SELECT
IfcSimpleValue A select type for basic defined types of simple data type. IfcMeasureValue A select type for basic measure types of ISO 10303-41. IfcDerivedMeasureValue A select type for derived measure types.
HISTORY New type in IFC Release 2x.
-
typedef IfcUtil::IfcBaseClass
IfcVectorOrDirection
¶ Definition from ISO/CD 10303-42:1992: This type is used to identify the types of entity which can participate in vector computations.
NOTE Corresponding STEP type: vector_or_direction, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard.
HISTORY New Type in IFC Release 1.5
Public Static Functions
-
const IfcParse::schema_definition &
get_schema
()¶
Public Static Attributes
-
const char *const
Identifier
¶
-
class
Ifc2DCompositeCurve
: public Ifc2x3::IfcCompositeCurve Public Types
-
typedef IfcTemplatedEntityList<Ifc2DCompositeCurve>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
Ifc2DCompositeCurve
(IfcEntityInstanceData *e)
-
Ifc2DCompositeCurve
(IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr v1_Segments, bool v2_SelfIntersect)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<Ifc2DCompositeCurve>
-
class
IfcAbsorbedDoseMeasure
: public IfcUtil::IfcBaseType IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. Usually measured in Gray (Gy, J/kg). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcAbsorbedDoseMeasure
(IfcEntityInstanceData *e)
-
IfcAbsorbedDoseMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcAccelerationMeasure
: public IfcUtil::IfcBaseType IfcAccelerationMeasure is a measure of acceleration. Usually measured in m/s2. Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcAccelerationMeasure
(IfcEntityInstanceData *e)
-
IfcAccelerationMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcActionRequest
: public Ifc2x3::IfcControl A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work.
Requests may take many forms depending on the need including fault reports for maintenance, requests for small works, and purchase requests (where these are to be made through a help desk or buying function).
HISTORY: New entity in IFC2x2 IFC2x4 CHANGE RequestID renamed to Identification and promoted to supertype IfcControl, attributes PredefinedType, Status, and LongDescription added.
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcControl and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ActionRequest
Declaration Use Definition The IfcActionRequest may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcActionRequest. Alternatively, if the IfcActionRequest is aggregated within an IfcWorkPlan, then it shall not have a direct declaration relationship (whereas the containing work plan may have a declaration relationship).
Composition Use Definition As shown in Figure 155, an IfcActionRequest may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcActionRequest and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:
(All Types): May contain IfcCostSchedule components. A cost schedule may indicate costs and quantities where the cost schedule type may designate whether rates and/or quantities are estimated or final. Such cost schedule may have assigned cost items indicating detail, where each cost item may have assigned products, processes, or resources.
The IfcActionRequest may be nested into sub-items using IfcRelNests where RelatingObject refers to the enclosing IfcActionRequest and RelatedObjects contains one or more sub-items. Nesting use is defined for the following predefined types:
(All Types): May contain IfcActionRequest sub-items. A request may be nested into follow-up requests, in order of issue.
Figure 155 — Action request composition
Assignment Use Definition As shown in Figure 156, an IfcActionRequest may be assigned to the following entities using relationships as indicated:
IfcActor (IfcRelAssignsToActor): Person or organization issuing the request such as a tenant or owner.
The IfcActionRequest may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcActionRequest and RelatedObjects contains one or more objects of the following types: IfcActor: Person or organization(s) fulfilling the request such as a facilities manager or contractor.
Figure 156 — Action request assignment
Approval Use Definition Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.
Public Types
-
typedef IfcTemplatedEntityList<IfcActionRequest>
list
Public Functions
-
std::string
RequestID
() const
-
void
setRequestID
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcActionRequest
(IfcEntityInstanceData *e)
-
IfcActionRequest
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, std::string v6_RequestID)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcActionRequest>
-
struct
IfcActionSourceTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI:This enumeration type contains possible action sources.
HISTORY: New type in Release IFC2x Edition 2.
Values:
-
enumerator
IfcActionSourceType_DEAD_LOAD_G
¶
-
enumerator
IfcActionSourceType_COMPLETION_G1
¶
-
enumerator
IfcActionSourceType_LIVE_LOAD_Q
¶
-
enumerator
IfcActionSourceType_SNOW_S
¶
-
enumerator
IfcActionSourceType_WIND_W
¶
-
enumerator
IfcActionSourceType_PRESTRESSING_P
¶
-
enumerator
IfcActionSourceType_SETTLEMENT_U
¶
-
enumerator
IfcActionSourceType_TEMPERATURE_T
¶
-
enumerator
IfcActionSourceType_EARTHQUAKE_E
¶
-
enumerator
IfcActionSourceType_FIRE
¶
-
enumerator
IfcActionSourceType_IMPULSE
¶
-
enumerator
IfcActionSourceType_IMPACT
¶
-
enumerator
IfcActionSourceType_TRANSPORT
¶
-
enumerator
IfcActionSourceType_ERECTION
¶
-
enumerator
IfcActionSourceType_PROPPING
¶
-
enumerator
IfcActionSourceType_SYSTEM_IMPERFECTION
¶
-
enumerator
IfcActionSourceType_SHRINKAGE
¶
-
enumerator
IfcActionSourceType_CREEP
¶
-
enumerator
IfcActionSourceType_LACK_OF_FIT
¶
-
enumerator
IfcActionSourceType_BUOYANCY
¶
-
enumerator
IfcActionSourceType_ICE
¶
-
enumerator
IfcActionSourceType_CURRENT
¶
-
enumerator
IfcActionSourceType_WAVE
¶
-
enumerator
IfcActionSourceType_RAIN
¶
-
enumerator
IfcActionSourceType_BRAKES
¶
-
enumerator
IfcActionSourceType_USERDEFINED
¶
-
enumerator
IfcActionSourceType_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcActionTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration type is used to distinguish between possible action types at a high level. It can be used for an automated definition of load combinations and for dimensioning. The contained items and their acronyms are adopted from the Eurocode standard.
HISTORY: New type in Release IFC2x Edition 2.
Values:
-
enumerator
IfcActionType_PERMANENT_G
¶
-
enumerator
IfcActionType_VARIABLE_Q
¶
-
enumerator
IfcActionType_EXTRAORDINARY_A
¶
-
enumerator
IfcActionType_USERDEFINED
¶
-
enumerator
IfcActionType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcActor
: public Ifc2x3::IfcObject The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles.
HISTORY New Entity in IFC Release 2.0
Relationship use definition Actors are assigned (such as to a process or a resource) by the relationship object that refers to the corresponding object:
Process: assigned using IfcRelAssignsToProcess Resource: assigned using IfcRelAssignsToResource
Property set use definition The property sets relating to the IfcActor are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release:
Pset_ActorCommon: common property set for all actor occurrences
Subclassed by Ifc2x3::IfcOccupant
Public Types
-
typedef IfcTemplatedEntityList<IfcActor>
list
Public Functions
-
::Ifc2x3::IfcActorSelect *
TheActor
() const Information about the actor.
-
void
setTheActor
(::Ifc2x3::IfcActorSelect *v)
-
IfcTemplatedEntityList<IfcRelAssignsToActor>::ptr
IsActingUpon
() const
-
const IfcParse::entity &
declaration
() const
-
IfcActor
(IfcEntityInstanceData *e)
-
IfcActor
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcActorSelect *v6_TheActor)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcActor>
-
class
IfcActorRole
: public IfcUtil::IfcBaseEntity Definition: A role which is performed by an actor, either a person, an organization or a person related to an organization.
NOTE: The list of roles of the enumeration values of the Role attribute can never be complete. Therefore using enumeration value USERDEFINED, the user can provide his/her own role as a value of the attribute UserDefinedRole.
Corresponds to the following entity in ISO-10303-41: organization_role and person_role.
HISTORY New entity in IFC Release 1.5.1
Public Types
-
typedef IfcTemplatedEntityList<IfcActorRole>
list
Public Functions
-
::Ifc2x3::IfcRoleEnum::Value
Role
() const The name of the role played by an actor. If the Role has value USERDEFINED, then the user defined role shall be provided as a value of the attribute UserDefinedRole.
-
void
setRole
(::Ifc2x3::IfcRoleEnum::Value v)
-
bool
hasUserDefinedRole
() const Whether the optional attribute UserDefinedRole is defined for this IfcActorRole.
-
std::string
UserDefinedRole
() const Allows for specification of user defined roles beyond the enumeration values provided by Role attribute of type IfcRoleEnum. When a value is provided for attribute UserDefinedRole in parallel the attribute Role shall have enumeration value USERDEFINED.
-
void
setUserDefinedRole
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcActorRole.
-
std::string
Description
() const A textual description relating the nature of the role played by an actor.
-
void
setDescription
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcActorRole
(IfcEntityInstanceData *e)
-
IfcActorRole
(::Ifc2x3::IfcRoleEnum::Value v1_Role, boost::optional<std::string> v2_UserDefinedRole, boost::optional<std::string> v3_Description)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcActorRole>
-
class
IfcActuatorType
: public Ifc2x3::IfcDistributionControlElementType The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a actuator specification (i.e. the specific product information, that is common to all occurrences of that product type). Actuator types may be exchanged without being already assigned to occurrences. Occurrences of IfcActuatorType are represented by instances of IfcActuator.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_ActuatorTypeCommon Pset_ActuatorTypeElectricActuator (ELECTRICACTUATOR) Pset_ActuatorTypeHydraulicActuator (HYDRAULICACTUATOR) Pset_ActuatorTypeLinearActuation Pset_ActuatorTypePneumaticActuator (PNEUMATICACTUATOR) Pset_ActuatorTypeRotationalActuation
Material Use Definition The material of the IfcActuatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcActuatorType>
list
Public Functions
-
::Ifc2x3::IfcActuatorTypeEnum::Value
PredefinedType
() const Identifies the predefined types of actuator from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcActuatorTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcActuatorType
(IfcEntityInstanceData *e)
-
IfcActuatorType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcActuatorType>
-
struct
IfcActuatorTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified.
HISTORY: New type in IFC R2.0
Enumeration
ELECTRICACTUATOR: A device that electrically actuates a control element.
PNEUMATICACTUATOR<: A device that pneumatically actuates a control element
HYDRAULICACTUATOR: A device that electrically actuates a control element.
HANDOPERATEDACTUATOR: A device that manually actuates a control element. THERMOSTATICACTUATOR: A device that thermostatically actuates a control element. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
See property set of actuator common attributes for specification of properties for hand operated actuators.
Values:
-
enumerator
IfcActuatorType_ELECTRICACTUATOR
¶
-
enumerator
IfcActuatorType_HANDOPERATEDACTUATOR
¶
-
enumerator
IfcActuatorType_HYDRAULICACTUATOR
¶
-
enumerator
IfcActuatorType_PNEUMATICACTUATOR
¶
-
enumerator
IfcActuatorType_THERMOSTATICACTUATOR
¶
-
enumerator
IfcActuatorType_USERDEFINED
¶
-
enumerator
IfcActuatorType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAddress
: public IfcUtil::IfcBaseEntity Definition: An abstract entity type for various kinds of postal and telecom addresses.
NOTE Corresponds to the following entity in ISO-10303-41: address.
HISTORY New entity in IFC Release 1.5.1.
Subclassed by Ifc2x3::IfcPostalAddress, Ifc2x3::IfcTelecomAddress
Public Types
-
typedef IfcTemplatedEntityList<IfcAddress>
list
Public Functions
-
bool
hasPurpose
() const Whether the optional attribute Purpose is defined for this IfcAddress.
-
::Ifc2x3::IfcAddressTypeEnum::Value
Purpose
() const Identifies the logical location of the address.
-
void
setPurpose
(::Ifc2x3::IfcAddressTypeEnum::Value v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcAddress.
-
std::string
Description
() const Text that relates the nature of the address.
-
void
setDescription
(std::string v)
-
bool
hasUserDefinedPurpose
() const Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress.
-
std::string
UserDefinedPurpose
() const Allows for specification of user specific purpose of the address beyond the enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. When a value is provided for attribute UserDefinedPurpose, in parallel the attribute Purpose shall have enumeration value USERDEFINED.
-
void
setUserDefinedPurpose
(std::string v)
-
IfcTemplatedEntityList<IfcPerson>::ptr
OfPerson
() const
-
IfcTemplatedEntityList<IfcOrganization>::ptr
OfOrganization
() const
-
const IfcParse::entity &
declaration
() const
-
IfcAddress
(IfcEntityInstanceData *e)
-
IfcAddress
(boost::optional<::Ifc2x3::IfcAddressTypeEnum::Value> v1_Purpose, boost::optional<std::string> v2_Description, boost::optional<std::string> v3_UserDefinedPurpose)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAddress>
-
struct
IfcAddressTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: Identifies the logical location of the address.
HISTORY New type in IFC Release 2x.
ENUMERATION
OFFICE An office address. SITE A site address. HOME A home address. DISTRIBUTIONPOINT A postal distribution point address. USERDEFINED A user defined address type to be provided.
Values:
-
enumerator
IfcAddressType_OFFICE
¶
-
enumerator
IfcAddressType_SITE
¶
-
enumerator
IfcAddressType_HOME
¶
-
enumerator
IfcAddressType_DISTRIBUTIONPOINT
¶
-
enumerator
IfcAddressType_USERDEFINED
¶
-
enumerator
-
enum
-
struct
IfcAheadOrBehind
¶ Public Types
-
class
IfcAirTerminalBoxType
: public Ifc2x3::IfcFlowControllerType The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a air box specification (i.e. the specific product information, that is common to all occurrences of that product type). Air Box types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirTerminalBoxType are represented by instances of IfcAirTerminalBox.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirTerminalBoxTypeCommon
Material Use Definition The material of the IfcAirTerminalBoxType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcAirTerminalBoxType>
list
Public Functions
-
::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value
PredefinedType
() const The air terminal box type.
-
void
setPredefinedType
(::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcAirTerminalBoxType
(IfcEntityInstanceData *e)
-
IfcAirTerminalBoxType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAirTerminalBoxType>
-
struct
IfcAirTerminalBoxTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration identifies different types of air terminal boxes.
Valid enumerations are:
CONSTANTFLOW: Terminal box does not include a means to reset the volume automatically to an outside signal such as thermostat. VARIABLEFLOWPRESSUREDEPENDANT: terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate depends on supply pressure. VARIABLEFLOWPRESSUREINDEPENDANT: terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate is independant of supply pressure. USERDEFINED: User-defined terminal box. NOTDEFINED: Undefined terminal box.
HISTORY: New enumeration in IFC R2.0
Values:
-
enumerator
IfcAirTerminalBoxType_CONSTANTFLOW
¶
-
enumerator
IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT
¶
-
enumerator
IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT
¶
-
enumerator
IfcAirTerminalBoxType_USERDEFINED
¶
-
enumerator
IfcAirTerminalBoxType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAirTerminalType
: public Ifc2x3::IfcFlowTerminalType The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a air terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Air Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirTerminalType are represented by instances of IfcAirTerminal.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirTerminalTypeCommon
Material Use Definition The material of the IfcAirTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcAirTerminalType>
list
Public Functions
-
::Ifc2x3::IfcAirTerminalTypeEnum::Value
PredefinedType
() const
-
void
setPredefinedType
(::Ifc2x3::IfcAirTerminalTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcAirTerminalType
(IfcEntityInstanceData *e)
-
IfcAirTerminalType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAirTerminalType>
-
struct
IfcAirTerminalTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the functional types of air terminals. The IfcAirTerminalTypeEnum contains the following:
GRILLE: A covering for any area through which air passes. REGISTER: A grille typically equipped with a damper or control valve. DIFFUSER: An outlet discharging supply air in various directions and planes. LOUVRE: A rectilinear louvre. USERDEFINED: User-defined air terminal type. NOTDEFINED: Undefined air terminal type.
NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties.
HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER
Values:
-
enumerator
IfcAirTerminalType_GRILLE
¶
-
enumerator
IfcAirTerminalType_REGISTER
¶
-
enumerator
IfcAirTerminalType_DIFFUSER
¶
-
enumerator
IfcAirTerminalType_EYEBALL
¶
-
enumerator
IfcAirTerminalType_IRIS
¶
-
enumerator
IfcAirTerminalType_LINEARGRILLE
¶
-
enumerator
IfcAirTerminalType_LINEARDIFFUSER
¶
-
enumerator
IfcAirTerminalType_USERDEFINED
¶
-
enumerator
IfcAirTerminalType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAirToAirHeatRecoveryType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a air-to-air heat recovery device specification (i.e. the specific product information, that is common to all occurrences of that product type). Air-To-Air Heat Recovery Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirToAirHeatRecoveryType are represented by instances of IfcAirToAirHeatRecovery.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirToAirHeatRecoveryTypeCommon
Material Use Definition The material of the IfcAirToAirHeatRecoveryType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Media’: The primary media material used for heat transfer.
Port Use Definition The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcAirToAirHeatRecoveryType>
list
Public Functions
-
::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value
PredefinedType
() const Defines the type of air to air heat recovery device.
-
void
setPredefinedType
(::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcAirToAirHeatRecoveryType
(IfcEntityInstanceData *e)
-
IfcAirToAirHeatRecoveryType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAirToAirHeatRecoveryType>
-
struct
IfcAirToAirHeatRecoveryTypeEnum
¶ Public Types
-
enum
Value
¶ Defines general types of pumps. The IfcPumpTypeEnum contains the following:
FIXEDPLATECOUNTERFLOWEXCHANGER: Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air enters at secondary air outlet location and exits at secondary air inlet location. FIXEDPLATECROSSFLOWEXCHANGER: Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with secondary air flow in the direction perpendicular to primary air flow. FIXEDPLATEPARALLELFLOWEXCHANGER: Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air enters at secondary air inlet location and exits at secondary air outlet location. ROTARYWHEEL: A heat wheel with a revolving cylinder filled with an air-permeable medium having a large internal surface area. RUNAROUNDCOILLOOP: A typical coil energy recovery loop places extended surface, finned tube water coils in the supply and exhaust airstreams of a building. HEATPIPE: A passive energy recovery device with a heat pipe divided into evaporator and condenser sections. TWINTOWERENTHALPYRECOVERYLOOPS: An air-to-liquid, liquid-to-air enthalpy recovery system with a sorbent liquid circulates continuously between supply and exhaust airstreams, alternately contacting both airstreams directly in contactor towers. THERMOSIPHONSEALEDTUBEHEATEXCHANGERS: Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and the condenser are usually at opposite ends of a bundle of straight, individual thermosiphon tubes and the exhaust and supply ducts are adjacent to each other. THERMOSIPHONCOILTYPEHEATEXCHANGERS: Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and condensor coils are installed independently in the ducts and are interconnected by the working fluid piping. USERDEFINED: User-defined air to air heat recovery type. NOTDEFINED: Undefined air to air heat recovery type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER
¶
-
enumerator
IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER
¶
-
enumerator
IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER
¶
-
enumerator
IfcAirToAirHeatRecoveryType_ROTARYWHEEL
¶
-
enumerator
IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP
¶
-
enumerator
IfcAirToAirHeatRecoveryType_HEATPIPE
¶
-
enumerator
IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS
¶
-
enumerator
IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS
¶
-
enumerator
IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS
¶
-
enumerator
IfcAirToAirHeatRecoveryType_USERDEFINED
¶
-
enumerator
IfcAirToAirHeatRecoveryType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAlarmType
: public Ifc2x3::IfcDistributionControlElementType The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a alarm specification (i.e. the specific product information, that is common to all occurrences of that product type). Alarm types may be exchanged without being already assigned to occurrences. Occurrences of IfcAlarmType are represented by instances of IfcAlarm.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AlarmTypeCommon
Material Use Definition The material of the IfcAlarmType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcAlarmType>
list
Public Functions
-
::Ifc2x3::IfcAlarmTypeEnum::Value
PredefinedType
() const Identifies the predefined types of alarm from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcAlarmTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcAlarmType
(IfcEntityInstanceData *e)
-
IfcAlarmType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAlarmType>
-
struct
IfcAlarmTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified.
HISTORY: New type in IFC 2x2
Enumeration
BELL: An audible alarm. BREAKGLASSBUTTON: An alarm activation mechanism in which a protective glass has to be broken to enable a button to be pressed. LIGHT: A visual alarm. MANUALPULLBOX: An alarm activation mechanism in which activation is achieved by a pulling action. SIREN: An audible alarm. WHISTLE: An audible alarm.
USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcAlarmType_BELL
¶
-
enumerator
IfcAlarmType_BREAKGLASSBUTTON
¶
-
enumerator
IfcAlarmType_LIGHT
¶
-
enumerator
IfcAlarmType_MANUALPULLBOX
¶
-
enumerator
IfcAlarmType_SIREN
¶
-
enumerator
IfcAlarmType_WHISTLE
¶
-
enumerator
IfcAlarmType_USERDEFINED
¶
-
enumerator
IfcAlarmType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAmountOfSubstanceMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12.
Usually measure in mole (mol). Type: REAL
NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcAmountOfSubstanceMeasure
(IfcEntityInstanceData *e)
-
IfcAmountOfSubstanceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
struct
IfcAnalysisModelTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This type definition is used to distinguish between different types of structural analysis models. The analysis models are differentiated by their dimensionality.
HISTORY: New type in Release IFC2x Edition 2.
Values:
-
enumerator
IfcAnalysisModelType_IN_PLANE_LOADING_2D
¶
-
enumerator
IfcAnalysisModelType_OUT_PLANE_LOADING_2D
¶
-
enumerator
IfcAnalysisModelType_LOADING_3D
¶
-
enumerator
IfcAnalysisModelType_USERDEFINED
¶
-
enumerator
IfcAnalysisModelType_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcAnalysisTheoryTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This type definition is used to distinguish between different types of structural analysis methods, i.e. first order theory, second order theory (small deformations), third order theory (large deformations) and the full nonlinear theory (geometric nonlinearity together with other nonlinearities, e.g. plasticity).
HISTORY: New type in Release IFC2x Edition 2.
Values:
-
enumerator
IfcAnalysisTheoryType_FIRST_ORDER_THEORY
¶
-
enumerator
IfcAnalysisTheoryType_SECOND_ORDER_THEORY
¶
-
enumerator
IfcAnalysisTheoryType_THIRD_ORDER_THEORY
¶
-
enumerator
IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY
¶
-
enumerator
IfcAnalysisTheoryType_USERDEFINED
¶
-
enumerator
IfcAnalysisTheoryType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAngularDimension
: public Ifc2x3::IfcDimensionCurveDirectedCallout Public Types
-
typedef IfcTemplatedEntityList<IfcAngularDimension>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcAngularDimension
(IfcEntityInstanceData *e)
-
IfcAngularDimension
(IfcEntityList::ptr v1_Contents)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAngularDimension>
-
class
IfcAngularVelocityMeasure
: public IfcUtil::IfcBaseType IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. Usually measured in radians/s. Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcAngularVelocityMeasure
(IfcEntityInstanceData *e)
-
IfcAngularVelocityMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcAnnotation
: public Ifc2x3::IfcProduct Definition from IAI: An annotation is a graphical representation within the geometric (and spatial) context of a project, that adds a note or meaning to the objects which constitutes the project model. Annotations include additional line drawings, text, dimensioning, hatching and other forms of graphical notes.
NOTE Additional presentation information (often 2D) such as tag number, hatching, etc., that is directly related to a particular product representation is included within the IfcProductDefinitionShape having various IfcShapeRepresentation’s of the IfcElement (and its subtypes). Only those presentation information, that cannot be directly related to a single product, have to be wrapped within the IfcAnnotation.
If available, the annotation should be related to the spatial context of the project, by containing the annotation within the appropriate level of the building structure (site, building, storey, or space). This is handled by the IfcRelContainedInSpatialStructure relationship.
HISTORY: New entity in Release IFC2x Edition 2.
Use definition
The IfcAnnotation can provide specific 0D, 1D, and 2D geometric items as representation of the annotation, offering annotation point, curves, and surfaces.
‘Annotation point’ is an annotation provided by a point that has additional semantic. The inherited attribute ObjectType should be used to capture the type of point annotation, some predefined values are:
‘Survey’: A survey point has a set of cartesian coordinates determined by its location at point. These coordinates are determined relative to the coordinates of a reference point, which acts as the datum for the survey. The difference in elevation of the survey points enables terrain to be determined.
‘Annotation curve’ is an annotation provided by a curve that has additional semantic. The inherited attribute ObjectType should be used to capture the type of curve annotation, some predefined values are:
‘ContourLine’: A line of constant elevation typically used on geographic maps where the spacing of lines at constant intervals of elevation may be used as an indication of slope.
‘IsoBar’: A line of constant pressure typically used on weather maps or to show pressure gradient in spaces, chambers or externally.
‘IsoLux’: A line of constant illumination typically used to show the distribution of illumination levels and/or daylighting in a space or externally.
‘IsoTherm’: A line of constant temperature typically used to show the distribution and effect of heating or cooling within a space or to show temperature distribution on a geographic map.
‘Annotation surface’ is an annotation provided by a surface that has additional semantic. The inherited attribute ObjectType should be used to capture the type of surface annotation, some predefined values are:
‘SurveyArea’: A surface patch based on survey points.
Geometry Use Definitions
The geometric representation of any IfcAnnotation is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.
Local Placement
The local placement for any IfcAnnotation is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations
The standard representation of IfcAnnotation is defined using ‘Annotation2D’, when using 2D geometry, hatching and text, ‘GeometricCurveSet’ when using points and curves, or, when including als surfaces, the ‘GeometricSet’ geometry. Geometric representation items may be styled items by adding the style information.
Annotation2D Representation This representation is used, when the representation of the IfcAnnotation includes specific drafting representation elements. The Annotation may have:
subtypes of IfcPoint, IfcCurve being 2D
directly as Items, or within an IfcGeometricCurveSet
subtypes of IfcAnnotationFillArea for hatches
subtypes of IfcDefinedSymbol for symbols
subtypes of IfcTextLiteral for text
subtypes of IfcDraughtingCallout for dimensions
The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Annotation’
RepresentationType : ‘Annotation2D’
Annotation Curve Representation This representation is used, when the representation of the IfcAnnotation does not includes specific drafting representation elements. The Annotation may have:
subtypes of IfcPoint, IfcCurve being 2D
directly as Items, or within an IfcGeometricCurveSet
The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Annotation’
RepresentationType : ‘GeometricCurveSet’
Annotation Surface Representation This representation is used, when the representation of the IfcAnnotation does includes surfaces. The Annotation may have:
subtypes of IfcPoint, IfcCurve, or IfcSurface
directly as Items, or within an IfcGeometricCurveSet
The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Annotation’
RepresentationType : ‘GeometricSet’
Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotation>
list
Public Functions
-
IfcTemplatedEntityList<IfcRelContainedInSpatialStructure>::ptr
ContainedInStructure
() const
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotation
(IfcEntityInstanceData *e)
-
IfcAnnotation
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotation>
-
class
IfcAnnotationCurveOccurrence
: public Ifc2x3::IfcAnnotationOccurrence Subclassed by Ifc2x3::IfcDimensionCurve, Ifc2x3::IfcProjectionCurve
Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationCurveOccurrence>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationCurveOccurrence
(IfcEntityInstanceData *e)
-
IfcAnnotationCurveOccurrence
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationCurveOccurrence>
-
class
IfcAnnotationFillArea
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area.
NOTE: A curve that is not surrounded by any other curve is a border between an unfilled area on the outside and a filled area on the inside. Another curve may surround an unfilled area if it is surrounded by another curve whose inside is a filled area.
Figure 300 (from ISO 10303-46) illustrates annotation fill area.
Figure 300 — Annotation fill area
NOTE Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
The IfcAnnotationFillArea defines an area by a definite OuterBoundary, that might include InnerBoundaries. The areas defined by the InnerBoundaries are excluded from applying the fill area style.
Informal Proposition:
Any curve that describes an inner boundary shall not intersect with, nor include, another curve defining an inner boundary. The curve defining the outer boundary shall not intersect with any curve defining an inner boundary, nor shall it be surrounded by a curve defining an inner boundary.
HISTORY New entity in IFC2x2.
IFC2x3 CHANGE The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary.
Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationFillArea>
list
Public Functions
-
::Ifc2x3::IfcCurve *
OuterBoundary
() const A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style.
IFC2x Edition 3 CHANGE The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries.
-
bool
hasInnerBoundaries
() const Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea.
-
IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr
InnerBoundaries
() const A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style.
IFC2x Edition 3 CHANGE The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries.
-
void
setInnerBoundaries
(IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationFillArea
(IfcEntityInstanceData *e)
-
IfcAnnotationFillArea
(::Ifc2x3::IfcCurve *v1_OuterBoundary, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr> v2_InnerBoundaries)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationFillArea>
-
class
IfcAnnotationFillAreaOccurrence
: public Ifc2x3::IfcAnnotationOccurrence Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationFillAreaOccurrence>
list
Public Functions
-
bool
hasFillStyleTarget
() const Whether the optional attribute FillStyleTarget is defined for this IfcAnnotationFillAreaOccurrence.
-
bool
hasGlobalOrLocal
() const Whether the optional attribute GlobalOrLocal is defined for this IfcAnnotationFillAreaOccurrence.
-
::Ifc2x3::IfcGlobalOrLocalEnum::Value
GlobalOrLocal
() const
-
void
setGlobalOrLocal
(::Ifc2x3::IfcGlobalOrLocalEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationFillAreaOccurrence
(IfcEntityInstanceData *e)
-
IfcAnnotationFillAreaOccurrence
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name, ::Ifc2x3::IfcPoint *v4_FillStyleTarget, boost::optional<::Ifc2x3::IfcGlobalOrLocalEnum::Value> v5_GlobalOrLocal)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationFillAreaOccurrence>
-
class
IfcAnnotationOccurrence
: public Ifc2x3::IfcStyledItem Subclassed by Ifc2x3::IfcAnnotationCurveOccurrence, Ifc2x3::IfcAnnotationFillAreaOccurrence, Ifc2x3::IfcAnnotationSurfaceOccurrence, Ifc2x3::IfcAnnotationSymbolOccurrence, Ifc2x3::IfcAnnotationTextOccurrence
Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationOccurrence>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationOccurrence
(IfcEntityInstanceData *e)
-
IfcAnnotationOccurrence
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationOccurrence>
-
class
IfcAnnotationSurface
: public Ifc2x3::IfcGeometricRepresentationItem Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationSurface>
list
Public Functions
-
::Ifc2x3::IfcGeometricRepresentationItem *
Item
() const
-
void
setItem
(::Ifc2x3::IfcGeometricRepresentationItem *v)
-
bool
hasTextureCoordinates
() const Whether the optional attribute TextureCoordinates is defined for this IfcAnnotationSurface.
-
::Ifc2x3::IfcTextureCoordinate *
TextureCoordinates
() const
-
void
setTextureCoordinates
(::Ifc2x3::IfcTextureCoordinate *v)
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationSurface
(IfcEntityInstanceData *e)
-
IfcAnnotationSurface
(::Ifc2x3::IfcGeometricRepresentationItem *v1_Item, ::Ifc2x3::IfcTextureCoordinate *v2_TextureCoordinates)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationSurface>
-
class
IfcAnnotationSurfaceOccurrence
: public Ifc2x3::IfcAnnotationOccurrence Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationSurfaceOccurrence>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationSurfaceOccurrence
(IfcEntityInstanceData *e)
-
IfcAnnotationSurfaceOccurrence
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationSurfaceOccurrence>
-
class
IfcAnnotationSymbolOccurrence
: public Ifc2x3::IfcAnnotationOccurrence Subclassed by Ifc2x3::IfcTerminatorSymbol
Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationSymbolOccurrence>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationSymbolOccurrence
(IfcEntityInstanceData *e)
-
IfcAnnotationSymbolOccurrence
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationSymbolOccurrence>
-
class
IfcAnnotationTextOccurrence
: public Ifc2x3::IfcAnnotationOccurrence Public Types
-
typedef IfcTemplatedEntityList<IfcAnnotationTextOccurrence>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcAnnotationTextOccurrence
(IfcEntityInstanceData *e)
-
IfcAnnotationTextOccurrence
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAnnotationTextOccurrence>
-
class
IfcApplication
: public IfcUtil::IfcBaseEntity IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer.
HISTORY New entity in IFC R1.5.
Public Types
-
typedef IfcTemplatedEntityList<IfcApplication>
list
Public Functions
-
::Ifc2x3::IfcOrganization *
ApplicationDeveloper
() const Name of the application developer, being requested to be member of the IAI.
-
void
setApplicationDeveloper
(::Ifc2x3::IfcOrganization *v)
-
std::string
Version
() const The version number of this software as specified by the developer of the application.
-
void
setVersion
(std::string v)
-
std::string
ApplicationFullName
() const The full name of the application as specified by the application developer.
-
void
setApplicationFullName
(std::string v)
-
std::string
ApplicationIdentifier
() const Short identifying name for the application.
-
void
setApplicationIdentifier
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcApplication
(IfcEntityInstanceData *e)
-
IfcApplication
(::Ifc2x3::IfcOrganization *v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcApplication>
-
class
IfcAppliedValue
: public IfcUtil::IfcBaseEntity IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values.
HISTORY: New Entity in IFC2x2. Modifed in IFC2x4 to use IfcDate for date values.
Use definitions The extent of the IfcAppliedValue is determined by the AppliedValue attribute which may be defined either as an IfcMeasureWithUnit or as an IfcMonetaryMeasure or as an IfcRatioMeasure via the IfcAppliedValueSelect type.
Optionally, an IfcAppliedValue may have an applicable date. This is intended to fix the date on which the value became relevant for use. It may be the date on which the value was set in the model or it may be a prior or future date when the value becomes operable.
Similarly, an IfcAppliedValue may have a ‘fixed until’ date. This is intended to fix the date on which the value ceases to be relevant for use.
An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application.
Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects.
Subclassed by Ifc2x3::IfcCostValue, Ifc2x3::IfcEnvironmentalImpactValue
Public Types
-
typedef IfcTemplatedEntityList<IfcAppliedValue>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcAppliedValue.
-
std::string
Name
() const A name or additional clarification given to a cost value.
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcAppliedValue.
-
std::string
Description
() const The description that may apply additional information about a cost value.
-
void
setDescription
(std::string v)
-
bool
hasAppliedValue
() const Whether the optional attribute AppliedValue is defined for this IfcAppliedValue.
-
::Ifc2x3::IfcAppliedValueSelect *
AppliedValue
() const The extent or quantity or amount of an applied value.
-
void
setAppliedValue
(::Ifc2x3::IfcAppliedValueSelect *v)
-
bool
hasUnitBasis
() const Whether the optional attribute UnitBasis is defined for this IfcAppliedValue.
-
::Ifc2x3::IfcMeasureWithUnit *
UnitBasis
() const The number and unit of measure on which the unit cost is based.
Note: As well as the normally expected units of measure such as length, area, volume etc., costs may be based on units of measure which need to be defined e.g. sack, drum, pallet, item etc. Unit costs may be based on quantities greater (or lesser) than a unitary value of the basis measure. For instance, timber may have a unit cost rate per X meters where X > 1; similarly for cable, piping and many other items. The basis number may be either an integer or a real value.
Note: This attribute should be asserted for all circumstances where the cost to be applied is per unit quantity. It may be asserted even for circumstances where an item price is used, in which case the unit cost basis should be by item (or equivalent definition).
-
void
setUnitBasis
(::Ifc2x3::IfcMeasureWithUnit *v)
-
bool
hasApplicableDate
() const Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue.
-
::Ifc2x3::IfcDateTimeSelect *
ApplicableDate
() const The date on or from which an applied value is applicable.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect.
-
void
setApplicableDate
(::Ifc2x3::IfcDateTimeSelect *v)
-
bool
hasFixedUntilDate
() const Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue.
-
::Ifc2x3::IfcDateTimeSelect *
FixedUntilDate
() const The date until which applied value is applicable.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect.
-
void
setFixedUntilDate
(::Ifc2x3::IfcDateTimeSelect *v)
-
IfcTemplatedEntityList<IfcReferencesValueDocument>::ptr
ValuesReferenced
() const
-
IfcTemplatedEntityList<IfcAppliedValueRelationship>::ptr
ValueOfComponents
() const
-
IfcTemplatedEntityList<IfcAppliedValueRelationship>::ptr
IsComponentIn
() const
-
const IfcParse::entity &
declaration
() const
-
IfcAppliedValue
(IfcEntityInstanceData *e)
-
IfcAppliedValue
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcAppliedValueSelect *v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit *v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect *v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect *v6_FixedUntilDate)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAppliedValue>
-
class
IfcAppliedValueRelationship
: public IfcUtil::IfcBaseEntity An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value.
HISTORY New Entity in Release IFC2.0.
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, attribute order changed.
Use definitions Dependency relationships can exist between applied values on the basis that one particular value may be determined by operations on one or more other values. This is captured through the IfcAppliedValueRelationship entity. In this relationship, one instance of IfcAppliedValue acts as the principal (IfcAppliedValueRelationship.ComponentOf) whose value may be determined from the instances of IfcAppliedValue that are defined as its components (IfcAppliedValueRelationship.Components) An IfcAppliedValueRelationship has an ArithmeticOperator attribute that specifies the form of arithmetical operation implied by the relationship. A practical consideration when using the applied value relationship is that when the arithmetic operator is ADD, then the type of the IfcAppliedValue.AppliedValue attribute will be IfcMeasureWithUnit or IfcMonetaryMeasure while if the arithmetic operator is MULTIPLY, then the type of the IfcAppliedValue.AppliedValue attribute for one instance of IfcAppliedValue will be IfcMeasureWithUnit or IfcMonetaryMeasure while for other instances it will be IfcRatioMeasure. If the arithmetic operator is SUBTRACT or DIVIDE then there can only be two occurrences of IfcAppliedValue that can contribute and the order in which they occur is significant. The value of (A - B) will usually differ from the value of (B - A) whilst (X / Y) is the reciprocal of (Y / X).
Figure 239 illustrates one level aggregation of applied values. A relationship exists between applied value A and applied values B, C and D such that the value of A is determined by the addition of B, C and D such that: A = B + C + D
Figure 239 — Applied value relationship single level
Figure 240 illustrates two level aggregation of applied values. It is possible to develop more complex applied value specifications by creating hierarchies of applied value relationships. In the diagram, the development of a applied value is shown whereby, because B = E * F and D = G * H * J, then: A = ((E * F) + C + (G * H * J)).
Figure 240 — Applied value relationship multiple level
Public Types
-
typedef IfcTemplatedEntityList<IfcAppliedValueRelationship>
list
Public Functions
-
::Ifc2x3::IfcAppliedValue *
ComponentOfTotal
() const The applied value (total or subtotal) of which the value being considered is a component.
-
void
setComponentOfTotal
(::Ifc2x3::IfcAppliedValue *v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcAppliedValue>::ptr
Components
() const Applied values that are components of another applied value and from which that applied value may be deduced.
-
void
setComponents
(IfcTemplatedEntityList<::Ifc2x3::IfcAppliedValue>::ptr v)
-
::Ifc2x3::IfcArithmeticOperatorEnum::Value
ArithmeticOperator
() const The arithmetic operator applied in an applied value relationship.
-
void
setArithmeticOperator
(::Ifc2x3::IfcArithmeticOperatorEnum::Value v)
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcAppliedValueRelationship.
-
std::string
Name
() const
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcAppliedValueRelationship.
-
std::string
Description
() const
-
void
setDescription
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcAppliedValueRelationship
(IfcEntityInstanceData *e)
-
IfcAppliedValueRelationship
(::Ifc2x3::IfcAppliedValue *v1_ComponentOfTotal, IfcTemplatedEntityList<::Ifc2x3::IfcAppliedValue>::ptr v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, boost::optional<std::string> v4_Name, boost::optional<std::string> v5_Description)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAppliedValueRelationship>
-
class
IfcApproval
: public IfcUtil::IfcBaseEntity Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship
HISTORY New Entity in IFC Release 2.0
IFC2x Edition 4 CHANGE Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead).
Public Types
-
typedef IfcTemplatedEntityList<IfcApproval>
list
Public Functions
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcApproval.
-
std::string
Description
() const A general textual description of a design, work task, plan, etc. that is being approved for.
-
void
setDescription
(std::string v)
-
::Ifc2x3::IfcDateTimeSelect *
ApprovalDateTime
() const
-
void
setApprovalDateTime
(::Ifc2x3::IfcDateTimeSelect *v)
-
bool
hasApprovalStatus
() const Whether the optional attribute ApprovalStatus is defined for this IfcApproval.
-
std::string
ApprovalStatus
() const
-
void
setApprovalStatus
(std::string v)
-
bool
hasApprovalLevel
() const Whether the optional attribute ApprovalLevel is defined for this IfcApproval.
-
std::string
ApprovalLevel
() const
-
void
setApprovalLevel
(std::string v)
-
bool
hasApprovalQualifier
() const Whether the optional attribute ApprovalQualifier is defined for this IfcApproval.
-
std::string
ApprovalQualifier
() const
-
void
setApprovalQualifier
(std::string v)
-
std::string
Name
() const A human readable name given to an approval.
-
void
setName
(std::string v)
-
std::string
Identifier
() const A computer interpretable identifier by which the approval is known.
-
void
setIdentifier
(std::string v)
-
IfcTemplatedEntityList<IfcApprovalActorRelationship>::ptr
Actors
() const
-
IfcTemplatedEntityList<IfcApprovalRelationship>::ptr
IsRelatedWith
() const
-
IfcTemplatedEntityList<IfcApprovalRelationship>::ptr
Relates
() const
-
const IfcParse::entity &
declaration
() const
-
IfcApproval
(IfcEntityInstanceData *e)
-
IfcApproval
(boost::optional<std::string> v1_Description, ::Ifc2x3::IfcDateTimeSelect *v2_ApprovalDateTime, boost::optional<std::string> v3_ApprovalStatus, boost::optional<std::string> v4_ApprovalLevel, boost::optional<std::string> v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcApproval>
-
class
IfcApprovalActorRelationship
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcApprovalActorRelationship>
list
Public Functions
-
::Ifc2x3::IfcActorSelect *
Actor
() const
-
void
setActor
(::Ifc2x3::IfcActorSelect *v)
-
::Ifc2x3::IfcApproval *
Approval
() const
-
void
setApproval
(::Ifc2x3::IfcApproval *v)
-
::Ifc2x3::IfcActorRole *
Role
() const
-
void
setRole
(::Ifc2x3::IfcActorRole *v)
-
const IfcParse::entity &
declaration
() const
-
IfcApprovalActorRelationship
(IfcEntityInstanceData *e)
-
IfcApprovalActorRelationship
(::Ifc2x3::IfcActorSelect *v1_Actor, ::Ifc2x3::IfcApproval *v2_Approval, ::Ifc2x3::IfcActorRole *v3_Role)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcApprovalActorRelationship>
-
class
IfcApprovalPropertyRelationship
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcApprovalPropertyRelationship>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr
ApprovedProperties
() const
-
void
setApprovedProperties
(IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr v)
-
::Ifc2x3::IfcApproval *
Approval
() const
-
void
setApproval
(::Ifc2x3::IfcApproval *v)
-
const IfcParse::entity &
declaration
() const
-
IfcApprovalPropertyRelationship
(IfcEntityInstanceData *e)
-
IfcApprovalPropertyRelationship
(IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr v1_ApprovedProperties, ::Ifc2x3::IfcApproval *v2_Approval)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcApprovalPropertyRelationship>
-
class
IfcApprovalRelationship
: public IfcUtil::IfcBaseEntity An IfcApprovalRelationship associates approvals (one relating approval and one or more related approvals), each having different status or level as the approval process or the approved objects evolve.
HISTORY: New entity in Release IFC2x2.
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, order of attributes changed.
Public Types
-
typedef IfcTemplatedEntityList<IfcApprovalRelationship>
list
Public Functions
-
::Ifc2x3::IfcApproval *
RelatedApproval
() const
-
void
setRelatedApproval
(::Ifc2x3::IfcApproval *v)
-
::Ifc2x3::IfcApproval *
RelatingApproval
() const The approval that other approval is related to.
-
void
setRelatingApproval
(::Ifc2x3::IfcApproval *v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcApprovalRelationship.
-
std::string
Description
() const
-
void
setDescription
(std::string v)
-
std::string
Name
() const
-
void
setName
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcApprovalRelationship
(IfcEntityInstanceData *e)
-
IfcApprovalRelationship
(::Ifc2x3::IfcApproval *v1_RelatedApproval, ::Ifc2x3::IfcApproval *v2_RelatingApproval, boost::optional<std::string> v3_Description, std::string v4_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcApprovalRelationship>
-
class
IfcArbitraryClosedProfileDef
: public Ifc2x3::IfcProfileDef The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed.
HISTORY: New entity in IFC 1.5. Entity has been renamed from IfcArbitraryProfileDef in IFC Release 2x.
Informal proposition:
The OuterCurve has to be a closed curve. The OuterCurve shall not intersect.
Figure 307 illustrates the arbitrary closed profile definition. The OuterCurve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:
IfcSweptSurface.Position IfcSweptAreaSolid.Position
or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve.
Figure 307 — Arbitrary closed profile
Subclassed by Ifc2x3::IfcArbitraryProfileDefWithVoids
Public Types
-
typedef IfcTemplatedEntityList<IfcArbitraryClosedProfileDef>
list
Public Functions
-
::Ifc2x3::IfcCurve *
OuterCurve
() const Bounded curve, defining the outer boundaries of the arbitrary profile.
-
const IfcParse::entity &
declaration
() const
-
IfcArbitraryClosedProfileDef
(IfcEntityInstanceData *e)
-
IfcArbitraryClosedProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcCurve *v3_OuterCurve)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcArbitraryClosedProfileDef>
-
class
IfcArbitraryOpenProfileDef
: public Ifc2x3::IfcProfileDef The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed.
HISTORY New entity in IFC2x.
Informal proposition:
The Curve has to be an open curve.
Figure 308 illustrates the arbitrary open profile definition. The Curve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface that uses the profile definition. It is the xy plane of:
The Curve attribute defines a two dimensional open bounded curve.
Figure 308 — Arbitrary open profile
Subclassed by Ifc2x3::IfcCenterLineProfileDef
Public Types
-
typedef IfcTemplatedEntityList<IfcArbitraryOpenProfileDef>
list
Public Functions
-
::Ifc2x3::IfcBoundedCurve *
Curve
() const Open bounded curve defining the profile.
-
void
setCurve
(::Ifc2x3::IfcBoundedCurve *v)
-
const IfcParse::entity &
declaration
() const
-
IfcArbitraryOpenProfileDef
(IfcEntityInstanceData *e)
-
IfcArbitraryOpenProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcBoundedCurve *v3_Curve)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcArbitraryOpenProfileDef>
-
class
IfcArbitraryProfileDefWithVoids
: public Ifc2x3::IfcArbitraryClosedProfileDef The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed.
HISTORY New entity in IFC2x.
Informal propositions:
The outer curve and all inner curves shall be closed curves. The outer curve shall enclose all inner curves. No inner curve shall intersect with the outer curve or any other inner curve. No inner curve may enclose another inner curve.
Figure 309 illustrates the arbitrary closed profile definition with voids. The OuterCurve, defined at the supertype IfcArbitraryClosedProfileDef and the inner curves are defined in the same underlying coordinate system. The common underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:
or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves.
Figure 309 — Arbitrary profile with voids
Public Types
-
typedef IfcTemplatedEntityList<IfcArbitraryProfileDefWithVoids>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr
InnerCurves
() const Set of bounded curves, defining the inner boundaries of the arbitrary profile.
-
void
setInnerCurves
(IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcArbitraryProfileDefWithVoids
(IfcEntityInstanceData *e)
-
IfcArbitraryProfileDefWithVoids
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcCurve *v3_OuterCurve, IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr v4_InnerCurves)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcArbitraryProfileDefWithVoids>
-
class
IfcAreaMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. Usually measured in square metre (m2). Type: REAL
NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcAreaMeasure
(IfcEntityInstanceData *e)
-
IfcAreaMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
struct
IfcArithmeticOperatorEnum
¶ Public Types
-
enum
Value
¶ IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. Enumeration
ADD DIVIDE MULTIPLY SUBTRACT
HISTORY: New enumeration in IFC2x2.
Use definitions There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value.
Values:
-
enumerator
IfcArithmeticOperator_ADD
¶
-
enumerator
IfcArithmeticOperator_DIVIDE
¶
-
enumerator
IfcArithmeticOperator_MULTIPLY
¶
-
enumerator
IfcArithmeticOperator_SUBTRACT
¶
-
enumerator
-
enum
-
struct
IfcAssemblyPlaceEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: Enumeration defining where the assembly is intended to take place, either in a factory or on the building site.
HISTORY New enumeration in Release IFC2x Edition 2.
Enumeration
SITE - this assembly is assembled at site
FACTORY - this assembly is assembled in a factory
Values:
-
enumerator
IfcAssemblyPlace_SITE
¶
-
enumerator
IfcAssemblyPlace_FACTORY
¶
-
enumerator
IfcAssemblyPlace_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcAsset
: public Ifc2x3::IfcGroup An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit.
An asset is generally the level of granularity at which maintenance operations are undertaken. An asset is a group that can contain one or more elements. Whilst the financial value of a component or element can be defined, financial value is also defined for accounting purposes at the level of the asset. There are a number of actors that can be associated with an asset, each actor having a role. Actors within the scope of the project are indicated using the IfcRelAssignsToActor relationship in which case roles should be defined through the IfcActorRole class; otherwise principal actors are identified as attributes of the class. In the existence of both, direct attributes take precedence. There are a number of costs that can be associated with an asset, each cost having a role. These are specified through the OriginalValue, CurrentValue, TotalReplacementCost and DepreciatedValue attributes.
HISTORY: New entity in IFC2x. In IFC2x4, all attributes made optional and date values changed to use IfcDate.
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcGroup and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_Asset
Classification Use Definition Classifications may be applied using IfcRelAssociatesClassification where RelatedObjects contains the IfcAsset and RelatingClassification refers to an IfcClassification or IfcClassificationReference.
IfcClassificationReference: The operating function of an asset within an organization may be particularly valuable in situations where one organization provides and maintains core services and another organization adds and maintains terminal services. It can classify who owns and is responsible for the asset. Operating function can be designated through the use of one or more classification references.
Assignment Use Definition The IfcAsset may be assigned to the following entities using relationships as indicated:
IfcActor (IfcRelAssignsToActor): Indicates the actor who owns, uses, or is responsible for the asset (as indicated by role in relationship), if such actor is within the scope of the project. IfcCostItem (IfcRelAssignsToControl): Indicates a cost item encompassing the asset.
The IfcAsset may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcAsset and RelatedObjects contains one or more objects of the following types: IfcElement: Physical elements that comprise the asset.
Public Types
-
typedef IfcTemplatedEntityList<IfcAsset>
list
Public Functions
-
std::string
AssetID
() const
-
void
setAssetID
(std::string v)
-
::Ifc2x3::IfcCostValue *
OriginalValue
() const The cost value of the asset at the time of purchase.
-
void
setOriginalValue
(::Ifc2x3::IfcCostValue *v)
-
::Ifc2x3::IfcCostValue *
CurrentValue
() const The current cost value of the asset.
-
void
setCurrentValue
(::Ifc2x3::IfcCostValue *v)
-
::Ifc2x3::IfcCostValue *
TotalReplacementCost
() const The total cost of replacement of the asset.
-
void
setTotalReplacementCost
(::Ifc2x3::IfcCostValue *v)
-
::Ifc2x3::IfcActorSelect *
Owner
() const The name of the person or organization that ‘owns’ the asset.
-
void
setOwner
(::Ifc2x3::IfcActorSelect *v)
-
::Ifc2x3::IfcActorSelect *
User
() const The name of the person or organization that ‘uses’ the asset.
-
void
setUser
(::Ifc2x3::IfcActorSelect *v)
-
::Ifc2x3::IfcPerson *
ResponsiblePerson
() const The person designated to be responsible for the asset. NOTE: In some regulations (for example, UK Health and Safety at Work Act, Electricity at Work Regulations), management of assets must have a person identified as being responsible and to whom regulatory, insurance and other organizations communicate. In places where there is not a legal requirement, the responsible person would be the asset manager but would not have a legal status.
-
::Ifc2x3::IfcCalendarDate *
IncorporationDate
() const The date on which an asset was incorporated into the works, installed, constructed, erected or completed. NOTE: This is the date on which an asset is considered to start depreciating.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect.
-
void
setIncorporationDate
(::Ifc2x3::IfcCalendarDate *v)
-
::Ifc2x3::IfcCostValue *
DepreciatedValue
() const The current value of an asset within the accounting rules and procedures of an organization.
-
void
setDepreciatedValue
(::Ifc2x3::IfcCostValue *v)
-
const IfcParse::entity &
declaration
() const
-
IfcAsset
(IfcEntityInstanceData *e)
-
IfcAsset
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue *v7_OriginalValue, ::Ifc2x3::IfcCostValue *v8_CurrentValue, ::Ifc2x3::IfcCostValue *v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect *v10_Owner, ::Ifc2x3::IfcActorSelect *v11_User, ::Ifc2x3::IfcPerson *v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate *v13_IncorporationDate, ::Ifc2x3::IfcCostValue *v14_DepreciatedValue)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAsset>
-
class
IfcAsymmetricIShapeProfileDef
: public Ifc2x3::IfcIShapeProfileDef IfcAsymmetricIShapeProfileDef defines a section profile that provides the defining parameters of a singly symmetric I-shaped section. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile’s centre of the bounding box.
The inherited attributes are redefined as:
OverallWidth BottomFlangeWidth FlangeThickness BottomFlangeThickness FilletRadius BottomFlangeFilletRadius
The overall width of the profile is implicitly given by the maximum of the bottom flange width and the top flange width.
IfcAsymmetricIShapeProfileDef can also be used to model rail profiles if the application scenario does not require a full explicit shape model of the rail profile. Alternatively, IfcArbitraryClosedProfileDef can be used to provide the exact shape of rail profiles. Either way, a reference to an external document or library should be provided to further define the profile as described at IfcProfileDef.
HISTORY New entity in Release IFC2x Edition 2.
IFC2x3 CHANGE All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL.
IFC2x4 CHANGE Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead.
Figure 310 illustrates parameters of the asymmetric I-shaped section definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:
By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the ‘CentreOfGravityInY’ property in IfcExtendedProfileProperties, if provided, is negative.
Figure 310 — Assymetric I-shape profile
Public Types
-
typedef IfcTemplatedEntityList<IfcAsymmetricIShapeProfileDef>
list
Public Functions
-
double
TopFlangeWidth
() const Extent of the top flange, defined parallel to the x axis of the position coordinate system.
-
void
setTopFlangeWidth
(double v)
-
bool
hasTopFlangeThickness
() const Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef.
-
double
TopFlangeThickness
() const Flange thickness of the top flange of the I-shape.
-
void
setTopFlangeThickness
(double v)
-
bool
hasTopFlangeFilletRadius
() const Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef.
-
double
TopFlangeFilletRadius
() const The fillet between the web and the top flange of the I-shape.
-
void
setTopFlangeFilletRadius
(double v)
-
bool
hasCentreOfGravityInY
() const Whether the optional attribute CentreOfGravityInY is defined for this IfcAsymmetricIShapeProfileDef.
-
double
CentreOfGravityInY
() const
-
void
setCentreOfGravityInY
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcAsymmetricIShapeProfileDef
(IfcEntityInstanceData *e)
-
IfcAsymmetricIShapeProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional<double> v8_FilletRadius, double v9_TopFlangeWidth, boost::optional<double> v10_TopFlangeThickness, boost::optional<double> v11_TopFlangeFilletRadius, boost::optional<double> v12_CentreOfGravityInY)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAsymmetricIShapeProfileDef>
-
class
IfcAxis1Placement
: public Ifc2x3::IfcPlacement Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z).
NOTE Corresponding ISO 10303 name: axis1_placement, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard.
HISTORY New entity in IFC Release 1.5
Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system.
Figure 274 — Axis1 placement
Public Types
-
typedef IfcTemplatedEntityList<IfcAxis1Placement>
list
Public Functions
-
bool
hasAxis
() const Whether the optional attribute Axis is defined for this IfcAxis1Placement.
-
::Ifc2x3::IfcDirection *
Axis
() const The direction of the local Z axis.
-
void
setAxis
(::Ifc2x3::IfcDirection *v)
-
const IfcParse::entity &
declaration
() const
-
IfcAxis1Placement
(IfcEntityInstanceData *e)
-
IfcAxis1Placement
(::Ifc2x3::IfcCartesianPoint *v1_Location, ::Ifc2x3::IfcDirection *v2_Axis)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAxis1Placement>
-
class
IfcAxis2Placement2D
: public Ifc2x3::IfcPlacement Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this.
If the RefDirection attribute is not given, the placement defaults to P[1] (x-axis) as [1.,0.] and P[2] (y-axis) as [0.,1.].
NOTE Corresponding ISO 10303 name: axis2_placement_2d, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard.
HISTORY New entity in IFC Release 1.5.
Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system.
Figure 275 — Axis2 placement 2D
Public Types
-
typedef IfcTemplatedEntityList<IfcAxis2Placement2D>
list
Public Functions
-
bool
hasRefDirection
() const Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D.
-
::Ifc2x3::IfcDirection *
RefDirection
() const The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.].
-
void
setRefDirection
(::Ifc2x3::IfcDirection *v)
-
const IfcParse::entity &
declaration
() const
-
IfcAxis2Placement2D
(IfcEntityInstanceData *e)
-
IfcAxis2Placement2D
(::Ifc2x3::IfcCartesianPoint *v1_Location, ::Ifc2x3::IfcDirection *v2_RefDirection)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAxis2Placement2D>
-
class
IfcAxis2Placement3D
: public Ifc2x3::IfcPlacement Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction.
If the attribute values for Axis and RefDirection are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.].
NOTE Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted.
HISTORY New entity in IFC Release 1.5.
Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system.
Figure 276 — Axis2 placement 3D
Public Types
-
typedef IfcTemplatedEntityList<IfcAxis2Placement3D>
list
Public Functions
-
bool
hasAxis
() const Whether the optional attribute Axis is defined for this IfcAxis2Placement3D.
-
::Ifc2x3::IfcDirection *
Axis
() const The exact direction of the local Z Axis.
-
void
setAxis
(::Ifc2x3::IfcDirection *v)
-
bool
hasRefDirection
() const Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D.
-
::Ifc2x3::IfcDirection *
RefDirection
() const The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system.
-
void
setRefDirection
(::Ifc2x3::IfcDirection *v)
-
const IfcParse::entity &
declaration
() const
-
IfcAxis2Placement3D
(IfcEntityInstanceData *e)
-
IfcAxis2Placement3D
(::Ifc2x3::IfcCartesianPoint *v1_Location, ::Ifc2x3::IfcDirection *v2_Axis, ::Ifc2x3::IfcDirection *v3_RefDirection)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcAxis2Placement3D>
-
class
IfcBeam
: public Ifc2x3::IfcBuildingElement Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so.
An IfcBeam is a horizontal, or nearly horizontal, structural member that is capable of withstanding load primarily by resisting bending. It represents such a member from an architectural point of view. It is not required to be load bearing.
NOTE The representation of a beam in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel.
NOTE For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used.
The IFC specification provides two entities for beam occurrences:
IfcBeamStandardCase used for all occurrences of beams, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an ‘Axis’ and a ‘SweptSolid’ or ‘AdvancedSweptSolid’ shape representation (or by a ‘Clipping’ geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned. NOTE View definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an IfcBeamStandardCase implementation.
IfcBeam used for all other occurrences of beams, particularly for beams with changing profile sizes along the extrusion, or beams defined by non-linear extrusion, or beams having only ‘Brep’, or ‘SurfaceModel’ geometry.
HISTORY New entity in IFC Release 1.0
Type Use Definition IfcBeam defines the occuurence of any beam, common information about beam types (or styles) is handled by IfcBeamType. The IfcBeamType (if present) may establish the commontype name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcBeamType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. If no IfcBeamType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute. Material Use Definition The material of the IfcBeam is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note It is illegal to assign an IfcMaterialProfileSetUsage to an IfcBeam. Only the subtype IfcBeamStandardCase supports this concept. Material information can also be given at the IfcBeamType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBeamType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcBeam overrides the material assigned to IfcBeamType. Property Set Use Definition The property sets relating to the IfcBeam are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBeam are part of this IFC release:
Pset_BeamCommon: common property set for all beam occurrences
Property sets can also be given at the IfcBeamType, defining the common property data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBeamType.HasPropertySets. If both are given, then the properties directly assigned to IfcBeam overrides the properties assigned to IfcBeamType. Quantity Use Definition The quantities relating to the IfcBeam are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement. Quanties shall be never assigned to the IfcBeamType.
Qto_BeamBaseQuantities: base quantities for all beam occurrences.
Containment Use Definition The IfcBeam, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within an element assembly.
The IfcBeam is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcBeam may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.
Geometry Use Definition The geometric representation of IfcBeam is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for IfcBeam is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
Exception: If the IfcBeam is part of an assembly, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the container element, e.g. IfcElementAssembly,
If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representation Currently, the ‘Axis’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. Axis Representation The axis geometric representation of IfcBeam is defined using the ‘Axis’ representation.
RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’, ‘Curve3D’
The ‘Axis’ can be used to represent the system axis and length of a beam that may extent the body length. Body Representation The body representation of IfcBeam can be represented using the representation types ‘SweptSolid’, ‘Clipping’, ‘AdvancedSweptSolid’, ‘MappedRepresentation’, ‘SurfaceModel’, and ‘Brep’. The representation types ‘SurfaceModel’ and ‘Brep’ are explained at IfcBuildingElement. SweptSolid Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’
The following additional constraints apply to the ‘SweptSolid’ representation type:
Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef) Extrusion: All extrusion directions shall be supported.
Figure 71 illustrates the ‘SweptSolid’ geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).
Figure 71 — Beam swept solid
Figure 72 illustrates the use of non-perpendicular extrusion to create the IfcExtrudedAreaSolid.
Figure 72 — Beam non-perpendicular extrusion
Clipping Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘Clipping’
The following constraints apply to the advanced representation:
Solid: see ‘SweptSolid’ geometric representation Profile: see ‘SweptSolid’ geometric representation Extrusion: see ‘SweptSolid’ geometric representation Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).
Figure 73 illustrates use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.
Figure 73 — Beam clipping
AdvancedSweptSolid Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘AdvancedSweptSolid’
The following additional constraints apply to the ‘AdvancedSweptSolid’ representation type:
Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported. NOTE View definitions and implementer agreement can further constrain the allowed swept solid types.
Profile: see ‘SweptSolid’ geometric representation Extrusion: not applicable
MappedRepresentation Representation Type The ‘MappedRepresentation’ representation is supported as it allows for reusing the geometry definition of the beam type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’
The same constraints, as given for the ‘SweptSolid’, ‘Clipping’, ‘AdvancedSweptSolid’, ‘SurfaceModel’, and ‘Brep’ geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.
Public Types
-
typedef IfcTemplatedEntityList<IfcBeam>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBeam
(IfcEntityInstanceData *e)
-
IfcBeam
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBeam>
-
class
IfcBeamType
: public Ifc2x3::IfcBuildingElementType Definition from IAI: The element type IfcBeamType defines commonly shared information for occurrences of beams. The set of shared information may include:
common properties within shared property sets common material information common profile definitions common shape representations
It is used to define a beam specification, or beam style (i.e. the specific product information that is common to all occurrences of that beam type). Beam types may be exchanged without being already assigned to occurrences. Occurrences of the IfcBeamType within building models are represented by instances of IfcBeamStandardCase if the IfcBeamType has a single associated IfcMaterialProfileSet; otherwise they are represented by instances of IfcBeam. Occurrences of the IfcBeamType within structural analysis models are represented by instances of IfcStructuralCurveMember, or its applicable subtypes. HISTORY New entity in Release IFC2x Edition 2. Material Use Definition The material of the IfcBeamType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note: It is illegal to assign an IfcMaterial to an IfcBeamType, if there is at least one occurrences. of IfcBeamStandardCase for this type. Property Set Use Definition: The shared property sets relating to the IfcBeamType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcBeamType are part of this IFC release: NOTE There is no differentiation between properties within the property set that are only assignable to IfcBeamType and those that are only assignable to IfcBeam. If the same property is assigned to the IfcBeamType and the IfcBeam being an occurrence of the IfcBeamType, then the occurrence property overrides the type property.
Pset_BeamCommon: common property set for all beam types.
Profile Use Definition: The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all beam occurrence, if used. It is only applicable if the IfcBeamType has only occurrences of type IfcBeamStandardCase (see definition of IfcBeamStandardCase for further information). NOTE The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used. Geometry Use Definition: The IfcBeamType may define the shared geometric representation for all beam occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap’s, that allow for multiple geometric representations (e.g. with IfcShaperepresentation’s having an RepresentationIdentifier ‘Box’, ‘Axis’, or ‘Body’). It is only applicable if the IfcBeamType has only occurrences of type IfcBeam (See geometric use definition of IfcBeam for further information). NOTE If the IfcBeamType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided. NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information. NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcBeam and IfcBeamStandardCase
Public Types
-
typedef IfcTemplatedEntityList<IfcBeamType>
list
Public Functions
-
::Ifc2x3::IfcBeamTypeEnum::Value
PredefinedType
() const Identifies the predefined types of a beam element from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcBeamTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcBeamType
(IfcEntityInstanceData *e)
-
IfcBeamType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBeamType>
-
struct
IfcBeamTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration defines the different types of linear elements an IfcBeamType object can fulfill:
BEAM: A standard beam usually used horizontally. JOIST: A beam used to support a floor or ceiling. HOLLOWCORE: A wide often prestressed beam with a hollow-core profile that usually serves as a slab component. LINTEL: A beam or horizontal piece of material over an opening (e.g. door, window). SPANDREL: A tall beam placed on the facade of a building. One tall side is usually finished to provide the exterior of the building. Can be used to support joists or slab elements on its interior side.
NOTE They are also referred to as “spandrel
panels”, which are parts of a facade and sometimes have supporting consoles for floor slabs integrated.
T_BEAM: A beam that forms part of a slab construction and acts together with the slab which its carries. Such beams are often of T-shape (therefore the English name), but may have other shapes as well, e.g. an L-Shape or an Inverted-T-Shape.
NOTE In order to distinguish beams by shape, the assigned IfcProfileDef subtypes provide the shape type and, if using a subtype of IfcParameterizedProfileDef, also the shape parameterization.
USERDEFINED: User-defined linear beam element. NOTDEFINED: Undefined linear beam element
HISTORY New Enumeration in Release IFC2x Edition 2. IFC2x4 CHANGE The enumerators HOLLOWCORE and SPANDREL have been added.
Values:
-
enumerator
IfcBeamType_BEAM
¶
-
enumerator
IfcBeamType_JOIST
¶
-
enumerator
IfcBeamType_LINTEL
¶
-
enumerator
IfcBeamType_T_BEAM
¶
-
enumerator
IfcBeamType_USERDEFINED
¶
-
enumerator
IfcBeamType_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcBenchmarkEnum
¶ Public Types
-
enum
Value
¶ IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values.
HISTORY: New type in IFC Release 2.0
IFC2x4 CHANGE: Extended to include comparators for item-set and set-item comparisons: INCLUDES, NOTINCLUDES, INCLUDEDIN and NOTINCLUDEDIN, to test if an individual item is a member of a given aggregation, or if an aggregation has a given individual item as a member.
Enumeration
Value Definition
GREATERTHAN Identifies that a value must be greater than that set by the constraint.
GREATERTHANOREQUALTO Identifies that a value must be either greater than or equal to that set by the constraint.
LESSTHAN Identifies that a value must be less than that set by the constraint.
LESSTHANOREQUALTO Identifies that a value must be either less than or equal to that set by the constraint.
EQUALTO Identifies that a value must be equal to that set by the constraint.
NOTEQUALTO Identifies that a value must be not equal to that set by the constraint.
INCLUDES Identifies that an aggregation (set, list or table) must include the value (individual item) set by the constraint.
NOTINCLUDES Identifies that an aggregation (set, list or table) must not include (i.e must exclude) the value (individual item) set by the constraint.
INCLUDEDIN Identifies that a value (individual item) must be included in the aggregation (set, list or table) set by the constraint.
NOTINCLUDEDIN Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint.
Values:
-
enumerator
IfcBenchmark_GREATERTHAN
¶
-
enumerator
IfcBenchmark_GREATERTHANOREQUALTO
¶
-
enumerator
IfcBenchmark_LESSTHAN
¶
-
enumerator
IfcBenchmark_LESSTHANOREQUALTO
¶
-
enumerator
IfcBenchmark_EQUALTO
¶
-
enumerator
IfcBenchmark_NOTEQUALTO
¶
-
enumerator
-
enum
-
class
IfcBezierCurve
: public Ifc2x3::IfcBSplineCurve Subclassed by Ifc2x3::IfcRationalBezierCurve
Public Types
-
typedef IfcTemplatedEntityList<IfcBezierCurve>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBezierCurve
(IfcEntityInstanceData *e)
-
IfcBezierCurve
(int v1_Degree, IfcTemplatedEntityList<::Ifc2x3::IfcCartesianPoint>::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBezierCurve>
-
class
IfcBlobTexture
: public Ifc2x3::IfcSurfaceTexture An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat.
NOTE Toolbox specific implementations of the binary datatype may restrict the maximum length of the binary blob to capture the raster file content.
For interpretation of the texture nodes see IfcImageTexture definition.
HISTORY New class in IFC2x3.
IFC2x4 CHANGE Data type of RasterCode has been corrected to BINARY.
Public Types
-
typedef IfcTemplatedEntityList<IfcBlobTexture>
list
Public Functions
-
std::string
RasterFormat
() const The format of the RasterCode often using a compression.
-
void
setRasterFormat
(std::string v)
-
bool
RasterCode
() const Blob, given as a single binary, to capture the texture within one popular file (compression) format. The file format is provided by the RasterFormat attribute.
-
void
setRasterCode
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcBlobTexture
(IfcEntityInstanceData *e)
-
IfcBlobTexture
(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D *v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBlobTexture>
-
class
IfcBlock
: public Ifc2x3::IfcCsgPrimitive3D The IfcBlock is a Construction Solid Geometry (CSG) 3D primitive. It is defined by a position and a positve distance along the three orthogonal axes. The inherited Position attribute has the IfcAxisPlacement3D type and provides:
SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive. SELF\IfcCsgPrimitive3D.Position.Location: The block has one vertex at location and the edges are aligned with the placement axes in the positive sense.
The XLength, YLength, and ZLength attributes define the size of the IfcBlock along the three axes. The following definitions from ISO 10303-42 apply:
A block is a solid rectangular parallelepiped, defined with a location and placement coordinate system. The block is specified by the positive lengths x, y, and z along the axes of the placement coordinate system, and has one vertex at the origin of the placement coordinate system.
Figure 250 illustrates geometric parameters of a block where the block positioned within its own placement coordinate system. The values for XLength, YLength, and ZLength are applied to the positive direction of the X, Y, and Z axis.
Figure 250 — Block geometry
NOTE Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard.
HISTORY New entity in IFC2x3.
Texture use definition On each side face, textures are aligned facing upright. On the top and bottom faces, textures are aligned facing front-to-back. Textures are stretched or repeated to the extent of each face according to RepeatS and RepeatT.
Figure 251 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.
Side Normal Origin X Origin Y Origin Z S Axis T Axis
Left -X 0 +YLength 0 -Y +Z
Right +X 0 +YLength 0 +Y +Z
Front +X 0 0 0 +X +Z
Back +Y +XLength +YLength 0 -X +Z
Bottom -Z +XLength 0 0 -X +Y
Top +Z 0 0 +ZLength +X +Y
Figure 251 — Block textures
Public Types
-
typedef IfcTemplatedEntityList<IfcBlock>
list
Public Functions
-
double
XLength
() const The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1].
-
void
setXLength
(double v)
-
double
YLength
() const The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2].
-
void
setYLength
(double v)
-
double
ZLength
() const The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3].
-
void
setZLength
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBlock
(IfcEntityInstanceData *e)
-
IfcBlock
(::Ifc2x3::IfcAxis2Placement3D *v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBlock>
-
class
IfcBoilerType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a boiler specification (i.e. the specific product information, that is common to all occurrences of that product type). Boiler types may be exchanged without being already assigned to occurrences. Occurrences of IfcBoilerType are represented by instances of IfcBoiler.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_BoilerTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_BoilerTypeSteam (STEAM)
Material Use Definition The material of the IfcBoilerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcBoilerType>
list
Public Functions
-
::Ifc2x3::IfcBoilerTypeEnum::Value
PredefinedType
() const Defines types of boilers.
-
void
setPredefinedType
(::Ifc2x3::IfcBoilerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoilerType
(IfcEntityInstanceData *e)
-
IfcBoilerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoilerType>
-
struct
IfcBoilerTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of boilers. The IfcBoilerTypeEnum contains the following:
WATER: Water boiler. STEAM: Steam boiler. USERDEFINED: User-defined Boiler type. NOTDEFINED: Undefined Boiler type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcBoilerType_WATER
¶
-
enumerator
IfcBoilerType_STEAM
¶
-
enumerator
IfcBoilerType_USERDEFINED
¶
-
enumerator
IfcBoilerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcBoolean
: public IfcUtil::IfcBaseType IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE.
Type: BOOLEAN
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcBoolean
(IfcEntityInstanceData *e)
-
IfcBoolean
(bool v)
-
operator bool
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcBooleanClippingResult
: public Ifc2x3::IfcBooleanResult A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result.
A clipping result is the Boolean difference between a solid (restricted to swept area solid) and a half space solid, whereas more than one difference operation can be applied to the Boolean result.
NOTE The IfcBooleanClippingResult is defined as a special case of the boolean_result, as defined in ISO 10303-42:1994, p. 175. It has been added to apply further constraints to the CSG representation type.
HISTORY New entity in IFC Release 2.x.
Public Types
-
typedef IfcTemplatedEntityList<IfcBooleanClippingResult>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBooleanClippingResult
(IfcEntityInstanceData *e)
-
IfcBooleanClippingResult
(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand *v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand *v3_SecondOperand)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBooleanClippingResult>
-
struct
IfcBooleanOperator
¶ Public Types
-
enum
Value
¶ Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids.
UNION: The operation of constructing the regularized set theoretic union of the volumes defined by two solids. INTERSECTION: The operation of constructing the regularised set theoretic intersection of the volumes defined by two solids. DIFFERENCE: The operation of constructing the regularized set theoretic intersection of the volumes defined by two solids.
NOTE Corresponding STEP type: boolean_operator, please refer to ISO/IS 10303-42:1994, p.167 for the final definition of the formal standard.
HISTORY New Type in IFC Release 1.5.1.
Values:
-
enumerator
IfcBooleanOperator_UNION
¶
-
enumerator
IfcBooleanOperator_INTERSECTION
¶
-
enumerator
IfcBooleanOperator_DIFFERENCE
¶
-
enumerator
-
enum
-
class
IfcBooleanResult
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A Boolean result is the result of a regularized operation on two solids to create a new solid. Valid operations are regularized union, regularized intersection, and regularized difference. For purpose of Boolean operations, a solid is considered to be a regularized set of points. The final Boolean result depends upon the operation and the two operands. In the case of the difference operator the order of the operands is also significant. The operator can be either union, intersection or difference. The effect of these operators is described below:
Union on two solids is the new solid that is the regularization of the set of all points that are in either the first operand or the second operand or in both. Intersection on two solids is the new solid that is the regularization of the set of all points that are in both the first operand and the second operand. The result of the difference operation on two solids is the regularization of the set of all points which are in the first operand, but not in the second operand.
NOTE For example if the first operand is a block and the second operand is a solid cylinder of suitable dimensions and location, the boolean result produced with the difference operator would be a block with a circular hole.
NOTE Corresponding ISO 10303-42 entity: boolean_result. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p.175 for the final definition of the formal standard.
HISTORY: New class in IFC Release 1.5.1.
Subclassed by Ifc2x3::IfcBooleanClippingResult
Public Types
-
typedef IfcTemplatedEntityList<IfcBooleanResult>
list
Public Functions
-
::Ifc2x3::IfcBooleanOperator::Value
Operator
() const The Boolean operator used in the operation to create the result.
-
void
setOperator
(::Ifc2x3::IfcBooleanOperator::Value v)
-
::Ifc2x3::IfcBooleanOperand *
FirstOperand
() const The first operand to be operated upon by the Boolean operation.
-
void
setFirstOperand
(::Ifc2x3::IfcBooleanOperand *v)
-
::Ifc2x3::IfcBooleanOperand *
SecondOperand
() const The second operand specified for the operation.
-
void
setSecondOperand
(::Ifc2x3::IfcBooleanOperand *v)
-
const IfcParse::entity &
declaration
() const
-
IfcBooleanResult
(IfcEntityInstanceData *e)
-
IfcBooleanResult
(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand *v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand *v3_SecondOperand)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBooleanResult>
-
class
IfcBoundaryCondition
: public IfcUtil::IfcBaseEntity Definition from IAI: The abstract entity IfcBoundaryCondition is the supertype of all boundary conditions that can be applied to structural connection definitions, either directly for the connection (e.g. the joint) or for the relation between a structural member and the connection. NOTE: The boundary conditions are used within other parts, mainly by instances of IfcStructuralConnection (for the definition of supports) and instances of IfcRelConnectsStructuralMember (for the definition of connections between structural members and structural connections).
HISTORY: New entity in Release IFC2x Edition
Subclassed by Ifc2x3::IfcBoundaryEdgeCondition, Ifc2x3::IfcBoundaryFaceCondition, Ifc2x3::IfcBoundaryNodeCondition
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundaryCondition>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcBoundaryCondition.
-
std::string
Name
() const Optionally defines a name for this boundary condition.
-
void
setName
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoundaryCondition
(IfcEntityInstanceData *e)
-
IfcBoundaryCondition
(boost::optional<std::string> v1_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundaryCondition>
-
class
IfcBoundaryEdgeCondition
: public Ifc2x3::IfcBoundaryCondition Definition from IAI: Describes linearly elastic support conditions or connection conditions.
Applicability:
Curve supports and connections.
HISTORY: New entity in IFC 2x2. IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z.
IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundaryEdgeCondition>
list
Public Functions
-
bool
hasLinearStiffnessByLengthX
() const Whether the optional attribute LinearStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition.
-
double
LinearStiffnessByLengthX
() const
-
void
setLinearStiffnessByLengthX
(double v)
-
bool
hasLinearStiffnessByLengthY
() const Whether the optional attribute LinearStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition.
-
double
LinearStiffnessByLengthY
() const
-
void
setLinearStiffnessByLengthY
(double v)
-
bool
hasLinearStiffnessByLengthZ
() const Whether the optional attribute LinearStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition.
-
double
LinearStiffnessByLengthZ
() const
-
void
setLinearStiffnessByLengthZ
(double v)
-
bool
hasRotationalStiffnessByLengthX
() const Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition.
-
double
RotationalStiffnessByLengthX
() const Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object.
-
void
setRotationalStiffnessByLengthX
(double v)
-
bool
hasRotationalStiffnessByLengthY
() const Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition.
-
double
RotationalStiffnessByLengthY
() const Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object.
-
void
setRotationalStiffnessByLengthY
(double v)
-
bool
hasRotationalStiffnessByLengthZ
() const Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition.
-
double
RotationalStiffnessByLengthZ
() const Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object.
-
void
setRotationalStiffnessByLengthZ
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoundaryEdgeCondition
(IfcEntityInstanceData *e)
-
IfcBoundaryEdgeCondition
(boost::optional<std::string> v1_Name, boost::optional<double> v2_LinearStiffnessByLengthX, boost::optional<double> v3_LinearStiffnessByLengthY, boost::optional<double> v4_LinearStiffnessByLengthZ, boost::optional<double> v5_RotationalStiffnessByLengthX, boost::optional<double> v6_RotationalStiffnessByLengthY, boost::optional<double> v7_RotationalStiffnessByLengthZ)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundaryEdgeCondition>
-
class
IfcBoundaryFaceCondition
: public Ifc2x3::IfcBoundaryCondition Definition from IAI: Describes linearly elastic support conditions or connection conditions.
Applicability:
Surface supports and connections.
HISTORY: New entity in IFC 2x2. IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z.
IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundaryFaceCondition>
list
Public Functions
-
bool
hasLinearStiffnessByAreaX
() const Whether the optional attribute LinearStiffnessByAreaX is defined for this IfcBoundaryFaceCondition.
-
double
LinearStiffnessByAreaX
() const
-
void
setLinearStiffnessByAreaX
(double v)
-
bool
hasLinearStiffnessByAreaY
() const Whether the optional attribute LinearStiffnessByAreaY is defined for this IfcBoundaryFaceCondition.
-
double
LinearStiffnessByAreaY
() const
-
void
setLinearStiffnessByAreaY
(double v)
-
bool
hasLinearStiffnessByAreaZ
() const Whether the optional attribute LinearStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition.
-
double
LinearStiffnessByAreaZ
() const
-
void
setLinearStiffnessByAreaZ
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoundaryFaceCondition
(IfcEntityInstanceData *e)
-
IfcBoundaryFaceCondition
(boost::optional<std::string> v1_Name, boost::optional<double> v2_LinearStiffnessByAreaX, boost::optional<double> v3_LinearStiffnessByAreaY, boost::optional<double> v4_LinearStiffnessByAreaZ)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundaryFaceCondition>
-
class
IfcBoundaryNodeCondition
: public Ifc2x3::IfcBoundaryCondition Definition from IAI: Describes linearly elastic support conditions or connection conditions.
Applicability:
Point supports and connections.
HISTORY: New entity in IFC 2x2. IFC 2x4 change: Attributes LinearStiffnessX/Y/Z renamed to TranslationalStiffnessX/Y/Z.
IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
Subclassed by Ifc2x3::IfcBoundaryNodeConditionWarping
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundaryNodeCondition>
list
Public Functions
-
bool
hasLinearStiffnessX
() const Whether the optional attribute LinearStiffnessX is defined for this IfcBoundaryNodeCondition.
-
double
LinearStiffnessX
() const
-
void
setLinearStiffnessX
(double v)
-
bool
hasLinearStiffnessY
() const Whether the optional attribute LinearStiffnessY is defined for this IfcBoundaryNodeCondition.
-
double
LinearStiffnessY
() const
-
void
setLinearStiffnessY
(double v)
-
bool
hasLinearStiffnessZ
() const Whether the optional attribute LinearStiffnessZ is defined for this IfcBoundaryNodeCondition.
-
double
LinearStiffnessZ
() const
-
void
setLinearStiffnessZ
(double v)
-
bool
hasRotationalStiffnessX
() const Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition.
-
double
RotationalStiffnessX
() const Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object.
-
void
setRotationalStiffnessX
(double v)
-
bool
hasRotationalStiffnessY
() const Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition.
-
double
RotationalStiffnessY
() const Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object.
-
void
setRotationalStiffnessY
(double v)
-
bool
hasRotationalStiffnessZ
() const Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition.
-
double
RotationalStiffnessZ
() const Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object.
-
void
setRotationalStiffnessZ
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoundaryNodeCondition
(IfcEntityInstanceData *e)
-
IfcBoundaryNodeCondition
(boost::optional<std::string> v1_Name, boost::optional<double> v2_LinearStiffnessX, boost::optional<double> v3_LinearStiffnessY, boost::optional<double> v4_LinearStiffnessZ, boost::optional<double> v5_RotationalStiffnessX, boost::optional<double> v6_RotationalStiffnessY, boost::optional<double> v7_RotationalStiffnessZ)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundaryNodeCondition>
-
class
IfcBoundaryNodeConditionWarping
: public Ifc2x3::IfcBoundaryNodeCondition Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints.
Applicability:
Point supports and connections.
HISTORY: New entity in IFC 2x2.
IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE.
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundaryNodeConditionWarping>
list
Public Functions
-
bool
hasWarpingStiffness
() const Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping.
-
double
WarpingStiffness
() const Defines the warping stiffness value.
-
void
setWarpingStiffness
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoundaryNodeConditionWarping
(IfcEntityInstanceData *e)
-
IfcBoundaryNodeConditionWarping
(boost::optional<std::string> v1_Name, boost::optional<double> v2_LinearStiffnessX, boost::optional<double> v3_LinearStiffnessY, boost::optional<double> v4_LinearStiffnessZ, boost::optional<double> v5_RotationalStiffnessX, boost::optional<double> v6_RotationalStiffnessY, boost::optional<double> v7_RotationalStiffnessZ, boost::optional<double> v8_WarpingStiffness)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundaryNodeConditionWarping>
-
class
IfcBoundedCurve
: public Ifc2x3::IfcCurve Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points.
NOTE Corresponding ISO 10303 name: bounded_curve, only the following subtypes have been incorporated into IFC: polyline as IfcPolyline, trimmed_curve as IfcTrimmedCurve, composite_curve as IfcCompositeCurve. Please refer to ISO/IS 10303-42:1994, p.44 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Informal propositions:
A bounded curve has finite arc length. A bounded curve has a start point and an end point.
Subclassed by Ifc2x3::IfcBSplineCurve, Ifc2x3::IfcCompositeCurve, Ifc2x3::IfcPolyline, Ifc2x3::IfcTrimmedCurve
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundedCurve>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBoundedCurve
(IfcEntityInstanceData *e)
-
IfcBoundedCurve
()
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundedCurve>
-
class
IfcBoundedSurface
: public Ifc2x3::IfcSurface Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries.
NOTE Corresponding ISO 10303 name: bounded_surface. Please refer to ISO/IS 10303-42:1994, p.78 for the final definition of the formal standard.
HISTORY New entity in IFC Release 2x
IFC2x4 CHANGE Entity made abstract.
Informal propositions:
A bounded surface has finite non-zero surface area. A bounded surface has boundary curves.
Subclassed by Ifc2x3::IfcCurveBoundedPlane, Ifc2x3::IfcRectangularTrimmedSurface
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundedSurface>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBoundedSurface
(IfcEntityInstanceData *e)
-
IfcBoundedSurface
()
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundedSurface>
-
class
IfcBoundingBox
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A box domain is an orthogonal box parallel to the axes of the geometric coordinate system which may be used to limit the domain of a half space solid. A box domain is specified by the coordinates of the bottom left corner, and the lengths of the sides measured in the directions of the coordinate axes.
Every semantic object having a physical extent might have a minimum default representation of a bounding box. The bounding box is therefore also used as minimal geometric representation for any geometrically represented object. Therefore the IfcBoundingBox is subtyped from IfcGeometricRepresentationItem.
NOTE Corresponding ISO 10303-42 entity: box_domain, please refer to ISO/IS 10303-42:1994, p. 186 for the final definition of the formal standard. In IFC the bounding box can also be used outside of the context of an IfcBoxedHalfSpace.
HISTORY New entity in IFC Release 1.0.
As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system).
Figure 252 — Bounding box
Public Types
-
typedef IfcTemplatedEntityList<IfcBoundingBox>
list
Public Functions
-
::Ifc2x3::IfcCartesianPoint *
Corner
() const Location of the bottom left corner (having the minimum values).
-
void
setCorner
(::Ifc2x3::IfcCartesianPoint *v)
-
double
XDim
() const Length attribute (measured along the edge parallel to the X Axis)
-
void
setXDim
(double v)
-
double
YDim
() const Width attribute (measured along the edge parallel to the Y Axis)
-
void
setYDim
(double v)
-
double
ZDim
() const Height attribute (measured along the edge parallel to the Z Axis).
-
void
setZDim
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoundingBox
(IfcEntityInstanceData *e)
-
IfcBoundingBox
(::Ifc2x3::IfcCartesianPoint *v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoundingBox>
-
class
IfcBoxAlignment
: public Ifc2x3::IfcLabel The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used:
top-left top-middle top-right middle-left center middle-right bottom-left bottom-middle bottom-right
NOTE The top-left is the default value.
Figure 298 illustrates alignment values.
Figure 298 — Box alignment values
Figure 299 illustrates use of alignment values together with the placement and planar extent.
Figure 299 — Box alignment examples
HISTORY New type in IFC2x2 Addendum2.
IFC2x3 CHANGE The IfcBoxAlignment has been added.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcBoxAlignment
(IfcEntityInstanceData *e)
-
IfcBoxAlignment
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcBoxedHalfSpace
: public Ifc2x3::IfcHalfSpaceSolid Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system.
NOTE The purpose of the box is to facilitate CSG computations by producing a solid of finite size.
The IfcBoxedHalfSpace is used (as its supertype IfcHalfSpaceSolid) only within Boolean operations. It divides the domain into exactly two subsets, where the domain in question is that of the attribute Enclosure. The purpose of the attribute Enclosure is to provide a search box for the other operand in the Boolean operation. It shall be sufficiently large to fully enclose the resulting solid after the Boolean operation with the half space. It however does not alter the final result. The result of the Boolean operation would be the same, as if executed by the supertype IfcHalfSpaceSolid. See Figure 253 below.
Figure 253 — Boxed half space operands
NOTE Corresponding ISO 10303-42 entity: boxed_half_space, please refer to ISO/IS 10303-42:1994, p. 185 for the final definition of the formal standard. The IFC class IfcBoundingBox is used for the definition of the enclosure, providing the same definition as box_domain.
HISTORY New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x.
IFC2x4 CHANGE Usage correct, position coordinate system for Enclosure is the object coordinate system.
The IfcBoundingBox (relating to ISO 10303-42:1994 box_domain) that provides the enclosure is given for the convenience of the receiving application to enable the use of size box comparison for efficiency (for example, to check first whether size boxes intersect, if not no calculations has to be done to check whether the solids of the entities intersect).
The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result.
Figure 254 — Boxed half space geometry
Public Types
-
typedef IfcTemplatedEntityList<IfcBoxedHalfSpace>
list
Public Functions
-
::Ifc2x3::IfcBoundingBox *
Enclosure
() const The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only.
-
void
setEnclosure
(::Ifc2x3::IfcBoundingBox *v)
-
const IfcParse::entity &
declaration
() const
-
IfcBoxedHalfSpace
(IfcEntityInstanceData *e)
-
IfcBoxedHalfSpace
(::Ifc2x3::IfcSurface *v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox *v3_Enclosure)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBoxedHalfSpace>
-
class
IfcBSplineCurve
: public Ifc2x3::IfcBoundedCurve Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type.
Interpretation of the data is as follows:
All weights shall be positive and the curve is given by
k+1 = number of control points
Pi = control points
wi = weights
d = degree
The knot array is an array of (k+d+2) real numbers [u-d … uk+1], such that for all indices j in [-d,k], uj <= uj+1. This array is obtained from the knot data list by repeating each multiple knot according to the multiplicity. N di, the ith normalized B-spline basis function of degree d, is defined on the subset [ui-d, … , ui+1] of this array.
Let L denote the number of distinct values among the d+k+2 knots in the knot array; L will be referred to as the ‘upper index on knots’. Let mj denote the multiplicity (number of repetitions) of the jth distinct knot. Then
All knot multiplicities except the first and the last shall be in the range 1 … degree; the first and last may have a maximum value of degree +
In evaluating the basis functions, a knot u of e.g. multiplicity 3 is interpreted as a string u, u, u, in the knot array. The B-spline curve has 3 special subtypes (Note: only 1, Bezier curve, included in this IFC release) where the knots and knot multiplicities are derived to provide simple default capabilities. Logical flag is provided to indicate whether the curve self intersects or not.
Figure 277 (from ISO 10303-42) illustrates a B-spline curve.
Figure 277 — B-spline curve
NOTE Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard.
HISTORY New entity in Release IFC2x2.
Subclassed by Ifc2x3::IfcBezierCurve
Public Types
-
typedef IfcTemplatedEntityList<IfcBSplineCurve>
list
Public Functions
-
int
Degree
() const The algebraic degree of the basis functions.
-
void
setDegree
(int v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcCartesianPoint>::ptr
ControlPointsList
() const The list of control points for the curve.
-
void
setControlPointsList
(IfcTemplatedEntityList<::Ifc2x3::IfcCartesianPoint>::ptr v)
-
::Ifc2x3::IfcBSplineCurveForm::Value
CurveForm
() const Used to identify particular types of curve; it is for information only.
-
void
setCurveForm
(::Ifc2x3::IfcBSplineCurveForm::Value v)
-
bool
ClosedCurve
() const Indication of whether the curve is closed; it is for information only.
-
void
setClosedCurve
(bool v)
-
bool
SelfIntersect
() const Indication whether the curve self-intersects or not; it is for information only.
-
void
setSelfIntersect
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcBSplineCurve
(IfcEntityInstanceData *e)
-
IfcBSplineCurve
(int v1_Degree, IfcTemplatedEntityList<::Ifc2x3::IfcCartesianPoint>::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
struct
IfcBSplineCurveForm
¶ Public Types
-
enum
Value
¶ Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form.
Enumeration
polyline form: A connected sequence of line segments represented by degree 1 B-spline basis functions. circular arc: An arc of a circle, or a complete circle represented by a B-spline curve. elliptic arc: An arc of an ellipse, or a complete ellipse, represented by a B-spline curve. parabolic arc: An arc of finite length of a parabola represented by a B-spline curve. hyperbolic arc: An arc of finite length of one branch of a hyperbola represented by a B-spline curve. unspecified: A B-spline curve for which no particular form is specified.
NOTE Corresponding ISO 10303 type: b_spline_curve_form. Please refer to ISO/IS 10303-42:1994, p. 15 for the final definition of the formal standard.
HISTORY New type in Release IFC2x2.
Values:
-
enumerator
IfcBSplineCurveForm_POLYLINE_FORM
¶
-
enumerator
IfcBSplineCurveForm_CIRCULAR_ARC
¶
-
enumerator
IfcBSplineCurveForm_ELLIPTIC_ARC
¶
-
enumerator
IfcBSplineCurveForm_PARABOLIC_ARC
¶
-
enumerator
IfcBSplineCurveForm_HYPERBOLIC_ARC
¶
-
enumerator
IfcBSplineCurveForm_UNSPECIFIED
¶
-
enumerator
-
enum
-
class
IfcBuilding
: public Ifc2x3::IfcSpatialStructureElement Definition from ISO 6707-1:1989: Construction work that has the provision of shelter for its occupants or contents as one of its main purpose and is normally designed to stand permanently in one place. A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space). A building is (if specified) associated to a site. A building may span over several connected or disconnected buildings. Therefore building complex provides for a collection of buildings included in a site. A building can also be decomposed in (vertical) parts, where each part defines a building section. This is defined by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:
COMPLEX = building complex ELEMENT = building PARTIAL = building section
HISTORY New entity in IFC Release 1.0.
Property Set Use Definition The property sets relating to the IfcBuilding are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuilding are part of this IFC release:
Pset_BuildingCommon: common property set for all types of buildings Pset_BuildingWaterStorage: specific property set for buildings to capture the water supply requirements Pset_BuildingUse: specific property set for buildings to capture the current and anticipated real estate context. Pset_BuildingUseAdjacent: specific property set for buildings to capture the use information about the adjacent buildings.
Quantity Use Definition The quantities relating to the IfcBuilding are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.
Qto_BuildingBaseQuantities: base quantities for all building occurrences.
Spatial Structure Use Definition The IfcBuilding is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcBuilding references them by its inverse relationships:
IfcBuilding.Decomposes referencing (IfcSite || IfcBuilding) by IfcRelAggregates.RelatingObject, If it refers to another instance of IfcBuilding, the referenced IfcBuilding needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBuilding has ELEMENT), or ELEMENT (if the other IfcBuilding has PARTIAL). IfcBuilding.IsDecomposedBy referencing (IfcBuilding || IfcBuildingStorey) by IfcRelAggregates.RelatedObjects. If it refers to another instance ofIfcBuilding, the referenced IfcBuilding needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcBuilding has COMPLEX), or PARTIAL (if the other IfcBuilding has ELEMENT).
If there are building elements and/or other elements directly related to the IfcBuilding(like a curtain wall spanning several stories), they are associated with the IfcBuilding by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuilding references them by its inverse relationship:
IfcBuilding.ContainsElements referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.
Figure 20 shows the IfcBuilding as part of the spatial structure. It also serves as the spatial container for building and other elements. NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.
Figure 20 — Building composition
Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuilding by using the objectified relationship IfcRelServicesBuildings.
Attribute Use Definition
Figure 21 describes the heights and elevations of the IfcBuilding. It is used to provide the height above sea level of the project height datum for this building, that is, the internal height 0.00. The height 0.00 is often used as a building internal reference height and equal to the floor finish level of the ground floor.
base elevation of building provided by: IfcBuilding.ElevationOfRefHeight, it is usually the top of construction slab base elevation of terrain at the perimeter of the building provided by: IfcBuilding.ElevationOfTerrain, it is usually the minimum elevation is sloped terrain total height of building, also referred to as ridge height (top of roof structure, e.g the ridge against terrain): provided by BaseQuantity with Name=”TotalHeight” eaves height of building (base of roof structure, e.g the eaves against terrain): provided by BaseQuantity with Name=”EavesHeight”
Figure 21 — Building elevations
Geometry Use Definitions The geometric representation of IfcBuilding is given by the IfcProductDefinitionShape and IfcLocalPlacement, allowing multiple geometric representation. Local Placement The local placement for IfcBuilding is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcSite, or of type IfcBuilding (e.g. to position a building relative to a building complex, or a building section to a building). If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations Currently, the use of a 2D ‘FootPrint’ representation of type ‘GeometricCurveSet’ and a 3D ‘Body’ representation of type ‘Brep’ is supported. Foot Print Representation The foot print representation of IfcBuilding is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building has an independent geometric representation. The representation identifier and type of this geometric representation of IfcBuilding is:
IfcShapeRepresentation.RepresentationIdentifier = ‘FootPrint’ IfcShapeRepresentation.RepresentationType = ‘GeometricCurveSet’
Body Representation The body (or solid model) geometric representation (if the building has an independent geometric representation) of IfcBuilding is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids. The representation identifier and type of this representation of IfcBuilding is:
IfcShapeRepresentation.RepresentationIdentifier = ‘Body’ IfcShapeRepresentation.RepresentationType = ‘Brep’
Since the building shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building is exposed independently from its constituting elements.
Public Types
-
typedef IfcTemplatedEntityList<IfcBuilding>
list
Public Functions
-
bool
hasElevationOfRefHeight
() const Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding.
-
double
ElevationOfRefHeight
() const Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level.
-
void
setElevationOfRefHeight
(double v)
-
bool
hasElevationOfTerrain
() const Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding.
-
double
ElevationOfTerrain
() const Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level.
-
void
setElevationOfTerrain
(double v)
-
bool
hasBuildingAddress
() const Whether the optional attribute BuildingAddress is defined for this IfcBuilding.
-
::Ifc2x3::IfcPostalAddress *
BuildingAddress
() const Address given to the building for postal purposes.
-
void
setBuildingAddress
(::Ifc2x3::IfcPostalAddress *v)
-
const IfcParse::entity &
declaration
() const
-
IfcBuilding
(IfcEntityInstanceData *e)
-
IfcBuilding
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, boost::optional<double> v10_ElevationOfRefHeight, boost::optional<double> v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress *v12_BuildingAddress)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuilding>
-
class
IfcBuildingElement
: public Ifc2x3::IfcElement Definition from ISO 6707-1:1989: Major functional part of a building, examples are foundation, floor, roof, wall. The building element comprises all elements that are primarily part of the construction of a building, i.e., its structural and space separating system. EXAMPLEs of building elements are walls, beams, or doors, they are all physically existent and tangible things. The IfcBuildingElement utilizes the following capabilities mainly through inverse attributes referencing objectified relationships: NOTE View definitions and implementer agreements will determine those relationships that have to be supported in actual exchange.
Grouping - being part of a logical group of objects
objectified relationship: IfcRelAssignsToGroup object referenced by relationship: IfcGroup (and subtypes) inverse attribute: HasAssignment
Work processes - reference to work tasks, in which this building element is used
objectified relationship: IfcRelAssignsToProcess object referenced by relationship: IfcProcess (and subtypes) inverse attribute: HasAssignments
Structural member reference - information whether the building element is represented in a structural analysis model by a structural member
objectified relationship: IfcRelAssignsToProduct object referenced by relationship: IfcStructuralMember (and by default IfcStructuralCurveMember) inverse attribute: HasAssignments
Aggregation - aggregated together with other elements to form an aggregate
objectified relationship: IfcRelAggregates object referenced by relationship: IfcElement (and subtypes) inverse attribute (for container): IsDecomposedBy inverse attribute (for contained parts): Decomposes
Material - assignment of material used by this building element
objectified relationship: IfcRelAssociatesMaterial object referenced by relationship: IfcMaterialSelect (and selected items) inverse attribute: HasAssociations
Classification - assigned reference to an external classification
objectified relationship: IfcRelAssociatesClassification object referenced by relationship: IfcClassificationNotationSelect (and selected items, default IfcClassificationReference) inverse attribute: HasAssociations
Library - assigned reference to an external library item reference
objectified relationship: IfcRelAssociatesClassification object referenced by relationship: IfcLibrarySelect (and selected items, default IfcLibraryReference) inverse attribute: HasAssociations
Documentation - assigned reference to an external documentation
objectified relationship: IfcRelAssociatesDocumentation object referenced by relationship: IfcDocumentSelect (and selected items, default IfcDocumentReference) inverse attribute: HasAssociations
Type - reference to the common product type information for the element occurrence
objectified relationship: IfcRelDefinesByType object referenced by relationship: IfcBuildingElementType (and subtypes) inverse attribute: IsTypedBy
Properties - reference to all attached properties, including quantities
objectified relationship: IfcRelDefinesByProperties object referenced by relationship: IfcPropertySetDefinition (default IfcPropertySet) inverse attribute: IsDefinedBy
Connection - connectivity to other elements, including the definition of the joint
objectified relationship: IfcRelConnectsElements object referenced by relationship: IfcElement inverse attribute: ConnectedTo inverse attribute: ConnectedFrom
Realization - information, whether the building element is used to realize a connection (e.g. as a weld in a connection between two members)
objectified relationship: IfcRelConnectsWithRealizingElements object referenced by relationship: IfcElement inverse attribute: IsConnectionRealization
Assignment to spatial structure - hierarchical assignment to the right level within the spatial structure
objectified relationship: IfcRelContainedInSpatialStructure object referenced by relationship: IfcSpatialStructureElement inverse attribute: ContainedInStructure
Reference to spatial structure(s) - non hierarchical reference to one or more elements within the spatial structure (e.g. a curtain wall, being contained in the building, references several stories)
objectified relationship: IfcRelContainedInSpatialStructure object referenced by relationship: IfcSpatialElement inverse attribute: ContainedInStructure
Boundary - provision of space boundaries by this building element
objectified relationship: IfcRelSpaceBoundary object referenced by relationship: IfcSpace inverse attribute: ProvidesBoundaries
Coverings - assignment of covering elements to this building element (note: normally covering elements are assigned to the space, only used for special cases)
objectified relationship: IfcRelCoversBldgElements object referenced by relationship: IfcCovering inverse attribute: HasCoverings
Voids - information, whether the building element includes openings, recesses or other voids
objectified relationship: IfcRelVoidsElement object referenced by relationship: IfcFeatureElementSubtraction (default IfcOpeningElement) inverse attribute: HasOpenings
Projection - information, whether the building element has projections (such as a fascia)
objectified relationship: IfcRelProjectsElement object referenced by relationship: IfcFeatureElementAddition (default IfcProjectionElement) inverse attribute: HasProjections
Filling - information whether the building element is used to fill openings
objectified relationship: IfcRelFillsElement object referenced by relationship: IfcOpeningElement inverse attribute: FillsVoids
HISTORY New entity in IFC Release 1.0
Property Set Use Definition The properties relating to the IfcBuildingElement are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties. A detailed specification for individual property sets applicable is introduced at the level of subtypes of IfcBuildingElement. NOTE The applicable property sets are provided by an xml property set definition that includes multilingual translations for each property. The xml definition file format, psdXML, can be used to automatically configure the properties for each building element. Quantity Use Definition: The quantities relating to the IfcBuildingElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcBuildingElement. NOTE The applicable element quantities are provided by an xml quantity definition that includes multilingual translations for each quantity. The xml definition file format, qdXML, can be used to automatically configure the quantities for each building element.
Geometry Use Definitions The geometric representation of any IfcBuildingElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations. Local Placement The local placement for any IfcBuildingElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. Further constraints are defined at the level of its subtypes. Geometric Representations An IfcBuildingElement can be represented by one or several geometric representations. The following representation identifiers are used for building elements ‘Box’, ‘Axis’, ‘FootPrint’, ‘Surface’, and ‘Body’. A detailed specification is introduced at the level of subtypes. NOTE Some subtypes of IfcBuildingElement may exclude one or several geometric representation types, e.g. standard case elements, such as IfcWallStandardCase, do not allow the use of ‘SurfaceModel’, ‘Brep’, ‘AdvancedBrep’, and ‘MappedRepresentation’. In addition view definitions and implementer agreements may restrict the use of geometric representation types, e.g. the use of ‘AdvancedBrep’. Box Representation Any IfcBuildingElement may be represented as a bounding box, which shows the maximum extend of the body within the coordinated system established by the IfcLocalPlacement. The bounding box representation is the simplest geometric representation available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Box’ RepresentationType : ‘BoundingBox’
As shown in Figure 22, the bounding box representation is given by an IfcShapeRepresentation that includes a single item, an IfcBoundingBox.
Figure 22 — Building element box representation
Axis Representation Some IfcBuildingElement may be represented by an axis as an abstract geometric representation. See each subtype for specific guidance. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:
RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’, ‘Curve3D’
Surface Representation Some IfcBuildingElement may be represented by an surface as an abstract geometric representation. See each subtype for specific guidance. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:
RepresentationIdentifier : ‘Surface’ RepresentationType : ‘Surface2D’, ‘Surface3D’
FootPrint Representation Any IfcBuildingElement may be represented by a footprint as a specific floor plan geometric representation. See each subtype for specific guidance. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:
RepresentationIdentifier : ‘FootPrint’ RepresentationType : ‘GeometricCurveSet’, ‘Annotation2D’
Body Representation The body representation of any IfcBuildingElement can have the following representation types: ‘SurfaceModel’, ‘Brep’, ‘AdvancedBrep’, and ‘MappedRepresentation’. Other representation types might be specified at the level of subtypes. SurfaceModel Representation Type Any IfcBuildingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SurfaceModel’
In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.
As shown in Figure 23, the surface model representation is given by an IfcShapeRepresentation, which includes a single item which is either:
IfcShellBasedSurfaceModel, or IfcFaceBasedSurfaceModel.
Figure 23 — Building element surface model representation
Brep Representation Type Any IfcBuildingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘Brep’
In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape. As shown in Figure 24, the Brep representation is given by an IfcShapeRepresentation, which includes one or more items, all of type IfcFacetedBrep.
Figure 24 — Building element body boundary representation
AdvancedBrep Representation Type An IfcBuildingElement (so far no further constraints are defined at the level of its subtypes or by view definitions) may be represented as a single or multiple Boundary Representation elements (which are based on advanced surfaces, usually refered to as NURBS surfaces). The AdvancedBrep representation allows for the representation of complex free-form element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘AdvancedBrep’
In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape. MappedRepresentation Representation Type Any IfcBuildingElement (so far no further constraints are defined at the level of its subtypes) may be represented using the MappedRepresentation. This shall be supported as it allows for reusing the geometry definition of a type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’
The same constraints, as given for ‘SurfaceModel’, ‘Brep’, and ‘AdvancedBrep’ geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.
Subclassed by Ifc2x3::IfcBeam, Ifc2x3::IfcBuildingElementComponent, Ifc2x3::IfcBuildingElementProxy, Ifc2x3::IfcColumn, Ifc2x3::IfcCovering, Ifc2x3::IfcCurtainWall, Ifc2x3::IfcDoor, Ifc2x3::IfcFooting, Ifc2x3::IfcMember, Ifc2x3::IfcPile, Ifc2x3::IfcPlate, Ifc2x3::IfcRailing, Ifc2x3::IfcRamp, Ifc2x3::IfcRampFlight, Ifc2x3::IfcRoof, Ifc2x3::IfcSlab, Ifc2x3::IfcStair, Ifc2x3::IfcStairFlight, Ifc2x3::IfcWall, Ifc2x3::IfcWindow
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingElement
(IfcEntityInstanceData *e)
-
IfcBuildingElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingElement>
-
class
IfcBuildingElementComponent
: public Ifc2x3::IfcBuildingElement Subclassed by Ifc2x3::IfcBuildingElementPart, Ifc2x3::IfcReinforcingElement
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingElementComponent>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingElementComponent
(IfcEntityInstanceData *e)
-
IfcBuildingElementComponent
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingElementComponent>
-
class
IfcBuildingElementPart
: public Ifc2x3::IfcBuildingElementComponent Definition from IAI: Layers or major components as subordinate parts of a building element. Typical usage examples include precast concrete sandwich walls, where the layers may have different geometry representations. In this case the layered material representation does not sufficiently describe the element. Each layer is represented by an own instance of the IfcBuildingElementPart with its own geometry description.
The kind of building element part is further specified by a corresponding instance of IfcBuildingElementPartType, referred to by IfcRelDefinesByType.
HISTORY New entity in IFC Release 2x2
IFC 2x4 change: Moved from from IfcStructuralElementsDomain schema to IfcSharedComponentElements schema, compatible change of supertype, attribute PredefinedType added.
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingElementPart>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingElementPart
(IfcEntityInstanceData *e)
-
IfcBuildingElementPart
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingElementPart>
-
class
IfcBuildingElementProxy
: public Ifc2x3::IfcBuildingElement Definition from IAI: The IfcBuildingElementProxy is a proxy definition that provides the same functionality as an IfcBuildingElement, but without having a predefined meaning of the special type of building element, it represents. Proxies can also be used as spatial place holders or provisions, that maybe later replaced by special types of elements. One use of the proxy object is a provision for voids, i.e. where a particular volume of space is requested by some engineering function that might later be accepted or rejected and if accepted potentially transformed into a void within a building element, like a wall opening, or a slab opening. The provision for voids is exchanged as an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid. Other usages of IfcBuildingElementProxy include:
The IfcBuildingElementProxy can be used to exchange special types of building elements for which the current IFC Release does not yet provide a semantic definition. The IfcBuildingElementProxy can also be used to represent building elements for which the participating applications can not provide additional semantic classification.
HISTORY New entity in IFC Release 2x. IFC2x4 CHANGE The attribute CompositionType has been replaced by PredefinedType, being a superset of the enumerators. Type Use Definition The IfcBuildingElementProxy defines the occuurence of any building element, common information about the types (or styles) is handled by IfcBuildingElementProxyType. The IfcBuildingElementProxyType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcBuildingElementProxyType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
NOTE The IfcBuildingElementProxyType can be used to share common information among many occurrences of the same proxy without establishing a particular semantic meaning of the type.
If no IfcBuildingElementProxyType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute. Material Use Definition The material of the IfcBuildingElementProxy is defined by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note It is illegal to assign an IfcMaterial to an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid. Material information can also be given at the IfcBuildingElementProxyType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcBuildingElementProxy overrides the material assigned to IfcBuildingElementProxyType. Property Set Use Definition: The property sets relating to the IfcBuildingElementProxy are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuildingElementProxy are part of this IFC release:
Pset_BuildingElementProxyCommon: common property set for all occurrences of building element proxies. Pset_BuildingElementProxyProvisionForVoid: specific property set for all occurrences of building element proxy with the PredefinedType: PROVISIONFORVOID.
Property sets can also be given at the IfcBuildingElementProxyType, defining the common property data for all occurrences of the same type.It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasPropertySets. If both are given, then the properties directly assigned to IfcBuildingElementProxy overrides the properties assigned to IfcBuildingElementProxyType. Containment Use Definition The IfcBuildingElementProxy, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within anelement assembly.
The IfcBuildingElementProxy is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcBuildingElementProxy may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.SELF\IfcElement.ContainedInStructure should be NIL.
Geometry Use Definition The geometric representation of IfcBuildingElementProxy is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for any IfcBuildingElementProxy is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement can be given relativly.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representation Currently, the ‘FootPrint’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. FootPrint Representation Any building element proxy may be represented by a geometric curve set, given by a collection of 2D points and curves. The foot pring geometric representation of IfcBuildingElementProxy is defined using the ‘FootPrint’ representation.
RepresentationIdentifier: ‘FootPrint’ RepresentationType: ‘GeometricCurveSet’, ‘Annotation2D’
Body Representation The body representation of IfcBuildingElementProxy can be represented using the representation types ‘GeometricSet’, ‘SweptSolid’, ‘CSG’ ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’. The representation types ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’ are explained at IfcBuildingElement. GeometricSet Representation Type Any building element proxy may be represented by a geometric set, given by a collection of 2D and 3D points, curves, and surfaces. It represents the body of the proxy object, when no topological structure is available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier: ‘Body’ RepresentationType: ‘GeometricSet’
SweptSolid Representation Type Any building element proxy may be represented by swept solid geometry (either by extrusion or by revolution). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier: ‘Body’ RepresentationType: ‘SweptSolid’
No further restrictions (e.g., for the profile or extrusion direction) are defined at this level. A single or multiple swept area solid(s) can be the Items of the IfcShapeRepresentation. CSG Representation Type Any building element proxy may be represented by a CSG primitive or CSG tree. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier: ‘Body’ RepresentationType: ‘CSG’
No further restrictions (e.g., for the depths of the CSG tree) are defined at this level.
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingElementProxy>
list
Public Functions
-
bool
hasCompositionType
() const Whether the optional attribute CompositionType is defined for this IfcBuildingElementProxy.
-
::Ifc2x3::IfcElementCompositionEnum::Value
CompositionType
() const
-
void
setCompositionType
(::Ifc2x3::IfcElementCompositionEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingElementProxy
(IfcEntityInstanceData *e)
-
IfcBuildingElementProxy
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc2x3::IfcElementCompositionEnum::Value> v9_CompositionType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingElementProxy>
-
class
IfcBuildingElementProxyType
: public Ifc2x3::IfcBuildingElementType Definition from IAI: TheIfcBuildingElementProxyType defines a list of commonly shared property set definitions of a building element proxy and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A building element proxy type is used to define the common properties of a certain type of a building element proxy that may be applied to many instances of thattype to assign a specific style. Building element proxy typesmay be exchanged without being already assigned to occurrences.
NOTE Although an building element proxy does not have a predefined ontological meaning the provision of a type may be helpful in sharing information among multiple occurrences. Applications that provide type information for element types not yet included in the current IFC specification can use the IfcBuildingElementProxyType to exchange such types.
The occurrences of the IfcBuildingElementProxyType are represented by instances of IfcBuildingElementProxy.
HISTORY New entity in Release IFC2x Edition 3.
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingElementProxyType>
list
Public Functions
-
::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value
PredefinedType
() const Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type.
-
void
setPredefinedType
(::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingElementProxyType
(IfcEntityInstanceData *e)
-
IfcBuildingElementProxyType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingElementProxyType>
-
struct
IfcBuildingElementProxyTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration defines the available generic types for IfcBuildingElementProxyType.
HISTORY New enumeration inRelease IFC2x Edition 3.
Enumeration
USERDEFINED
NOTDEFINED
Values:
-
enumerator
IfcBuildingElementProxyType_USERDEFINED
¶
-
enumerator
IfcBuildingElementProxyType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcBuildingElementType
: public Ifc2x3::IfcElementType Definition from IAI: The element type (IfcBuildingElementType) defines a list of commonly shared property set definitions of a building element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A building element type is used to define the common properties of a certain type of a building element that may be applied to many instances of that feature type to assign a specific style. Building element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The IfcBuildingElementType is an abstract type. Occurrences of subtypes of the IfcBuildingElementType are represented by instances of the appropriate subtypes of IfcBuildingElement.
HISTORY New entity in Release IFC2x Edition 2.
Subclassed by Ifc2x3::IfcBeamType, Ifc2x3::IfcBuildingElementProxyType, Ifc2x3::IfcColumnType, Ifc2x3::IfcCoveringType, Ifc2x3::IfcCurtainWallType, Ifc2x3::IfcMemberType, Ifc2x3::IfcPlateType, Ifc2x3::IfcRailingType, Ifc2x3::IfcRampFlightType, Ifc2x3::IfcSlabType, Ifc2x3::IfcStairFlightType, Ifc2x3::IfcWallType
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingElementType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingElementType
(IfcEntityInstanceData *e)
-
IfcBuildingElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingElementType>
-
class
IfcBuildingStorey
: public Ifc2x3::IfcSpatialStructureElement The building storey has an elevation and typically represents a (nearly) horizontal aggregation of spaces that are vertically bound. A storey is (if specified) associated to a building. A storey may span over several connected storeys. Therefore storey complex provides for a collection of storeys included in a building. A storey can also be decomposed in (horizontical) parts, where each part defines a partial storey. This is defihned by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:
COMPLEX = building storey complex ELEMENT = building storey PARTIAL = partial building storey
EXAMPLE In split level houses, a storey is split into two or more partial storeys, each with a different elevation. It can be handled by defining a storey, which includes two or more partial storeys with the individual elevations. HISTORY New entity in IFC Release 1.0
Property Set Use Definition The property sets relating to the IfcBuildingStorey are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcBuildingStorey are part of this IFC release:
Pset_BuildingStoreyCommon: common property set for all types of building stories
Quantity Use Definition The quantities relating to the IfcBuildingStorey are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.
Qto_BuildingStoreyBaseQuantities: base quantities for all building storey occurrences.
Spatial Structure Use Definition The IfcBuildingStorey is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcBuildingStoreyreferences them by its inverse relationships:
IfcBuildingStorey.Decomposes referencing (IfcBuilding || IfcBuildingStorey) by IfcRelAggregates.RelatingObject, If it refers to another instance ofIfcBuildingStorey, the referenced IfcBuildingStorey needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBuildingStorey has ELEMENT), or ELEMENT (if the other IfcBuildingStorey has PARTIAL). IfcBuildingStorey.IsDecomposedBy referencing (IfcBuildingStorey || IfcSpace) by IfcRelAggregates.RelatedObjects. If it refers to another instance ofIfcBuildingStorey, the referenced IfcBuildingStorey needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcBuildingStorey has COMPLEX), or PARTIAL (if the other IfcBuildingStorey has ELEMENT).
If there are building elements and/or other elements directly related to the IfcBuildingStorey (like most building elements, such as walls, columns, etc.), they are associated with the IfcBuildingStorey by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuildingStorey references them by its inverse relationship:
IfcBuildingStorey.ContainsElements referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.
Figure 25 shows the IfcBuildingStorey as part of the spatial structure. It also serves as the spatial container for building and other elements. NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.
Figure 25 — Building storey composition
Elements can also be referenced in an IfcBuildingStorey, for example, if they span through several storeys. This is expressed by using the objectified relationship IfcRelReferencedInSpatialStructure. Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuildingStorey by using the objectified relationship IfcRelServicesBuildings.
Attribute Use Definition
Figure 26 describes the heights and elevations of the IfcBuildingStorey.
elevation of storey provided by: IfcBuildingStorey.Elevation as a local height value relative to IfcBuilding.ElevationOfRefHeight, it is usually the top of construction slab net height of storey, also referred to as total height or system height (top of construction slab to top of construction slab above): provided by BaseQuantity with Name=”GrossHeight” net height of storey (top of construction slab to bottom of construction slab above): provided by BaseQuantity with Name=”NetHeight”
Figure 26 — Building storey elevations
Geometry Use Definitions The geometric representation of IfcBuildingStorey is given by the IfcProductDefinitionShape and IfcLocalPlacement, allowing multiple geometric representation. Local Placement The local placement for IfcBuildingStorey is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcBuilding, or of type IfcBuildingStorey (e.g. to position a building storey relative to a building storey complex, or a partial building storey to a building storey). If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations Currently, the use of a 2D ‘FootPrint’ representation of type ‘GeometricCurveSet’ and a 3D ‘Body’ representation of type ‘Brep’ is supported.
NOTE The independent geometric representation of IfcBuildingStorey may not be required or allowed in certain view definitions. In those cases only the contained elements and spaces have an independent geometric representation.
Foot Print Representation The foot print representation of IfcBuildingStorey is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building storey has an independent geometric representation. The representation identifier and type of this geometric representation of IfcBuildingStorey is:
IfcShapeRepresentation.RepresentationIdentifier = ‘FootPrint’ IfcShapeRepresentation.RepresentationType = ‘GeometricCurveSet’
Body Representation The body (or solid model) geometric representation (if the building storey has an independent geometric representation) of IfcBuildingStorey is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids. The representation identifier and type of this representation of IfcBuildingStorey is:
IfcShapeRepresentation.RepresentationIdentifier = ‘Body’ IfcShapeRepresentation.RepresentationType = ‘Brep’
Since the building storey shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building storey is exposed independently from its constituting elements.
Public Types
-
typedef IfcTemplatedEntityList<IfcBuildingStorey>
list
Public Functions
-
bool
hasElevation
() const Whether the optional attribute Elevation is defined for this IfcBuildingStorey.
-
double
Elevation
() const Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding.
-
void
setElevation
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcBuildingStorey
(IfcEntityInstanceData *e)
-
IfcBuildingStorey
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, boost::optional<double> v10_Elevation)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcBuildingStorey>
-
class
IfcCableCarrierFittingType
: public Ifc2x3::IfcFlowFittingType The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a cable carrier fitting specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Carrier Fitting types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableCarrierFittingType are represented by instances of IfcCableCarrierFitting.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CableCarrierFittingTypeCommon
Material Use Definition The material of the IfcCableCarrierFittingType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCableCarrierFittingType>
list
Public Functions
-
::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value
PredefinedType
() const Identifies the predefined types of cable carrier fitting from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCableCarrierFittingType
(IfcEntityInstanceData *e)
-
IfcCableCarrierFittingType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCableCarrierFittingType>
-
struct
IfcCableCarrierFittingTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. HISTORY: New type in IFC 2x2
Enumeration
BEND: A fitting that changes the route of the cable carrier. CROSS: A fitting at which two branches are taken from the main route of the cable carrier simultaneously. REDUCER: A fitting that changes the physical size of the main route of the cable carrier. TEE: A fitting at which a branch is taken from the main route of the cable carrier. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcCableCarrierFittingType_BEND
¶
-
enumerator
IfcCableCarrierFittingType_CROSS
¶
-
enumerator
IfcCableCarrierFittingType_REDUCER
¶
-
enumerator
IfcCableCarrierFittingType_TEE
¶
-
enumerator
IfcCableCarrierFittingType_USERDEFINED
¶
-
enumerator
IfcCableCarrierFittingType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCableCarrierSegmentType
: public Ifc2x3::IfcFlowSegmentType The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a cable carrier segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Carrier Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableCarrierSegmentType are represented by instances of IfcCableCarrierSegment.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CableCarrierSegmentTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_CableCarrierSegmentTypeCableLadderSegment (CABLELADDERSEGMENT) Pset_CableCarrierSegmentTypeCableTraySegment (CABLETRAYSEGMENT) Pset_CableCarrierSegmentTypeCableTrunkingSegment (CABLETRUNKINGSEGMENT) Pset_CableCarrierSegmentTypeConduitSegment (CONDUITSEGMENT)
Material Use Definition The material of the IfcCableCarrierSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:
‘Body’: Material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCableCarrierSegmentType>
list
Public Functions
-
::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value
PredefinedType
() const Identifies the predefined types of cable carrier segment from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCableCarrierSegmentType
(IfcEntityInstanceData *e)
-
IfcCableCarrierSegmentType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCableCarrierSegmentType>
-
struct
IfcCableCarrierSegmentTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. HISTORY: New type in IFC 2x2
Enumeration
CABLELADDERSEGMENT: An open carrier segment on which cables are carried on a ladder structure. CABLETRAYSEGMENT: A (typically) open carrier segment onto which cables are laid. CABLETRUNKINGSEGMENT: An enclosed carrier segment with one or more compartments into which cables are placed. CONDUITSEGMENT: An enclosed tubular carrier segment through which cables are pulled. USERDEFINED: User-defined type.
NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcCableCarrierSegmentType_CABLELADDERSEGMENT
¶
-
enumerator
IfcCableCarrierSegmentType_CABLETRAYSEGMENT
¶
-
enumerator
IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT
¶
-
enumerator
IfcCableCarrierSegmentType_CONDUITSEGMENT
¶
-
enumerator
IfcCableCarrierSegmentType_USERDEFINED
¶
-
enumerator
IfcCableCarrierSegmentType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCableSegmentType
: public Ifc2x3::IfcFlowSegmentType The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a cable segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Cable Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcCableSegmentType are represented by instances of IfcCableSegment.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CableSegmentTypeCommon Pset_ElectricalDeviceCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_CableSegmentTypeBusbarSegment (BUSBARSEGMENT) Pset_CableSegmentTypeCableSegment (CABLESEGMENT) Pset_CableSegmentTypeConductorSegment (CONDUCTORSEGMENT)
Material Use Definition The material of the IfcCableSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:
‘Conductor’: The material from which the conductor is constructed such as Aluminium or Copper. ‘Insulation’: The material from which the insulation is constructed such as PVC, PEX, EPR, etc. ‘Screen’: The material from which the screen that covers the sheath is constructed (mantel) such as Aluminium, Copper, Steel , Lead. ‘Sheath’: The outer sheathing of the cable which may be color-coded.
Composition Use Definition The IfcCableSegmentType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCableSegmentType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:
CABLESEGMENT: May contain IfcCableSegment components having PredefinedType CORESEGMENT. Cable segments may be aggregated into cable cores. CORESEGMENT: May contain IfcCableSegment components having PredefinedType CONDUCTORSEGMENT. Cable cores may be aggregated into cable conductors.
Port Use Definition The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCableSegmentType>
list
Public Functions
-
::Ifc2x3::IfcCableSegmentTypeEnum::Value
PredefinedType
() const Identifies the predefined types of cable segment from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcCableSegmentTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCableSegmentType
(IfcEntityInstanceData *e)
-
IfcCableSegmentType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCableSegmentType>
-
struct
IfcCableSegmentTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified.
HISTORY: New type in IFC 2x2. Core and busbar segment added in IFC 2x4.
Enumeration
BUSBARSEGMENT: Electrical conductor that makes a common connection between several electrical circuits. Properties of a busbar are the same as those of a cable segment and are captured by the cable segment property set. CABLESEGMENT: Cable with a specific purpose to lead electric current within a circuit or any other electric construction. Includes all types of electric cables, mainly several core segments or conductor segments wrapped together. CONDUCTORSEGMENT: A single linear element within a cable or an exposed wire (such as for grounding) with the specific purpose to lead electric current, data, or a telecommunications signal.
CORESEGMENT: A self contained element of a cable that comprises one or more conductors and sheathing.The core of one lead is normally single wired or multiwired which are intertwined.
USERDEFINED: User-defined type.
NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcCableSegmentType_CABLESEGMENT
¶
-
enumerator
IfcCableSegmentType_CONDUCTORSEGMENT
¶
-
enumerator
IfcCableSegmentType_USERDEFINED
¶
-
enumerator
IfcCableSegmentType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCalendarDate
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcCalendarDate>
list
Public Functions
-
int
DayComponent
() const
-
void
setDayComponent
(int v)
-
int
MonthComponent
() const
-
void
setMonthComponent
(int v)
-
int
YearComponent
() const
-
void
setYearComponent
(int v)
-
const IfcParse::entity &
declaration
() const
-
IfcCalendarDate
(IfcEntityInstanceData *e)
-
IfcCalendarDate
(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCalendarDate>
-
class
IfcCartesianPoint
: public Ifc2x3::IfcPoint Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space.
The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). The WR1 was added to constrain the usage of IfcCartesianPoint in the context of IFC geometry. For the purpose of defining geometry in IFC only two and three dimensional Cartesian points are used.
NOTE: Corresponding STEP entity: cartesian_point, please refer to ISO/IS 10303-42:1994, p. 23 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 1.0
Public Types
-
typedef IfcTemplatedEntityList<IfcCartesianPoint>
list
Public Functions
-
std::vector<double>
Coordinates
() const The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate.
-
void
setCoordinates
(std::vector<double> v)
-
const IfcParse::entity &
declaration
() const
-
IfcCartesianPoint
(IfcEntityInstanceData *e)
-
IfcCartesianPoint
(std::vector<double> v1_Coordinates)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCartesianPoint>
-
class
IfcCartesianTransformationOperator
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation.
The transformation for a point with position vector P is defined by
P -> A + STP
The transformation for a direction d is defined by
d -> Td
The transformation for a vector with orientation d and magnitude k is defined by
d -> Td, and
k -> Sk
For those entities whose attributes include an axis2 placement, the transformation is applied, after the derivation, to the derived attributes p defining the placement coordinate directions. For a transformed surface, the direction of the surface normal at any point is obtained by transforming the normal, at the corresponding point, to the original surface. For geometric entities with attributes (such as the radius of a circle) which have the dimensionality of length, the values will be multiplied by S.
For curves on surface the p curve.reference to curve will be unaffected by any transformation. The Cartesian transformation operator shall only be applied to geometry defined in a consistent system of units with the same units on each axis. With all optional attributes omitted, the transformation defaults to the identity transformation. The Cartesian transformation operator shall only be instantiated as one of its subtypes.
NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator, please refer to ISO/IS 10303-42:1994, p. 32 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 2x.
Subclassed by Ifc2x3::IfcCartesianTransformationOperator2D, Ifc2x3::IfcCartesianTransformationOperator3D
Public Types
-
typedef IfcTemplatedEntityList<IfcCartesianTransformationOperator>
list
Public Functions
-
bool
hasAxis1
() const Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator.
-
::Ifc2x3::IfcDirection *
Axis1
() const The direction used to determine U[1], the derived X axis direction.
-
void
setAxis1
(::Ifc2x3::IfcDirection *v)
-
bool
hasAxis2
() const Whether the optional attribute Axis2 is defined for this IfcCartesianTransformationOperator.
-
::Ifc2x3::IfcDirection *
Axis2
() const The direction used to determine U[2], the derived Y axis direction.
-
void
setAxis2
(::Ifc2x3::IfcDirection *v)
-
::Ifc2x3::IfcCartesianPoint *
LocalOrigin
() const The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin.
-
void
setLocalOrigin
(::Ifc2x3::IfcCartesianPoint *v)
-
bool
hasScale
() const Whether the optional attribute Scale is defined for this IfcCartesianTransformationOperator.
-
double
Scale
() const The scaling value specified for the transformation.
-
void
setScale
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCartesianTransformationOperator
(IfcEntityInstanceData *e)
-
IfcCartesianTransformationOperator
(::Ifc2x3::IfcDirection *v1_Axis1, ::Ifc2x3::IfcDirection *v2_Axis2, ::Ifc2x3::IfcCartesianPoint *v3_LocalOrigin, boost::optional<double> v4_Scale)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCartesianTransformationOperator>
-
class
IfcCartesianTransformationOperator2D
: public Ifc2x3::IfcCartesianTransformationOperator Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring.
NOTE: Corresponding ISO 10303 entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 2x.
Subclassed by Ifc2x3::IfcCartesianTransformationOperator2DnonUniform
Public Types
-
typedef IfcTemplatedEntityList<IfcCartesianTransformationOperator2D>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcCartesianTransformationOperator2D
(IfcEntityInstanceData *e)
-
IfcCartesianTransformationOperator2D
(::Ifc2x3::IfcDirection *v1_Axis1, ::Ifc2x3::IfcDirection *v2_Axis2, ::Ifc2x3::IfcCartesianPoint *v3_LocalOrigin, boost::optional<double> v4_Scale)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCartesianTransformationOperator2D>
-
class
IfcCartesianTransformationOperator2DnonUniform
: public Ifc2x3::IfcCartesianTransformationOperator2D A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors:
SELF\IfcCartesianTransformationOperator.Scale: the x axis scale factor Scale2: the y axis scale factor
If the Scale factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the Scale2 factor is omitted, it defaults to the value of Scale (the x axis scale factor).
NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).
HISTORY: New entity in IFC Release 2x.
Public Types
Public Functions
-
bool
hasScale2
() const Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform.
-
double
Scale2
() const The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.
-
void
setScale2
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCartesianTransformationOperator2DnonUniform
(IfcEntityInstanceData *e)
-
IfcCartesianTransformationOperator2DnonUniform
(::Ifc2x3::IfcDirection *v1_Axis1, ::Ifc2x3::IfcDirection *v2_Axis2, ::Ifc2x3::IfcCartesianPoint *v3_LocalOrigin, boost::optional<double> v4_Scale, boost::optional<double> v5_Scale2)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
bool
-
class
IfcCartesianTransformationOperator3D
: public Ifc2x3::IfcCartesianTransformationOperator Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring.
NOTE: Corresponding ISO 10303 entity: cartesian_transformation_operator_3d, please refer to ISO/IS 10303-42:1994, p. 33 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 2x.
Subclassed by Ifc2x3::IfcCartesianTransformationOperator3DnonUniform
Public Types
-
typedef IfcTemplatedEntityList<IfcCartesianTransformationOperator3D>
list
Public Functions
-
bool
hasAxis3
() const Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D.
-
::Ifc2x3::IfcDirection *
Axis3
() const The exact direction of U[3], the derived Z axis direction.
-
void
setAxis3
(::Ifc2x3::IfcDirection *v)
-
const IfcParse::entity &
declaration
() const
-
IfcCartesianTransformationOperator3D
(IfcEntityInstanceData *e)
-
IfcCartesianTransformationOperator3D
(::Ifc2x3::IfcDirection *v1_Axis1, ::Ifc2x3::IfcDirection *v2_Axis2, ::Ifc2x3::IfcCartesianPoint *v3_LocalOrigin, boost::optional<double> v4_Scale, ::Ifc2x3::IfcDirection *v5_Axis3)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCartesianTransformationOperator3D>
-
class
IfcCartesianTransformationOperator3DnonUniform
: public Ifc2x3::IfcCartesianTransformationOperator3D A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors:
SELF\IfcCartesianTransformationOperator.Scale: the x axis scale factor Scale2: the y axis scale factor Scale3: the z axis scale factor
If the Scale factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the Scale2 or the Scale3 factor is omitted, it defaults to the value of Scale (the x axis scale factor).
NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).
HISTORY: New entity in IFC Release 2x.
Public Types
Public Functions
-
bool
hasScale2
() const Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform.
-
double
Scale2
() const The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.
-
void
setScale2
(double v)
-
bool
hasScale3
() const Whether the optional attribute Scale3 is defined for this IfcCartesianTransformationOperator3DnonUniform.
-
double
Scale3
() const The scaling value specified for the transformation along the axis 3. This is normally the z scale factor.
-
void
setScale3
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCartesianTransformationOperator3DnonUniform
(IfcEntityInstanceData *e)
-
IfcCartesianTransformationOperator3DnonUniform
(::Ifc2x3::IfcDirection *v1_Axis1, ::Ifc2x3::IfcDirection *v2_Axis2, ::Ifc2x3::IfcCartesianPoint *v3_LocalOrigin, boost::optional<double> v4_Scale, ::Ifc2x3::IfcDirection *v5_Axis3, boost::optional<double> v6_Scale2, boost::optional<double> v7_Scale3)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
bool
-
class
IfcCenterLineProfileDef
: public Ifc2x3::IfcArbitraryOpenProfileDef The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed.
Among else, IfcCenterLineProfileDef is used to model cold-formed steel or aluminium sections (Sigma, Zeta, Omega, and similar sections which are not covered by subtypes of IfcParameterizedProfileDef). However, since IfcCenterLineProfileDef does not provide shape parameters except for the thickness, there is generally a need to further specify the profile definition by means of
the name, external reference to a document or library, profile properties,
or a combination of them. See IfcProfileDef for guidance on external references for profiles.
HISTORY New entity in IFC2x3.
Informal proposition:
The Curve has to be an open curve. The Curve has to be a non-intersecting curve.
Figure 311 illustrates the center line profile definition. The Curve is defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface that uses the profile definition. It is the xy plane of:
The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve.
Figure 311 — Centerline profile
Public Types
-
typedef IfcTemplatedEntityList<IfcCenterLineProfileDef>
list
Public Functions
-
double
Thickness
() const Constant thickness applied along the center line.
-
void
setThickness
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCenterLineProfileDef
(IfcEntityInstanceData *e)
-
IfcCenterLineProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcBoundedCurve *v3_Curve, double v4_Thickness)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCenterLineProfileDef>
-
class
IfcChamferEdgeFeature
: public Ifc2x3::IfcEdgeFeature Public Types
-
typedef IfcTemplatedEntityList<IfcChamferEdgeFeature>
list
Public Functions
-
bool
hasWidth
() const Whether the optional attribute Width is defined for this IfcChamferEdgeFeature.
-
double
Width
() const
-
void
setWidth
(double v)
-
bool
hasHeight
() const Whether the optional attribute Height is defined for this IfcChamferEdgeFeature.
-
double
Height
() const
-
void
setHeight
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcChamferEdgeFeature
(IfcEntityInstanceData *e)
-
IfcChamferEdgeFeature
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<double> v9_FeatureLength, boost::optional<double> v10_Width, boost::optional<double> v11_Height)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcChamferEdgeFeature>
-
struct
IfcChangeActionEnum
¶ Public Types
-
enum
Value
¶ IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are:
NOCHANGE: Object has not been modified.
MODIFIED: A modification to the object has been made by the user and application defined by the LastModifyingUser and LastModifyingApplication respectively.
ADDED: The object has been created by the user and application defined by the OwningUser and OwningApplication respectively.
DELETED: The object has been deleted by the user and application defined by the LastModifyingUser and LastModifyingApplication respectively.
NOTDEFINED: The change action is not known or has not been defined.
Consider Application A will create an IFC dataset that it wants to publish to others for modification and have the ability to subsequently merge these changes back into the original model. Before publication, it may want to set the IfcChangeActionEnum to NOCHANGE to establish a baseline so that other application changes can be easily identified. Application B then receives this IFC dataset and adds a new object and sets IfcChangeActionEnum to ADDED with Application B defined as the OwningApplication. Application B then modifies an existing object and (re)defines the LastModifiedDate to the time of the modification, LastModifyingUser to the IfcPersonAndOrganization making the change, and sets the LastModifyingApplication to Application B. When Application A receives this modified dataset, it can determine which objects have been added and modified by Application B and either merge or reject these changes as necessary. Consequently, the intent is that an application only modifies the value of IfcChangeActionEnum when it does something to the object, with the further intent that a model server is responsible for clearing the IfcChangeActionEnum back to NOCHANGE when it is ready to be republished.
HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4.
Values:
-
enumerator
IfcChangeAction_NOCHANGE
¶
-
enumerator
IfcChangeAction_MODIFIED
¶
-
enumerator
IfcChangeAction_ADDED
¶
-
enumerator
IfcChangeAction_DELETED
¶
-
enumerator
IfcChangeAction_MODIFIEDADDED
¶
-
enumerator
IfcChangeAction_MODIFIEDDELETED
¶
-
enumerator
-
enum
-
class
IfcChillerType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a chiller specification (i.e. the specific product information, that is common to all occurrences of that product type). Chiller types may be exchanged without being already assigned to occurrences. Occurrences of IfcChillerType are represented by instances of IfcChiller.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ChillerTypeCommon
Material Use Definition The material of the IfcChillerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed. ‘Refrigerant’: Refrigerant material.
Composition Use Definition The IfcChillerType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcChillerType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:
(All Types): May contain IfcDistributionElement components. Chillers may aggregate distribution flow elements forming a refrigeration cycle (compressor, condenser, valve, evaporator), as well as control elements.
Port Use Definition The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcChillerType>
list
Public Functions
-
::Ifc2x3::IfcChillerTypeEnum::Value
PredefinedType
() const Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.).
-
void
setPredefinedType
(::Ifc2x3::IfcChillerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcChillerType
(IfcEntityInstanceData *e)
-
IfcChillerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcChillerType>
-
struct
IfcChillerTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of Chillers classified by their method of heat rejection. The IfcChillerTypeEnum contains the following:
AIRCOOLED: Air cooled chiller. WATERCOOLED: Water cooled chiller. HEATRECOVERY: Heat recovery chiller. USERDEFINED: User-defined chiller type. NOTDEFINED: Undefined chiller type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcChillerType_AIRCOOLED
¶
-
enumerator
IfcChillerType_WATERCOOLED
¶
-
enumerator
IfcChillerType_HEATRECOVERY
¶
-
enumerator
IfcChillerType_USERDEFINED
¶
-
enumerator
IfcChillerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCircle
: public Ifc2x3::IfcConic Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows:
C = SELF\IfcConic.Position.Location x = SELF\IfcConic.Position.P[1] y = SELF\IfcConic.Position.P[2] z = SELF\IfcConic.Position.P[3] R = Radius
and the circle is parameterized as
The parameterization range is 0 £ u £2p (or 0 £u £ 360 degree). In the placement coordinate system defined above, the circle is the equation C = 0, where
The positive sense of the circle at any point is in the tangent direction, T, to the curve at the point, where
NOTE A circular arc is defined by using the trimmed curve (IfcTrimmedCurve) entity in conjunction with the circle (IfcCircle) entity as the BasisCurve.
NOTE Corresponding ISO 10303 entity: circle, please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system.
Figure 278 — Circle geometry
Public Types
-
typedef IfcTemplatedEntityList<IfcCircle>
list
Public Functions
-
double
Radius
() const The radius of the circle, which shall be greater than zero.
-
void
setRadius
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCircle
(IfcEntityInstanceData *e)
-
IfcCircle
(::Ifc2x3::IfcAxis2Placement *v1_Position, double v2_Radius)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCircle>
-
class
IfcCircleHollowProfileDef
: public Ifc2x3::IfcCircleProfileDef IfcCircleHollowProfileDef defines a section profile that provides the defining parameters of a circular hollow section (tube) to be used by the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration.The centre of the position coordinate system is in the profile’s centre of the bounding box (for symmetric profiles identical with the centre of gravity).
HISTORY New entity in IFC2x2.
Figure 312 illustrates parameters of the circular hollow profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:
By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes.
Figure 312 — Circle hollow profile
Public Types
-
typedef IfcTemplatedEntityList<IfcCircleHollowProfileDef>
list
Public Functions
-
double
WallThickness
() const Thickness of the material, it is the difference between the outer and inner radius.
-
void
setWallThickness
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCircleHollowProfileDef
(IfcEntityInstanceData *e)
-
IfcCircleHollowProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_Radius, double v5_WallThickness)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCircleHollowProfileDef>
-
class
IfcCircleProfileDef
: public Ifc2x3::IfcParameterizedProfileDef IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute.
HISTORY New class in IFC 1.5.
Figure 313 illustrates parameters for the circle profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:
IfcSweptSurface.Position IfcSweptAreaSolid.Position
Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle.
Figure 313 — Circle profile
Subclassed by Ifc2x3::IfcCircleHollowProfileDef
Public Types
-
typedef IfcTemplatedEntityList<IfcCircleProfileDef>
list
Public Functions
-
double
Radius
() const The radius of the circle.
-
void
setRadius
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCircleProfileDef
(IfcEntityInstanceData *e)
-
IfcCircleProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_Radius)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCircleProfileDef>
-
class
IfcClassification
: public IfcUtil::IfcBaseEntity An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an classification are organized in a tree structure.
HISTORY New class in IFC Release 1.5. Modified in IFC 2x.
IFC 2x4 CHANGE Attribute Edition made optional. Attributes: PublicationLocation, Description and ReferenceTokens added. Inverse attribute HasClassificationReferences added.
Classification use definitions IfcClassification identifies the classification system or source from which a classification notation is derived. Each classification reference or classification item, belonging to a single classification system, shall reference a single instance of IfcClassification. Therefore, each particular classification system or source used should have only one IfcClassification instance. However, because multiple classification is allowed, there may be many IfcClassification objects used, each identifying a different classification system or source.
A classification system declared may be either formally published (such as Omniclass, Uniclass, Masterformat, or DIN) or it may be a locally defined method of classifiying information. There are two methods to define a classification system within an IFC dataset:
Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem’s is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object.
Public Types
-
typedef IfcTemplatedEntityList<IfcClassification>
list
Public Functions
-
std::string
Source
() const Source (or publisher) for this classification.
NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher.
-
void
setSource
(std::string v)
-
std::string
Edition
() const The edition or version of the classification system from which the classification notation is derived.
NOTE the version labeling system is specific to the classification system.
IFC2x4 CHANGE The attribute has been changed to be optional.
-
void
setEdition
(std::string v)
-
bool
hasEditionDate
() const Whether the optional attribute EditionDate is defined for this IfcClassification.
-
::Ifc2x3::IfcCalendarDate *
EditionDate
() const The date on which the edition of the classification used became valid.
NOTE The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required.
IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
-
void
setEditionDate
(::Ifc2x3::IfcCalendarDate *v)
-
std::string
Name
() const The name or label by which the classification used is normally known.
NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc.
-
void
setName
(std::string v)
-
IfcTemplatedEntityList<IfcClassificationItem>::ptr
Contains
() const
-
const IfcParse::entity &
declaration
() const
-
IfcClassification
(IfcEntityInstanceData *e)
-
IfcClassification
(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate *v3_EditionDate, std::string v4_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClassification>
-
class
IfcClassificationItem
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcClassificationItem>
list
Public Functions
-
::Ifc2x3::IfcClassificationNotationFacet *
Notation
() const
-
void
setNotation
(::Ifc2x3::IfcClassificationNotationFacet *v)
-
bool
hasItemOf
() const Whether the optional attribute ItemOf is defined for this IfcClassificationItem.
-
::Ifc2x3::IfcClassification *
ItemOf
() const
-
void
setItemOf
(::Ifc2x3::IfcClassification *v)
-
std::string
Title
() const
-
void
setTitle
(std::string v)
-
IfcTemplatedEntityList<IfcClassificationItemRelationship>::ptr
IsClassifiedItemIn
() const
-
IfcTemplatedEntityList<IfcClassificationItemRelationship>::ptr
IsClassifyingItemIn
() const
-
const IfcParse::entity &
declaration
() const
-
IfcClassificationItem
(IfcEntityInstanceData *e)
-
IfcClassificationItem
(::Ifc2x3::IfcClassificationNotationFacet *v1_Notation, ::Ifc2x3::IfcClassification *v2_ItemOf, std::string v3_Title)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClassificationItem>
-
class
IfcClassificationItemRelationship
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcClassificationItemRelationship>
list
Public Functions
-
::Ifc2x3::IfcClassificationItem *
RelatingItem
() const
-
void
setRelatingItem
(::Ifc2x3::IfcClassificationItem *v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcClassificationItem>::ptr
RelatedItems
() const
-
void
setRelatedItems
(IfcTemplatedEntityList<::Ifc2x3::IfcClassificationItem>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcClassificationItemRelationship
(IfcEntityInstanceData *e)
-
IfcClassificationItemRelationship
(::Ifc2x3::IfcClassificationItem *v1_RelatingItem, IfcTemplatedEntityList<::Ifc2x3::IfcClassificationItem>::ptr v2_RelatedItems)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClassificationItemRelationship>
-
class
IfcClassificationNotation
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcClassificationNotation>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcClassificationNotationFacet>::ptr
NotationFacets
() const
-
void
setNotationFacets
(IfcTemplatedEntityList<::Ifc2x3::IfcClassificationNotationFacet>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcClassificationNotation
(IfcEntityInstanceData *e)
-
IfcClassificationNotation
(IfcTemplatedEntityList<::Ifc2x3::IfcClassificationNotationFacet>::ptr v1_NotationFacets)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClassificationNotation>
-
class
IfcClassificationNotationFacet
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcClassificationNotationFacet>
list
Public Functions
-
std::string
NotationValue
() const
-
void
setNotationValue
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcClassificationNotationFacet
(IfcEntityInstanceData *e)
-
IfcClassificationNotationFacet
(std::string v1_NotationValue)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClassificationNotationFacet>
-
class
IfcClassificationReference
: public Ifc2x3::IfcExternalReference An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation).
The inherited attributes have the following meaning:
Identification: holds the key provided for a specific references to classification items (or tables). Name: allows for a human interpretable designation of a classification notation. Location: optionally holds a direct URI link into the classification system (or source) to hyperlink the classification key.
The IfcClassificationReference can either be assigned directly to the IfcClassification, such as if no classification hierarchy has to be included, or it references the parent classification notation, if the fully classification hierarchy is included in the data set. The attribute ReferencedSource then holds the following information (choice by IfcClassificationReferenceSelect):
being of type IfcClassification: direct reference to the classification system (with meta information provided), used for highest level of classification notations, or if the classification notation hierarchy is not relevant, being of type IfcClassificationReference: reference to the parent classification notation within the classification hierarchy.
HISTORY New entity in IFC 2x.
IFC2x4 CHANGE The attribute Description and inverse attribute HasReferences are added. The attribute Identification has been renamed from ItemReference.
Use definitions The IfcClassificationReference can be used to only assign classification keys to objects, or to hold a fully classification hierarchy. The first is refered to as “lightweight classification”, and the second as “full classification”
The IfcClassificationReference can be used as a form of ‘lightweight’ classification through the ‘Identification’ attribute inherited from the abstract IfcExternalReference class. In this case, the ‘Identification’ could take (for instance) the Uniclass notation “L6814” which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title “Tanking”. This would remove the need for the overhead of the more complete classification structure of the model.
Public Types
-
typedef IfcTemplatedEntityList<IfcClassificationReference>
list
Public Functions
-
bool
hasReferencedSource
() const Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference.
-
::Ifc2x3::IfcClassification *
ReferencedSource
() const The classification system or source that is referenced.
-
void
setReferencedSource
(::Ifc2x3::IfcClassification *v)
-
const IfcParse::entity &
declaration
() const
-
IfcClassificationReference
(IfcEntityInstanceData *e)
-
IfcClassificationReference
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name, ::Ifc2x3::IfcClassification *v4_ReferencedSource)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClassificationReference>
-
class
IfcClosedShell
: public Ifc2x3::IfcConnectedFaceSet Definition from ISO/CD 10303-42:1992: A closed shell is a shell of the dimensionality 2 which typically serves as a bound for a region in R3. A closed shell has no boundary, and has non-zero finite extent. If the shell has a domain with coordinate space R3, it divides that space into two connected regions, one finite and the other infinite. In this case, the topological normal of the shell is defined as being directed from the finite to the infinite region.
The shell is represented by a collection of faces. The domain of the shell, if present, contains all those faces, together with their bounds. Associated with each face in the shell is a logical value which indicates whether the face normal agrees with (TRUE) or is opposed to (FALSE) the shell normal. The logical value can be applied directly as a BOOLEAN attribute of an oriented face, or be defaulted to TRUE if the shell boundary attribute member is a face without the orientation attribute.
The combinatorial restrictions on closed shells and geometrical restrictions on their domains are designed to ensure that any domain associated with a closed shell is a closed, orientable manifold. The domain of a closed shell, if present, is a connected, closed, oriented 2-manifold. It is always topologically equivalent to an H-fold torus for some H ³ 0. The number H is referred to as the surface genus of the shell. If a shell of genus H has a domain within coordinate space R3, then the finite region of space inside it is topologically equivalent to a solid ball with H tunnels drilled through it. The Euler equation (7) applies with B=0, because in this case there are no holes. As in the case of open shells, the surface genus H may not be known a priori, but shall be an integer ³ 0. Thus a necessary, but not sufficient, condition for a well-formed closed shell is the following:
In the current IFC Release only poly loops (IfcPolyLoop) are defined for bounds of face bound (IfcFaceBound). This will allow for faceted B-rep only.
NOTE: Corresponding ISO 10303 entity: closed_shell, please refer to ISO/IS 10303-42:1994, p.149 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Informal propositions:
Every edge shall be referenced exactly twice by the loops of the face.
Each oriented edge shall be unique.
No edge shall be referenced by more than two faces.
Distinct faces of the shell do not intersect, but may share edges or vertices.
Distinct edges do not intersect but may share vertices.
Each face reference shall be unique.
The loops of the shell shall not be a mixture of poly loop and other loop types. Note: this is given, since only poly loop is defined as face bound definition. The closed shell shall be an oriented arcwise connected 2-manifold. The Euler equation shall be satisfied. Note: Please refer to ISO/IS 10303-42:1994, p.149 for the equation.
Public Types
-
typedef IfcTemplatedEntityList<IfcClosedShell>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcClosedShell
(IfcEntityInstanceData *e)
-
IfcClosedShell
(IfcTemplatedEntityList<::Ifc2x3::IfcFace>::ptr v1_CfsFaces)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcClosedShell>
-
class
IfcCoilType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a coil specification (i.e. the specific product information, that is common to all occurrences of that product type). Coil types may be exchanged without being already assigned to occurrences. Occurrences of IfcCoilType are represented by instances of IfcCoil.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CoilTypeCommon Pset_CoilTypeHydronic
Material Use Definition The material of the IfcCoilType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCoilType>
list
Public Functions
-
::Ifc2x3::IfcCoilTypeEnum::Value
PredefinedType
() const Defines typical types of coils (e.g., Cooling, Heating, etc.)
-
void
setPredefinedType
(::Ifc2x3::IfcCoilTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCoilType
(IfcEntityInstanceData *e)
-
IfcCoilType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCoilType>
-
struct
IfcCoilTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of coils.
The IfcCoilTypeEnum contains the following:
DXCOOLINGCOIL: Cooling coil using a refrigerant to cool the air stream directly.
WATERCOOLINGCOIL: Cooling coil using chilled water. HYDRONICCOIL supercedes this enumerator.
STEAMHEATINGCOIL: Heating coil using steam as heating source.
WATERHEATINGCOIL: Heating coil using hot water as a heating source. HYDRONICCOIL supercedes this enumerator.
ELECTRICHEATINGCOIL: Heating coil using electricity as a heating source.
GASHEATINGCOIL: Heating coil using gas as a heating source.
HYDRONICCOIL: Cooling or Heating coil that uses a hydronic fluid as a cooling or heating source. USERDEFINED: User-defined coil type.
NOTDEFINED: Undefined coil type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcCoilType_DXCOOLINGCOIL
¶
-
enumerator
IfcCoilType_WATERCOOLINGCOIL
¶
-
enumerator
IfcCoilType_STEAMHEATINGCOIL
¶
-
enumerator
IfcCoilType_WATERHEATINGCOIL
¶
-
enumerator
IfcCoilType_ELECTRICHEATINGCOIL
¶
-
enumerator
IfcCoilType_GASHEATINGCOIL
¶
-
enumerator
IfcCoilType_USERDEFINED
¶
-
enumerator
IfcCoilType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcColourRgb
: public Ifc2x3::IfcColourSpecification Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model.
NOTE In contrary to the usual value range of colour components being integer from 0…255, the definition from ISO10303-46 defines the colour components as real from 0.0 … 1.0. Applications need to execute this conversion before populating the colour RGB values.
NOTE Corresponding STEP name: colour_rgb. The name attribute has been omitted, the data type for the reg, green and blue parts is IfcNormalizedRatioMeasure, that already includes the range restrictions for the values. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcColourRgb>
list
Public Functions
-
double
Red
() const The intensity of the red colour component.
NOTE The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual.
-
void
setRed
(double v)
-
double
Green
() const The intensity of the green colour component.
NOTE The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual.
-
void
setGreen
(double v)
-
double
Blue
() const The intensity of the blue colour component.
NOTE The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual.
-
void
setBlue
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcColourRgb
(IfcEntityInstanceData *e)
-
IfcColourRgb
(boost::optional<std::string> v1_Name, double v2_Red, double v3_Green, double v4_Blue)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcColourRgb>
-
class
IfcColourSpecification
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space.
NOTE Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Subclassed by Ifc2x3::IfcColourRgb
Public Types
-
typedef IfcTemplatedEntityList<IfcColourSpecification>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcColourSpecification.
-
std::string
Name
() const Optional name given to a particular colour specification in addition to the colour components (like the RGB values).
NOTE Examples are the names of a industry colour classification, such as RAL. IFC2x Edition 3 CHANGE Attribute added.
-
void
setName
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcColourSpecification
(IfcEntityInstanceData *e)
-
IfcColourSpecification
(boost::optional<std::string> v1_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcColourSpecification>
-
class
IfcColumn
: public Ifc2x3::IfcBuildingElement Definition from ISO 6707-1:1989: Structural member of slender form, usually vertical, that transmits to its base the forces, primarily in compression, that are applied to it. <An IfcColumn is a vertical structural member which often is aligned with a structural grid intersection. It represents a vertical, or nearly vertical, structural member that transmits, through compression, the weight of the structure above to other structural elements below. It represents such a member from an architectural point of view. It is not required to be load bearing. NOTE The representation of a column in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel.
NOTE For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember exists. The IFC specification provides two entities for column occurrences:
IfcColumnStandardCase used for all occurrences of columns, tthat have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an ‘Axis’ and a ‘SweptSolid’ or ‘AdvancedSweptSolid’ shape representation (or by a ‘Clipping’ geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned. NOTE View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcColumnStandardCase implementation.
IfcColumn used for all other occurrences of columns, particularly for columns with changing profile sizes along the extrusion, or columns defined by non-linear extrusion, or columns having only ‘Brep’, or ‘SurfaceModel’ geometry.
HISTORY New entity in IFC Release 1.0
Type Use Definition IfcColumn defines the occuurence of any column, common information about column types (or styles) is handled by IfcColumnType. The IfcColumnType (if present) may establish the commontype name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcColumnType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. If no IfcColumnType is attached(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute. Material Use Definition The material of the IfcColumn is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note: It is illegal to assign an IfcMaterialProfileSetUsage to an IfcColumn. Only the subtype IfcColumnStandardCase supports this concept. Material information can also be given at the IfcColumnType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsTypedBy relationship pointing to IfcColumnType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcColumn overrides the material assigned to IfcColumnType. Property Set Use Definition: The property sets relating to the IfcColumn are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcColumn are part of this IFC release:
Pset_ColumnCommon: common property set for all column occurrences
Property sets can also be given at the IfcColumnType, defining the common property data for all occurrences of the same type.It is then accessible by the inverse IsTypedBy relationship pointing to IfcColumnType.HasPropertySets. If both are given, then the properties directly assigned to IfcColumn overrides the properties assigned to IfcColumnType. Quantity Use Definition: The quantities relating to the IfcColumn are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quanties shall be never assigned to the IfcColumnType.
Qto_ColumnBaseQuantities: base quantities for all column occurrences.
Containment Use Definition The IfcColumn, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within anelement assembly.
The IfcColumn, is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcColumn, may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.SELF\IfcElement.ContainedInStructure should be NIL.
Geometry Use Definition The geometric representation of IfcColumn is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for IfcColumn is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representation Currently, the ‘Axis’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. Axis Representation The axis geometric representation of IfcColumn is defined using the ‘Axis’ representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’, ‘Curve3D’
The axis representation can be used to represent the system length of a column that may extent the body length of the column. Body Representation The body representation of IfcColumn can be represented using the representation types ‘SweptSolid’, ‘Clipping’, ‘AdvancedSweptSolid’, ‘MappedRepresentation’, ‘SurfaceModel’, and ‘Brep’. The representation types ‘SurfaceModel’ and ‘Brep’ are explained at IfcBuildingElement. SweptSolid Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’
The following additional constraints apply to the ‘SweptSolid’ representation:
Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef) Extrusion:All extrusion directions shall be supported
Figure 81 illustrates a ‘SweptSolid’ geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).
Figure 81 — Column swept solid
Figure 82 illustrates use of a special profile type (here IfcIShapeProfileDef) for the definition of the IfcExtrudedAreaSolid.
Figure 82 — Column extrusion of I-Shape
Clipping Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘Clipping’
The following constraints apply to the advanced representation:
Solid: see ‘SweptSolid’ geometric representation Profile: see ‘SweptSolid’ geometric representation Extrusion: see ‘SweptSolid’ geometric representation Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.
Figure 83 illustrates a ‘Clipping’ geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.
Figure 83 — Column clipping
AdvancedSweptSolid Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘AdvancedSweptSolid’
The following additional constraints apply to the ‘AdvancedSweptSolid’ representation type:
Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported. NOTE View definitions and implementer agreements can further constrain the allowed swept solid types.
Profile: see ‘SweptSolid’ geometric representation Extrusion:not applicable
MappedRepresentation Representation Type The ‘MappedRepresentation’ representation type is supported as it allows for reusing the geometry definition of the beam type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’
The same constraints, as given for the ‘SweptSolid’, ‘Clipping’, ‘AdvancedSweptSolid’, ‘SurfaceModel’ and ‘Bre’ geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.
Public Types
-
typedef IfcTemplatedEntityList<IfcColumn>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcColumn
(IfcEntityInstanceData *e)
-
IfcColumn
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcColumn>
-
class
IfcColumnType
: public Ifc2x3::IfcBuildingElementType Definition from IAI: The element type IfcColumnType defines commonly shared information for occurrences of columns. The set of shared information may include:
common properties within shared property sets common material information common profile definitions common shape representations
It is used to define a column specification, or column style (i.e. the specific product information that is common to all occurrences of that column type). Column types may be exchanged without being already assigned to occurrences. Occurrences of the IfcColumnType within building models are represented by instances of IfcColumnStandardCase if the IfcColumnType has a single associated IfcMaterialProfileSet; otherwise they are represented by instances of IfcColumn. Occurrences of the IfcColumnType within structural analysis models are represented by instances of IfcStructuralCurveMember, or its applicable subtypes. HISTORY New entity in Release IFC2x Edition 2. Material Use Definition The material of the IfcColumnType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note: It is illegal to assign an IfcMaterial to an IfcColumnType, if there is at least one occurrences of IfcColumnStandardCase for this type. Property Set Use Definition: The shared property sets relating to the IfcColumnType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcColumnType are part of this IFC release: NOTE There is no differentiation between properties within the property set that are only assignable to IfcColumnType and those that are only assignable to IfcColumn. If the same property is assigned to the IfcColumnType and the IfcColumn being an occurrence of the IfcColumnType, then the occurrence property overrides the type property.
Pset_ColumnCommon: common property set for all column types.
Profile Use Definition: The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all column occurrence, if used. It is only applicable if the IfcColumnType has only occurrences of type IfcColumnStandardCase (see definition of IfcColumnStandardCase for further information). NOTE The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used. Geometry Use Definition: The IfcColumnType may define the shared geometric representation for all column occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap’s, that allow for multiple geometric representations (e.g. with IfcShaperepresentation’s having an RepresentationIdentifier ‘Box’, ‘Axis’, or ‘Body’). It is only applicable if the IfcColumnType has only occurrences of type IfcColumn (See geometric use definition of IfcColumn for further information). NOTE If the IfcColumnType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided. NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information. NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcColumn and IfcColumnStandardCase
Public Types
-
typedef IfcTemplatedEntityList<IfcColumnType>
list
Public Functions
-
::Ifc2x3::IfcColumnTypeEnum::Value
PredefinedType
() const Identifies the predefined types of a column element from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcColumnTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcColumnType
(IfcEntityInstanceData *e)
-
IfcColumnType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcColumnType>
-
struct
IfcColumnTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration defines the different types of linear elements an IfcColumnType object can fulfill:
COLUMN: A standard column element usually used vertically. USERDEFINED: User-defined linear element. NOTDEFINED: Undefined linear element
NOTE: This enumeration has been mainly introduced to allow further detailing of the type information in future releases of IFC. HISTORY New Enumeration in Release IFC2x Edition 2.
Values:
-
enumerator
IfcColumnType_COLUMN
¶
-
enumerator
IfcColumnType_USERDEFINED
¶
-
enumerator
IfcColumnType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcComplexNumber
: public IfcUtil::IfcBaseType IfcComplexNumber is a representation of a complex number expressed as an array with two elements. The first element (index 1) denotes the real component which is the numerical component of a complex number whose square roots can be calculated explicitly. The second element (index 2) denotes the imaginary component which is the numerical component of a complex number whose square roots cannot be determined other than through the provision of the square of the imaginary number j where j^2 = -1. Note that the imaginary component may be referred to as i in certain references.
Type: ARRAY [1:2] OF REAL
HISTORY New type in IFC Release 2x2.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcComplexNumber
(IfcEntityInstanceData *e)
-
IfcComplexNumber
(std::vector<double> v)
-
operator std::vector<double>
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcComplexProperty
: public Ifc2x3::IfcProperty IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single ‘property’ entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet’s.
NOTE Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements.
HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x.
Public Types
-
typedef IfcTemplatedEntityList<IfcComplexProperty>
list
Public Functions
-
std::string
UsageName
() const Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane.
-
void
setUsageName
(std::string v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr
HasProperties
() const Set of properties that can be used within this complex property (may include other complex properties).
-
void
setHasProperties
(IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcComplexProperty
(IfcEntityInstanceData *e)
-
IfcComplexProperty
(std::string v1_Name, boost::optional<std::string> v2_Description, std::string v3_UsageName, IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr v4_HasProperties)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcComplexProperty>
-
class
IfcCompositeCurve
: public Ifc2x3::IfcBoundedCurve Definition from ISO/CD 10303-42:1992: A composite curve is a collection of curves joined end-to-end. The individual segments of the curve are themselves defined as composite curve segments. The parameterization of the composite curve is an accumulation of the parametric ranges of the referenced bounded curves. The first segment is parameterized from 0 to l1 and for i ≤ 2, the ith segment is parameterized from:
where lk is the parametric length (i.e., difference between maximum and minimum parameter values) of the curve underlying the kth segment.
Let T denote the parameter for the composite curve. Then, if the ith segment is not a reparameterised composite curve segment, T is related to the parameter ti; ti0 ≤ ti ≤ ti1; for the ith segment by the equation:
if Segments[i].SameSense = TRUE;
or by the equation:
if Segments[i].SameSense = FALSE;
If the segments[i] is of type reparameterised composite curve segment,
where τ is defined at reparameterized composite curve segment (see IfcReparameterizedCompositeCurveSegment).
Figure 279 illustrates an example of a composite curve.
Figure 279 — Composite curve
Consider an IfcCompositeCurve having line segment and an arc segment. The line should be parameterized:
IfcPolyline with start= 0.,0. end= 0.,1., SameSense= TRUE, parametric length = 1.
The arch should be parameterized:
IfcTrimmedCurve with start= 180’, end= 90’, SameSense= FALSE, parametric length = 90.
Then the parameterization of the composite curve is:
IfcCompositeCurve with 0. ≤ T ≤ 1. (line segment) and 1. ≤ T ≤ 91. (arc segment), parametric length = 91.
NOTE Corresponding ISO 10303 entity: composite_curve, please refer to ISO/IS 10303-42:1994, p. 56 for the final definition of the formal standard. The WR2 is added to ensure consistent Dim at all segments.
HISTORY New class in IFC Release 1.0
Informal Propositions:
The SameSense attribute of each segment correctly specifies the senses of the component curves. When traversed in the direction indicated by SameSense, the segments shall join end-to-end.
Subclassed by Ifc2x3::Ifc2DCompositeCurve
Public Types
-
typedef IfcTemplatedEntityList<IfcCompositeCurve>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr
Segments
() const The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve.
-
void
setSegments
(IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr v)
-
bool
SelfIntersect
() const Indication of whether the curve intersects itself or not; this is for information only.
-
void
setSelfIntersect
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcCompositeCurve
(IfcEntityInstanceData *e)
-
IfcCompositeCurve
(IfcTemplatedEntityList<::Ifc2x3::IfcCompositeCurveSegment>::ptr v1_Segments, bool v2_SelfIntersect)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCompositeCurve>
-
class
IfcCompositeCurveSegment
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve).
The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). The IfcCompositeCurveSegment is a subtype of IfcGeometricRepresentationItem (whereas in ISO 10303-42 composite_curve_segment is not a subtype of geometric_representation_item, the proposed 2nd edition of ISO 10303-42 however proposes the subtype relationship).
NOTE Corresponding ISO 10303 entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Public Types
-
typedef IfcTemplatedEntityList<IfcCompositeCurveSegment>
list
Public Functions
-
::Ifc2x3::IfcTransitionCode::Value
Transition
() const The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve.
-
void
setTransition
(::Ifc2x3::IfcTransitionCode::Value v)
-
bool
SameSense
() const An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment.
NOTE If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement
-
void
setSameSense
(bool v)
-
::Ifc2x3::IfcCurve *
ParentCurve
() const The bounded curve which defines the geometry of the segment.
-
IfcTemplatedEntityList<IfcCompositeCurve>::ptr
UsingCurves
() const
-
const IfcParse::entity &
declaration
() const
-
IfcCompositeCurveSegment
(IfcEntityInstanceData *e)
-
IfcCompositeCurveSegment
(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve *v3_ParentCurve)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCompositeCurveSegment>
-
class
IfcCompositeProfileDef
: public Ifc2x3::IfcProfileDef The IfcCompositeProfileDef defines the profile by composition of other profiles. The composition is given by a set of at least two other profile definitions. Any profile definition (except for another composite profile) can be used to construct the composite.
HISTORY New entity in IFC2x.
Figure 314 illustrates the composite profile definition. The IfcCompositeProfileDef does not define an own position coordinate system, it is directly defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:
IfcSweptSurface.Position IfcSweptAreaSolid.Position
Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The IfcCompositeProfileDef is defined using other profile definitions. Those other profile definitions are directly inserted into the underlying coordinate system.
In case of parameterized profile definitions, the Position attribute of those standard profiles is used to place the profiles relatively to each other. In case of arbitrary profile definitions, each Cartesian coordinate is given directly within the underlying coordinate system.
NOTE The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid.
Figure 314
Twin profiles special case
If twin profiles are modeled by profile composition, the base profile should only be specified once. It is then included into the composite profile directly and additionally indirectly via IfcMirroredProfileDef. For example, a double angle made of two L100x10 with 10mm air gap between them, i.e. a _||_ shape, can be modeled as
single_L : IfcLShapeProfileDef := IfcLShapeProfileDef(AREA, ‘L100X100X10’, IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?), .100, .100, .010, .012, ?, 0., ?, ?); double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, ‘double angle’, (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), ‘twin profile’);
Public Types
-
typedef IfcTemplatedEntityList<IfcCompositeProfileDef>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcProfileDef>::ptr
Profiles
() const The profiles which are used to define the composite profile.
-
void
setProfiles
(IfcTemplatedEntityList<::Ifc2x3::IfcProfileDef>::ptr v)
-
bool
hasLabel
() const Whether the optional attribute Label is defined for this IfcCompositeProfileDef.
-
std::string
Label
() const The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications.
-
void
setLabel
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcCompositeProfileDef
(IfcEntityInstanceData *e)
-
IfcCompositeProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, IfcTemplatedEntityList<::Ifc2x3::IfcProfileDef>::ptr v3_Profiles, boost::optional<std::string> v4_Label)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCompositeProfileDef>
-
class
IfcCompoundPlaneAngleMeasure
: public IfcUtil::IfcBaseType IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc.
NOTE: IfcCompoundPlaneAngleMeasure is used where angles need to be described to an accuracy as fine as one millionth of a degree and expressed as parts of an arc. It may be used for angular measurement by surveyors or for other angular measurements where precision is required. Another usage is exact or approximate global positioning against a geographic coordinate systems using longitude and latitude.
NOTE: While the unit of measurement of the type IfcPlaneAngleMeasure depends on unit assignment (radian or degree or other derived units; globally at the IfcPoject or locally at an IfcMeasureWithUnit), the units of IfcCompoundPlaneAngleMeasure are always degrees, minutes, seconds, and millionth-seconds irrespective of unit assignments.
HISTORY New type in IFC Release 1.5.1.
Type: LIST [3:4] OF INTEGER
Value restrictions
The first integer measure is the number of degrees and is generally not range-restricted. However, when IfcCompoundPlaneAngleMeasure is used to express geographic coordinates, only latitudes of [-90, 90] and longitudes of [-180, 180] are used in practice. The second integer measure is the number of minutes and shall be in the range (-60, 60). The third integer measure is the number of seconds and shall be in the range (-60, 60). The optional fourth integer measure is the number of millionth-seconds and shall be in the range (-1 000 000, 1 000 000).
Signedness
All measure components have the same sign (positive or negative). It is therefore trivial to convert between floating point representation (decimal degrees) and compound representation regardless whether the angle is greater or smaller than zero. Example:
LOCAL a : IfcPlaneAngleMeasure := -50.975864; (* decimal degrees, -50° 58’ 33” 110400 *) b : IfcPlaneAngleMeasure; c : IfcCompoundPlaneAngleMeasure; s : IfcText; END_LOCAL;
(* convert from float to compound *) c[1] := a; -50 c[2] := (a - c[1]) * 60; -58 c[3] := ((a - c[1]) * 60 - c[2]) * 60; -33 c[4] := (((a - c[1]) * 60 - c[2]) * 60 - c[3]) * 1.e6; -110400
(* convert from compound to float *) b := c[1] + c[2]/60. + c[3]/3600. + c[4]/3600.e6; -50.975864
Use in string representations
When a compound plane angle measure is formatted for display or printout, the signs of the fractional components will usually be discarded because, to a human reader, the sign of the first component alone already indicates the sense of the angle:
(* convert from compound to human-readable string *) s := FORMAT(c[1], ‘+##’) + “000000B0” + FORMAT(ABS(c[2]), ‘##’) + ‘’’’ + FORMAT(ABS(c[3]), ‘##’) + ‘”’ + FORMAT(ABS(c[4]), ‘##’); – -50° 58’ 33” 110400
Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58’33”S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcCompoundPlaneAngleMeasure
(IfcEntityInstanceData *e)
-
IfcCompoundPlaneAngleMeasure
(std::vector<int> v)
-
operator std::vector<int>
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcCompressorType
: public Ifc2x3::IfcFlowMovingDeviceType The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a compressor specification (i.e. the specific product information, that is common to all occurrences of that product type). Compressor types may be exchanged without being already assigned to occurrences. Occurrences of IfcCompressorType are represented by instances of IfcCompressor.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowMovingDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CompressorTypeCommon
Material Use Definition The material of the IfcCompressorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed. ‘Refrigerant’: Refrigerant material.
Port Use Definition The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCompressorType>
list
Public Functions
-
::Ifc2x3::IfcCompressorTypeEnum::Value
PredefinedType
() const Defines the type of compressor (e.g., hermetic, reciprocating, etc.).
-
void
setPredefinedType
(::Ifc2x3::IfcCompressorTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCompressorType
(IfcEntityInstanceData *e)
-
IfcCompressorType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCompressorType>
-
struct
IfcCompressorTypeEnum
¶ Public Types
-
enum
Value
¶ Types of compressors. The IfcCompressorTypeEnum contains the following:
DYNAMIC: The pressure of refrigerant vapor is increased by a continuous transfer of angular momentum from a rotating member to the vapor followed by conversion of this momentum into static pressure. RECIPROCATING: Positive-displacement compressor using a piston driven by a connecting rod from a crankshaft. ROTARY: Positive-displacement compressor using a roller or rotor device. SCROLL: Positive-displacement compressor using two inter-fitting, spiral-shaped scroll members. TROCHOIDAL: Positive-displacement compressor using a rolling motion of one circle outside or inside the circumference of a basic circle and produce either epitrochoids or hypotrochoids. SINGLESTAGE: Positive-displacement reciprocating compressor where vapor is compressed in a single stage. BOOSTER: Positive-displacement reciprocating compressor where pressure is increased by a booster. OPENTYPE: Positive-displacement reciprocating compressor where the shaft extends through a seal in the crankcase for an external drive. HERMETIC: Positive-displacement reciprocating compressor where the motor and compressor are contained within the same housing, with the motor shaft integral with the compressor crankshaft and the motor in contact with refrigerant. SEMIHERMETIC: Positive-displacement reciprocating compressor where the hermetic compressors use bolted construction amenable to field repair. WELDEDSHELLHERMETIC: Positive-displacement reciprocating compressor where the motor compressor is mounted inside a steel shell, which, in turn is sealed by welding. ROLLINGPISTON: Positive-displacement rotary compressor using a roller mounted on the eccentric of a shaft with a single vane in the nonrotating cylindrical housing. ROTARYVANE: Positive-displacement rotary compressor using a roller mounted on the eccentric of a shaft with multiple vanes in the nontotating cylindrical housing. SINGLESCREW: Positive-displacement rotary compressor using a single cylindrical main rotor that works with a pair of gate rotors. TWINSCREW: Positive-displacement rotary compressor using two mating helically grooved rotors, male (lobes) and female (flutes) in a stationary housing with inlet and outlet gas ports. USERDEFINED: User-defined compressor type. NOTDEFINED: Undefined compressor type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcCompressorType_DYNAMIC
¶
-
enumerator
IfcCompressorType_RECIPROCATING
¶
-
enumerator
IfcCompressorType_ROTARY
¶
-
enumerator
IfcCompressorType_SCROLL
¶
-
enumerator
IfcCompressorType_TROCHOIDAL
¶
-
enumerator
IfcCompressorType_SINGLESTAGE
¶
-
enumerator
IfcCompressorType_BOOSTER
¶
-
enumerator
IfcCompressorType_OPENTYPE
¶
-
enumerator
IfcCompressorType_HERMETIC
¶
-
enumerator
IfcCompressorType_SEMIHERMETIC
¶
-
enumerator
IfcCompressorType_WELDEDSHELLHERMETIC
¶
-
enumerator
IfcCompressorType_ROLLINGPISTON
¶
-
enumerator
IfcCompressorType_ROTARYVANE
¶
-
enumerator
IfcCompressorType_SINGLESCREW
¶
-
enumerator
IfcCompressorType_TWINSCREW
¶
-
enumerator
IfcCompressorType_USERDEFINED
¶
-
enumerator
IfcCompressorType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCondenserType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a condenser specification (i.e. the specific product information, that is common to all occurrences of that product type). Condenser types may be exchanged without being already assigned to occurrences. Occurrences of IfcCondenserType are represented by instances of IfcCondenser.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CondenserTypeCommon
Material Use Definition The material of the IfcCondenserType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed. ‘Refrigerant’: Refrigerant material.
Port Use Definition The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCondenserType>
list
Public Functions
-
::Ifc2x3::IfcCondenserTypeEnum::Value
PredefinedType
() const Defines the type of condenser.
-
void
setPredefinedType
(::Ifc2x3::IfcCondenserTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCondenserType
(IfcEntityInstanceData *e)
-
IfcCondenserType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCondenserType>
-
struct
IfcCondenserTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following:
AIRCOOLED: A condenser in which heat is transferred to an air-stream. EVAPORATIVECOOLED: A condenser that is cooled evaporatively. WATERCOOLED: Water-cooled condenser with unspecified operation. WATERCOOLEDSHELLTUBE: Water-cooled condenser with cooling water circulated through one or more tubes contained within the shell. WATERCOOLEDSHELLCOIL: Water-cooled condenser with cooling water circulated through one or more continuous or assembled coils contained within the shell. WATERCOOLEDTUBEINTUBE: Water-cooled condenser consisting of one or more assemblies of two tubes, one within the other. WATERCOOLEDBRAZEDPLATE: Water-cooled condenser condenser with plates brazed together to form an assembly of separate channels. USERDEFINED: User-defined condenser type. NOTDEFINED: Undefined condenser type.
HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4.
Values:
-
enumerator
IfcCondenserType_WATERCOOLEDSHELLTUBE
¶
-
enumerator
IfcCondenserType_WATERCOOLEDSHELLCOIL
¶
-
enumerator
IfcCondenserType_WATERCOOLEDTUBEINTUBE
¶
-
enumerator
IfcCondenserType_WATERCOOLEDBRAZEDPLATE
¶
-
enumerator
IfcCondenserType_AIRCOOLED
¶
-
enumerator
IfcCondenserType_EVAPORATIVECOOLED
¶
-
enumerator
IfcCondenserType_USERDEFINED
¶
-
enumerator
IfcCondenserType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCondition
: public Ifc2x3::IfcGroup Public Types
-
typedef IfcTemplatedEntityList<IfcCondition>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcCondition
(IfcEntityInstanceData *e)
-
IfcCondition
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCondition>
-
class
IfcConditionCriterion
: public Ifc2x3::IfcControl Public Types
-
typedef IfcTemplatedEntityList<IfcConditionCriterion>
list
Public Functions
-
::Ifc2x3::IfcConditionCriterionSelect *
Criterion
() const
-
void
setCriterion
(::Ifc2x3::IfcConditionCriterionSelect *v)
-
::Ifc2x3::IfcDateTimeSelect *
CriterionDateTime
() const
-
void
setCriterionDateTime
(::Ifc2x3::IfcDateTimeSelect *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConditionCriterion
(IfcEntityInstanceData *e)
-
IfcConditionCriterion
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect *v6_Criterion, ::Ifc2x3::IfcDateTimeSelect *v7_CriterionDateTime)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConditionCriterion>
-
class
IfcConic
: public Ifc2x3::IfcCurve Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system.
NOTE Corresponding ISO 10303 entity: conic, only the following subtypes have been incorporated into IFC 1.0, 1.5 & 2.0: circle as IfcCircle, ellipse as IfcEllipse. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Subclassed by Ifc2x3::IfcCircle, Ifc2x3::IfcEllipse
Public Types
-
typedef IfcTemplatedEntityList<IfcConic>
list
Public Functions
-
::Ifc2x3::IfcAxis2Placement *
Position
() const The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes.”.
-
void
setPosition
(::Ifc2x3::IfcAxis2Placement *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConic
(IfcEntityInstanceData *e)
-
IfcConic
(::Ifc2x3::IfcAxis2Placement *v1_Position)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConic>
-
class
IfcConnectedFaceSet
: public Ifc2x3::IfcTopologicalRepresentationItem Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected.
NOTE Corresponding ISO 10303 entity: connected_face_set, the subtype closed_shell is included as IfcClosedShell and the subtype open_shell is included as IfcOpenShell. Please refer to ISO/IS 10303-42:1994, p. 144 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Informal proposition:
The union of the domains of the faces and their bounding loops shall be arcwise connected.
Subclassed by Ifc2x3::IfcClosedShell, Ifc2x3::IfcOpenShell
Public Types
-
typedef IfcTemplatedEntityList<IfcConnectedFaceSet>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcFace>::ptr
CfsFaces
() const The set of faces arcwise connected along common edges or vertices.
-
void
setCfsFaces
(IfcTemplatedEntityList<::Ifc2x3::IfcFace>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcConnectedFaceSet
(IfcEntityInstanceData *e)
-
IfcConnectedFaceSet
(IfcTemplatedEntityList<::Ifc2x3::IfcFace>::ptr v1_CfsFaces)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectedFaceSet>
-
class
IfcConnectionCurveGeometry
: public Ifc2x3::IfcConnectionGeometry IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships.
EXAMPLE The connection relationship between two walls has a geometric constraint which describes the end caps (or cut-off of the wall ends) by a CurveOnRelatingElement for the first wall and a CurveOnRelatedElement for the second wall. The exact usage of the IfcConnectionCurveGeometry is further defined in the geometry use sections of the elements that use it.
The available geometry for the connection constraint may be further restricted to only allow straight segments by applying IfcPolyline only. Such an usage constraint is provided at the object definition of the IfcElement subtype, utilizing the element connection by referring to the subtype of IfcRelConnects with the associatedIfcConnectionCurveGeometry.
HISTORY New entity in IFC Release 1.5, has been renamed from IfcLineConnectionGeometry in IFC Release 2x.
IFC2x Edition 3 CHANGE The provision of topology with associated geometry, IfcEdgeCurve, is enabled by using the IfcCurveOrEdgeCurve.
Geometry use definitions The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute.
Public Types
-
typedef IfcTemplatedEntityList<IfcConnectionCurveGeometry>
list
Public Functions
-
::Ifc2x3::IfcCurveOrEdgeCurve *
CurveOnRelatingElement
() const The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element.
-
void
setCurveOnRelatingElement
(::Ifc2x3::IfcCurveOrEdgeCurve *v)
-
bool
hasCurveOnRelatedElement
() const Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry.
-
::Ifc2x3::IfcCurveOrEdgeCurve *
CurveOnRelatedElement
() const The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used.
-
void
setCurveOnRelatedElement
(::Ifc2x3::IfcCurveOrEdgeCurve *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConnectionCurveGeometry
(IfcEntityInstanceData *e)
-
IfcConnectionCurveGeometry
(::Ifc2x3::IfcCurveOrEdgeCurve *v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve *v2_CurveOnRelatedElement)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectionCurveGeometry>
-
class
IfcConnectionGeometry
: public IfcUtil::IfcBaseEntity IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships.
NOTE The element connection relationship normally provides for a logical connection information, by referencing the relating and related elements. If in addition an IfcConnectionGeometry is provided, physical connection information is given by specifying exactly where at the relating and related element the element connection occurs. Using the eccentricity subtypes, the connection can also be described when there is a physical distance (or eccentricity) between the connection elements.
The IfcConnectionGeometry allows for the provision of connection constraints between geometric and topological elements, the following connection geometry/topology types are in scope:
point | vertex point, curve | edge curve, surface | face surface,
HISTORY New entity in IFC Release 1.5.
IFC2x Edition 3 CHANGE The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face surface).
Subclassed by Ifc2x3::IfcConnectionCurveGeometry, Ifc2x3::IfcConnectionPointGeometry, Ifc2x3::IfcConnectionPortGeometry, Ifc2x3::IfcConnectionSurfaceGeometry
Public Types
-
typedef IfcTemplatedEntityList<IfcConnectionGeometry>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcConnectionGeometry
(IfcEntityInstanceData *e)
-
IfcConnectionGeometry
()
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectionGeometry>
-
class
IfcConnectionPointEccentricity
: public Ifc2x3::IfcConnectionPointGeometry IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by:
providing the PointOnRelatingElement and the PointOnRelatedElement, where bothpoint coordinates are not identical within a common parent coordinate system (latestly within the world coordinate system), providing the PointOnRelatingElement and the three distance measures, EccentricityInX, EccentricityInY, and EccentricityInZ (or only EccentricityInX, and EccentricityInY if the underlying coordinate system is two-dimensional), or providing both.
NOTE If both, PointOnRelatedElement, and EccentricityInX, EccentricityInY, (EccentricityInZ) are provided, the values should be consistent. In case of any non-consistency, the calculated distance between PointOnRelatingElement and PointOnRelatedElement takes precedence.
The explicit values for EccentricityInX, EccentricityInY, and EccentricityInZ are always measured in the following direction and coordinate system (defining when the value is positive or negative):
from the PointOnRelatedElement to PointOnRelatingElement within the coordinate system of the RelatingElement. in addition: when used to specify connections in structural analysis models, the IfcStructuralMember is to be used as the RelatingElement of the relationship object utilizing IfcConnectionPointEccentricity, and the IfcStructuralConnection is the RelatedElement.
HISTORY New entity in IFC 2x Edition 3.
Geometry use definitions The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values.
Public Types
-
typedef IfcTemplatedEntityList<IfcConnectionPointEccentricity>
list
Public Functions
-
bool
hasEccentricityInX
() const Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity.
-
double
EccentricityInX
() const Distance in x direction between the two points (or vertex points) engaged in the point connection.
-
void
setEccentricityInX
(double v)
-
bool
hasEccentricityInY
() const Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity.
-
double
EccentricityInY
() const Distance in y direction between the two points (or vertex points) engaged in the point connection.
-
void
setEccentricityInY
(double v)
-
bool
hasEccentricityInZ
() const Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity.
-
double
EccentricityInZ
() const Distance in z direction between the two points (or vertex points) engaged in the point connection.
-
void
setEccentricityInZ
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcConnectionPointEccentricity
(IfcEntityInstanceData *e)
-
IfcConnectionPointEccentricity
(::Ifc2x3::IfcPointOrVertexPoint *v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint *v2_PointOnRelatedElement, boost::optional<double> v3_EccentricityInX, boost::optional<double> v4_EccentricityInY, boost::optional<double> v5_EccentricityInZ)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectionPointEccentricity>
-
class
IfcConnectionPointGeometry
: public Ifc2x3::IfcConnectionGeometry IfcConnectionPointGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a point (here IfcCartesianPoint) or at an vertex with point coordinates associated. It is envisioned as a control that applies to the element connection relationships.
EXAMPLE The connection relationship between two path based elements (like a column and a beam) has a geometric constraint which describes the connection points by a PointOnRelatingElement for the column and a PointOnRelatedElement for the beam. The exact usage of the IfcConnectionPointGeometry is further defined in the geometry use sections of the elements that use it.
NOTE If the point connection has an offset (if the two points or vertex points at the relating and related element do not physically match), the subtype IfcConnectionPointEccentricity shall be used.
HISTORY New entity in IFC Release 1.5, has been renamed from IfcPointConnectionGeometry in IFC Release 2x.
IFC2x Edition 3 CHANGE The provision of topology with associated geometry, IfcVertexPoint, is enabled by using the IfcPointOrVertexPoint.
Geometry use definitions The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used.
Subclassed by Ifc2x3::IfcConnectionPointEccentricity
Public Types
-
typedef IfcTemplatedEntityList<IfcConnectionPointGeometry>
list
Public Functions
-
::Ifc2x3::IfcPointOrVertexPoint *
PointOnRelatingElement
() const Point at which the connected object is aligned at the relating element, given in the LCS of the relating element.
-
void
setPointOnRelatingElement
(::Ifc2x3::IfcPointOrVertexPoint *v)
-
bool
hasPointOnRelatedElement
() const Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry.
-
::Ifc2x3::IfcPointOrVertexPoint *
PointOnRelatedElement
() const Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used.
-
void
setPointOnRelatedElement
(::Ifc2x3::IfcPointOrVertexPoint *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConnectionPointGeometry
(IfcEntityInstanceData *e)
-
IfcConnectionPointGeometry
(::Ifc2x3::IfcPointOrVertexPoint *v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint *v2_PointOnRelatedElement)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectionPointGeometry>
-
class
IfcConnectionPortGeometry
: public Ifc2x3::IfcConnectionGeometry Public Types
-
typedef IfcTemplatedEntityList<IfcConnectionPortGeometry>
list
Public Functions
-
::Ifc2x3::IfcAxis2Placement *
LocationAtRelatingElement
() const
-
void
setLocationAtRelatingElement
(::Ifc2x3::IfcAxis2Placement *v)
-
bool
hasLocationAtRelatedElement
() const Whether the optional attribute LocationAtRelatedElement is defined for this IfcConnectionPortGeometry.
-
::Ifc2x3::IfcAxis2Placement *
LocationAtRelatedElement
() const
-
void
setLocationAtRelatedElement
(::Ifc2x3::IfcAxis2Placement *v)
-
::Ifc2x3::IfcProfileDef *
ProfileOfPort
() const
-
void
setProfileOfPort
(::Ifc2x3::IfcProfileDef *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConnectionPortGeometry
(IfcEntityInstanceData *e)
-
IfcConnectionPortGeometry
(::Ifc2x3::IfcAxis2Placement *v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement *v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef *v3_ProfileOfPort)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectionPortGeometry>
-
class
IfcConnectionSurfaceGeometry
: public Ifc2x3::IfcConnectionGeometry IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships.
HISTORY New entity in IFC Release 2x.
IFC2x Edition 3 CHANGE The provision of topology with associated geometry, IfcFaceSurface, is enabled by using the IfcSurfaceOrFaceSurface.
Geometry use definitions The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samesurface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute.
Public Types
-
typedef IfcTemplatedEntityList<IfcConnectionSurfaceGeometry>
list
Public Functions
-
::Ifc2x3::IfcSurfaceOrFaceSurface *
SurfaceOnRelatingElement
() const Surface at which related object is aligned at the relating element, given in the LCS of the relating element.
-
void
setSurfaceOnRelatingElement
(::Ifc2x3::IfcSurfaceOrFaceSurface *v)
-
bool
hasSurfaceOnRelatedElement
() const Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry.
-
::Ifc2x3::IfcSurfaceOrFaceSurface *
SurfaceOnRelatedElement
() const Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used.
-
void
setSurfaceOnRelatedElement
(::Ifc2x3::IfcSurfaceOrFaceSurface *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConnectionSurfaceGeometry
(IfcEntityInstanceData *e)
-
IfcConnectionSurfaceGeometry
(::Ifc2x3::IfcSurfaceOrFaceSurface *v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface *v2_SurfaceOnRelatedElement)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConnectionSurfaceGeometry>
-
struct
IfcConnectionTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65.
HISTORY New type in IFC Release 2.0
L-Shape Connection
RelatingConnectionType: AtStart RelatedConnectionType: AtStart
L-Shape Connection
RelatingConnectionType: AtEnd RelatedConnectionType: AtStart
T-Shape Connection
RelatingConnectionType: AtPath RelatedConnectionType: AtStart
Figure 65 — Connection types</td
Values:
-
enumerator
IfcConnectionType_ATPATH
¶
-
enumerator
IfcConnectionType_ATSTART
¶
-
enumerator
IfcConnectionType_ATEND
¶
-
enumerator
IfcConnectionType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcConstraint
: public IfcUtil::IfcBaseEntity An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property.
HISTORY: New Entity in IFC Release 2.0
Use Definition IfcConstraint may be associated with any subtype of IfcRoot (unless restricted in specific subtypes) through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.
A constraint may aggregate other constraints through the IfcConstraintAggregationRelationship through which a logical association between constraints may be applied, or constraints may have other defined relationship to other constraints via IfcConstraintRelationship.
A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime.
A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences
Subclassed by Ifc2x3::IfcMetric, Ifc2x3::IfcObjective
Public Types
-
typedef IfcTemplatedEntityList<IfcConstraint>
list
Public Functions
-
std::string
Name
() const A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance).
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcConstraint.
-
std::string
Description
() const A description that may apply additional information about a constraint.
-
void
setDescription
(std::string v)
-
::Ifc2x3::IfcConstraintEnum::Value
ConstraintGrade
() const Enumeration that qualifies the type of constraint.
-
void
setConstraintGrade
(::Ifc2x3::IfcConstraintEnum::Value v)
-
bool
hasConstraintSource
() const Whether the optional attribute ConstraintSource is defined for this IfcConstraint.
-
std::string
ConstraintSource
() const Any source material, such as a code or standard, from which the constraint originated.
-
void
setConstraintSource
(std::string v)
-
bool
hasCreatingActor
() const Whether the optional attribute CreatingActor is defined for this IfcConstraint.
-
::Ifc2x3::IfcActorSelect *
CreatingActor
() const Person and/or organization that has created the constraint.
-
void
setCreatingActor
(::Ifc2x3::IfcActorSelect *v)
-
bool
hasCreationTime
() const Whether the optional attribute CreationTime is defined for this IfcConstraint.
-
::Ifc2x3::IfcDateTimeSelect *
CreationTime
() const Time when information specifying the constraint instance was created.
Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation
-
void
setCreationTime
(::Ifc2x3::IfcDateTimeSelect *v)
-
bool
hasUserDefinedGrade
() const Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint.
-
std::string
UserDefinedGrade
() const Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED.
-
void
setUserDefinedGrade
(std::string v)
-
IfcTemplatedEntityList<IfcConstraintClassificationRelationship>::ptr
ClassifiedAs
() const
-
IfcTemplatedEntityList<IfcConstraintRelationship>::ptr
RelatesConstraints
() const
-
IfcTemplatedEntityList<IfcConstraintRelationship>::ptr
IsRelatedWith
() const
-
IfcTemplatedEntityList<IfcPropertyConstraintRelationship>::ptr
PropertiesForConstraint
() const
-
IfcTemplatedEntityList<IfcConstraintAggregationRelationship>::ptr
Aggregates
() const
-
IfcTemplatedEntityList<IfcConstraintAggregationRelationship>::ptr
IsAggregatedIn
() const
-
const IfcParse::entity &
declaration
() const
-
IfcConstraint
(IfcEntityInstanceData *e)
-
IfcConstraint
(std::string v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional<std::string> v4_ConstraintSource, ::Ifc2x3::IfcActorSelect *v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect *v6_CreationTime, boost::optional<std::string> v7_UserDefinedGrade)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstraint>
-
class
IfcConstraintAggregationRelationship
: public IfcUtil::IfcBaseEntity An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically.
HISTORY New Entity in IFC Release 2.0. Modified in IFC2x2.
IFC2x4 CHANGE Subtyped from IfcConstraintRelationship
Use definition IfcConstraintAggregationRelationship allows the aggregation link between subtypes of constraint to be logically defined (AND, OR, XOR, NOTAND, NOTOR). In this way, whereby an object or property can have multiple constraints assigned, and the logical linkage between them can be specified. Thus linked constraints might show as for example (> X AND < Y) which is useful for an allowed range, or bounded value, for example, (A OR B OR C) which is valuable for an enumerated property where a selection is constrained to be (at least) one of A, B or C. Figure 237 illustrates constraint aggregation.
Figure 237 — Constraint aggregation
Public Types
-
typedef IfcTemplatedEntityList<IfcConstraintAggregationRelationship>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcConstraintAggregationRelationship.
-
std::string
Name
() const
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcConstraintAggregationRelationship.
-
std::string
Description
() const
-
void
setDescription
(std::string v)
-
::Ifc2x3::IfcConstraint *
RelatingConstraint
() const
-
void
setRelatingConstraint
(::Ifc2x3::IfcConstraint *v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcConstraint>::ptr
RelatedConstraints
() const
-
void
setRelatedConstraints
(IfcTemplatedEntityList<::Ifc2x3::IfcConstraint>::ptr v)
-
::Ifc2x3::IfcLogicalOperatorEnum::Value
LogicalAggregator
() const Enumeration that identifies the logical type of aggregation.
-
void
setLogicalAggregator
(::Ifc2x3::IfcLogicalOperatorEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcConstraintAggregationRelationship
(IfcEntityInstanceData *e)
-
IfcConstraintAggregationRelationship
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcConstraint *v3_RelatingConstraint, IfcTemplatedEntityList<::Ifc2x3::IfcConstraint>::ptr v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstraintAggregationRelationship>
-
class
IfcConstraintClassificationRelationship
: public IfcUtil::IfcBaseEntity Public Types
Public Functions
-
::Ifc2x3::IfcConstraint *
ClassifiedConstraint
() const
-
void
setClassifiedConstraint
(::Ifc2x3::IfcConstraint *v)
-
IfcEntityList::ptr
RelatedClassifications
() const
-
void
setRelatedClassifications
(IfcEntityList::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcConstraintClassificationRelationship
(IfcEntityInstanceData *e)
-
IfcConstraintClassificationRelationship
(::Ifc2x3::IfcConstraint *v1_ClassifiedConstraint, IfcEntityList::ptr v2_RelatedClassifications)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
::Ifc2x3::IfcConstraint *
-
struct
IfcConstraintEnum
¶ Public Types
-
enum
Value
¶ IfcConstraintEnum is an enumeration used to qualify a constraint.
HISTORY: New type in IFC Release 2.0
Enumeration
Value Definition
HARD Qualifies a constraint such that it must be followed rigidly within or at the values set.
SOFT Qualifies a constraint such that it should be followed within or at the values set.
ADVISORY Qualifies a constraint such that it is advised that it is followed within or at the values set.
Values:
-
enumerator
IfcConstraint_HARD
¶
-
enumerator
IfcConstraint_SOFT
¶
-
enumerator
IfcConstraint_ADVISORY
¶
-
enumerator
IfcConstraint_USERDEFINED
¶
-
enumerator
IfcConstraint_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcConstraintRelationship
: public IfcUtil::IfcBaseEntity An IfcConstraintRelationship is an objectified relationship that enables instances of IfcConstraint and its subtypes to be associated to each other. Logical aggregation of instances of IfcConstraint and its subtypes is handled by the subtype IfcConstraintAggregationRelationship.
EXAMPLE: Certain constraints related to an IfcWall may be derived from a constraint related to an IfcSpace.
HISTORY New entity in Release IFC2x2 (Addendum 1).
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship.
Public Types
-
typedef IfcTemplatedEntityList<IfcConstraintRelationship>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcConstraintRelationship.
-
std::string
Name
() const
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcConstraintRelationship.
-
std::string
Description
() const
-
void
setDescription
(std::string v)
-
::Ifc2x3::IfcConstraint *
RelatingConstraint
() const Constraint with which the other Constraints referenced by attribute RelatedConstraints are related.
-
void
setRelatingConstraint
(::Ifc2x3::IfcConstraint *v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcConstraint>::ptr
RelatedConstraints
() const Constraints that are related with the one referenced as RelatingConstraint.
-
void
setRelatedConstraints
(IfcTemplatedEntityList<::Ifc2x3::IfcConstraint>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcConstraintRelationship
(IfcEntityInstanceData *e)
-
IfcConstraintRelationship
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcConstraint *v3_RelatingConstraint, IfcTemplatedEntityList<::Ifc2x3::IfcConstraint>::ptr v4_RelatedConstraints)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstraintRelationship>
-
class
IfcConstructionEquipmentResource
: public Ifc2x3::IfcConstructionResource IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction.
HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC2x4.
Occurrences of IfcConstructionEquipmentResource are products that are used as resources to assist the process of construction. More specifically, they are products that are standalone items brought to a project to fulfil a particular purpose. Examples might be a tower crane or other mobile crane, a screwing machine, a lifting hoist etc. They are explicitly instances of IfcProduct and may be drawn from various of the subtype, for instance IfcTransportElement, IfcDiscreteAccessory, IfcProxy (for particular cases where more precise usage details are not available).
A product that is used as an IfcConstructionEquipmentResource is referenced using the IfcRelAssignsToResource.RelatedObjects relationship.
Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.
Type use definition IfcConstructionEquipmentResource defines the occurrence of any construction equipment resource; common information about construction equipment resource types is handled by IfcConstructionEquipmentResourceType. The IfcConstructionEquipmentResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionEquipmentResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
Quantity use definition The quantities relating to the IfcConstructionEquipmentResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.
Qto_ConstructionEquipmentResourceBaseQuantities: base quantities for all construction equipment resources.
Assignment use definition In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment.
Figure 183 — Construction equipment resource assignment
Public Types
-
typedef IfcTemplatedEntityList<IfcConstructionEquipmentResource>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcConstructionEquipmentResource
(IfcEntityInstanceData *e)
-
IfcConstructionEquipmentResource
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstructionEquipmentResource>
-
class
IfcConstructionMaterialResource
: public Ifc2x3::IfcConstructionResource IfcConstructionMaterialResource identifies a material resource type in a construction project.
HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC2x4.
IFC2x4 NOTE: The attribute Suppliers has been deleted; use IfcRelAssignsToResource to assign an IfcActor to fulfill the role as a supplier. The attribute UsageRatio has been deleted; use BaseQuantityConsumed and BaseQuantityProduced to indicate material usage.
Occurrences of IfcConstructionMaterialResource are consumed (wholly or partially), or occupied during a construction work task (IfcTask).
Similar to IfcConstructionProductResource, sometimes things such as 5000kg of gravel are already instantiated as an IfcProduct because it is a result of a work task (for example, ‘transporting gravel’). In this case, the instance of IfcConstructionMaterialResource can be associated with the product instance ‘5000kg of gravel’ to provide more information for resource uses. Nevertheless, IfcConstructionMaterialResource should only be used to represent resource usage (for example ‘gravel’), but not product substances (for example, ‘5000kg of gravel’). Note: This class is not the same as IfcMaterial; the former can typically represent the type of bulk materials such as sand, gravels, nails and so on (note these can be instantiated from IfcProduct as well depending their uses in the system) used in a construction process. The latter is about physical materials used in a physical building element typically with detailed positioning (e.g. offset) and layering information. Quantities for an IfcConstructionMaterialResource are defined through IfcRelDefinesByProperty and use IfcElementQuantity.
Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.
Type use definition IfcConstructionMaterialResource defines the occurrence of any material resource; common information about material resource types is handled by IfcConstructionMaterialResourceType. The IfcConstructionMaterialResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionMaterialResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
Quantity use definition The quantities relating to the IfcConstructionMaterialResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.
Qto_ConstructionMaterialResourceBaseQuantities: base quantities for all construction material resources.
Assignment use definition In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material.
Figure 184 — Construction material resource assignment
Public Types
-
typedef IfcTemplatedEntityList<IfcConstructionMaterialResource>
list
Public Functions
-
bool
hasSuppliers
() const Whether the optional attribute Suppliers is defined for this IfcConstructionMaterialResource.
-
IfcEntityList::ptr
Suppliers
() const
-
void
setSuppliers
(IfcEntityList::ptr v)
-
bool
hasUsageRatio
() const Whether the optional attribute UsageRatio is defined for this IfcConstructionMaterialResource.
-
double
UsageRatio
() const
-
void
setUsageRatio
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcConstructionMaterialResource
(IfcEntityInstanceData *e)
-
IfcConstructionMaterialResource
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity, boost::optional<IfcEntityList::ptr> v10_Suppliers, boost::optional<double> v11_UsageRatio)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstructionMaterialResource>
-
class
IfcConstructionProductResource
: public Ifc2x3::IfcConstructionResource IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction.
HISTORY: New Entity in IFC Release 2.0. Renamed from IfcProductResource in IFC 2x. Base type and documentation extended in IFC2x4.
Occurrences of IfcConstructionProductResource are usage of products to assist the process of construction. More specifically, they are usage of products that result from some construction processes and that are then used as resources to facilitate further construction. For instance, formworks can be instantiated as products resulting from the process ‘constructing formwork’. However, they are used as resources in the process ‘pouring concrete’ in a later stage of the project. IfcConstructionProductResource occurrences are explicitly instances of IfcProduct and may be drawn from various of the subtypes, for instance IfcElementComponent, IfcElementAssembly, IfcProxy (for particular cases where more precise usage details are not available). The product that is used as a construction resource is referenced using the IfcRelAssignsToResource.RelatedObjects relationship.
Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.
Type use definition IfcConstructionProductResource defines the occurrence of any product resource; common information about product resource types is handled by IfcConstructionProductResourceType. The IfcConstructionProductResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcConstructionProductResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
Assignment use definition In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments.
Figure 185 — Construction product resource assignment
Public Types
-
typedef IfcTemplatedEntityList<IfcConstructionProductResource>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcConstructionProductResource
(IfcEntityInstanceData *e)
-
IfcConstructionProductResource
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstructionProductResource>
-
class
IfcConstructionResource
: public Ifc2x3::IfcResource IfcConstructionResource is an abstract generalization of the different resources used in construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource.
A resource represents “use of something” and does not necessarily correspond to a single item such as a person or vehicle, but represents a pool of items having limited availability such as general labor or an equipment fleet. A resource can represent either a generic resource pool (not having any task assignment) or a task-specific resource allocation (having an IfcTask assignment).
HISTORY New entity in IFC2x2.
IFC2x4 CHANGE Modified in to promote ResourceIdentifer and ResourceGroup (renamed to LongDescription) to supertype IfcResource and add attributes as described.
Type use definition IfcConstructionResource defines the occurrence of any construction resource; common information about construction resource types is handled by IfcConstructionResourceType. The IfcConstructionResourceType (if present) may establish the common type name, common properties, common cost rates, and common productivities applied to specific task types. The IfcConstructionResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute as shown in Figure 186. The resource type may provide shared productivity and cost information, allowing tasks and resources to be selected according to lowest cost and/or shortest duration. Given an IfcProduct of a particular IfcTypeProduct type, an IfcTypeProcess may be selected from those assigned to the product type using IfcRelAssignsToProduct, and an IfcTypeResource may be selected from those assigned to the process type using IfcRelAssignsToProcess. Then IfcTask and IfcConstructionResource occurrences may be instantiated from the type definitions, applying productivitity and rate information to assigned quantities to calculate ResourceTime.ScheduleWork. Task durations can then be calculated by dividing ResourceTime.ScheduleWork by ResourceTime.ScheduleUsage.
Figure 186 — Construction resource type use
Composition use definition Resources may be decomposed into allocation pools using the IfcRelNests relationship as shown in Figure 187. For example, an IfcLaborResource for “Electrician” may be decomposed into three task-specific IfcLaborResource objects: “Electrical Rough-in”, “First Floor Circuits”, and “Second Floor Circuits”. Both relating and related sides may represent the same ResourceTime.ScheduleUsage quantity (for example, 6 workers time-shared), or the related side may break out ResourceTime.ScheduleUsage quantities for reserved use (for example, 4 workers and 2 workers). A common scenario is two nesting levels where the first-level resources have no task assignments; while second-level resources have specific task assignments indicating that the resource is subdivided into allocations for specific tasks. While the model allows unlimited nesting of resources, implementer agreements may restrict to two nesting levels with task assignments specifically at the second level.
Figure 187 — Construction resource composition use
Declaration use definition A root-level resource (specifically IfcCrewResource or IfcSubContractResource) is declared within the project by IfcRelDeclares where RelatingContext refers to the single IfcProject and RelatedObjects refers to one or more IfcConstructionResource, and other root-level objects within the project.
Assignment use definition A resource may be assigned to an actor by IfcRelAssignsToActor where RelatingActor refers to an IfcActor and RelatedObjects refers to one or more IfcConstructionResource or other objects. Such relationship indicates the actor responsible for allocating the resource such as partitioning into task-specific allocations, delegating to other actors, and/or scheduling over time. Note that this assignment does not indicate the person or organization performing the work; that is indicated by IfcRelAssignsToResource. The actor responsible for the resource may or may not be the same as any actor(s) performing work. A resource may be assigned to a control by IfcRelAssignsToControl where RelatingProduct refers to an IfcControl and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcWorkCalendar is assigned indicating availability of the resource, where such calendar is nested within a base calendar or an IfcWorkPlan which in turn is assigned to the IfcProject. A resource may be assigned to a group by IfcRelAssignsToGroup where RelatingGroup refers to an IfcGroup and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcAsset is assigned indicating the asset to be tracked, where such asset is nested within an IfcInventory which in turn is assigned to the IfcProject. A resource may be assigned to a product by IfcRelAssignsToProduct where RelatingProduct refers to an IfcProduct and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcElement subtype is assigned indicating the product to be constructed, where such product is connected to a spatial structure which in turn is aggregated within the IfcProject. A resource may be assigned to a process by IfcRelAssignsToProcess where RelatingProcess refers to an IfcProcess and RelatedObjects refers to one or more IfcConstructionResource or other objects. Most commonly an IfcTask is assigned indicating the task to be performed by the resource, where such task is nested within a summary task which in turn is assigned to the IfcProject. A resource may have assignments of other objects using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionResource and RelatedObjects refers to one or more objects such as IfcActor or IfcProduct subtypes. This relationship indicates specific objects assigned to fulfill resource usage. Figure 188 illustrates resource assignment.
Figure 188 — Construction resource assignment use
Constraint use definition Constraints may be applied to a resource to indicate fixed work (such as total person-hours) or fixed usage (such as simultaneous workers). The relationship IfcRelAssociatesConstraint is used where RelatingConstraint points to an IfcMetric and RelatedObjects includes the IfcConstructionResource as shown in Figure 189. IfcRelAssociatesConstraint.Name identifies the attribute to be constrained using a period (“.”) to dereference; for example, “ResourceTime.ScheduleWork” refers to the ScheduleWork attribute on the IfcResourceTime entity referenced on the ResourceTime attribute. The following attributes may be constrained:
‘ResourceTime.ScheduleUsage’: Indicate fixed usage (e.g. simultaneous workers) with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to ResourceTime.ScheduleWork should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa ‘ResourceTime.ScheduleWork’: Indicate fixed work (e.g. total person-hours) with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to ResourceTime.ScheduleUsage should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa.
Figure 189 — Construction resource constraint use
Time series use definition Time series may be applied to a resource to indicate the break-out of attribute values over time. The relationship IfcRelAssociatesTimeSeries is used where RelatingTimeSeries points to an IfcTimeSeries (either IfcRegularTimeSeries or IfcIrregularTimeSeries) and RelatedObjects includes the IfcConstructionResource as shown in Figure 190. IfcRelAssociatesTimeSeries.Name identifies the attribute to be constrained using a period (“.”) to dereference; for example, “ResourceTime.ScheduleWork” refers to the ScheduleWork attribute on the IfcResourceTime entity referenced on the ResourceTime attribute. Refer to attribute descriptions on IfcResourceTime for attribute-specific usage. Each IfcTimeSeriesValue indicates a LIST of values, where the sequence of the value corresponds to the IfcCostValue at IfcConstructionResource.CostRatesConsumed. For example, if CostRatesConsumed has two IfcCostValue items in the LIST, “Standard” and “Overtime”, then IfcTimeSeriesValue(IfcDuration(‘T8H0M0S’),IfcDuration(‘T2H0M0S’)) would indicate 8 hours at Standard rate and 2 hours at Overtime rate. If the list of values at IfcTimeSeriesValue.ListValues is less than the size of CostRatesConsumed, then subsequent values are considered to be zero.
Figure 190 — Construction resource time series use
Document use definition Documents may be published for work plans consisting of schedules, calendars, tasks, and resources. The relationship IfcRelAssociatesDocument may be used to preserve mappings to such document where RelatingDocument points to an IfcDocumentReference and RelatedObjects includes the IfcConstructionResource as shown in Figure 191. IfcDocumentReference.ItemReference identifies the resource within the scope of the document, such as an integer or guid. The IfcDocumentReference.ReferencedDocument corresponds to the document which is uniquely identified by IfcDocumentInformation.DocumentId and/or IfcDocumentInformation.PublicationLocation. Such document mapping allows items in the document to be updated from the building information model and vice-versa.
Figure 191 — Construction resource document use
Baseline use definition A resource may have any number of baselines defined using the relationship IfcRelDefinesByObject where RelatingObject is the “current” resource and RelatedObjects consists of multiple “baseline” resources, each representing a copy of the resource as it existed at an earlier point in time as shown in Figure 192. Each baseline IfcConstructionResource is identified by its nested IfcRelAssignsToControl relationship to an IfcWorkSchedule having PredefinedType=BASELINE, IfcWorkSchedule.CreationDate indicating the date of the baseline, and IfcWorkSchedule.Name indicating the name of the baseline.
Figure 192 — Construction resource baseline use
Subclassed by Ifc2x3::IfcConstructionEquipmentResource, Ifc2x3::IfcConstructionMaterialResource, Ifc2x3::IfcConstructionProductResource, Ifc2x3::IfcCrewResource, Ifc2x3::IfcLaborResource, Ifc2x3::IfcSubContractResource
Public Types
-
typedef IfcTemplatedEntityList<IfcConstructionResource>
list
Public Functions
-
bool
hasResourceIdentifier
() const Whether the optional attribute ResourceIdentifier is defined for this IfcConstructionResource.
-
std::string
ResourceIdentifier
() const
-
void
setResourceIdentifier
(std::string v)
-
bool
hasResourceGroup
() const Whether the optional attribute ResourceGroup is defined for this IfcConstructionResource.
-
std::string
ResourceGroup
() const
-
void
setResourceGroup
(std::string v)
-
bool
hasResourceConsumption
() const Whether the optional attribute ResourceConsumption is defined for this IfcConstructionResource.
-
::Ifc2x3::IfcResourceConsumptionEnum::Value
ResourceConsumption
() const Indicates how the resource is consumed or occupied during its use in a process. Production-based consumption is indicated by CONSUMED, PARTIALLYCONSUMED, or NOTCONSUMED, where QuantityProduced refers to a quantity on the IfcProduct to which the assigned IfcProcess is assigned. Duration-based occupation is indicated by OCCUPIED, PARTIALLYOCCUPIED, or NOTOCCUPIED, where QuantityProduced refers to a quantity on the IfcProcess to which the resource is assigned.
-
void
setResourceConsumption
(::Ifc2x3::IfcResourceConsumptionEnum::Value v)
-
bool
hasBaseQuantity
() const Whether the optional attribute BaseQuantity is defined for this IfcConstructionResource.
-
::Ifc2x3::IfcMeasureWithUnit *
BaseQuantity
() const
-
void
setBaseQuantity
(::Ifc2x3::IfcMeasureWithUnit *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConstructionResource
(IfcEntityInstanceData *e)
-
IfcConstructionResource
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConstructionResource>
-
class
IfcContextDependentMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. Type: REAL
NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcContextDependentMeasure
(IfcEntityInstanceData *e)
-
IfcContextDependentMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcContextDependentUnit
: public Ifc2x3::IfcNamedUnit Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system.
NOTE The number of parts in an assembly is a physical quantity measured in units that may be called “parts” but which cannot be related to an SI unit.
NOTE Corresponding ISO 10303 name: context_dependent_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New entity in IFC Release 1.5.1.
Public Types
-
typedef IfcTemplatedEntityList<IfcContextDependentUnit>
list
Public Functions
-
std::string
Name
() const The word, or group of words, by which the context dependent unit is referred to.
-
void
setName
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcContextDependentUnit
(IfcEntityInstanceData *e)
-
IfcContextDependentUnit
(::Ifc2x3::IfcDimensionalExponents *v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcContextDependentUnit>
-
class
IfcControl
: public Ifc2x3::IfcObject IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled.
EXAMPLE Controls include action requests, cost schedules, project orders, work plans, and work calendars.
HISTORY New entity in IFC Release 1.0.
IFC2x4 CHANGE Attribute Identification added.
Relationship use definition Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl.
Subclassed by Ifc2x3::IfcActionRequest, Ifc2x3::IfcConditionCriterion, Ifc2x3::IfcCostItem, Ifc2x3::IfcCostSchedule, Ifc2x3::IfcEquipmentStandard, Ifc2x3::IfcFurnitureStandard, Ifc2x3::IfcPerformanceHistory, Ifc2x3::IfcPermit, Ifc2x3::IfcProjectOrder, Ifc2x3::IfcProjectOrderRecord, Ifc2x3::IfcScheduleTimeControl, Ifc2x3::IfcServiceLife, Ifc2x3::IfcSpaceProgram, Ifc2x3::IfcTimeSeriesSchedule, Ifc2x3::IfcWorkControl
Public Types
-
typedef IfcTemplatedEntityList<IfcControl>
list
Public Functions
-
IfcTemplatedEntityList<IfcRelAssignsToControl>::ptr
Controls
() const
-
const IfcParse::entity &
declaration
() const
-
IfcControl
(IfcEntityInstanceData *e)
-
IfcControl
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcControl>
-
class
IfcControllerType
: public Ifc2x3::IfcDistributionControlElementType The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a controller specification (i.e. the specific product information, that is common to all occurrences of that product type). Controller types may be exchanged without being already assigned to occurrences. Occurrences of IfcControllerType are represented by instances of IfcController.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_ControllerTypeCommon Pset_ControllerTypeFloating (FLOATING) Pset_ControllerTypeMultiPosition (MULTIPOSITION) Pset_ControllerTypeProgrammable (PROGRAMMABLE) Pset_ControllerTypeProportional (PROPORTIONAL) Pset_ControllerTypeTwoPosition (TWOPOSITION)
Material Use Definition The material of the IfcControllerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Composition Use Definition The IfcControllerType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcControllerType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:
PROGRAMMABLE: May contain IfcController components. Programmable Logic Controllers may be decomposed into logical elements for values and operations.
Port Use Definition The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcControllerType>
list
Public Functions
-
::Ifc2x3::IfcControllerTypeEnum::Value
PredefinedType
() const Identifies the predefined types of controller from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcControllerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcControllerType
(IfcEntityInstanceData *e)
-
IfcControllerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcControllerType>
-
struct
IfcControllerTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcControllerTypeEnum defines the range of different types of controller that can be specified.
HISTORY: New type in IFC R2.0 Documentation extended in IFC 2x4. PROPORTIONALINTEGRAL and PROPORTIONALINTEGRALDERIVATIVE values deleted (property set enumeration now used). MULTIPOSITION added.
Enumeration
FLOATING: Output increases or decreases at a constant or accelerating rate. MULTIPOSITION: Output is discrete value, can be one of three or more values. PROGRAMMABLE: Output is programmable such as Discrete Digital Control (DDC). PROPORTIONAL: Output is proportional to the control error and optionally time integral and derivative. TWOPOSITION: Output can be either on or off USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcControllerType_FLOATING
¶
-
enumerator
IfcControllerType_PROPORTIONAL
¶
-
enumerator
IfcControllerType_PROPORTIONALINTEGRAL
¶
-
enumerator
IfcControllerType_PROPORTIONALINTEGRALDERIVATIVE
¶
-
enumerator
IfcControllerType_TIMEDTWOPOSITION
¶
-
enumerator
IfcControllerType_TWOPOSITION
¶
-
enumerator
IfcControllerType_USERDEFINED
¶
-
enumerator
IfcControllerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcConversionBasedUnit
: public Ifc2x3::IfcNamedUnit Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit.
NOTE Corresponding ISO 10303 name: conversion_based_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New entity in IFC Release 1.5.1.
IFC 2x3 change: standard names of typical units added.
IFC 2x4 change: further names added: square inch, square foot, square mile, square yard, cubic inch, cubic foot, cubic yard, fluid ounce UK/US, ton UK/US, degree.
Example: An inch is a converted unit. It is from the Imperial system, its name is “inch” and it can be related to the si unit, millimetre, through a measure with unit whose value is 25.4 millimetre. A foot is also a converted unit. It is from the Imperial system, its name is “foot” and it can be related to an IfcSIUnit, millimetre, either directly or through the unit called “inch”. Note that several US customary units differ from Imperial units (nonmetric English units) of the same name.
To identify some commonly used conversion based units, the standard designations (case insensitive) for the Name attribute include the following:
Name Description ‘inch’ Length measure equal to 25.4 mm ‘foot’ Length measure equal to 304.8 mm ‘yard’ Length measure equal to 914 mm ‘mile’ Length measure equal to 1609 m ‘square inch’ Area measure equal to 0.0006452 square meters ‘square foot’ Area measure equal to 0.09290 square meters ‘square yard’ Area measure equal to 0.83612736 square meters ‘acre’ Area measure equal to 4046.86 square meters ‘square mile’ Area measure equal to 2 588 881 square meters ‘cubic inch’ Volume measure equal to 0.00001639 cubic meters ‘cubic foot’ Volume measure equal to 0.02832 cubic meters ‘cubic yard’ Volume measure equal to 0.7636 cubic meters ‘litre’ Volume measure equal to 0.001 cubic meters ‘fluid ounce UK’ Volume measure equal to 0.0000284130625 cubic meters ‘fluid ounce US’ Volume measure equal to 0.00002957353 cubic meters ‘pint UK’ Volume measure equal to 0.000568 cubic meters ‘pint US’ Volume measure equal to 0.000473 cubic meters ‘gallon UK’ Volume measure equal to 0.004546 cubic meters ‘gallon US’ Volume measure equal to 0.003785 cubic meters ‘degree’ Angle measure equal to π/180 rad ‘ounce’ Mass measure equal to 28.35 g ‘pound’ Mass measure equal to 0.454 kg ‘ton UK’ Mass measure equal to 1016.0469088 kg, also known as long ton, gross ton, shipper’s ton ‘ton US’ Mass measure equal to 907.18474 kg, also known as short ton, net ton ‘lbf’ Force measure equal to 4.4482216153 N, pound-force ‘kip’ Force measure equal to 4448.2216153 N, kilopound-force ‘psi’ Pressure measure equal to 6894.7572932 Pa, pound-force per square inch ‘ksi’ Pressure measure equal to 6894757.2932 Pa, kilopound-force per square inch ‘minute’ Time measure equal to 60 s ‘hour’ Time measure equal to 3600 s ‘day’ Time measure equal to 86400 s ‘btu’ Energy measure equal to 1055.056 J, British Thermal Unit
Public Types
-
typedef IfcTemplatedEntityList<IfcConversionBasedUnit>
list
Public Functions
-
std::string
Name
() const The word, or group of words, by which the conversion based unit is referred to.
-
void
setName
(std::string v)
-
::Ifc2x3::IfcMeasureWithUnit *
ConversionFactor
() const The physical quantity from which the converted unit is derived.
-
void
setConversionFactor
(::Ifc2x3::IfcMeasureWithUnit *v)
-
const IfcParse::entity &
declaration
() const
-
IfcConversionBasedUnit
(IfcEntityInstanceData *e)
-
IfcConversionBasedUnit
(::Ifc2x3::IfcDimensionalExponents *v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit *v4_ConversionFactor)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcConversionBasedUnit>
-
class
IfcCooledBeamType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a cooled beam specification (i.e. the specific product information, that is common to all occurrences of that product type). Cooled Beam types may be exchanged without being already assigned to occurrences. Occurrences of IfcCooledBeamType are represented by instances of IfcCooledBeam.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CooledBeamTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_CooledBeamTypeActive (ACTIVE)
Material Use Definition The material of the IfcCooledBeamType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCooledBeamType>
list
Public Functions
-
::Ifc2x3::IfcCooledBeamTypeEnum::Value
PredefinedType
() const Defines the type of cooled beam.
-
void
setPredefinedType
(::Ifc2x3::IfcCooledBeamTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCooledBeamType
(IfcEntityInstanceData *e)
-
IfcCooledBeamType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCooledBeamType>
-
struct
IfcCooledBeamTypeEnum
¶ Public Types
-
enum
Value
¶ There are two general types of cooled or chilled beams: passive and active.
An active Cooled Beam uses a fan or other auxilliary device to aid in air recirculation, while a passive
Cooled Beam relies solely on convection to cool the space.
Enumeration defining the typical types of cooled beams.
The IfcCooledBeamTypeEnum contains the following:
ACTIVE: An active or ventilated cooled beam provides cooling (and heating) but can also function as an air terminal in a ventilation system.
PASSIVE: A passive or static cooled beam provides cooling (and heating) to a room or zone.
USERDEFINED: User-defined cooled beam type.
NOTDEFINED: Undefined cooled beam type.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcCooledBeamType_ACTIVE
¶
-
enumerator
IfcCooledBeamType_PASSIVE
¶
-
enumerator
IfcCooledBeamType_USERDEFINED
¶
-
enumerator
IfcCooledBeamType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCoolingTowerType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a cooling tower specification (i.e. the specific product information, that is common to all occurrences of that product type). Cooling Tower types may be exchanged without being already assigned to occurrences. Occurrences of IfcCoolingTowerType are represented by instances of IfcCoolingTower.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_CoolingTowerTypeCommon
Material Use Definition The material of the IfcCoolingTowerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed. ‘Fill’: Fill material.
Composition Use Definition The IfcCoolingTowerType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcCoolingTowerType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:
MECHANICALFORCEDDRAFT: May contain IfcFan components. Forces air into the cooling tower. MECHANICALINDUCEDDRAFT: May contain IfcFan components. Induces air out of the cooling tower.
Port Use Definition The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcCoolingTowerType>
list
Public Functions
-
::Ifc2x3::IfcCoolingTowerTypeEnum::Value
PredefinedType
() const Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.).
-
void
setPredefinedType
(::Ifc2x3::IfcCoolingTowerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCoolingTowerType
(IfcEntityInstanceData *e)
-
IfcCoolingTowerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCoolingTowerType>
-
struct
IfcCoolingTowerTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of cooling towers. The IfcCoolingTowerTypeEnum contains the following:
NATURALDRAFT: Air flow is produced naturally. MECHANICALINDUCEDDRAFT: Air flow is produced by a mechanical device, typically one or more fans, located on
the air outlet side of the cooling tower. MECHANICALFORCEDDRAFT: Air flow is produced by a mechanical device, typically one or more fans, located on
the inlet air side of the cooling tower. USERDEFINED: User-defined cooling tower type. NOTDEFINED: Undefined cooling tower type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcCoolingTowerType_NATURALDRAFT
¶
-
enumerator
IfcCoolingTowerType_MECHANICALINDUCEDDRAFT
¶
-
enumerator
IfcCoolingTowerType_MECHANICALFORCEDDRAFT
¶
-
enumerator
IfcCoolingTowerType_USERDEFINED
¶
-
enumerator
IfcCoolingTowerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCoordinatedUniversalTimeOffset
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcCoordinatedUniversalTimeOffset>
list
Public Functions
-
int
HourOffset
() const
-
void
setHourOffset
(int v)
-
bool
hasMinuteOffset
() const Whether the optional attribute MinuteOffset is defined for this IfcCoordinatedUniversalTimeOffset.
-
int
MinuteOffset
() const
-
void
setMinuteOffset
(int v)
-
::Ifc2x3::IfcAheadOrBehind::Value
Sense
() const
-
void
setSense
(::Ifc2x3::IfcAheadOrBehind::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCoordinatedUniversalTimeOffset
(IfcEntityInstanceData *e)
-
IfcCoordinatedUniversalTimeOffset
(int v1_HourOffset, boost::optional<int> v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCoordinatedUniversalTimeOffset>
-
class
IfcCostItem
: public Ifc2x3::IfcControl An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more.
Each instance of IfcCostItem may have a name and a description. Depending on the use for which the cost is intended, these values should be asserted on the basis of agreement. For instance, the Name attribute could be used to provide a common value that enables distinct instances to be brought together in a nesting arrangement (see below) while the Description attribute may be used to provide text used for item description in a costing schedule.
An IfcCostItem can link one or many IfcCostValue’s representing a unit cost, total cost, or a unit cost with one or many quantities used to generate the total cost. The quantities can be given as individual quantities, or those quantities are provided as element quantities by one or many building elements. The IfcCostValue.CostType attribute indicates the category of cost, which may be used to present the value in a particular column. For nested cost items (having IfcRelNests relationship), IfcCostValue.CostType is significant such that IfcCostValue.AppliedValue is calculated as the sum of all nested costs having the same IfcCostValue.CostType or if set to an asterisk (‘*’), then the sum of all nested costs of all cost types. An IfcCostValue may represent an original value or a value derived from formulas using IfcAppliedValueRelationship. For example, taxes may be calculated as a percentage of a subtotal.
HISTORY New Entity in IFC Release 2.0. IFC2x4 CHANGE Attribute PredefinedType, CostValues, and CostQuantities added.
Classification Use Definition
Instances of IfcCostItem are used for cost estimates, budgets, and other forms, where a variety of identification codes are used extensively to identify the meaning of the cost. Examples include project phase codes, CSI codes, takeoff sequence numbers, and cost accounts. The model allows for all classes that are ultimately subtypes of IfcObject to inherit the ability to have one or more instances of IfcClassificationReference to be assigned. Where identification codes are required, the generic IfcRelAssociatesClassification facility should be used.
Composition Use Definition
An IfcCostItem can nest other instances of IfcCostItem through its relationships to IfcRelNests. This can be used to enable the development of complex groups of costs as may be found in cost schedules through to pages, sections and complete cost schedules.
There is always a summary cost item as the root item of the tree representing the cost item nesting. Subsequent instances of IfcCostItem are assigned to the summary cost item using IfcRelNests. The summary cost item itself is assigned to IfcCostSchedule through the IfcRelAssignsToControl relationship.
Figure 157 illustrates a cost item composition used for a cost schedule. Each line item has a quantity and separate unit costs where IfcCostValue.CostType indicates the category of cost. The summary item has a hierarchy of costs calculated according to IfcAppliedValueRelationship.ArithmeticOperator, where IfcCostValue.CostType identifies the category to be totalled. The Tax component has IfcCostValue.CostType set to ‘Material’ which indicates it is the sum of all nested values of the ‘Material’ category ($3 x 3000 + $118 x 100 = $20800). The Subtotal component has IfcCostValue.CostType set to an asterisk (‘*’) which indicates it is the sum of all nested values of all categories.
Figure 157 — Cost composition
Assignment Use Definition
An IfcCostItem can be calculated based on quantities from objects through its relationship to IfcRelAssignsToControl.
For quantity-based costing, IfcElement, IfcTask, or IfcResource occurrence subtypes may be used. Multiple elements may be assigned of the same or different types, using IfcPhysicalQuantity entities defined at each object. Each IfcPhysicalQuantity type must be identical (for example, all values are IfcAreaQuantity) such that they can be added together.
For rate-based costing (specifically for IfcCostScheduleTypeEnum.SCHEDULEOFRATES), a single IfcTypeProduct, IfcTypeProcess, or IfcTypeResource subtype may be used to reflect rates for occurrences of such types. This enables the possibility to generate a quantity-based cost schedule for occurrences based on types with rate-based cost schedules.
IfcRelAssignsToControl is also used in the opposite direction to link the root IfcCostItem to an IfcCostSchedule where RelatingControl is the IfcCostSchedule.
Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly.
Figure 168 — Cost assignment
Public Types
-
typedef IfcTemplatedEntityList<IfcCostItem>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcCostItem
(IfcEntityInstanceData *e)
-
IfcCostItem
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCostItem>
-
class
IfcCostSchedule
: public Ifc2x3::IfcControl An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order.
HISTORY New Entity in IFC Release 2.0. Modified in IFC 2x2 IFC2x4 CHANGE Attribute ‘ID’ changed to Identification and promoted to supertype IfcControl, PredefinedType made optional, attributes PreparedBy, SubmittedBy, TargetUsers removed.
Declaration Use Definition The IfcCostSchedule may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcCostSchedule. Alternatively, if the IfcCostSchedule is aggregated within another IfcControl object, then it shall not have a direct declaration relationship (whereas the containing object may have a declaration relationship).
Assignment Use Definition The IfcCostSchedule may be assigned to the following entities using relationships as indicated:
IfcActor (IfcRelAssignsToActor): Persons and organizations involved in the preparation, submittal, and as target users.
The IfcCostSchedule may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcCostSchedule and RelatedObjects contains one or more objects of the following types: IfcCostItem: Indicates costs published within this cost schedule, typically a single root cost item forming a hierarchy of nested cost items.
Classification Use Definition Classifications may be applied using IfcRelAssociatesClassification where RelatedObjects contains the IfcCostSchedule and RelatingClassification refers to an IfcClassification or IfcClassificationReference.
IfcClassification: Classifications to be used for cost items within the cost schedule.
Approval Use Definition Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.
Public Types
-
typedef IfcTemplatedEntityList<IfcCostSchedule>
list
Public Functions
-
bool
hasSubmittedBy
() const Whether the optional attribute SubmittedBy is defined for this IfcCostSchedule.
-
::Ifc2x3::IfcActorSelect *
SubmittedBy
() const
-
void
setSubmittedBy
(::Ifc2x3::IfcActorSelect *v)
-
bool
hasPreparedBy
() const Whether the optional attribute PreparedBy is defined for this IfcCostSchedule.
-
::Ifc2x3::IfcActorSelect *
PreparedBy
() const
-
void
setPreparedBy
(::Ifc2x3::IfcActorSelect *v)
-
bool
hasSubmittedOn
() const Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule.
-
::Ifc2x3::IfcDateTimeSelect *
SubmittedOn
() const The date and time on which the cost schedule was submitted.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect.
-
void
setSubmittedOn
(::Ifc2x3::IfcDateTimeSelect *v)
-
bool
hasStatus
() const Whether the optional attribute Status is defined for this IfcCostSchedule.
-
std::string
Status
() const The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include:
PLANNED APPROVED AGREED ISSUED STARTED
-
void
setStatus
(std::string v)
-
bool
hasTargetUsers
() const Whether the optional attribute TargetUsers is defined for this IfcCostSchedule.
-
IfcEntityList::ptr
TargetUsers
() const
-
void
setTargetUsers
(IfcEntityList::ptr v)
-
bool
hasUpdateDate
() const Whether the optional attribute UpdateDate is defined for this IfcCostSchedule.
-
::Ifc2x3::IfcDateTimeSelect *
UpdateDate
() const The date and time that this cost schedule is updated; this allows tracking the schedule history.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect.
-
void
setUpdateDate
(::Ifc2x3::IfcDateTimeSelect *v)
-
std::string
ID
() const
-
void
setID
(std::string v)
-
::Ifc2x3::IfcCostScheduleTypeEnum::Value
PredefinedType
() const Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types.
IFC2x4 CHANGE The attribute has been made optional.
-
void
setPredefinedType
(::Ifc2x3::IfcCostScheduleTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCostSchedule
(IfcEntityInstanceData *e)
-
IfcCostSchedule
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcActorSelect *v6_SubmittedBy, ::Ifc2x3::IfcActorSelect *v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect *v8_SubmittedOn, boost::optional<std::string> v9_Status, boost::optional<IfcEntityList::ptr> v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect *v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCostSchedule>
-
struct
IfcCostScheduleTypeEnum
¶ Public Types
-
enum
Value
¶ An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. HISTORY: New type in IFC 2x2
Enumeration
BUDGET: An allocation of money for a particular purpose. COSTPLAN: An assessment of the amount of money needing to be expended for a defined purpose based on incomplete information about the goods and services required for a construction or installation.
ESTIMATE: An assessment of the amount of money needing to be expended for a defined purpose based on actual information about the goods and services required for a construction or installation. TENDER: An offer to provide goods and services.
PRICEDBILLOFQUANTITIES: A complete listing of all work items forming construction or installation works in which costs have been allocated to work items.
UNPRICEDBILLOFQUANTITIES: A complete listing of all work items forming construction or installation works in which costs have not yet been allocated to work items. SCHEDULEOFRATES: A listing of each type of goods forming construction or installation works with the cost of purchase, construction/installation, overheads and profit assigned so that additional items of that type can be costed.
USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcCostScheduleType_BUDGET
¶
-
enumerator
IfcCostScheduleType_COSTPLAN
¶
-
enumerator
IfcCostScheduleType_ESTIMATE
¶
-
enumerator
IfcCostScheduleType_TENDER
¶
-
enumerator
IfcCostScheduleType_PRICEDBILLOFQUANTITIES
¶
-
enumerator
IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES
¶
-
enumerator
IfcCostScheduleType_SCHEDULEOFRATES
¶
-
enumerator
IfcCostScheduleType_USERDEFINED
¶
-
enumerator
IfcCostScheduleType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCostValue
: public Ifc2x3::IfcAppliedValue IfcCostValue is an amount of money or a value that affects an amount of money.
HISTORY: New Entity in IFC Release 1.0
Use definitions Each instance of IfcCostValue may also have a CostType. There are many possible types of cost value that may be identified. While there is a broad understanding of the meaning of names that may be assigned to different types of costs, there is no general standard for naming cost types nor are there any broadly defined classifications. To allow for any type of cost value, the IfcLabel datatype is assigned.
The following defines some cost types that might be applied:
Annual rate of return Bonus Bulk purchase rebate Contract Consultancy Delivery Estimated cost Hire Installation Interest rate Labor Lease List price Maintenance Material Overhead Postage and packing Profit Purchase Rental Repair Replacement Sale Small quantity surcharge Spares Storage Sub-Contract Trade discount Transportation Waste allowance Whole life
In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region.
Public Types
-
typedef IfcTemplatedEntityList<IfcCostValue>
list
Public Functions
-
std::string
CostType
() const Specification of the type of cost type used.
NOTE: There are many possible types of cost value that may be identified. Whilst there is a broad understanding of the meaning of names that may be assigned to different types of costs, there is no general standard for naming cost types nor are there any broadly defined classifications. To allow for any type of cost value, the IfcLabel datatype is assigned.
In the absence of any well defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region.
-
void
setCostType
(std::string v)
-
bool
hasCondition
() const Whether the optional attribute Condition is defined for this IfcCostValue.
-
std::string
Condition
() const The condition under which a cost value applies.
-
void
setCondition
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcCostValue
(IfcEntityInstanceData *e)
-
IfcCostValue
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcAppliedValueSelect *v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit *v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect *v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect *v6_FixedUntilDate, std::string v7_CostType, boost::optional<std::string> v8_Condition)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCostValue>
-
class
IfcCountMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. Type: NUMBER
NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcCountMeasure
(IfcEntityInstanceData *e)
-
IfcCountMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcCovering
: public Ifc2x3::IfcBuildingElement Definition from ISO 6707-1:1989: term used: Finishing - final coverings and treatments of surfaces and their intersections. A covering is an element which covers some part of another element and is fully dependent on that other element. The IfcCovering defines the occurrence of a covering type, that (if given) is expressed by the IfcCoveringType. Examples of coverings include wall claddings, floorings and suspended ceilings. Coverings are elements with relationships to the covered element and the space on the other side, they may contain openings, assigned by IfcRelVoidsElement, material information, assigned by IfcRelAssociatesMaterial, and others. NOTE A more basic information about claddings, floorings, and ceilings of a space can be attached to IfcSpace’s using the Pset_SpaceCommon properties. Then only a name can be provided and the covering quantities would be interpreted from the space quantities. Coverings can be assigned to
a space represented by IfcSpace
using the inverse relationship CoversSpaces pointing to IfcRelCoversSpaces. The space is then accessible via IfcRelCoversSpaces.RelatedSpace. It defines to which space a covering is facing towards.
NOTE The mere containment relationship between an IfcCovering and an IfcSpace is created by using IfcRelContainedInSpatialStructure
a space boundary represented by IfcRelSpaceBoundary
using the inverse relationship ProvidesBoundaries pointing to IfcRelSpaceBoundary. The space is then accessible via IfcRelSpaceBoundary.RelatingSpace.
a building element represented by IfcBuildingElement
using the inverse relationship Covers pointing to IfcRelCoversBldgElements. The building element is then accessible via IfcRelCoversBldgElements.RelatingBuildingElement.
The following guideline shall apply:
(default) if the space has coverings that may not have an own shape representation and no defined relationships to the building elements they cover, then the IfcCovering shall be assigned to IfcSpace using the IfcRelCoversSpaces relationship, if the space has coverings that have an own shape representation and the space has defined space boundaries, then the covering, which relates to that space, may be assigned to the space boundaries using the link toIfcRelSpaceBoundary, if the covering does not relate to a space, then the covering should be assigned to the building element or a distribution element using the IfcRelCoversBldgElements relationship.
HISTORY New entity in IFC Release 1.0. IFC2x CHANGE The attribute PredefinedType is now optional and should only be inserted when no type information, given by IfcCoveringType, is assigned to the IfcCovering occurrence by IfcRelDefinesByType. IFC2x4 CHANGE The IfcCovering is restricted to coverings of building elements by having RelatingBuildingElement pointing to IfcBuildingElement.
Type Use Definition The IfcCovering defines the occuurence of any covering, common information about covering types (or styles) is handled by IfcCoveringType. The IfcCoveringType (if present) may establish the commontype name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcCoveringType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. As an additional use agreement for standard coverings (i.e. slabs with constant thickness along the extrusion direction), the IfcCoveringType should have a unique IfcMaterialLayerSet, that is referenced by theIfcMaterialLayerSetUsage assigned to all occurrences of this covering type.
Figure 91 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the covering type and the covering occurrence.
Figure 91 — Covering material usage
If an IfcCoveringType is assigned to the IfcCovering, the attribute PredefinedType shall not be assigned, or shall be identical to IfcCoveringType.PredefinedType. Property Set Use Definition: The property sets relating to the IfcCovering are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcCovering are part of this IFC release:
Pset_CoveringCommon: common property set for all covering occurrences
Pset_CoveringCeiling: specific property set for all occurrences of coverings with the PredefinedType: CEILING Pset_CoveringFlooring: specific property set for all occurrences of coverings with the PredefinedType: FLOORING
Quantity Use Definition: The quantities relating to the IfcCovering are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcCoveringType.
Qto_CoveringBaseQuantities: base quantities for all covering occurrences.
Containment Use Definition The IfcCovering has a containment relationship within the hierarchical spatial structure.
The IfcCovering is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcSpace being the default container.
Geometry Use Definitions The geometric representation of IfcCovering is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are: Local Placement The local placement for IfcCovering is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the same IfcSpatialStructureElement , which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the IfcCovering, however, is assigned to an IfcBuildingElement, and this element defines its own local placement, than the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the IfcBuildingElement. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations The geometric representation of the IfcCovering depends on two criteria:
Does it define an area or a volume? Is the base surface (either the IfcRelSpaceBoundary or the surface of the IfcBuildingElement it relates to) a planar surface or a cylindrical surface?
GeometricSet Representation The ‘GeometricSet’ geometric representation of IfcCovering supports area definitions as 3D surfaces.
RepresentationIdentifier : ‘Surface’ RepresentationType : ‘GeometricSet’
The following additional constraints apply to the ‘GeometricSet’ representation of IfcCovering:
for planar base surfaces - bounded surface representation for cylindrical base surfaces - swept surface representation
Figure 92 illustrates a planar surface representation where the area of IfcCovering is given by an IfcPolyLoop for planar base surfaces (here given by the IfcRelSpaceBoundary).
The implicit planar surface of the IfcPolyLoop shall be identical with the planar surface defined by the IfcRelSpaceBoundary.
Figure 92 — Covering surface planar
Figure 93 illustrates a cylindrical surface representation where the area of the IfcCovering is given by an IfcSurfaceOfLinearExtrusion for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).
The geometry representation of the IfcCovering is given by the IfcTrimmedCurved (the Curve parameter of the IfcArbitraryOpenProfileDef - in cases of faceted representation also an IfcPolyline). It is extruded within the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion.
Figure 93 — Covering surface cylindrical
SweptSolid Representation The ‘SweptSolid’ geometric representation of IfcCovering supports volume definitions as 3D solids.
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’
The following additional constraints apply to the ‘SweptSolid’ representation of IfcCovering:
for planar base surfaces - swept area representation for cylindrical base surfaces - swept area representation
Figure 94 illustrates a body representation where the volume of IfcCovering is given by an IfcExtrudedAreaSolid for planar base surfaces (here given by the IfcRelSpaceBoundary).
The extruded area (IfcArbitraryClosedProfileDef) shall be coplanar to the surface defined by the IfcRelSpaceBoundary.
Figure 94 — Covering body planar
Figure 95 illustrates a body representation where the volume of the IfcCovering is given by an IfcExtrudedAreaSolid for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).
The geometry representation of the IfcCovering is given by the IfcCompositeCurve (the OuterCurve parameter of the IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion.
Figure 95 — Covering body circular
Public Types
-
typedef IfcTemplatedEntityList<IfcCovering>
list
Public Functions
-
bool
hasPredefinedType
() const Whether the optional attribute PredefinedType is defined for this IfcCovering.
-
::Ifc2x3::IfcCoveringTypeEnum::Value
PredefinedType
() const Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type.
-
void
setPredefinedType
(::Ifc2x3::IfcCoveringTypeEnum::Value v)
-
IfcTemplatedEntityList<IfcRelCoversSpaces>::ptr
CoversSpaces
() const
-
IfcTemplatedEntityList<IfcRelCoversBldgElements>::ptr
Covers
() const
-
const IfcParse::entity &
declaration
() const
-
IfcCovering
(IfcEntityInstanceData *e)
-
IfcCovering
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc2x3::IfcCoveringTypeEnum::Value> v9_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCovering>
-
class
IfcCoveringType
: public Ifc2x3::IfcBuildingElementType Definition from IAI: The element type IfcCoveringType defines commonly shared information for occurrences of coverings. The set of shared information may include:
common properties within shared property sets common material (layer set) information common shape representations
It is used to define an covering specification or covering style (i.e. the specific product information, that is common to all occurrences of that product type). Covering types may be exchanged without being already assigned to occurrences. The occurrences of the IfcCoveringType are represented by instances of IfcCovering
HISTORY New entity in Release IFC2x Edition 2.
Informal proposition
The material assignment, if provided using the IfcRelAssociatesMaterial relationship, shall not reference the IfcMaterialLayerSetUsage.
Material Use Definition The material of the IfcCoveringType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Property Set Use Definition: The shared property sets relating to the IfcCoveringType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcCoveringType are part of this IFC release: NOTE There is no differentiation between properties within the property set that are only assignable to IfcCoveringType and those that are only assignable to IfcCovering. If the same property is assigned to the IfcCoveringType and the IfcCovering being an occurrence of the IfcCoveringType, then the occurrence property overrides the type property.
Pset_CoveringCommon: common property set for all covering types
Pset_CoveringCeiling: specific property set for all occurrences of covering types with the PredefinedType: CEILING Pset_CoveringFlooring: specific property set for all occurrences of coverings with the PredefinedType: FLOORING
Geometry Use Definition: The IfcCoveringType may define the shared geometric representation for all covering occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap’s, that allow for multiple geometric representations (e.g. with IfcShaperepresentation’s having an RepresentationIdentifier ‘Box’, ‘Surface’, or ‘Body’). (See geometric use definition of IfcCovering for further information). NOTE If the IfcCoveringType has an associated IfcMaterialLayerSet, then no shared geometric representation shall be provided. NOTE The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information. NOTE The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcCoveringType.
Public Types
-
typedef IfcTemplatedEntityList<IfcCoveringType>
list
Public Functions
-
::Ifc2x3::IfcCoveringTypeEnum::Value
PredefinedType
() const Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type.
-
void
setPredefinedType
(::Ifc2x3::IfcCoveringTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCoveringType
(IfcEntityInstanceData *e)
-
IfcCoveringType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCoveringType>
-
struct
IfcCoveringTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration defines the range of different types of covering that can further specify an IfcCovering or an IfcCoveringType. HISTORY New enumeration in IFC Release 1.0 IFC2x4 CHANGE The following enumerators of the IfcCoveringTypeEnum have been deprecated INSULATION, SLEEVING and WRAPPING. Enumeration
CEILING: the covering is used to represent a ceiling FLOORING: the covering is used to represent a flooring CLADDING: the covering is used to represent a cladding ROOFING: the covering is used to represent a roof
INSULATION: the covering is used to insulate an element for thermal or acoustic purposes. IFC2x4 NOTE The use of this enumerator is deprecated. MEMBRANE: an impervious layer that could be used for e.g. roof covering (below tiling - that may be known as sarking etc.) or as a damp proof course membrane IFC2x4 NOTE The use of this enumerator is deprecated. SLEEVING: the covering is used to isolate a distribution element from a space in which it is contained. IFC2x4 NOTE The use of this enumerator is deprecated. WRAPPING: the covering is used for wrapping particularly of distribution elements using tape. IFC2x4 NOTE The use of this enumerator is deprecated.
USERDEFINED: user defined type of covering NOTDEFINED: undefined type of covering
Values:
-
enumerator
IfcCoveringType_CEILING
¶
-
enumerator
IfcCoveringType_FLOORING
¶
-
enumerator
IfcCoveringType_CLADDING
¶
-
enumerator
IfcCoveringType_ROOFING
¶
-
enumerator
IfcCoveringType_INSULATION
¶
-
enumerator
IfcCoveringType_MEMBRANE
¶
-
enumerator
IfcCoveringType_SLEEVING
¶
-
enumerator
IfcCoveringType_WRAPPING
¶
-
enumerator
IfcCoveringType_USERDEFINED
¶
-
enumerator
IfcCoveringType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCraneRailAShapeProfileDef
: public Ifc2x3::IfcParameterizedProfileDef Public Types
-
typedef IfcTemplatedEntityList<IfcCraneRailAShapeProfileDef>
list
Public Functions
-
double
OverallHeight
() const
-
void
setOverallHeight
(double v)
-
double
BaseWidth2
() const
-
void
setBaseWidth2
(double v)
-
bool
hasRadius
() const Whether the optional attribute Radius is defined for this IfcCraneRailAShapeProfileDef.
-
double
Radius
() const
-
void
setRadius
(double v)
-
double
HeadWidth
() const
-
void
setHeadWidth
(double v)
-
double
HeadDepth2
() const
-
void
setHeadDepth2
(double v)
-
double
HeadDepth3
() const
-
void
setHeadDepth3
(double v)
-
double
WebThickness
() const
-
void
setWebThickness
(double v)
-
double
BaseWidth4
() const
-
void
setBaseWidth4
(double v)
-
double
BaseDepth1
() const
-
void
setBaseDepth1
(double v)
-
double
BaseDepth2
() const
-
void
setBaseDepth2
(double v)
-
double
BaseDepth3
() const
-
void
setBaseDepth3
(double v)
-
bool
hasCentreOfGravityInY
() const Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailAShapeProfileDef.
-
double
CentreOfGravityInY
() const
-
void
setCentreOfGravityInY
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCraneRailAShapeProfileDef
(IfcEntityInstanceData *e)
-
IfcCraneRailAShapeProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_OverallHeight, double v5_BaseWidth2, boost::optional<double> v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, boost::optional<double> v15_CentreOfGravityInY)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCraneRailAShapeProfileDef>
-
class
IfcCraneRailFShapeProfileDef
: public Ifc2x3::IfcParameterizedProfileDef Public Types
-
typedef IfcTemplatedEntityList<IfcCraneRailFShapeProfileDef>
list
Public Functions
-
double
OverallHeight
() const
-
void
setOverallHeight
(double v)
-
double
HeadWidth
() const
-
void
setHeadWidth
(double v)
-
bool
hasRadius
() const Whether the optional attribute Radius is defined for this IfcCraneRailFShapeProfileDef.
-
double
Radius
() const
-
void
setRadius
(double v)
-
double
HeadDepth2
() const
-
void
setHeadDepth2
(double v)
-
double
HeadDepth3
() const
-
void
setHeadDepth3
(double v)
-
double
WebThickness
() const
-
void
setWebThickness
(double v)
-
double
BaseDepth1
() const
-
void
setBaseDepth1
(double v)
-
double
BaseDepth2
() const
-
void
setBaseDepth2
(double v)
-
bool
hasCentreOfGravityInY
() const Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailFShapeProfileDef.
-
double
CentreOfGravityInY
() const
-
void
setCentreOfGravityInY
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCraneRailFShapeProfileDef
(IfcEntityInstanceData *e)
-
IfcCraneRailFShapeProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_OverallHeight, double v5_HeadWidth, boost::optional<double> v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, boost::optional<double> v12_CentreOfGravityInY)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCraneRailFShapeProfileDef>
-
class
IfcCrewResource
: public Ifc2x3::IfcConstructionResource IfcCrewResource represents a collection of internal resources used in construction processes.
HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC2x4
Identification of people and equipment of a crew is achieved through their specification at the level of the component. Therefore, knowing which persons are within a crew is achieved through identifying the persons assigned to each IfcLaborResource within the IfcCrewResource. Similarly, identifying that a screwing machine for pipe fitting forms part of the crew is achieved by relating an appropriate instance of IfcElementComponent to the IfcConstructionEquipmentResource forming an element of the IfcCrewResource.
Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.
Type use definition IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
Public Types
-
typedef IfcTemplatedEntityList<IfcCrewResource>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcCrewResource
(IfcEntityInstanceData *e)
-
IfcCrewResource
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCrewResource>
-
class
IfcCsgPrimitive3D
: public Ifc2x3::IfcGeometricRepresentationItem IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system.
NOTE No directly corresponding ISO 10303-42 entity, the select type primitive_3d covers the same individual 3D CSG primitives, the position attribute has been added to apply equally to all subtypes. Please refer to ISO/IS 10303-42:1994, p. 234 for the final definition of the formal standard.
HISTORY New entity in IFC2x3.
Subclassed by Ifc2x3::IfcBlock, Ifc2x3::IfcRectangularPyramid, Ifc2x3::IfcRightCircularCone, Ifc2x3::IfcRightCircularCylinder, Ifc2x3::IfcSphere
Public Types
-
typedef IfcTemplatedEntityList<IfcCsgPrimitive3D>
list
Public Functions
-
::Ifc2x3::IfcAxis2Placement3D *
Position
() const The placement coordinate system to which the parameters of each individual CSG primitive apply.
-
void
setPosition
(::Ifc2x3::IfcAxis2Placement3D *v)
-
const IfcParse::entity &
declaration
() const
-
IfcCsgPrimitive3D
(IfcEntityInstanceData *e)
-
IfcCsgPrimitive3D
(::Ifc2x3::IfcAxis2Placement3D *v1_Position)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCsgPrimitive3D>
-
class
IfcCsgSolid
: public Ifc2x3::IfcSolidModel Definition from ISO/CD 10303-42:1992: A solid represented as a CSG model is defined by a collection of so-called primitive solids, combined using regularized Boolean operations. The allowed operations are intersection, union, and difference. As a special case a CSG solid can also consists of a single CSG primitive.
A CSG solid requires two kinds of information for its complete definition: geometric and structural.
The geometric information is conveyed by solid models. These typically primitive volumes such as cylinders, wedges and extrusions, but can include general B-Rep models. Solid models can also be half space solids.
The structural information is in a tree (strictly an acyclic directed graph) of Boolean result and CSG solids, which represent a ‘recipe’ for building the solid. The terminal nodes are the geometric primitives and other solids. Every CSG solid has precisely one Boolean result associated with it which is the root of the tree that defines the solid. (There may be further Boolean results within the tree as operands). The significance of a CSG solid entity is that the solid defined by the associated tree is thus identified as a significant object itself, and in this way it is distinguished from other Boolean result entities representing intermediate results during the construction process.
Definition from IAI: The following primitive volumes can be parts of the CSG tree: solid models, i.e. faceted B-Rep (IfcFacetedBrep, IfcFacetedBrepWithVoids), swept area solid (IfcExtrudedAreaSolid, IfcRevolvedAreaSolid, IfcSurfaceCurveSweptAreaSolid), swept disk solids (IfcSweptDiskSolid), half space solids (IfcHalfSpaceSolid and subtypes), and CSG primitives (subtypes of IfcCsgPrimitive3D).
NOTE Corresponding ISO 10303-42 entity: csg_solid, please refer to ISO/IS 10303-42:1994, p.174 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.5.1
Public Types
-
typedef IfcTemplatedEntityList<IfcCsgSolid>
list
Public Functions
-
::Ifc2x3::IfcCsgSelect *
TreeRootExpression
() const Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D).
-
void
setTreeRootExpression
(::Ifc2x3::IfcCsgSelect *v)
-
const IfcParse::entity &
declaration
() const
-
IfcCsgSolid
(IfcEntityInstanceData *e)
-
IfcCsgSolid
(::Ifc2x3::IfcCsgSelect *v1_TreeRootExpression)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCsgSolid>
-
class
IfcCShapeProfileDef
: public Ifc2x3::IfcParameterizedProfileDef IfcCShapeProfileDef defines a section profile that provides the defining parameters of a C-shaped section to be used by the swept area solid. This section is typically produced by cold forming steel. Its parameters and orientation relative to the position coordinate system are according to the following illustration. The centre of the position coordinate system is in the profile’s centre of the bounding box.
HISTORY New entity in IFC2x2.
IFC2x3 CHANGE All profile origins are now in the center of the bounding box.
IFC2x4 CHANGE Type of InternalFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead.
Figure 315 illustrates parameters of the C-shape profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:
By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the ‘CentreOfGravityInX’ property in IfcExtendedProfileProperties, if provided, is negative.
Figure 315 — C-shape profile
Public Types
-
typedef IfcTemplatedEntityList<IfcCShapeProfileDef>
list
Public Functions
-
double
Depth
() const Profile depth, see illustration above (= h).
-
void
setDepth
(double v)
-
double
Width
() const Profile width, see illustration above (= b).
-
void
setWidth
(double v)
-
double
WallThickness
() const Constant wall thickness of profile (= ts).
-
void
setWallThickness
(double v)
-
double
Girth
() const Lengths of girth, see illustration above (= c).
-
void
setGirth
(double v)
-
bool
hasInternalFilletRadius
() const Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef.
-
double
InternalFilletRadius
() const Internal fillet radius according the above illustration (= r1).
-
void
setInternalFilletRadius
(double v)
-
bool
hasCentreOfGravityInX
() const Whether the optional attribute CentreOfGravityInX is defined for this IfcCShapeProfileDef.
-
double
CentreOfGravityInX
() const
-
void
setCentreOfGravityInX
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCShapeProfileDef
(IfcEntityInstanceData *e)
-
IfcCShapeProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional<double> v8_InternalFilletRadius, boost::optional<double> v9_CentreOfGravityInX)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCShapeProfileDef>
-
struct
IfcCurrencyEnum
¶ Public Types
-
enum
Value
¶ Values:
-
enumerator
IfcCurrency_AED
¶
-
enumerator
IfcCurrency_AES
¶
-
enumerator
IfcCurrency_ATS
¶
-
enumerator
IfcCurrency_AUD
¶
-
enumerator
IfcCurrency_BBD
¶
-
enumerator
IfcCurrency_BEG
¶
-
enumerator
IfcCurrency_BGL
¶
-
enumerator
IfcCurrency_BHD
¶
-
enumerator
IfcCurrency_BMD
¶
-
enumerator
IfcCurrency_BND
¶
-
enumerator
IfcCurrency_BRL
¶
-
enumerator
IfcCurrency_BSD
¶
-
enumerator
IfcCurrency_BWP
¶
-
enumerator
IfcCurrency_BZD
¶
-
enumerator
IfcCurrency_CAD
¶
-
enumerator
IfcCurrency_CBD
¶
-
enumerator
IfcCurrency_CHF
¶
-
enumerator
IfcCurrency_CLP
¶
-
enumerator
IfcCurrency_CNY
¶
-
enumerator
IfcCurrency_CYS
¶
-
enumerator
IfcCurrency_CZK
¶
-
enumerator
IfcCurrency_DDP
¶
-
enumerator
IfcCurrency_DEM
¶
-
enumerator
IfcCurrency_DKK
¶
-
enumerator
IfcCurrency_EGL
¶
-
enumerator
IfcCurrency_EST
¶
-
enumerator
IfcCurrency_EUR
¶
-
enumerator
IfcCurrency_FAK
¶
-
enumerator
IfcCurrency_FIM
¶
-
enumerator
IfcCurrency_FJD
¶
-
enumerator
IfcCurrency_FKP
¶
-
enumerator
IfcCurrency_FRF
¶
-
enumerator
IfcCurrency_GBP
¶
-
enumerator
IfcCurrency_GIP
¶
-
enumerator
IfcCurrency_GMD
¶
-
enumerator
IfcCurrency_GRX
¶
-
enumerator
IfcCurrency_HKD
¶
-
enumerator
IfcCurrency_HUF
¶
-
enumerator
IfcCurrency_ICK
¶
-
enumerator
IfcCurrency_IDR
¶
-
enumerator
IfcCurrency_ILS
¶
-
enumerator
IfcCurrency_INR
¶
-
enumerator
IfcCurrency_IRP
¶
-
enumerator
IfcCurrency_ITL
¶
-
enumerator
IfcCurrency_JMD
¶
-
enumerator
IfcCurrency_JOD
¶
-
enumerator
IfcCurrency_JPY
¶
-
enumerator
IfcCurrency_KES
¶
-
enumerator
IfcCurrency_KRW
¶
-
enumerator
IfcCurrency_KWD
¶
-
enumerator
IfcCurrency_KYD
¶
-
enumerator
IfcCurrency_LKR
¶
-
enumerator
IfcCurrency_LUF
¶
-
enumerator
IfcCurrency_MTL
¶
-
enumerator
IfcCurrency_MUR
¶
-
enumerator
IfcCurrency_MXN
¶
-
enumerator
IfcCurrency_MYR
¶
-
enumerator
IfcCurrency_NLG
¶
-
enumerator
IfcCurrency_NZD
¶
-
enumerator
IfcCurrency_OMR
¶
-
enumerator
IfcCurrency_PGK
¶
-
enumerator
IfcCurrency_PHP
¶
-
enumerator
IfcCurrency_PKR
¶
-
enumerator
IfcCurrency_PLN
¶
-
enumerator
IfcCurrency_PTN
¶
-
enumerator
IfcCurrency_QAR
¶
-
enumerator
IfcCurrency_RUR
¶
-
enumerator
IfcCurrency_SAR
¶
-
enumerator
IfcCurrency_SCR
¶
-
enumerator
IfcCurrency_SEK
¶
-
enumerator
IfcCurrency_SGD
¶
-
enumerator
IfcCurrency_SKP
¶
-
enumerator
IfcCurrency_THB
¶
-
enumerator
IfcCurrency_TRL
¶
-
enumerator
IfcCurrency_TTD
¶
-
enumerator
IfcCurrency_TWD
¶
-
enumerator
IfcCurrency_USD
¶
-
enumerator
IfcCurrency_VEB
¶
-
enumerator
IfcCurrency_VND
¶
-
enumerator
IfcCurrency_XEU
¶
-
enumerator
IfcCurrency_ZAR
¶
-
enumerator
IfcCurrency_ZWD
¶
-
enumerator
IfcCurrency_NOK
¶
-
enumerator
-
enum
-
class
IfcCurrencyRelationship
: public IfcUtil::IfcBaseEntity IfcCurrencyRelationship defines the rate of exchange that applies between two designated currencies at a particular time and as published by a particular source.
HISTORY New Entity in IFC2x2.
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, attribute order changed.
Use definitions An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurrencyRelationship>
list
Public Functions
-
::Ifc2x3::IfcMonetaryUnit *
RelatingMonetaryUnit
() const The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP.
-
void
setRelatingMonetaryUnit
(::Ifc2x3::IfcMonetaryUnit *v)
-
::Ifc2x3::IfcMonetaryUnit *
RelatedMonetaryUnit
() const The monetary unit to which an exchange results. For instance, in the case of a conversion from GBP to USD, the related monetary unit is USD.
-
void
setRelatedMonetaryUnit
(::Ifc2x3::IfcMonetaryUnit *v)
-
double
ExchangeRate
() const The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP).
-
void
setExchangeRate
(double v)
-
::Ifc2x3::IfcDateAndTime *
RateDateTime
() const The date and time at which an exchange rate applies.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional.
-
void
setRateDateTime
(::Ifc2x3::IfcDateAndTime *v)
-
bool
hasRateSource
() const Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship.
-
::Ifc2x3::IfcLibraryInformation *
RateSource
() const The source from which an exchange rate is obtained.
-
void
setRateSource
(::Ifc2x3::IfcLibraryInformation *v)
-
const IfcParse::entity &
declaration
() const
-
IfcCurrencyRelationship
(IfcEntityInstanceData *e)
-
IfcCurrencyRelationship
(::Ifc2x3::IfcMonetaryUnit *v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit *v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime *v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation *v5_RateSource)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurrencyRelationship>
-
class
IfcCurtainWall
: public Ifc2x3::IfcBuildingElement Definition from ISO 6707-1:1989: Non load bearing wall positioned on the outside of a building and enclosing it. A curtain wall is an exterior wall of a building which is an assembly of components, hung from the edge of the floor/roof structure rather than bearing on a floor. Curtain wall is represented as a building element assembly and implemented as a subtype of IfcBuildingElement that uses an IfcRelAggregates relationship. HISTORY New Entity in IFC Release 2.0
Type Use Definition IfcCurtainWall defines the occuurence of any curtain wall, common information about curtain wall types (or styles) is handled by IfcCurtainWallType. The IfcCurtainWallType (if present) may establish the commontype name, usage (or predefined) type, common material information, common set of properties and common shape representations (using IfcRepresentationMap). The IfcCurtainWallType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. If no IfcCurtainWallType is attached(i.e. if only occurrence information is given) the predefined type may be given by using the ObjectType attribute. NOTE Since the IfcCurtainWall might be represented as an aggregate of parts, e.g. represented by IfcMember, or IfcPlate, these individual parts may have type information attached (represented e.g. by IfcMemberType, or IfcPlateType). Property Set Use Definition: The property sets relating to the IfcCurtainWall are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcCurtainWall are part of this IFC release:
Pset_CurtainWallCommon: common property set for all curtain wall occurrences
Quantity Use Definition The quantities relating to the IfcCurtainWall are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcCurtainWallType.
Qto_CurtainWallBaseQuantities: base quantities for all curtain wall occurrences.
Geometry Use Definitions: The geometric representation of IfcCurtainWall is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Independent geometric representations, as described below, should only be used when the IfcCurtainWall is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representations of the components within the aggregate. Local placement The local placement for IfcCurtainWall is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
If the IfcCurtainWall establishes an aggregate, then all contained elements (defined by the IsDecomposedBy inverse attribute) shall be placed relative to the IfcCurtainWall.ObjectPlacement. Geometric Representation The geometric representation of IfcCurtainWall is defined using the following multiple shape representations for its definition:
Axis: A two-dimensional open curve (for restrictions see below) defining the axis for the curtain wall.
This is an optional representation for curtain walls.
Body: A surface model or boundary representation model representation defining the 3D shape of the curtain wall.
If the IfcCurtainWall has components (referenced by SELF\IfcObject.IsDecomposedBy) then no independent shape representation with RepresentationType = ‘Body’ shall be defined. The body of IfcCurtainWall is then geometrically represented by the shape representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects.
If the IfcCurtainWall has no components defined (empty set of SELF\IfcObject.IsDecomposedBy) then the IfcCurtainWall may be represented by an shape representation with the RepresentationIdentifier = ‘Body’.
Axis Representation The axis geometric representation of IfcCurtainWall is defined using the ‘Axis’ representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’
The following additional constraints apply to the ‘Axis’ representation:
Axis : IfcPolyline having two Points, or IfcTrimmedCurve with BasisCurve of Type IfcLine or IfcCircle.
Body Representation The body shape representation of IfcCurtainWall is defined using the ‘Body’ representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SurfaceModel’, ‘Brep’ and ‘MappedRepresentation’
An own ‘Body’ representation shall only be included if no components of the curtain wall are defined.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurtainWall>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcCurtainWall
(IfcEntityInstanceData *e)
-
IfcCurtainWall
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurtainWall>
-
class
IfcCurtainWallType
: public Ifc2x3::IfcBuildingElementType Definition from IAI: The element type (IfcCurtainWallType) defines a list of commonly shared property set definitions of a curtain wall element and an optional set of product representations. It is used to define a curtain wall specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A curtain wall type is used to define the common properties of a certain type of curtain wall that may be applied to many instances of that type to assign a specific style. Curtain wall types may be exchanged without being already assigned to occurrences. The occurrences of the IfcCurtainWallType are represented by instances of IfcCurtainWall.
HISTORY New entity in Release IFC2x Editon 3.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurtainWallType>
list
Public Functions
-
::Ifc2x3::IfcCurtainWallTypeEnum::Value
PredefinedType
() const Identifies the predefined types of a curtain wall element from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcCurtainWallTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcCurtainWallType
(IfcEntityInstanceData *e)
-
IfcCurtainWallType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurtainWallType>
-
struct
IfcCurtainWallTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: Enumeration defining the valid types of curtain wall that can be predefined using the enumeration values. HISTORY New Enumeration in ReleaseIFC2x Edition 3 NOTE Currently there are no specific enumerators defined, the IfcCurtainWallTypeEnum has been added for future extensions.
Values:
-
enumerator
IfcCurtainWallType_USERDEFINED
¶
-
enumerator
IfcCurtainWallType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcCurvatureMeasure
: public IfcUtil::IfcBaseType IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. This is typically a computed value in structural analysis. It is usually measured in rad/m.
Type: REAL
HISTORY New type in IFC2x2.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcCurvatureMeasure
(IfcEntityInstanceData *e)
-
IfcCurvatureMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcCurve
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space.
NOTE: Corresponding ISO 10303 entity: curve, only the following subtypes have been incorporated into IFC: line as IfcLine, conic as IfcConic, bounded_curve as IfcBoundedCurve. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem).
HISTORY: New entity in IFC Release 1.0
Informal proposition:
A curve shall be arcwise connected A curve shall have an arc length greater than zero.
Subclassed by Ifc2x3::IfcBoundedCurve, Ifc2x3::IfcConic, Ifc2x3::IfcLine, Ifc2x3::IfcOffsetCurve2D, Ifc2x3::IfcOffsetCurve3D
Public Types
-
typedef IfcTemplatedEntityList<IfcCurve>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcCurve
(IfcEntityInstanceData *e)
-
IfcCurve
()
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurve>
-
class
IfcCurveBoundedPlane
: public Ifc2x3::IfcBoundedSurface Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected.
The IfcCurveBoundedPlane is a specialized bounded surface class that deals only with bounding basis plane surfaces. The definition varies from STEP as outer and inner boundaries are separated attributes and refer to IfcCurve. The only basis surface that is allowed is of type IfcPlane, and the implicit_outer attribute has not been incorporated, since only unbounded surfaces are used as basis surface.
The BasisSurface is an IfcPlane that establishes the position coordinate system by SELF\IfcElementarySurface.Position. The OuterBoundary and the InnerBoundaries (if provided) shall lie on the surface of IfcPlane. Therefore the IfcCurve’s establishing the outer and inner boundaries shall be:
either a 2D curve within the XY plane of the position coordinate sytem of IfcPlane or a 3D curve with all coordinates having a z value = 0.
NOTE Corresponding ISO 10303 entity curve_bounded_surface has been changed to meet the specific requirements of an easy representation of curve bounded planes.
HISTORY New entity in IFC Release 1.5
IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurveBoundedPlane>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr
InnerBoundaries
() const An optional set of inner boundaries. They shall not intersect each other or the outer boundary.
-
void
setInnerBoundaries
(IfcTemplatedEntityList<::Ifc2x3::IfcCurve>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcCurveBoundedPlane
(IfcEntityInstanceData *e)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurveBoundedPlane>
-
class
IfcCurveStyle
: public Ifc2x3::IfcPresentationStyle Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves.
An IfcCurveStyle provides the style table for presentation information assigned to geometric curves. The style is defined by a color, a font and a width. The IfcCurveStyle defines curve patterns as model patterns, that is, the distance between visible and invisible segments of curve patterns are given in model space dimensions (that have to be scaled using the target plot scale).
Styles are intended to be shared by multiple IfcStyledItem’s, assigning the style to occurrences of (subtypes of) IfcGeometricRepresentationItem’s. Measures given to a font pattern or a curve width are given in global drawing length units.
NOTE global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.
The measure values for font pattern and curve width apply to the model space with a target plot scale provided for the correct appearance in the default plot scale.. For different scale and projection dependent curve styles a different instance of IfcCurveStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations.
NOTE the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale.
An IfcCurveStyle can be assigned to IfcGeometricRepresentationItem’s via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or IfcAnnotationCurveOccurrence.
NOTE Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurveStyle>
list
Public Functions
-
bool
hasCurveFont
() const Whether the optional attribute CurveFont is defined for this IfcCurveStyle.
-
::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect *
CurveFont
() const A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies.
-
void
setCurveFont
(::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect *v)
-
bool
hasCurveWidth
() const Whether the optional attribute CurveWidth is defined for this IfcCurveStyle.
-
::Ifc2x3::IfcSizeSelect *
CurveWidth
() const A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies.
-
void
setCurveWidth
(::Ifc2x3::IfcSizeSelect *v)
-
bool
hasCurveColour
() const Whether the optional attribute CurveColour is defined for this IfcCurveStyle.
-
::Ifc2x3::IfcColour *
CurveColour
() const The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies.
-
const IfcParse::entity &
declaration
() const
-
IfcCurveStyle
(IfcEntityInstanceData *e)
-
IfcCurveStyle
(boost::optional<std::string> v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect *v2_CurveFont, ::Ifc2x3::IfcSizeSelect *v3_CurveWidth, ::Ifc2x3::IfcColour *v4_CurveColour)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurveStyle>
-
class
IfcCurveStyleFont
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve.
NOTE: Corresponding ISO 10303 name: curve_style_font. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY: New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurveStyleFont>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcCurveStyleFont.
-
std::string
Name
() const Name that may be assigned with the curve font.
-
void
setName
(std::string v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcCurveStyleFontPattern>::ptr
PatternList
() const A list of curve font pattern entities, that contains the simple patterns used for drawing curves. The patterns are applied in the order they occur in the list.
-
void
setPatternList
(IfcTemplatedEntityList<::Ifc2x3::IfcCurveStyleFontPattern>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcCurveStyleFont
(IfcEntityInstanceData *e)
-
IfcCurveStyleFont
(boost::optional<std::string> v1_Name, IfcTemplatedEntityList<::Ifc2x3::IfcCurveStyleFontPattern>::ptr v2_PatternList)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurveStyleFont>
-
class
IfcCurveStyleFontAndScaling
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales.
The IfcCurveStyleFontAndScaling allows for the reuse of the same curve style definition in several sizes. The definition of the CurveFontScale is the scaling of a base curve style pattern to be used as a new or derived curve style pattern.
NOTE The CurveFontScale should not be mixed up with the target plot scale.
An example for IfcCurveStyleFontAndScaling is the sizing of a basic curve style dash pattern ‘dash’ (visible 0.01m, invisible 0.005m) into ‘dash large’ withCurveFontScale = 2 (resulting invisible 0.02m, invisible 0.01m), and into ‘dash small’withCurveFontScale = 0.5 (resulting invisible 0.005m, invisible 0.0025m).
NOTE Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurveStyleFontAndScaling>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling.
-
std::string
Name
() const Name that may be assigned with the scaling of a curve font.
-
void
setName
(std::string v)
-
::Ifc2x3::IfcCurveStyleFontSelect *
CurveFont
() const The curve font to be scaled.
-
void
setCurveFont
(::Ifc2x3::IfcCurveStyleFontSelect *v)
-
double
CurveFontScaling
() const The scale factor.
-
void
setCurveFontScaling
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCurveStyleFontAndScaling
(IfcEntityInstanceData *e)
-
IfcCurveStyleFontAndScaling
(boost::optional<std::string> v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect *v2_CurveFont, double v3_CurveFontScaling)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurveStyleFontAndScaling>
-
class
IfcCurveStyleFontPattern
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units.
NOTE Corresponding ISO 10303 name: curve_style_font_pattern. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcCurveStyleFontPattern>
list
Public Functions
-
double
VisibleSegmentLength
() const The length of the visible segment in the pattern definition.
NOTE For a visible segment representing a point, the value 0. should be assigned.
IFC2x Edition 3 CHANGE The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange.
-
void
setVisibleSegmentLength
(double v)
-
double
InvisibleSegmentLength
() const The length of the invisible segment in the pattern definition.
-
void
setInvisibleSegmentLength
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcCurveStyleFontPattern
(IfcEntityInstanceData *e)
-
IfcCurveStyleFontPattern
(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcCurveStyleFontPattern>
-
class
IfcDamperType
: public Ifc2x3::IfcFlowControllerType The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a damper specification (i.e. the specific product information, that is common to all occurrences of that product type). Damper types may be exchanged without being already assigned to occurrences. Occurrences of IfcDamperType are represented by instances of IfcDamper.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_DamperTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_DamperTypeControlDamper (CONTROLDAMPER) Pset_DamperTypeFireDamper (FIREDAMPER) Pset_DamperTypeFireSmokeDamper (FIRESMOKEDAMPER) Pset_DamperTypeSmokeDamper (SMOKEDAMPER)
Material Use Definition The material of the IfcDamperType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Blade’: The material from which the damper blades are constructed. ‘Frame’: The material from which the damper frame is constructed. ‘Seal’: The material from which the damper seals are constructed.
Port Use Definition The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcDamperType>
list
Public Functions
-
::Ifc2x3::IfcDamperTypeEnum::Value
PredefinedType
() const Type of damper.
-
void
setPredefinedType
(::Ifc2x3::IfcDamperTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDamperType
(IfcEntityInstanceData *e)
-
IfcDamperType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDamperType>
-
struct
IfcDamperTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines the various types of damper:
BALANCINGDAMPER: Damper used for purposes of manually balancing pressure differences. Commonly operated by mechanical adjustment. BACKDRAFTDAMPER: Backdraft damper used to restrict the movement of air in one direction. Commonly operated by mechanical spring. BLASTDAMPER: Blast damper use to prevent protect occupants and equipment against overpressures resultant of an explosion. Commonly operated by mechanical spring. CONTROLDAMPER: Control damper used to modulate the flow of air by adjusting the position of the blades. Commonly operated by an actuator of a building automation system. FIREDAMPER: Fire damper used to prevent the spread of fire for a specified duration. Commonly operated by fusable link that melts above a certain temperature. FIRESMOKEDAMPER: Combination fire and smoke damper used to preven the spread of fire and smoke. Commonly operated by a fusable link and a smoke detector FUMEHOODEXHAUST: Fume hood exhaust damper. Commonly operated by actuator. GRAVITYDAMPER: Gravity damper closes from the force of gravity. Commonly operated by gravitational weight. GRAVITYRELIEFDAMPER: Gravity-relief damper used to allow air to move upon a buildup of enough pressure to overcome the gravitational force exerted upon the damper blades. Commonly operated by gravitational weight. RELIEFDAMPER: Relief damper used to allow air to move upon a buildup of a specified pressure differential. Commonly operated by mechanical spring. SMOKEDAMPER: Smoke damper used to prevent the spread of smoke. Commonly operated by a smoke detector of a building automation system. USERDEFINED: User-defined damper. NOTDEFINED: Undefined damper.
HISTORY: New enumeration in IFC R2.0
Values:
-
enumerator
IfcDamperType_CONTROLDAMPER
¶
-
enumerator
IfcDamperType_FIREDAMPER
¶
-
enumerator
IfcDamperType_SMOKEDAMPER
¶
-
enumerator
IfcDamperType_FIRESMOKEDAMPER
¶
-
enumerator
IfcDamperType_BACKDRAFTDAMPER
¶
-
enumerator
IfcDamperType_RELIEFDAMPER
¶
-
enumerator
IfcDamperType_BLASTDAMPER
¶
-
enumerator
IfcDamperType_GRAVITYDAMPER
¶
-
enumerator
IfcDamperType_GRAVITYRELIEFDAMPER
¶
-
enumerator
IfcDamperType_BALANCINGDAMPER
¶
-
enumerator
IfcDamperType_FUMEHOODEXHAUST
¶
-
enumerator
IfcDamperType_USERDEFINED
¶
-
enumerator
IfcDamperType_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcDataOriginEnum
¶ Public Types
-
enum
Value
¶ IfcDataOriginEnum identifies the origin of time data:
MEASURED: The origin of the time data is a measurement device. PREDICTED: The time data are a prediction. SIMULATED: The origin of the time data is a simulation. NOTDEFINED: The origin of the time data is undefined.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcDataOrigin_MEASURED
¶
-
enumerator
IfcDataOrigin_PREDICTED
¶
-
enumerator
IfcDataOrigin_SIMULATED
¶
-
enumerator
IfcDataOrigin_USERDEFINED
¶
-
enumerator
IfcDataOrigin_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDateAndTime
: public IfcUtil::IfcBaseEntity Public Types
-
typedef IfcTemplatedEntityList<IfcDateAndTime>
list
Public Functions
-
::Ifc2x3::IfcCalendarDate *
DateComponent
() const
-
void
setDateComponent
(::Ifc2x3::IfcCalendarDate *v)
-
::Ifc2x3::IfcLocalTime *
TimeComponent
() const
-
void
setTimeComponent
(::Ifc2x3::IfcLocalTime *v)
-
const IfcParse::entity &
declaration
() const
-
IfcDateAndTime
(IfcEntityInstanceData *e)
-
IfcDateAndTime
(::Ifc2x3::IfcCalendarDate *v1_DateComponent, ::Ifc2x3::IfcLocalTime *v2_TimeComponent)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDateAndTime>
-
class
IfcDayInMonthNumber
: public IfcUtil::IfcBaseType Definition from IAI: The IfcDayInMonthNumber is an integer that defines the position of the specified day in a month. Type: INTEGER NOTE Corresponding STEP name: day_in_month_number, please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. HISTORY New type in IFC Release 1.5.1. IFC2x4 CHANGE Where rule ValidRange added.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcDayInMonthNumber
(IfcEntityInstanceData *e)
-
IfcDayInMonthNumber
(int v)
-
operator int
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcDaylightSavingHour
: public IfcUtil::IfcBaseType Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcDaylightSavingHour
(IfcEntityInstanceData *e)
-
IfcDaylightSavingHour
(int v)
-
operator int
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcDefinedSymbol
: public Ifc2x3::IfcGeometricRepresentationItem A defined symbol is a symbolic representation that gets its shape information by an established convention, either through a predefined symbol, or an externally defined symbol.
NOTE: The IfcDefinedSymbol is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
NOTE Corresponding ISO 10303 name: defined_symbol. The target attribute used the 2d Cartesian transformation operator, including the non-uniform subtype, which is available in IFC (instead of the symbol_target). Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcDefinedSymbol>
list
Public Functions
-
::Ifc2x3::IfcDefinedSymbolSelect *
Definition
() const An implicit description of the symbol, either predefined or externally defined.
-
void
setDefinition
(::Ifc2x3::IfcDefinedSymbolSelect *v)
-
::Ifc2x3::IfcCartesianTransformationOperator2D *
Target
() const A description of the placement, orientation and (uniform or non-uniform) scaling of the defined symbol.
-
void
setTarget
(::Ifc2x3::IfcCartesianTransformationOperator2D *v)
-
const IfcParse::entity &
declaration
() const
-
IfcDefinedSymbol
(IfcEntityInstanceData *e)
-
IfcDefinedSymbol
(::Ifc2x3::IfcDefinedSymbolSelect *v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D *v2_Target)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDefinedSymbol>
-
class
IfcDerivedProfileDef
: public Ifc2x3::IfcProfileDef IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines.
The transformation effects the position, rotation, mirroring or scale of the profile at the underlying coordinate system, i.e. the coordinate system defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:
IfcSweptSurface.Position IfcSweptAreaSolid.Position
or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The position and potential rotation of the ParentProfile within the underlying coordinate system is taken into consideration before applying the Cartesian transformation operator.
Note, if only mirroring is required, IfcMirroredProfileDef should be used instead.
HISTORY: New entity in IFC Release 2x.
Figure 316 illustrates examples of derived profiles.
Parameter The IfcDerivedProfileDef is defined using the IfcCartesianTransformationOperator2D (CTO), which is applied to the parent profile definition.
Example The example shows an uniform scaling and a transformation of an IfcRectangleProfileDef to match the lower-left cardinal point. The attributes of the CTO are:
Axis1 = NIL (defaults to 1.,0.) Axis2 = NIL (defaults to 0.,1.) LocalOrigin = IfcCartesianPoint(,) Scale = 2.
Note: The ParentProfile has a Position = IfcCartesianPoint(,) already.
Parameter The IfcDerivedProfileDef is defined using non uniform transformationsby applying the IfcCartesianTransformationOperator2DnonUniform as a subtype of the 2D CTO.
Example The example shows a non-uniform scaling and a translation of an IfcRectangleProfileDef to match the lower-left cardinal point. The attributes of the CTO are:
Axis1 = NIL (defaults to 1.,0.) Axis2 = NIL (defaults to 0.,1.) LocalOrigin = IfcCartesianPoint(0.,<1/2 YDim) Scale = 1. Scale2 = 2.
Note: The ParentProfile has a Position = IfcCartesianPoint(,) already.
Parameter The IfcDerivedProfileDef is defined using mirroring by applying the IfcCartesianTransformationOperator2D (CTO) to the parent profile.
Example The example shows a mirroring of an IfcLShapeProfileDef to match the centre cardinal point. The attributes of the CTO are:
Axis1 = (-1.,0.) Axis2 = NIL (defaults to 0.,1.) LocalOrigin = IfcCartesianPoint(0.,0.) Scale = NIL (defaults to 1.)
Note: The ParentProfile has a Position = IfcCartesianPoint(0.,0.).
This example is for illustration only. If the transformation results only in mirroring like shown in the example, then IfcMirroredProfileDef should be used instead of IfcDerivedProfileDef.
Note: The following color map applies:
black coordinate axes show the underlying coordinate system of the swept surface, swept area solid, or sectioned spine
red coordinate axes show the position coordinate system of the parent profile
brown coordinate axes show the position coordinate system of the derived profile
Figure 316 — Derived profile
Public Types
-
typedef IfcTemplatedEntityList<IfcDerivedProfileDef>
list
Public Functions
-
::Ifc2x3::IfcProfileDef *
ParentProfile
() const The parent profile provides the origin of the transformation.
-
void
setParentProfile
(::Ifc2x3::IfcProfileDef *v)
-
::Ifc2x3::IfcCartesianTransformationOperator2D *
Operator
() const Transformation operator applied to the parent profile.
-
void
setOperator
(::Ifc2x3::IfcCartesianTransformationOperator2D *v)
-
bool
hasLabel
() const Whether the optional attribute Label is defined for this IfcDerivedProfileDef.
-
std::string
Label
() const The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications.
-
void
setLabel
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcDerivedProfileDef
(IfcEntityInstanceData *e)
-
IfcDerivedProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcProfileDef *v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D *v4_Operator, boost::optional<std::string> v5_Label)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDerivedProfileDef>
-
class
IfcDerivedUnit
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units.
EXAMPLE: Newton per square millimetre is a derived unit.
NOTE: Corresponding ISO 10303 name: derived_unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 1.5.1.
Public Types
-
typedef IfcTemplatedEntityList<IfcDerivedUnit>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcDerivedUnitElement>::ptr
Elements
() const The group of units and their exponents that define the derived unit.
-
void
setElements
(IfcTemplatedEntityList<::Ifc2x3::IfcDerivedUnitElement>::ptr v)
-
::Ifc2x3::IfcDerivedUnitEnum::Value
UnitType
() const Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models.
-
void
setUnitType
(::Ifc2x3::IfcDerivedUnitEnum::Value v)
-
bool
hasUserDefinedType
() const Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit.
-
std::string
UserDefinedType
() const
-
void
setUserDefinedType
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcDerivedUnit
(IfcEntityInstanceData *e)
-
IfcDerivedUnit
(IfcTemplatedEntityList<::Ifc2x3::IfcDerivedUnitElement>::ptr v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional<std::string> v3_UserDefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDerivedUnit>
-
class
IfcDerivedUnitElement
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities which makes up a derived unit.
EXAMPLE: Newtons per square millimetre is a derived unit. It has two elements, Newton whose exponent has a value of 1 and millimetre whose exponent is -2.
NOTE: Corresponding ISO 10303 name: derived_unit_element, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New entity in IFC Release 1.5.1.
Public Types
-
typedef IfcTemplatedEntityList<IfcDerivedUnitElement>
list
Public Functions
-
::Ifc2x3::IfcNamedUnit *
Unit
() const The fixed quantity which is used as the mathematical factor.
-
void
setUnit
(::Ifc2x3::IfcNamedUnit *v)
-
int
Exponent
() const The power that is applied to the unit attribute.
-
void
setExponent
(int v)
-
const IfcParse::entity &
declaration
() const
-
IfcDerivedUnitElement
(IfcEntityInstanceData *e)
-
IfcDerivedUnitElement
(::Ifc2x3::IfcNamedUnit *v1_Unit, int v2_Exponent)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDerivedUnitElement>
-
struct
IfcDerivedUnitEnum
¶ Public Types
-
enum
Value
¶ IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. ENUMERATION
ACCELERATIONUNIT ANGULARVELOCITYUNIT COMPOUNDPLANEANGLEUNIT DYNAMICVISCOSITYUNIT HEATFLUXDENSITYUNIT INTEGERCOUNTRATEUNIT ISOTHERMALMOISTURECAPACITYUNIT KINEMATICVISCOSITYUNIT LINEARFORCEUNIT LINEARMOMENTUNIT LINEARSTIFFNESSUNIT LINEARVELOCITYUNIT MASSDENSITYUNIT MASSFLOWRATEUNIT MODULUSOFELASTICITYUNIT MODULUSOFSUBGRADEREACTIONUNIT MOISTUREDIFFUSIVITYUNIT MOLECULARWEIGHTUNIT MOMENTORINERTIAUNIT PLANARFORCEUNIT ROTATIONALFREQUENCYUNIT ROTATIONALSTIFFNESSUNIT SHEARMODULUSUNIT SPECIFICHEATCAPACITYUNIT THERMALADMITTANCEUNIT THERMALCONDUCTANCEUNIT THERMALRESISTANCEUNIT THERMALTRANSMITTANCEUNIT TORQUEUNIT VAPORPERMEABILITYUNIT VOLUMETRICFLOWRATEUNIT CURVATUREUNIT HEATINGVALUEUNIT IONCONCENTRATIONUNIT LUMINOUSINTENSITYDISTRIBUTIONUNIT MASSPERLENGTHUNIT MODULUSOFLINEARSUBGRADEREACTIONUNIT MODULUSOFROTATIONALSUBGRADEREACTIONUNIT PHUNIT ROTATIONALMASSUNIT SECTIONAREAINTEGRALUNIT SECTIONMODULUSUNIT SOUNDPOWERUNIT SOUNDPRESSUREUNIT TEMPERATUREGRADIENTUNIT TEMPERATURERATEOFCHANGE THERMALEXPANSIONCOEFFICIENTUNIT WARPINGCONSTANTUNIT WARPINGMOMENTUNIT USERDEFINED: User defined derived unit.
HISTORY: New type in IFC Release 2.0.
IFC 2x4 change: added TEMPERATURERATEOFCHANGE.
Values:
-
enumerator
IfcDerivedUnit_ANGULARVELOCITYUNIT
¶
-
enumerator
IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT
¶
-
enumerator
IfcDerivedUnit_DYNAMICVISCOSITYUNIT
¶
-
enumerator
IfcDerivedUnit_HEATFLUXDENSITYUNIT
¶
-
enumerator
IfcDerivedUnit_INTEGERCOUNTRATEUNIT
¶
-
enumerator
IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT
¶
-
enumerator
IfcDerivedUnit_KINEMATICVISCOSITYUNIT
¶
-
enumerator
IfcDerivedUnit_LINEARVELOCITYUNIT
¶
-
enumerator
IfcDerivedUnit_MASSDENSITYUNIT
¶
-
enumerator
IfcDerivedUnit_MASSFLOWRATEUNIT
¶
-
enumerator
IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT
¶
-
enumerator
IfcDerivedUnit_MOLECULARWEIGHTUNIT
¶
-
enumerator
IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT
¶
-
enumerator
IfcDerivedUnit_THERMALADMITTANCEUNIT
¶
-
enumerator
IfcDerivedUnit_THERMALCONDUCTANCEUNIT
¶
-
enumerator
IfcDerivedUnit_THERMALRESISTANCEUNIT
¶
-
enumerator
IfcDerivedUnit_THERMALTRANSMITTANCEUNIT
¶
-
enumerator
IfcDerivedUnit_VAPORPERMEABILITYUNIT
¶
-
enumerator
IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT
¶
-
enumerator
IfcDerivedUnit_ROTATIONALFREQUENCYUNIT
¶
-
enumerator
IfcDerivedUnit_TORQUEUNIT
¶
-
enumerator
IfcDerivedUnit_MOMENTOFINERTIAUNIT
¶
-
enumerator
IfcDerivedUnit_LINEARMOMENTUNIT
¶
-
enumerator
IfcDerivedUnit_LINEARFORCEUNIT
¶
-
enumerator
IfcDerivedUnit_PLANARFORCEUNIT
¶
-
enumerator
IfcDerivedUnit_MODULUSOFELASTICITYUNIT
¶
-
enumerator
IfcDerivedUnit_SHEARMODULUSUNIT
¶
-
enumerator
IfcDerivedUnit_LINEARSTIFFNESSUNIT
¶
-
enumerator
IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT
¶
-
enumerator
IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT
¶
-
enumerator
IfcDerivedUnit_ACCELERATIONUNIT
¶
-
enumerator
IfcDerivedUnit_CURVATUREUNIT
¶
-
enumerator
IfcDerivedUnit_HEATINGVALUEUNIT
¶
-
enumerator
IfcDerivedUnit_IONCONCENTRATIONUNIT
¶
-
enumerator
IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT
¶
-
enumerator
IfcDerivedUnit_MASSPERLENGTHUNIT
¶
-
enumerator
IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT
¶
-
enumerator
IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT
¶
-
enumerator
IfcDerivedUnit_PHUNIT
¶
-
enumerator
IfcDerivedUnit_ROTATIONALMASSUNIT
¶
-
enumerator
IfcDerivedUnit_SECTIONAREAINTEGRALUNIT
¶
-
enumerator
IfcDerivedUnit_SECTIONMODULUSUNIT
¶
-
enumerator
IfcDerivedUnit_SOUNDPOWERUNIT
¶
-
enumerator
IfcDerivedUnit_SOUNDPRESSUREUNIT
¶
-
enumerator
IfcDerivedUnit_TEMPERATUREGRADIENTUNIT
¶
-
enumerator
IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT
¶
-
enumerator
IfcDerivedUnit_WARPINGCONSTANTUNIT
¶
-
enumerator
IfcDerivedUnit_WARPINGMOMENTUNIT
¶
-
enumerator
IfcDerivedUnit_USERDEFINED
¶
-
enumerator
-
enum
-
class
IfcDescriptiveMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. Type: STRING
NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcDescriptiveMeasure
(IfcEntityInstanceData *e)
-
IfcDescriptiveMeasure
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcDiameterDimension
: public Ifc2x3::IfcDimensionCurveDirectedCallout Public Types
-
typedef IfcTemplatedEntityList<IfcDiameterDimension>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDiameterDimension
(IfcEntityInstanceData *e)
-
IfcDiameterDimension
(IfcEntityList::ptr v1_Contents)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDiameterDimension>
-
class
IfcDimensionalExponents
: public IfcUtil::IfcBaseEntity Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical quantities are founded on seven base quantities (ISO 31 (clause 2)).
NOTE: Length, mass, time, electric current, thermodynamic temperature, amount of substance, and luminous intensity are the seven base quantities.
EXAMPLE: A length of 2 millimetres has a length exponent of 1. The remaining exponents are equal to 0.
EXAMPLE: A velocity of 2 millimetres per second has a length exponent of 1 and a time exponent of -1. The remaining exponents are equal to 0.
NOTE Corresponding STEP name: dimensional_exponents, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New entity in IFC Release 1.5.1.
Public Types
-
typedef IfcTemplatedEntityList<IfcDimensionalExponents>
list
Public Functions
-
int
LengthExponent
() const The power of the length base quantity.
-
void
setLengthExponent
(int v)
-
int
MassExponent
() const The power of the mass base quantity.
-
void
setMassExponent
(int v)
-
int
TimeExponent
() const The power of the time base quantity.
-
void
setTimeExponent
(int v)
-
int
ElectricCurrentExponent
() const The power of the electric current base quantity.
-
void
setElectricCurrentExponent
(int v)
-
int
ThermodynamicTemperatureExponent
() const The power of the thermodynamic temperature base quantity.
-
void
setThermodynamicTemperatureExponent
(int v)
-
int
AmountOfSubstanceExponent
() const The power of the amount of substance base quantity.
-
void
setAmountOfSubstanceExponent
(int v)
-
int
LuminousIntensityExponent
() const The power of the luminous intensity base quantity.
-
void
setLuminousIntensityExponent
(int v)
-
const IfcParse::entity &
declaration
() const
-
IfcDimensionalExponents
(IfcEntityInstanceData *e)
-
IfcDimensionalExponents
(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDimensionalExponents>
-
class
IfcDimensionCalloutRelationship
: public Ifc2x3::IfcDraughtingCalloutRelationship Public Types
-
typedef IfcTemplatedEntityList<IfcDimensionCalloutRelationship>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDimensionCalloutRelationship
(IfcEntityInstanceData *e)
-
IfcDimensionCalloutRelationship
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcDraughtingCallout *v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout *v4_RelatedDraughtingCallout)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDimensionCalloutRelationship>
-
class
IfcDimensionCount
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality.
The IfcDimensionCount is restricted to have the dimensionality of either 1, 2, or 3 - the WR1 had been added as an addition to the ISO 10303:42 entity dimension_count. In contrary to the ISO 10303:42 constraint, that all geometric representation items within a geometric representation context are forced to have the same dimension count, the IFC geometry allows mixed dimensions, particularly when defining the boundary of planar surfaces.
NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard.
HISTORY New Type in IFC Release 1.5
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcDimensionCount
(IfcEntityInstanceData *e)
-
IfcDimensionCount
(int v)
-
operator int
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcDimensionCurve
: public Ifc2x3::IfcAnnotationCurveOccurrence Public Types
-
typedef IfcTemplatedEntityList<IfcDimensionCurve>
list
Public Functions
-
IfcTemplatedEntityList<IfcTerminatorSymbol>::ptr
AnnotatedBySymbols
() const
-
const IfcParse::entity &
declaration
() const
-
IfcDimensionCurve
(IfcEntityInstanceData *e)
-
IfcDimensionCurve
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDimensionCurve>
-
class
IfcDimensionCurveDirectedCallout
: public Ifc2x3::IfcDraughtingCallout Subclassed by Ifc2x3::IfcAngularDimension, Ifc2x3::IfcDiameterDimension, Ifc2x3::IfcLinearDimension, Ifc2x3::IfcRadiusDimension
Public Types
-
typedef IfcTemplatedEntityList<IfcDimensionCurveDirectedCallout>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDimensionCurveDirectedCallout
(IfcEntityInstanceData *e)
-
IfcDimensionCurveDirectedCallout
(IfcEntityList::ptr v1_Contents)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDimensionCurveDirectedCallout>
-
class
IfcDimensionCurveTerminator
: public Ifc2x3::IfcTerminatorSymbol Public Types
-
typedef IfcTemplatedEntityList<IfcDimensionCurveTerminator>
list
Public Functions
-
::Ifc2x3::IfcDimensionExtentUsage::Value
Role
() const
-
void
setRole
(::Ifc2x3::IfcDimensionExtentUsage::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDimensionCurveTerminator
(IfcEntityInstanceData *e)
-
IfcDimensionCurveTerminator
(::Ifc2x3::IfcRepresentationItem *v1_Item, IfcTemplatedEntityList<::Ifc2x3::IfcPresentationStyleAssignment>::ptr v2_Styles, boost::optional<std::string> v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence *v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDimensionCurveTerminator>
-
struct
IfcDimensionExtentUsage
¶ Public Types
-
class
IfcDimensionPair
: public Ifc2x3::IfcDraughtingCalloutRelationship Public Types
-
typedef IfcTemplatedEntityList<IfcDimensionPair>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDimensionPair
(IfcEntityInstanceData *e)
-
IfcDimensionPair
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcDraughtingCallout *v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout *v4_RelatedDraughtingCallout)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDimensionPair>
-
class
IfcDirection
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant.
NOTE: The components of this entity are not normalized. If a unit vector is required it should be normalized before use.
NOTE: Corresponding ISO 10303 entity: direction. Please refer to ISO/IS 10303-42:1994, p.26 for the final definition of the formal standard. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem).
HISTORY: New entity in IFC Release 1.0
Public Types
-
typedef IfcTemplatedEntityList<IfcDirection>
list
Public Functions
-
std::vector<double>
DirectionRatios
() const The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3])
-
void
setDirectionRatios
(std::vector<double> v)
-
const IfcParse::entity &
declaration
() const
-
IfcDirection
(IfcEntityInstanceData *e)
-
IfcDirection
(std::vector<double> v1_DirectionRatios)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDirection>
-
struct
IfcDirectionSenseEnum
¶ Public Types
-
enum
Value
¶ IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis.
ENUMERATION
POSITIVE: Direction defined to be positive. NEGATIVE: Direction defined to be negative.
HISTORY New Type in IFC2x.
Values:
-
enumerator
IfcDirectionSense_POSITIVE
¶
-
enumerator
IfcDirectionSense_NEGATIVE
¶
-
enumerator
-
enum
-
class
IfcDiscreteAccessory
: public Ifc2x3::IfcElementComponent Definition from IAI: Representation of different kinds of accessories included in or added to elements.
HISTORY New entity in IFC Release 2x2
IFC 2x4 change: Attribute PredefinedType added.
General usage The exact type information of the IfcDiscreteAccessory is given in the ObjectType attribute inherited from IfcObject. Standard type designations are provided for guideline below. The list is not exhaustive and the list of definitions may be extended based on local national extensions.
Accessory type Standard type designation Description
Shading devices: ‘Shading device’ Elements specifically designed to provide shading, often fixed externally and sometimes moving (e.g. by rotation)
Corbels as separate components: ‘Hidden steel corbel’ Corbel system made from steel components embedded into the master element
‘Visible steel corbel’ Corbel system made from steel components protruding from the master element
‘Visible concrete corbel’ Corbel system made as a separate precast concrete component added to the master element
‘Ladder truss connector’ A fixing device in truss form with straight cross bars in ladder form holding two precast conrete panels together in a sandwich wall panel.
‘Panel suspender’ A straight fixing device holding two precast conrete panels together in a sandwich wall panel.
Electrical accessories for precast concrete elements: ‘Protective plug’ Protective plug used in element for protecting electrical accessories during manufacturing, transportation and assembly.
Fixing parts: ‘Standard fixing plate’ Standard fixing plate.
‘Edge fixing plate’ Fixing plate attached to the edge of an element.
‘Corner fixing plate’ Fixing plate attached to the corner of an element.
‘Slab fixing plate’ Fixing plate for slabs.
‘Balcony hinge’ Accessory supporting and fixing balconies.
‘Frame shoe’ Fixing shoe for frames.
‘Thermo frame’ Thermo frame.
‘Column shoe’ Fixing shoe for columns.
‘Wall shoe’ Fixing shoe for walls.
‘Fixing socket’ Fixing socket.
Joint accessories: ‘Neoprene bearing plate’ Rubber plate used as a bearing in, for example, joints between column corbels and beams.
‘Working joint reinforcement’ Reinforcement accessory used in working joints.
‘Expansion joint reinforcement’ Reinforcement accessory used in expansion joints.
‘Ribbed steel bar extension’ Extension accessory made of a ribbed (reinforcement) bar used in joints.
‘Steel pin bolt’ Pin bolt used to join together, for example, columns and beams.
‘Concrete dowel’ Dowel pin used in joints.
‘Concrete groove’ A groove made in a joint.
‘Steel plate’ A steel plate used as an accessory in a joint.
‘Wire loop’ A joint connector accessory made from a wire loop.
‘Steel loop’ A joint connector accessory made from a steel bar loop.
‘Sealing strip’ A strip sealing the joint.
‘Sealing compound’ Sealing compound protecting and sealing the joint.
Lifting accessories: ‘Wire lifting hook’ A lifting aid in the form of a wire loop.
‘Steel lifting hook’ A lifting aid in the form of a steel bar loop.
‘Lifting socket’ A lifting aid in the form of a socket.
‘Steel lifting anchor’ A lifting aid in the form of a steel lifting anchor.
‘Lifting hole’ A lifting aid in the form of a hole.
Accessories mainly used in the building services domain: ‘Antivibration’ An isolating device to prevent other elements to be effected by vibrations.
‘Drop rod’ A length of material providing a hanging support to a bracket. Note that a drop rod is considered to include nuts and washers required for securing.
‘Duct foot’ A base support used to receive a vertical pipe (BS6100 330 3309 - duct foot).
‘Framing’ A frame placed around a penetration to prevent scraping against the building surface or structure.
‘Grommet’ An element placed within a penetration that seals the penetration for a particular reason.
‘Rack’ A set of shelving for the purposes of storage that may be freestanding or bolted to a structure.
‘Safety part’ A part, typically installed in vertical shafts at each level, to ensure safety from falling when entering the shaft.
‘Sleeve’ A thin barrier placed between a penetration and a penetrating element.
‘Support section’ A section of material that is used as an intermediate support upon which multiple brackets can be mounted.
Public Types
-
typedef IfcTemplatedEntityList<IfcDiscreteAccessory>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDiscreteAccessory
(IfcEntityInstanceData *e)
-
IfcDiscreteAccessory
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDiscreteAccessory>
-
class
IfcDiscreteAccessoryType
: public Ifc2x3::IfcElementComponentType Definition from IAI: The element type (IfcDiscreteAccessoryType) defines a list of commonly shared property set definitions of a discrete accessory and an optional set of product representations. It is used to define a supporting element mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). The occurrences of the IfcDiscreteAccessoryType are represented by instances of IfcDiscreteAccessory. The IfcDiscreteAccessoryType is a specialization of the general building element component type to represent different type of structural and building service related auxiliary elements. HISTORY New entity in IFC Release 2x2
IFC 2x4 change: Attribute PredefinedType added.
General usage The exact type information of the IfcDiscreteAccessoryType is given in the ElementType attribute inherited from IfcElementType. Standard type designations are provided for guideline below. The list is not exhaustive and the list of definitions may be extended based on local national extensions.
Accessory type Standard type designation Description
Shading devices: ‘Shading device’ Elements specifically designed to provide shading, often fixed externally and sometimes moving (e.g. by rotation)
Corbels as separate components: ‘Hidden steel corbel’ Corbel system made from steel components embedded into the master element
‘Visible steel corbel’ Corbel system made from steel components protruding from the master element
‘Visible concrete corbel’ Corbel system made as a separate precast concrete component added to the master element
Connecting accessories, for example for sandwich wall panels: ‘Diagonal truss connector’ A fixing device in truss form with diagonal cross bars holding two precast conrete panels together in a sandwich wall panel.
‘Ladder truss connector’ A fixing device in truss form with straight cross bars in ladder form holding two precast conrete panels together in a sandwich wall panel.
‘Panel suspender’ A straight fixing device holding two precast conrete panels together in a sandwich wall panel.
Electrical accessories for precast concrete elements: ‘Protective plug’ Protective plug used in element for protecting electrical accessories during manufacturing, transportation and assembly.
Fixing parts: ‘Standard fixing plate’ Standard fixing plate.
‘Edge fixing plate’ Fixing plate attached to the edge of an element.
‘Corner fixing plate’ Fixing plate attached to the corner of an element.
‘Slab fixing plate’ Fixing plate for slabs.
‘Balcony hinge’ Accessory supporting and fixing balconies.
‘Frame shoe’ Fixing shoe for frames.
‘Thermo frame’ Thermo frame.
‘Column shoe’ Fixing shoe for columns.
‘Wall shoe’ Fixing shoe for walls.
‘Fixing socket’ Fixing socket.
Joint accessories: ‘Neoprene bearing plate’ Rubber plate used as a bearing in, for example, joints between column corbels and beams.
‘Working joint reinforcement’ Reinforcement accessory used in working joints.
‘Expansion joint reinforcement’ Reinforcement accessory used in expansion joints.
‘Ribbed steel bar extension’ Extension accessory made of a ribbed (reinforcement) bar used in joints.
‘Steel pin bolt’ Pin bolt used to join together, for example, columns and beams.
‘Concrete dowel’ Dowel pin used in joints.
‘Concrete groove’ A groove made in a joint.
‘Steel plate’ A steel plate used as an accessory in a joint.
‘Wire loop’ A joint connector accessory made from a wire loop.
‘Steel loop’ A joint connector accessory made from a steel bar loop.
‘Sealing strip’ A strip sealing the joint.
‘Sealing compound’ Sealing compound protecting and sealing the joint.
Lifting accessories: ‘Wire lifting hook’ A lifting aid in the form of a wire loop.
‘Steel lifting hook’ A lifting aid in the form of a steel bar loop.
‘Lifting socket’ A lifting aid in the form of a socket.
‘Steel lifting anchor’ A lifting aid in the form of a steel lifting anchor.
‘Lifting hole’ A lifting aid in the form of a hole.
Accessories mainly used in the building services domain: ‘Antivibration’ An isolating device to prevent other elements to be effected by vibrations.
‘Drop rod’ A length of material providing a hanging support to a bracket. Note that a drop rod is considered to include nuts and washers required for securing.
‘Duct foot’ A base support used to receive a vertical pipe (BS6100 330 3309 - duct foot).
‘Framing’ A frame placed around a penetration to prevent scraping against the building surface or structure.
‘Grommet’ An element placed within a penetration that seals the penetration for a particular reason.
‘Rack’ A set of shelving for the purposes of storage that may be freestanding or bolted to a structure.
‘Safety part’ A part, typically installed in vertical shafts at each level, to ensure safety from falling when entering the shaft.
‘Sleeve’ A thin barrier placed between a penetration and a penetrating element.
‘Support section’ A section of material that is used as an intermediate support upon which multiple brackets can be mounted.
Subclassed by Ifc2x3::IfcVibrationIsolatorType
Public Types
-
typedef IfcTemplatedEntityList<IfcDiscreteAccessoryType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDiscreteAccessoryType
(IfcEntityInstanceData *e)
-
IfcDiscreteAccessoryType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDiscreteAccessoryType>
-
class
IfcDistributionChamberElement
: public Ifc2x3::IfcDistributionFlowElement A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel.
An IfcDistributionChamberElement is a formed volume used in a distribution system, such as a sump, trench or manhole. Instances of IfcDistributionSystem or IfcDistributionFlowElement may be related to the IfcDistributionChamberElement enabling their location in or at the chamber to be determined.
HISTORY: New entity in IFC2x2
Type Use Definition IfcDistributionChamberElement defines the occurrence of any distribution chamber element; common information about distribution chamber element types is handled by IfcDistributionChamberElementType. The IfcDistributionChamberElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDistributionChamberElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDistributionChamberElementType has ports or aggregated elements, such objects are reflected at the IfcDistributionChamberElement occurrence using the IfcRelDefinesByObject relationship.
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDistributionChamberElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDistributionChamberElementType.HasPropertySets. If both are given, then the properties directly defined at IfcDistributionChamberElement override the properties defined at IfcDistributionChamberElementType. Refer to the documentation at the supertype IfcDistributionFlowElement and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_DistributionChamberElementCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute: Pset_DistributionChamberElementTypeFormedDuct (FORMEDDUCT) Pset_DistributionChamberElementTypeInspectionChamber (INSPECTIONCHAMBER) Pset_DistributionChamberElementTypeInspectionPit (INSPECTIONPIT) Pset_DistributionChamberElementTypeManhole (MANHOLE) Pset_DistributionChamberElementTypeMeterChamber (METERCHAMBER) Pset_DistributionChamberElementTypeSump (SUMP) Pset_DistributionChamberElementTypeTrench (TRENCH) Pset_DistributionChamberElementTypeValveChamber (VALVECHAMBER)
Material Use Definition The material of the IfcDistributionChamberElement is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionChamberElementType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Base’: The material from which the base of the duct is constructed. ‘Cover’: The material from which the access cover to the chamber is constructed. ‘Fill’: The material that is used to fill the duct (where used). ‘Wall’: The material from which the wall of the duct is constructed.
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionChamberElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionChamberElement
(IfcEntityInstanceData *e)
-
IfcDistributionChamberElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionChamberElement>
-
class
IfcDistributionChamberElementType
: public Ifc2x3::IfcDistributionFlowElementType The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include:
common properties with shared property sets common materials common ports common composition of elements common assignment of process types common representations of shape and style
It is used to define a distribution chamber element specification (i.e. the specific product information, that is common to all occurrences of that product type). Distribution Chamber Element types may be exchanged without being already assigned to occurrences. Occurrences of IfcDistributionChamberElementType are represented by instances of IfcDistributionChamberElement.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionFlowElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_DistributionChamberElementCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_DistributionChamberElementTypeFormedDuct (FORMEDDUCT) Pset_DistributionChamberElementTypeInspectionChamber (INSPECTIONCHAMBER) Pset_DistributionChamberElementTypeInspectionPit (INSPECTIONPIT) Pset_DistributionChamberElementTypeManhole (MANHOLE) Pset_DistributionChamberElementTypeMeterChamber (METERCHAMBER) Pset_DistributionChamberElementTypeSump (SUMP) Pset_DistributionChamberElementTypeTrench (TRENCH) Pset_DistributionChamberElementTypeValveChamber (VALVECHAMBER)
Material Use Definition The material of the IfcDistributionChamberElementType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Base’: The material from which the base of the duct is constructed. ‘Cover’: The material from which the access cover to the chamber is constructed. ‘Fill’: The material that is used to fill the duct (where used). ‘Wall’: The material from which the wall of the duct is constructed.
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionChamberElementType>
list
Public Functions
-
::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value
PredefinedType
() const Predefined types of distribution chambers.
-
void
setPredefinedType
(::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionChamberElementType
(IfcEntityInstanceData *e)
-
IfcDistributionChamberElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionChamberElementType>
-
struct
IfcDistributionChamberElementTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration identifies different types of distribution chambers.
Valid enumerations are:
FORMEDDUCT: Space formed in the ground for the passage of pipes, cables, ducts. INSPECTIONCHAMBER: Chamber constructed on a drain, sewer or pipeline with a removable cover that permits visble inspection. INSPECTIONPIT: Recess or chamber formed to permit access for inspection of substructure and services. MANHOLE: Chamber constructed on a drain, sewer or pipeline with a removable cover that permits the entry of a person. METERCHAMBER: Chamber that houses a meter(s). SUMP: Recessed or small chamber into which liquid is drained to facilitate its collection for removal. TRENCH: Excavated chamber, the length of which typically exceeds the width. VALVECHAMBER: Chamber that houses a valve(s). USERDEFINED: User-defined chamber type. NOTDEFINED: Undefined chamber type.
HISTORY: New enumeration in IFC R2x2
Values:
-
enumerator
IfcDistributionChamberElementType_FORMEDDUCT
¶
-
enumerator
IfcDistributionChamberElementType_INSPECTIONCHAMBER
¶
-
enumerator
IfcDistributionChamberElementType_INSPECTIONPIT
¶
-
enumerator
IfcDistributionChamberElementType_MANHOLE
¶
-
enumerator
IfcDistributionChamberElementType_METERCHAMBER
¶
-
enumerator
IfcDistributionChamberElementType_SUMP
¶
-
enumerator
IfcDistributionChamberElementType_TRENCH
¶
-
enumerator
IfcDistributionChamberElementType_VALVECHAMBER
¶
-
enumerator
IfcDistributionChamberElementType_USERDEFINED
¶
-
enumerator
IfcDistributionChamberElementType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDistributionControlElement
: public Ifc2x3::IfcDistributionElement The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system.
This class defines elements of a building automation control system. These are typically used to control distribution system elements to maintain variables such as temperature, humidity, pressure, flow, power, or lighting levels, through the modulation, staging or sequencing of mechanical or electrical devices. The three general functional categories of control elements are as follows:
Impart control over flow control elements (IfcFlowController) in a distribution system such as dampers, valves, or relays, typically through the use of actuation (IfcActuator). Sensing elements (IfcSensor) that measure changes in the controlled variable such as temperature, humidity, pressure, or flow. Controllers (IfcController) typically classified according to the control action they seek to perform and generally responsible for making decisions about the elements under control.
Since this class and its subtypes typically relate to many different distribution flow elements (IfcDistributionFlowElement), the objectified relationship IfcRelFlowControlElements has been provided to relate control and flow elements as required.
IFC2x4 CHANGE: ControlElementId attribute deleted; replaced by classification usage. HISTORY: New entity in IFC R2.0.
Type Use Definition IfcDistributionControlElement defines the occurrence of any distribution control element; common information about distribution control element types is handled by IfcDistributionControlElementType. The IfcDistributionControlElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDistributionControlElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDistributionControlElementType has ports or aggregated elements, such objects are reflected at the IfcDistributionControlElement occurrence using the IfcRelDefinesByObject relationship. Direct instantiation of IfcDistributionControlElement with IfcObject.ObjectType asserted provides the meaning of a distribution control element proxy.
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDistributionControlElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDistributionControlElementType.HasPropertySets. If both are given, then the properties directly defined at IfcDistributionControlElement override the properties defined at IfcDistributionControlElementType. Refer to the documentation at the supertype IfcDistributionElement and ancestors for inherited property set definitions.
Classification Use Definition In addition to general product and project classification (UniFormat, etc.), classifications may also be applied to indicate a device address or addressing scheme using IfcRelAssociatesClassification where RelatedObjects contains the IfcDistributionControlElement and RelatingClassification refers to an IfcClassification or IfcClassificationReference.
IfcClassification: Indicates an addressing scheme managed by the device where ReferenceTokens defines the format of the address to be specified at IfcClassificationReference.ItemReference. A classification hierarchy may optionally be provided indicating detected or provisioned device addresses. IfcClassificationReference: Indicates the address of the control element where Identification uniquely identifies the element within the control system as determined by the ClassificationSource. Several examples are illustrated:
‘BACnet’: BACnetObjectIdentifier in the decimal form ‘12.15’ (Digital Input #15) indicating type ID and instance ID. ‘IP’: IP Address in the decimal form ‘192.168.1.2’ such as for an IPv4 network. ‘OPC’: Hierarchical ItemID in the alphanumeric form ‘B204.Tank2.Temperature’ ‘X-10’: Alphabetic and numeric code in the form ‘B12’ (House B, Device 12) indicating House Code and Device Code.
Figure 147 illustrates classification usage.
Figure 147 — Distribution control classification
Composition Use Definition The IfcDistributionControlElement may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionControlElement and RelatedObjects contains one or more components. Likewise, a control element may be aggregated within another element. For example, a thermostat may contain temperature sensors, and a programmable logic controller may contain virtual (software-based) control elements. Standard types for composition are defined at subtypes.
Connection Use Definition The IfcDistributionControlElement may be connected to other objects as follows using the indicated relationship:
IfcSpatialStructureElement (IfcRelContainedInSpatialStructure) : Indicates the spatial location containing the element. If an element is aggregated within another element, then only the top-level element participates in this relationship. IfcElement (IfcRelConnectsElements) : Indicates physical connectivity with another element (but not embedding or flow control), such as a sensor attached to a wall. IfcRelConnectsElements.RelatingElement refers to the anchored side (for example, wall hosting sensor). IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates ports on the element which may be connected to other elements for control signal transmission or electric power. Standard port names, types, and directions are defined at subtypes. IfcDistributionFlowElement (IfcRelFlowControlElements) : Indicates a flow element is sensed or controlled by the control element, such as a tank for a level sensor or a valve for an actuator.
Assignment Use Definition The IfcDistributionControlElement may be assigned to the following entities using relationships as indicated:
IfcDistributionSystem (IfcRelAssignsToGroup): Indicates a system containing interconnected devices, where control elements are typically part of a control system having PredefinedType=CONTROL. IfcPerformanceHistory (IfcRelAssignsToControl): Indicates realtime or historical infomation captured for the device.
The IfcDistributionControlElement may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionControlElement and RelatedObjects contains one or more objects of the following types:
IfcTask: Indicates tasks used to purchase, install, renovate, demolish, operate, or otherwise act upon the element. If the element has a type, available task types are assigned to the element type. IfcProcedure: Indicates procedures used to operate the element. If the element has a type, available procedure types are assigned to the element type. IfcEvent: Indicates events raised by the element, sequenced by procedures to be followed. If the element has a type, available event types are assigned to the element type.
Material Use Definition The material of the IfcDistributionControlElement is defined using one of the following entities:
IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
IfcMaterial: For elements comprised of a single material, this indicates the material.
The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionControlElementType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.
Representation Use Definition The following shape representations are supported for subtypes of IfcDistributionControlElement, distinguished by IfcShapeRepresentation.RepresentationIdentifier:
‘Footprint’: Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of ‘GeometricCurveSet’ and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
‘Body’: Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of ‘SurfaceModel’, ‘SolidModel’, or any solid model specializations including ‘Brep’, ‘AdvancedBrep’, ‘SweptSolid’, ‘AdvancedSweptSolid’, ‘CSG’, ‘Clipping’, or ‘SectionedSpine’).
‘Clearance’: Represents the 3D clearance volume of the item having RepresentationType of ‘Surface3D’. Such clearance region indicates space that should not intersect with the ‘Body’ representation of other elements, though may intersect with the ‘Clearance’ representation of other elements. The particular use of clearance space may be for safety, maintenance, or other purpose.
For all representations, if a IfcDistributionControlElement occurrence is defined by a IfcDistributionControlElementType having a representation of the same identifier, then ‘MappedRepresentation’ should be used at the occurrence unless overridden.
If materials are defined, geometry of each representation (most typically the ‘Body’ representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name).
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionControlElement>
list
Public Functions
-
bool
hasControlElementId
() const Whether the optional attribute ControlElementId is defined for this IfcDistributionControlElement.
-
std::string
ControlElementId
() const
-
void
setControlElementId
(std::string v)
-
IfcTemplatedEntityList<IfcRelFlowControlElements>::ptr
AssignedToFlowElement
() const
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionControlElement
(IfcEntityInstanceData *e)
-
IfcDistributionControlElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ControlElementId)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionControlElement>
-
class
IfcDistributionControlElementType
: public Ifc2x3::IfcDistributionElementType The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).
Distribution control element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcDistributionControlElementType are represented by instances of IfcDistributionControlElement or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Declaration Use Definition The IfcDistributionControlElementType may be declared within a project or project library using IfcRelDeclares where RelatingContext refers to the project or library and RelatedDefinitions includes the element type. Inclusion within IfcProject indicates the type is editable within the direct project and may be available to other referencing projects that may incorporate the type. Inclusion within IfcProjectLibrary indicates the type is incorporated from a referenced project. Default units and coordinate systems (used for representations, materials, and property sets) are indicated by the declaring project or library.
Classification Use Definition The IfcDistributionControlElementType may be classified using IfcRelAssociatesClassification where RelatingClassification refers to an IfcClassificationReference indicating a classification notation. Classifications may refer to industry standards such as MasterFormat, OmniFormat, or UniFormat. Classifications may also refer to organization-specific, project-specific, or system-specific designations. Classification reference identification schemes are described by IfcClassification.ReferenceTokens.
Document Use Definition The IfcDistributionControlElementType may be documented using IfcRelAssociatesDocument where RelatingDocument refers to an IfcDocumentReference indicating content within a document, or IfcDocumentInformation indicating an entire document. Document information may refer to arbitrary attachments such as text or multimedia, while document references may refer to items within particular formats (such as XML element IDs) where there is need to synchronize document information with model information. Document reference identification schemes depend on the particular document format.
Library Use Definition The IfcDistributionControlElementType may be published to a model server using IfcRelAssociatesLibrary where RelatingLibrary refers to an IfcLibraryReference indicating the unique identification within the published project. If the published project is IFC format, then IfcLibraryReference.Identification shall match IfcRoot.GlobalID of the published (master) project, using the same encoding as described for IfcGloballyUniqueId. Multiple library references may be provided to indicate alternate names and descriptions for particular languages. If the element type is declared within IfcProject, then IfcLibraryInformation.Location and IfcLibraryInformation.Version indicate the URL and version as last published. If the element type is declared within IfcProjectLibrary, then the library information indicates the location and version of the definition as last retrieved.
Composition Use Definition The IfcDistributionControlElementType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElementType and RelatedObjects contains one or more components. For example, a thermostat type may be decomposed into temperature sensors. Standard types for composition are defined at occurrences for subtypes.
Connection Use Definition The IfcDistributionControlElementType may be connected to other objects as follows using the indicated relationship:
IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates port definitions on the element to be instantiated at occurrences. Standard port names, types, and directions are defined at occurrences for subtypes.
Assignment Use Definition The IfcDistributionControlElementType may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionControlElementType and RelatedObjects contains one or more objects of the following types:
IfcTaskType: Indicates task types available to purchase, install, renovate, demolish, operate, or otherwise act upon occurrences of the element type. Such task types may be instantiated as task occurrences assigned to occurrences of the element type. Prices (such as for purchasing or shipping) may be established by resource types assigned to task types. IfcProcedureType: Indicates procedure types available to operate occurrences of the element type. Such procedure types may be instantiated as procedure occurrences assigned to occurrences of the element type. IfcEventType: Indicates event types available to be raised by occurrences of the element, sequenced by procedures to be followed. Such event types may be instantiated as event occurrences assigned to occurrences of the element type.
Material Use Definition The material of the IfcDistributionControlElementType is defined using one of the following entities:
IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
IfcMaterial: For elements comprised of a single material, this indicates the material.
The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute.
Representation Use Definition The following shape representations are supported for subtypes of IfcDistributionControlElementType, distinguished by IfcShapeRepresentation.RepresentationIdentifier:
‘Footprint’: Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of ‘GeometricCurveSet’ and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
‘Body’: Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of ‘SurfaceModel’, ‘SolidModel’, or any solid model specializations including ‘Brep’, ‘AdvancedBrep’, ‘SweptSolid’, ‘AdvancedSweptSolid’, ‘CSG’, ‘Clipping’, or ‘SectionedSpine’).
‘Clearance’: Represents the 3D clearance volume of the item having RepresentationType of ‘Surface3D’. Such clearance region indicates space that should not intersect with the ‘Body’ representation between element occurrences, though may intersect with the ‘Clearance’ representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose.
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
Subclassed by Ifc2x3::IfcActuatorType, Ifc2x3::IfcAlarmType, Ifc2x3::IfcControllerType, Ifc2x3::IfcFlowInstrumentType, Ifc2x3::IfcSensorType
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionControlElementType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionControlElementType
(IfcEntityInstanceData *e)
-
IfcDistributionControlElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionControlElementType>
-
class
IfcDistributionElement
: public Ifc2x3::IfcElement Definition from IAI: Generalization of all elements that participate in a distribution system. Typical examples of IfcDistributionElement are (among others):
building service elements within a heating systems building service elements within a cooling system building service elements within a ventilation system building service elements within a plumbing system
e.g. sanitary elements, fire suppression elements
electrical elements elements within a communication network
The IfcDistributionElement is further specialized in the IFC model. Direct instantiation of IfcDistributionElement without an assigned subtype of IfcDistributionElementType provides the meaning of an distribution element proxy. HISTORY New entity in IFC Release 1.5. IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4. Relationship Use Definition
Ports - information, whether the distribution element has ports for system connections
objectified relationship: IfcRelConnectsPortToElement object referenced by relationship: IfcPort inverse attribute: HasPorts
Type Use Definition The IfcDistributionElement defines the occurrence of any HVAC, electrical, sanitary or other element within a distribution system. Common information about distribution element types (or styles) is handled by subtypes of IfcDistributionElementType. The IfcDistributionElementType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcDistributionElementType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. The assignment of types to distribution element occurrences is vital for providing the additional meaning, or ontology, of the distribution element. Many specialized type are defined in other schemas of the IFC specification. Quantity Use Definition The quantities relating to the IfcDistributionElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcDistributionElement. Containment Use Definition The IfcDistributionElement may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within anelement assembly.
The IfcDistributionElement is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcSpace being the default container. The IfcDistributionElement may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.SELF\IfcElement.ContainedInStructure should be NIL.
Geometry Use Definitions The geometric representation of IfcDistributionElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Local Placement The local placement for IfcDistributionElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement , which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations The geometric representation of IfcDistributionElement is defined using different geometric representation types for the various subtypes. Only general recommendations are given at the level of the supertype, further constraints are defined at the level of its subtypes.
all occurrences of IfcDistributionElement (and its subtypes) should (whenever possible) share a representation map established by the assigned type. The geometric representation of the occurrence is then an IfcMappedItem. The IfcShapeRepresentation has:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’
The shared geometric representation of the distribution element type (or in some cases of the distribution element) should follow (if applicable) the the following guidelines:
all fixtures (all non distribution flow elements, i.e. everything which is not a duct, a pipe, a cable, or a cable carrier) should be defined by an b-rep geometry. This includes also the complex flow fitting elements (e.g. Y branch or T branch) or distribution flow elements with size changes (e.g. reducer). The IfcShapeRepresentation has:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘Brep’
if the geometric model consistency of a b-rep shape representation can not be guaranteed (arcwise connected volume bounded by faces, each being connected, oriented, finite, closed 2-manifold), a surface representation based on open shells should be used. The IfcShapeRepresentation then has:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SurfaceModel’
all “simple” distribution flow elements (general ducts and pipes) are defined by sweep geometry. The IfcShapeRepresentation has:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’
an additional representation type for all “simple” distribution flow elements (general ducts and pipes) is the ability to have a simple line based representation. The IfcShapeRepresentation has:
RepresentationIdentifier : ‘FootPrint’ RepresentationType : ‘GeometricCurveSet’
if only the analytical shape is required for which the exact interpolation between the cross sections is not required, a sectioned spine can be used.
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SectionedSpine’
Subclassed by Ifc2x3::IfcDistributionControlElement, Ifc2x3::IfcDistributionFlowElement
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionElement
(IfcEntityInstanceData *e)
-
IfcDistributionElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionElement>
-
class
IfcDistributionElementType
: public Ifc2x3::IfcElementType Definition from IAI: The IfcDistributionElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type). NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. A distribution element type is used to define the common properties of a certain type of a distribution element that may be applied to many instances of that feature type to assign a specific style. Distribution element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences. The occurrences of the IfcDistributionElementType are represented by instances of IfcDistributionElement (or its subtypes). HISTORY New entity in Release IFC2x Edition 2. IFC2x3 CHANGE The entity has been made non-abstract IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4.
Subclassed by Ifc2x3::IfcDistributionControlElementType, Ifc2x3::IfcDistributionFlowElementType
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionElementType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionElementType
(IfcEntityInstanceData *e)
-
IfcDistributionElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionElementType>
-
class
IfcDistributionFlowElement
: public Ifc2x3::IfcDistributionElement The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power.
EXAMPLEs of distribution flow elements are ducts, pipes, wires, fittings, and equipment.
HISTORY: New entity in IFC R2.0.
Type Use Definition IfcDistributionFlowElement defines the occurrence of any distribution flow element; common information about distribution flow element types is handled by IfcDistributionFlowElementType. The IfcDistributionFlowElementType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcDistributionFlowElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcDistributionFlowElementType has ports or aggregated elements, such objects are reflected at the IfcDistributionFlowElement occurrence using the IfcRelDefinesByObject relationship. Direct instantiation of IfcDistributionFlowElement with IfcObject.ObjectType asserted provides the meaning of a distribution flow element proxy.
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcDistributionFlowElementType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcDistributionFlowElementType.HasPropertySets. If both are given, then the properties directly defined at IfcDistributionFlowElement override the properties defined at IfcDistributionFlowElementType. Refer to the documentation at the supertype IfcDistributionElement and ancestors for inherited property set definitions.
Composition Use Definition The IfcDistributionFlowElement may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElement and RelatedObjects contains one or more components. For example, a cable may be decomposed into wires. Standard types for composition are defined at subtypes.
Connection Use Definition The IfcDistributionFlowElement may be connected to other objects as follows using the indicated relationship:
IfcSpatialStructureElement (IfcRelContainedInSpatialStructure) : Indicates the spatial location containing the element. IfcElement (IfcRelConnectsElements) : Indicates physical connectivity with another element (but not embedding or flow transmission), such as a light fixture hanging from a ceiling (IfcCovering), or a junction box having a cover plate (IfcDiscreteAccessory). IfcRelConnectsElements.RelatingElement refers to the anchored side (ceiling for fixture, junction box for cover). IfcElement (IfcRelInterferesElements) : Indicates interference with another element and precedence, such as a pipe going through a wall. IfcOpening (IfcRelFillsElement) : Indicates embedding an element within another element (implying a cutout), such as an air terminal or junction box embedded within a wall. IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates ports on the element which may be connected to other elements for flow distribution of solids, liquids, gas, or electricity. Standard port names, types, and directions are defined at subtypes. IfcDistributionControlElement (IfcRelFlowControlElements) : Indicates a control element that senses or controls some aspect of the flow element, such as a level sensor for a tank or an actuator for a valve.
Assignment Use Definition The IfcDistributionFlowElement may be assigned to the following entities using relationships as indicated:
IfcDistributionSystem (IfcRelAssignsToGroup): Indicates a system containing interconnected devices. IfcPerformanceHistory (IfcRelAssignsToControl): Indicates realtime or historical infomation captured for the device.
The IfcDistributionFlowElement may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionFlowElement and RelatedObjects contains one or more objects of the following types:
IfcTask: Indicates tasks used to purchase, install, renovate, demolish, operate, or otherwise act upon the element. If the element has a type, available task types are assigned to the element type. IfcProcedure: Indicates procedures used to operate the element. If the element has a type, available procedure types are assigned to the element type. IfcEvent: Indicates events raised by the element, sequenced by procedures to be followed. If the element has a type, available event types are assigned to the element type.
Material Use Definition The material of the IfcDistributionFlowElement is defined using one of the following entities:
IfcMaterialProfileSetUsage: For parametric segments, this defines the cross section and alignment to the ‘Axis’ representation, from which the ‘Body’ representation may be generated.
IfcMaterialProfileSet: For non-parametric segments (having fixed length or path), this may define the cross section for analysis purposes, however the ‘Body’ representation is independently generated.
IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
IfcMaterial: For elements comprised of a single material, this indicates the material.
The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionFlowElementType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.
Representation Use Definition The following shape representations are supported for subtypes of IfcDistributionFlowElement, distinguished by IfcShapeRepresentation.RepresentationIdentifier:
‘Axis’: Represents the 3D flow path of the item having IfcShapeRepresentation.RepresentationType of ‘Curve3D’ and containing a single IfcBoundedCurve subtype such as IfcPolyline, IfcTrimmedCurve, or IfcCompositeCurve. For elements containing directional ports (IfcDistributionPort with FlowDirection of SOURCE or SINK), the direction of the curve indicates direction of flow where a SINK port is positioned at the start of the curve and a SOURCE port is positioned at the end of the curve. This representation is most applicable to flow segments (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.
‘Footprint’: Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of ‘GeometricCurveSet’ and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
‘Body’: Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of ‘SurfaceModel’, ‘SolidModel’, or any solid model specializations including ‘Brep’, ‘AdvancedBrep’, ‘SweptSolid’, ‘AdvancedSweptSolid’, ‘CSG’, ‘Clipping’, or ‘SectionedSpine’).
‘Clearance’: Represents the 3D clearance volume of the item having RepresentationType of ‘Surface3D’. Such clearance region indicates space that should not intersect with the ‘Body’ representation of other elements, though may intersect with the ‘Clearance’ representation of other elements. The particular use of clearance space may be for safety, maintenance, or other purpose.
‘Lighting’: Represents the light emission of the item having IfcShapeRepresentation.RepresentationType of ‘LightSource’ and containing one or more IfcLightSource subtypes. This representation is most applicable to lamps and light fixtures, however may be used at other elements that emit light.
For all representations, if a IfcDistributionFlowElement occurrence is defined by a IfcDistributionFlowElementType having a representation of the same identifier, then ‘MappedRepresentation’ should be used at the occurrence unless overridden.
If materials are defined, geometry of each representation (most typically the ‘Body’ representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name or IfcMaterialProfile.Name).
Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the ‘Axis’ representation.
Subclassed by Ifc2x3::IfcDistributionChamberElement, Ifc2x3::IfcEnergyConversionDevice, Ifc2x3::IfcFlowController, Ifc2x3::IfcFlowFitting, Ifc2x3::IfcFlowMovingDevice, Ifc2x3::IfcFlowSegment, Ifc2x3::IfcFlowStorageDevice, Ifc2x3::IfcFlowTerminal, Ifc2x3::IfcFlowTreatmentDevice
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionFlowElement>
list
Public Functions
-
IfcTemplatedEntityList<IfcRelFlowControlElements>::ptr
HasControlElements
() const
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionFlowElement
(IfcEntityInstanceData *e)
-
IfcDistributionFlowElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionFlowElement>
-
class
IfcDistributionFlowElementType
: public Ifc2x3::IfcDistributionElementType The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type).
Distribution flow element types (orthe instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcDistributionFlowElementType are represented by instances of IfcDistributionFlowElement or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Declaration Use Definition The IfcDistributionFlowElementType may be declared within a project or project library using IfcRelDeclares where RelatingContext refers to the project or library and RelatedDefinitions includes the element type. Inclusion within IfcProject indicates the type is editable within the direct project and may be available to other referencing projects that may incorporate the type. Inclusion within IfcProjectLibrary indicates the type is incorporated from a referenced project. Default units and coordinate systems (used for representations, materials, and property sets) are indicated by the declaring project or library.
Classification Use Definition The IfcDistributionFlowElementType may be classified using IfcRelAssociatesClassification where RelatingClassification refers to an IfcClassificationReference indicating a classification notation. Classifications may refer to industry standards such as MasterFormat, OmniFormat, or UniFormat. Classifications may also refer to organization-specific, project-specific, or system-specific designations. Classification reference identification schemes are described by IfcClassification.ReferenceTokens.
Document Use Definition The IfcDistributionFlowElementType may be documented using IfcRelAssociatesDocument where RelatingDocument refers to an IfcDocumentReference indicating content within a document, or IfcDocumentInformation indicating an entire document. Document information may refer to arbitrary attachments such as text or multimedia, while document references may refer to items within particular formats (such as XML element IDs) where there is need to synchronize document information with model information. Document reference identification schemes depend on the particular document format.
Library Use Definition The IfcDistributionFlowElementType may be published to a model server using IfcRelAssociatesLibrary where RelatingLibrary refers to an IfcLibraryReference indicating the unique identification within the published project. If the published project is IFC format, then IfcLibraryReference.Identification shall match IfcRoot.GlobalID of the published (master) project, using the same encoding as described for IfcGloballyUniqueId. Multiple library references may be provided to indicate alternate names and descriptions for particular languages. If the element type is declared within IfcProject, then IfcLibraryInformation.Location and IfcLibraryInformation.Version indicate the URL and version as last published. If the element type is declared within IfcProjectLibrary, then the library information indicates the location and version of the definition as last retrieved.
Figure 148 illustrates a project containing a light fixture in a building, where the definition of the light fixture is obtained from an external project.
Figure 148 — Distribution flow element library
Composition Use Definition The IfcDistributionFlowElementType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElementType and RelatedObjects contains one or more components. For example, a cable type may be decomposed into wires. Standard types for composition are defined at occurrences for subtypes.
Connection Use Definition The IfcDistributionFlowElementType may be connected to other objects as follows using the indicated relationship:
IfcDistributionPort (IfcRelConnectsPortToElement) : Indicates port definitions on the element to be instantiated at occurrences. Standard port names, types, and directions are defined at occurrences for subtypes.
Assignment Use Definition The IfcDistributionFlowElementType may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionFlowElementType and RelatedObjects contains one or more objects of the following types:
IfcTaskType: Indicates task types available to purchase, install, renovate, demolish, operate, or otherwise act upon occurrences of the element type. Such task types may be instantiated as task occurrences assigned to occurrences of the element type. Prices (such as for purchasing or shipping) may be established by resource types assigned to task types. IfcProcedureType: Indicates procedure types available to operate occurrences of the element type. Such procedure types may be instantiated as procedure occurrences assigned to occurrences of the element type. IfcEventType: Indicates event types available to be raised by occurrences of the element, sequenced by procedures to be followed. Such event types may be instantiated as event occurrences assigned to occurrences of the element type.
Material Use Definition The material of the IfcDistributionFlowElementType is defined using one of the following entities:
IfcMaterialProfileSet: For elements having a constant cross-section, this defines the material profile which may be used to generate the ‘Body’ representation at occurrences (for parametric definitions not having representation), or for analysis purposes. IfcMaterialConstituentSet: For elements containing multiple materials, this indicates materials at named aspects.
IfcMaterial: For elements comprised of a single material, this indicates the material.
The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute.
Representation Use Definition The following shape representations are supported for subtypes of IfcDistributionFlowElementType, distinguished by IfcShapeRepresentation.RepresentationIdentifier:
‘Axis’: Represents the 3D flow path of the item having IfcShapeRepresentation.RepresentationType of ‘Curve3D’ and containing a single IfcBoundedCurve subtype such as IfcPolyline, IfcTrimmedCurve, or IfcCompositeCurve. For elements containing directional ports (IfcDistributionPort with FlowDirection of SOURCE or SINK), the direction of the curve indicates direction of flow where a SINK port is positioned at the start of the curve and a SOURCE port is positioned at the end of the curve. This representation is most applicable to flow segment types (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.
‘Footprint’: Represents the 2D footprint outline of the item having IfcShapeRepresentation.RepresentationType of ‘GeometricCurveSet’ and containing a single IfcGeometricCurveSet consisting of one or more IfcCurve subtypes such as IfcPolyline, IfcTrimmedCurve, IfcCompositeCurve, or IfcCircle.
‘Body’: Represents the 3D shape of the item having IfcShapeRepresentation.RepresentationType of ‘SurfaceModel’, ‘SolidModel’, or any solid model specializations including ‘Brep’, ‘AdvancedBrep’, ‘SweptSolid’, ‘AdvancedSweptSolid’, ‘CSG’, ‘Clipping’, or ‘SectionedSpine’).
‘Clearance’: Represents the 3D clearance volume of the item having RepresentationType of ‘Surface3D’. Such clearance region indicates space that should not intersect with the ‘Body’ representation between element occurrences, though may intersect with the ‘Clearance’ representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purpose.
‘Lighting’: Represents the light emission of the item having IfcShapeRepresentation.RepresentationType of ‘LightSource’ and containing one or more IfcLightSource subtypes. This representation is most applicable to lamps and light fixtures, however may be used at other elements that emit light.
If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type.
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
Subclassed by Ifc2x3::IfcDistributionChamberElementType, Ifc2x3::IfcEnergyConversionDeviceType, Ifc2x3::IfcFlowControllerType, Ifc2x3::IfcFlowFittingType, Ifc2x3::IfcFlowMovingDeviceType, Ifc2x3::IfcFlowSegmentType, Ifc2x3::IfcFlowStorageDeviceType, Ifc2x3::IfcFlowTerminalType, Ifc2x3::IfcFlowTreatmentDeviceType
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionFlowElementType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionFlowElementType
(IfcEntityInstanceData *e)
-
IfcDistributionFlowElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionFlowElementType>
-
class
IfcDistributionPort
: public Ifc2x3::IfcPort A distribution port is an inlet or outlet of a product through which a particular substance may flow.
Distribution ports are used for passage of solid, liquid, or gas substances, as well as electricity for power or communications. Flow segments (pipes, ducts, cables) may be used to connect ports across products. Distribution ports are defined by system type and flow direction such that for two ports to be connected, they must share the same system type and have opposite flow directions (one side being a SOURCE and the other being a SINK). Ports are similar to openings in that they do not have any visible geometry; such geometry is captured at the shape representation of the enclosing element or element type. Ports may have shape representations that indicate the position, orientation, and cross-section of the connection.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcPort and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity:
Pset_DistributionPortCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_DistributionPortTypeAirConditioning (AIRCONDITIONING) Pset_DistributionPortTypeAudioVisual (AUDIOVISUAL) Pset_DistributionPortTypeData (DATA) Pset_DistributionPortTypeDomesticColdWater (DOMESTICCOLDWATER) Pset_DistributionPortTypeDomesticHotWater (DOMESTICHOTWATER) Pset_DistributionPortTypeDrainage (DRAINAGE) Pset_DistributionPortTypeElectrical (ELECTRICAL) Pset_DistributionPortTypeFireProtection (FIREPROTECTION) Pset_DistributionPortTypeGas (GAS) Pset_DistributionPortTypeHeating (HEATING) Pset_DistributionPortTypeOil (OIL) Pset_DistributionPortTypeSewage (SEWAGE) Pset_DistributionPortTypeSignal (SIGNAL) Pset_DistributionPortTypeTelephone (TELEPHONE)
The following property set definitions are applicable to IfcPerformanceHistory, for which objects are assigned:
Pset_DistributionPortPHistoryAirConditioning (AIRCONDITIONING) Pset_DistributionPortPHistoryControl (CONTROL) Pset_DistributionPortPHistoryData (DATA) Pset_DistributionPortPHistoryElectrical (ELECTRICAL) Pset_DistributionPortPHistoryGas (GAS) Pset_DistributionPortPHistoryHeating (HEATING) Pset_DistributionPortPHistoryOil (OIL) Pset_DistributionPortPHistorySignal (SIGNAL)
Material Use Definition The material of the IfcDistributionPort is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Media’: The solid, liquid, or gas media passing through the port.
Composition Use Definition The IfcDistributionPort may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionPort and RelatedObjects contains one or more components. Composition use is defined for the following predefined types:
AUDIOVISUAL: May contain IfcDistributionPort components having PredefinedType AUDIOVISUAL. If needed, audio-visual ports may be aggregated into specific streams (channels).CONTROL: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, control ports may be aggregated into signal lines for indicating pinout specification.DATA: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, data ports may be aggregated into signal lines for indicating pinout specification.ELECTRICAL: May contain IfcDistributionPort components having PredefinedType SIGNAL. If needed, electrical ports may be aggregated into modulated signals for data or lighting control.ELECTROACCOUSTIC: May contain IfcDistributionPort components having PredefinedType ELECTROACCOUSTIC. If needed, speaker ports may be aggregated into streams (channels) for each speaker.TELEPHONE: May contain IfcDistributionPort components having PredefinedType TELEPHONE. If needed, telephone ports may be aggregated for each line.
Connection Use Definition The IfcDistributionPort may be connected to other objects as follows using the indicated relationship:
IfcDistributionElement (IfcRelConnectsPortToElement) : Indicates the host element or element type containing the port. IfcDistributionPort (IfcRelConnectsPorts) : Indicates a connection to another port having the same type and opposite flow direction.
For port connections between elements, the RelatingPort is set to a port having FlowDirection=SOURCE and the RelatedPort is set to a port having FlowDirection=SINK.
For aggregation scenarios, ports on a device may be mapped to aggregated devices within, in which case ports on the outer device indicate a single FlowDirection but have an additional connection internally to a port on an aggregated inner device.
Refer to IfcUnitaryEquipment for an example.
Figure 149 illustrates distribution port connectivity.
Figure 149 — Distribution port connectivity
Assignment Use Definition The IfcDistributionPort may be assigned to the following entities using relationships as indicated:
IfcDistributionSystem (IfcRelAssignsToGroup): Indicates a system containing interconnected devices. IfcPerformanceHistory (IfcRelAssignsToControl): Indicates realtime or historical infomation captured for the device.
The IfcDistributionPort may have assignments of its own using the IfcRelAssignsToProduct relationship where RelatingProduct refers to the IfcDistributionPort and RelatedObjects contains one or more objects of the following types: IfcDistributionSystem: Indicates a system that is hosted by the port, as the origination.
Representation Use Definition The representation of IfcDistributionPort is given by IfcProductDefinitionShape, allowing multiple shape and topology representations. Included are:
IfcShapeRepresentation: The optional shape representation describes the connection volume and supports indication of the port position and orientation. The position is typically the midpoint of the physical connection, and the orientation points in the flow direction normal to the physical connection. Upon connecting elements through ports with rigid connections, each object is aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal.
‘Body’: The shape of the port.
Public Types
-
typedef IfcTemplatedEntityList<IfcDistributionPort>
list
Public Functions
-
bool
hasFlowDirection
() const Whether the optional attribute FlowDirection is defined for this IfcDistributionPort.
-
::Ifc2x3::IfcFlowDirectionEnum::Value
FlowDirection
() const Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource.
-
void
setFlowDirection
(::Ifc2x3::IfcFlowDirectionEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDistributionPort
(IfcEntityInstanceData *e)
-
IfcDistributionPort
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<::Ifc2x3::IfcFlowDirectionEnum::Value> v8_FlowDirection)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDistributionPort>
-
struct
IfcDocumentConfidentialityEnum
¶ Public Types
-
enum
Value
¶ IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices.
HISTORY: New enumeration in IFC 2x
Enumeration
PUBLIC: Document is publicly available. RESTRICTED: Document availability is restricted. CONFIDENTIAL: Document is confidential and its contents should not be revealed without permission. PERSONAL: Document is personal to the author. USERDEFINED NOTDEFINED
Values:
-
enumerator
IfcDocumentConfidentiality_PUBLIC
¶
-
enumerator
IfcDocumentConfidentiality_RESTRICTED
¶
-
enumerator
IfcDocumentConfidentiality_CONFIDENTIAL
¶
-
enumerator
IfcDocumentConfidentiality_PERSONAL
¶
-
enumerator
IfcDocumentConfidentiality_USERDEFINED
¶
-
enumerator
IfcDocumentConfidentiality_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDocumentElectronicFormat
: public IfcUtil::IfcBaseEntity IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation.
HISTORY: New entity in IFC 2x
Public Types
-
typedef IfcTemplatedEntityList<IfcDocumentElectronicFormat>
list
Public Functions
-
bool
hasFileExtension
() const Whether the optional attribute FileExtension is defined for this IfcDocumentElectronicFormat.
-
std::string
FileExtension
() const File extension of electronic document used by computer operating system.
-
void
setFileExtension
(std::string v)
-
bool
hasMimeContentType
() const Whether the optional attribute MimeContentType is defined for this IfcDocumentElectronicFormat.
-
std::string
MimeContentType
() const Main Mime type (as published by W3C or as user defined application type).
-
void
setMimeContentType
(std::string v)
-
bool
hasMimeSubtype
() const Whether the optional attribute MimeSubtype is defined for this IfcDocumentElectronicFormat.
-
std::string
MimeSubtype
() const Mime subtype information.
-
void
setMimeSubtype
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcDocumentElectronicFormat
(IfcEntityInstanceData *e)
-
IfcDocumentElectronicFormat
(boost::optional<std::string> v1_FileExtension, boost::optional<std::string> v2_MimeContentType, boost::optional<std::string> v3_MimeSubtype)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDocumentElectronicFormat>
-
class
IfcDocumentInformation
: public IfcUtil::IfcBaseEntity IfcDocumentInformation captures “metadata” of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference.
HISTORY: New entity in IFC 2x.
Public Types
-
typedef IfcTemplatedEntityList<IfcDocumentInformation>
list
Public Functions
-
std::string
DocumentId
() const Identifier that uniquely identifies a document.
-
void
setDocumentId
(std::string v)
-
std::string
Name
() const File name or document name assigned by owner.
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcDocumentInformation.
-
std::string
Description
() const Description of document and its content.
-
void
setDescription
(std::string v)
-
bool
hasDocumentReferences
() const Whether the optional attribute DocumentReferences is defined for this IfcDocumentInformation.
-
IfcTemplatedEntityList<::Ifc2x3::IfcDocumentReference>::ptr
DocumentReferences
() const
-
void
setDocumentReferences
(IfcTemplatedEntityList<::Ifc2x3::IfcDocumentReference>::ptr v)
-
bool
hasPurpose
() const Whether the optional attribute Purpose is defined for this IfcDocumentInformation.
-
std::string
Purpose
() const Purpose for this document.
-
void
setPurpose
(std::string v)
-
bool
hasIntendedUse
() const Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation.
-
std::string
IntendedUse
() const Intended use for this document.
-
void
setIntendedUse
(std::string v)
-
bool
hasScope
() const Whether the optional attribute Scope is defined for this IfcDocumentInformation.
-
std::string
Scope
() const Scope for this document.
-
void
setScope
(std::string v)
-
bool
hasRevision
() const Whether the optional attribute Revision is defined for this IfcDocumentInformation.
-
std::string
Revision
() const Document revision designation.
-
void
setRevision
(std::string v)
-
bool
hasDocumentOwner
() const Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcActorSelect *
DocumentOwner
() const Information about the person and/or organization acknowledged as the ‘owner’ of this document. In some contexts, the document owner determines who has access to or editing right to the document.
-
void
setDocumentOwner
(::Ifc2x3::IfcActorSelect *v)
-
bool
hasEditors
() const Whether the optional attribute Editors is defined for this IfcDocumentInformation.
-
IfcEntityList::ptr
Editors
() const The persons and/or organizations who have created this document or contributed to it.
-
void
setEditors
(IfcEntityList::ptr v)
-
bool
hasCreationTime
() const Whether the optional attribute CreationTime is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcDateAndTime *
CreationTime
() const Date and time stamp when the document was originally created.
IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601.
-
void
setCreationTime
(::Ifc2x3::IfcDateAndTime *v)
-
bool
hasLastRevisionTime
() const Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcDateAndTime *
LastRevisionTime
() const Date and time stamp when this document version was created.
IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601.
-
void
setLastRevisionTime
(::Ifc2x3::IfcDateAndTime *v)
-
bool
hasElectronicFormat
() const Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcDocumentElectronicFormat *
ElectronicFormat
() const Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided.
-
void
setElectronicFormat
(::Ifc2x3::IfcDocumentElectronicFormat *v)
-
bool
hasValidFrom
() const Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcCalendarDate *
ValidFrom
() const Date when the document becomes valid.
IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
-
void
setValidFrom
(::Ifc2x3::IfcCalendarDate *v)
-
bool
hasValidUntil
() const Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcCalendarDate *
ValidUntil
() const Date until which the document remains valid.
IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
-
void
setValidUntil
(::Ifc2x3::IfcCalendarDate *v)
-
bool
hasConfidentiality
() const Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcDocumentConfidentialityEnum::Value
Confidentiality
() const The level of confidentiality of the document.
-
void
setConfidentiality
(::Ifc2x3::IfcDocumentConfidentialityEnum::Value v)
-
bool
hasStatus
() const Whether the optional attribute Status is defined for this IfcDocumentInformation.
-
::Ifc2x3::IfcDocumentStatusEnum::Value
Status
() const The current status of the document. Examples of status values that might be used for a document information status include:
DRAFT
FINAL DRAFT
FINAL
REVISION
-
void
setStatus
(::Ifc2x3::IfcDocumentStatusEnum::Value v)
-
IfcTemplatedEntityList<IfcDocumentInformationRelationship>::ptr
IsPointedTo
() const
-
IfcTemplatedEntityList<IfcDocumentInformationRelationship>::ptr
IsPointer
() const
-
const IfcParse::entity &
declaration
() const
-
IfcDocumentInformation
(IfcEntityInstanceData *e)
-
IfcDocumentInformation
(std::string v1_DocumentId, std::string v2_Name, boost::optional<std::string> v3_Description, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcDocumentReference>::ptr> v4_DocumentReferences, boost::optional<std::string> v5_Purpose, boost::optional<std::string> v6_IntendedUse, boost::optional<std::string> v7_Scope, boost::optional<std::string> v8_Revision, ::Ifc2x3::IfcActorSelect *v9_DocumentOwner, boost::optional<IfcEntityList::ptr> v10_Editors, ::Ifc2x3::IfcDateAndTime *v11_CreationTime, ::Ifc2x3::IfcDateAndTime *v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat *v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate *v14_ValidFrom, ::Ifc2x3::IfcCalendarDate *v15_ValidUntil, boost::optional<::Ifc2x3::IfcDocumentConfidentialityEnum::Value> v16_Confidentiality, boost::optional<::Ifc2x3::IfcDocumentStatusEnum::Value> v17_Status)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDocumentInformation>
-
class
IfcDocumentInformationRelationship
: public IfcUtil::IfcBaseEntity An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents.
HISTORY New entity in Release IFC2x.
IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, order of attributes changed.
Use definitions This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained).
Public Types
-
typedef IfcTemplatedEntityList<IfcDocumentInformationRelationship>
list
Public Functions
-
::Ifc2x3::IfcDocumentInformation *
RelatingDocument
() const The document that acts as the parent, referencing or original document in a relationship.
-
void
setRelatingDocument
(::Ifc2x3::IfcDocumentInformation *v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcDocumentInformation>::ptr
RelatedDocuments
() const The document that acts as the child, referenced or replacing document in a relationship.
-
void
setRelatedDocuments
(IfcTemplatedEntityList<::Ifc2x3::IfcDocumentInformation>::ptr v)
-
bool
hasRelationshipType
() const Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship.
-
std::string
RelationshipType
() const Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context.
-
void
setRelationshipType
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcDocumentInformationRelationship
(IfcEntityInstanceData *e)
-
IfcDocumentInformationRelationship
(::Ifc2x3::IfcDocumentInformation *v1_RelatingDocument, IfcTemplatedEntityList<::Ifc2x3::IfcDocumentInformation>::ptr v2_RelatedDocuments, boost::optional<std::string> v3_RelationshipType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDocumentInformationRelationship>
-
class
IfcDocumentReference
: public Ifc2x3::IfcExternalReference An IfcDocumentReference is a reference to the location of a document. The reference is given by a system interpretable Location attribute (a URL string) where the document can be found, and an optional inherited internal reference Identification, which refers to a system interpretable position within the document. The optional inherited Name attribute is meant to have meaning for human readers. Optional document metadata can also be captured through reference to IfcDocumentInformation.
HISTORY: New Entity in IFC Release 2.0. Modified in IFC 2x.
Public Types
-
typedef IfcTemplatedEntityList<IfcDocumentReference>
list
Public Functions
-
IfcTemplatedEntityList<IfcDocumentInformation>::ptr
ReferenceToDocument
() const
-
const IfcParse::entity &
declaration
() const
-
IfcDocumentReference
(IfcEntityInstanceData *e)
-
IfcDocumentReference
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDocumentReference>
-
struct
IfcDocumentStatusEnum
¶ Public Types
-
enum
Value
¶ IfcDocumentStatusEnum enables selection of the status of document information from a list of choices.
HISTORY: New enumeration in IFC Release 2x.
Values:
-
enumerator
IfcDocumentStatus_DRAFT
¶
-
enumerator
IfcDocumentStatus_FINALDRAFT
¶
-
enumerator
IfcDocumentStatus_FINAL
¶
-
enumerator
IfcDocumentStatus_REVISION
¶
-
enumerator
IfcDocumentStatus_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDoor
: public Ifc2x3::IfcBuildingElement Definition from ISO 6707-1:1989: Construction for closing an opening, intended primarily for access with hinged, pivoted or sliding operation. The door is a building element that is predominately used to provide controlled access for people and goods. It includes constructions with hinged, pivoted, sliding, and additionally revolving and folding operations. A door consists of a lining and one or several panels. The IfcDoor defines a particular occurrence of a door inserted in the spatial context of a project. A door can:
be inserted as a filler in an opening using the IfcRelFillsElement relationship, then the IfcDoor has an inverse attribute FillsVoids provided,
NOTE View definitions or implementer agreements may restrict the relationship to only include one window (or door) into one opening.
be part of an element assembly, in general an IfcCurtainWall, using the IfcRelAggregates relationship, then the inverse attribute Decomposes is provided. or be a “free standing” door, then the IfcDoor has no inverse attributes FillsVoids or Decomposes provided.
The IFC specification provides two entities for door occurrences:
IfcDoorStandardCase used for all occurrences of doors, that have a ‘Profile’ shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an IfcDoorType that references one IfcDoorLiningProperties and on to many IfcDoorPanelProperties.
NOTE see IfcDoorStandardCase for all specific constraints imposed by this subtype.
IfcDoor used for all other occurrences of doors, particularly for doors having only ‘Brep’, or ‘SurfaceModel’ geometry without applying shape parameters.
The actual parameter of the door and/or its shape are defined by the IfcDoor as the occurrence definition (or project instance), or by the IfcDoorType as the specific definition (or project type). The following parameters are given:
at the IfcDoor or IfcDoorStandardCase for occurrence specific parameters. The IfcDoor specifies:
the door width and height the door opening direction (by the y-axis of the ObjectPlacement)
at the IfcDoorType, to which the IfcDoor is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinesByType, for type parameters common to all occurrences of the same type.
the operation type (single swing, double swing, revolving, etc.) the door hinge side (by using two different styles for right and left opening doors) the construction material type the particular attributes for the lining by the IfcDoorLiningProperties the particular attributes for the panels by the IfcDoorPanelProperties
HISTORY New entity in IFC Release 1.0. IFC2x4 CHANGE The attributes PredefinedType and OperationType are added, the applicable type object has been changed to IfcDoorType.
Material Use Definition The material of the IfcDoor is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Lining’ - to indicate that the material constituent applies to to the door lining ‘Framing’ - to indicate that the material constituent applies to to the door panel(s), if not provided, the ‘Lining’ material information applied to panel(s) as well ‘Glazing’ - to indicate that the material constituent applies to to the glazing part
If the fall back single IfcMaterial is referenced, it applies to the lining and framing of the door. Property Set Use Definition: The property sets relating to the IfcDoor are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcDoor are part of this IFC release:
Pset_DoorCommon: common property set for all door occurrences Pset_DoorWindowGlazingType: specific property set for the glazing properties of the door glazing, if available Pset_DoorWindowShadingType: specific property set for the shading properties of the door glazing, if available
Quantity Use Definition The quantities relating to the IfcDoor are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement. Quanties shall be never assigned to the IfcDoorType.
Qto_DoorBaseQuantities: base quantities for all door occurrences.
Containment Use Definition The IfcDoor, as any subtype of IfcBuildingElement, may participate in two different containment relationships as shown in Figure 96. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within anelement assembly.
The IfcDoor is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcDoor may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Doors may be part of an IfcCurtainWall as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e.SELF\IfcElement.ContainedInStructure should be NIL.
NOTE The containment shall be defined independently of the filling relationship, that is, even if the IfcDoor is a filling of an opening established by IfcRelFillsElement, it is also contained in the spatial structure by an IfcRelContainedInSpatialStructure.
Figure 96 — Door containment
Geometry Use Definitions: The geometric representation of IfcDoor is given by the IfcProductDefinitionShape, allowing multiple geometric representations. The IfcDoor, in case of an occurrance object, gets its parameter and shape from the IfcDoorType. If an IfcRepresentationMap (a block definition) is defined for the IfcDoorType, then the IfcDoor inserts it through the IfcMappedItem. Local Placement The local placement for IfcDoor is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the same element (if given), in which the IfcDoor is used as a filling (normally an IfcOpeningElement), as provided by the IfcRelFillsElement relationship. If the IfcDoor is not inserted into an IfcOpeningElement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representation Thegeometric representation of IfcDoor is defined using the following (potentiallymultiple) IfcShapeRepresentation’s for its IfcProductDefinitionShape:
Profile: A’Curve3D’ consisting of a single losed curve defining the outer boundary of the door (lining). The door parametric representation uses this profile in order to apply the door lining and panel parameter. If not provided, the profile of the IfcOpeningElement is taken. FootPrint: A ‘GeometricCurveSet’, or ‘Annotation2D’ representation defining the 2D shape of the door Body: A ‘SweptSolid’, ‘SurfaceModel’, or ‘Brep’ representation defining the 3D shape of the door.
In addition the parametric representation of a (limited) door shape is available by applying the parameters from IfcDoorType referencing IfcDoorLiningProperties and IfcDoorPanelProperties. The purpose of the parameter is described at those entities and below (door opening operation by door type). Profile -‘Curve3D’ representation The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation.The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Profile’ RepresentationType : ‘Curve3D’, only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.
A ‘Profile’ representation has to be provided if:
a parametric representation shall be applied to the door AND
thedoor is ‘free standing’, or the opening into which thedoor is inserted is not extruded horizontally (i.e. where the opening profile does not match thedoor profile)
FootPrint -‘GeometricCurveSet’ or ‘Annotation2D’ representation The door foot print is represented by a set of two-dimensionalcurves (or in case of ‘Annotation2D’ additional hatching and text) within a particular shape representation. The foot print is used for the planview representation of the door.The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘FootPrint’ RepresentationType : ‘GeometricCurveSet’, or ‘Annotation2D’
Body - ‘SweptSolid’, ‘SurfaceModel’, or ‘Brep’ representation The door body is either represented parameterically (see parametric representation) or by explicit 3D shape. The 3D shape is given by using extrusion geometry, or surface models, or Brep models within a particular shape representation. The body is used for the model view representation of the door.The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’, ‘SurfaceModel’, or ‘Brep’
MappedRepresentation The ‘FootPrint’ and ‘Body’ geometric representation of IfcDoor can be shared among several identical doors using the ‘MappedRepresentation’. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘FootPrint’, ‘Body’ RepresentationType : ‘MappedRepresentation’
The same constraints, as given for the ‘FootPrint’, ‘Body’ representation identifiers, shall apply to the MappedRepresentation of the IfcRepresentationMap. Parameteric Representation using parameters at IfcDoorType The parameters that defines the shape of the IfcDoor, are given at the IfcDoorType and the property sets, which are included in the IfcDoorType. The IfcDoor only defines the local placement which determines the opening direction of the door. The overall size of the IfcDoor to be used to apply the lining or panel parameter provided by the IfcDoorType is determined by the IfcShapeRepresentation with the RepresentationIdentifier = ‘Profile’. Only in case of an IfcDoor inserted into an IfcOpeningElement using the IfcRelFillsElement relatioship, having a horizontal extrusion (along the y-axis of the IfcDoor), the overall size is determined by the extrusion profile of the IfcOpeningElement. NOTE The OverallWidth and OverallHeight parameters are for informational purpose only. The opening direction is determined by the local placement of IfcDoor and the OperationType of the door style as shown in Figure 97. NOTE There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and need to be mapped appropriately.
Opening directions
Definitions Reference to other standards
The door panel (for swinging doors) opens always into the direction of the positive Y axis of the local placement. The determination of whether the door opens to the left or to the right is done at the level of the IfcDoorType. Here it is a left side opening door given byIfcDoorType.OperationType = SingleSwingLeft refered to as LEFT HAND (LH) in US *
refered to as DIN-R (right hung) in Germany
If the door should open to the other side, then the local placement has to be changed. It is still a left side opening door, given by IfcDoorType.OperationType = SingleSwingLeft refered to as RIGHT HAND REVERSE (RHR) in US *
refered to as DIN-R (right hung) in Germany
If the door panel (for swinging doors) opens to the right, a separate door style needs to be used (here IfcDoorTypee.OperationType = SingleSwingRight) and it always opens into the direction of the positive Y axis of the local placement. refered to as RIGHT HAND (RH) in US *
refered to as DIN-L (left hung) in Germany
If the door panel (for swinging doors) opens to the right, and into the opposite directions, the local placement of the door need to change. The door style is given by IfcDoorType.OperationType = SingleSwingRight. refered to as LEFT HAND REVERSE (LHR) in US *
refered to as DIN-L (left hung) in Germany
it assumes that the ‘inside/private/primary’ space is above (top in the pictures) and the ‘outside/public/secondary’ space is below (bottom in the pictures).
Figure 97 — Door swing
Public Types
-
typedef IfcTemplatedEntityList<IfcDoor>
list
Public Functions
-
bool
hasOverallHeight
() const Whether the optional attribute OverallHeight is defined for this IfcDoor.
-
double
OverallHeight
() const Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted.
NOTE The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining.
-
void
setOverallHeight
(double v)
-
bool
hasOverallWidth
() const Whether the optional attribute OverallWidth is defined for this IfcDoor.
-
double
OverallWidth
() const Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted.
NOTE The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining.
-
void
setOverallWidth
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcDoor
(IfcEntityInstanceData *e)
-
IfcDoor
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<double> v9_OverallHeight, boost::optional<double> v10_OverallWidth)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
class
IfcDoorLiningProperties
: public Ifc2x3::IfcPropertySetDefinition The door lining is the frame which enables the door leaf to be fixed in position. The door lining is used to hang the door leaf. The parameters of the door lining (IfcDoorLiningProperties) define the geometrically relevant parameter of the lining.
NOTE The IfcDoorLiningProperties shall only be applied to construct the 3D shape of a door, if the attribute IfcDoorStyle.ParameterTakesPrecedence is set TRUE.
The IfcDoorLiningProperties are included in the list of properties of IfcDoorStyle.HasPropertySets. More information about the door lining can be included in the same list of the IfcDoorStyle using another IfcPropertySet for dynamic extensions.
HISTORY New entity in IFC Release 2.0. Has been renamed from IfcDoorLining in IFC Release 2x.
IFC2x4 CHANGE The following attributes have been added LiningToPanelOffsetX, LiningToPanelOffsetY. The attribute ShapeAspectStyle is deprecated and shall no longer be used. Supertype changed to new IfcPreDefinedPropertySet.
Geometry use definitions The IfcDoorLiningProperties does not hold its own geometric representation. However it defines parameters which can be used to create the shape of the door style (which is inserted by the IfcDoor into the spatial context of the project) as shown in Figure 172. The parameters of the IfcDoorLiningProperties define a standard door lining, including (if given) a threshold and a transom. The outer boundary of the lining is determined by the occurrence parameter assigned to the IfcDoor, which inserts the IfcDoorStyle.
The lining is applied to the left, right and upper side of the opening reveal. The parameters are:
LiningDepth, if omited, equal to wall thickness - this only takes effect if a value for LiningThickness is given. If both parameters are not given, then there is no lining. LiningThickness LiningToPanelOffsetX LiningToPanelOffsetY
NOTE Parameters added in IFC2x4.
The lining can only cover part of the opening reveal.
LiningOffset : given if lining edge has an offset to the x axis of the local placement.
NOTE In addition to theLiningOffset, the local placement of the IfcDoor can already have an offset to the wall edge and thereby shift the lining along the y axis. The actual position of the lining is calculated from the origin of the local placement along the positive y axis with the distance given by LiningOffset.
The lining may include a casing, which covers part of the wall faces around the opening. The casing covers the left, right and upper side of the lining on both sides of the wall. The parameters are:
CasingDepth CasingThickness
The lining may include a threshold, which covers the bottom side of the opening. The parameters are:
ThresholdDepth if omited, equal to wall thickness - this only takes effect if a value for ThresholdThickness is given. If both parameters are not given, then there is no threshold. ThresholdThickness ThresholdOffset (not shown in figure): given, if the threshold edge has an offset to the x axis of the local placement.
The lining may have a transom which separates the door panel from a window panel. The transom, if given, is defined by:
TransomOffset : a parallel edge to the x axis of the local placement TransomThickness
The depth of the transom is identical to the depth of the lining and not given as separate parameter.
Figure 172 — Door lining properties
NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to “automatically aligned” to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth.
Public Types
-
typedef IfcTemplatedEntityList<IfcDoorLiningProperties>
list
Public Functions
-
bool
hasLiningDepth
() const Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties.
-
double
LiningDepth
() const Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted).
-
void
setLiningDepth
(double v)
-
bool
hasLiningThickness
() const Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties.
-
double
LiningThickness
() const Thickness (width in plane parallel to door leaf) of the door lining.
-
void
setLiningThickness
(double v)
-
bool
hasThresholdDepth
() const Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties.
-
double
ThresholdDepth
() const Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted).
-
void
setThresholdDepth
(double v)
-
bool
hasThresholdThickness
() const Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties.
-
double
ThresholdThickness
() const Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known.
-
void
setThresholdThickness
(double v)
-
bool
hasTransomThickness
() const Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties.
-
double
TransomThickness
() const Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above.
-
void
setTransomThickness
(double v)
-
bool
hasTransomOffset
() const Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties.
-
double
TransomOffset
() const Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening.
-
void
setTransomOffset
(double v)
-
bool
hasLiningOffset
() const Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties.
-
double
LiningOffset
() const Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement.
-
void
setLiningOffset
(double v)
-
bool
hasThresholdOffset
() const Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties.
-
double
ThresholdOffset
() const Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known.
-
void
setThresholdOffset
(double v)
-
bool
hasCasingThickness
() const Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties.
-
double
CasingThickness
() const Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall.
-
void
setCasingThickness
(double v)
-
bool
hasCasingDepth
() const Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties.
-
double
CasingDepth
() const Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall.
-
void
setCasingDepth
(double v)
-
bool
hasShapeAspectStyle
() const Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties.
-
::Ifc2x3::IfcShapeAspect *
ShapeAspectStyle
() const Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining.
IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($).
-
void
setShapeAspectStyle
(::Ifc2x3::IfcShapeAspect *v)
-
const IfcParse::entity &
declaration
() const
-
IfcDoorLiningProperties
(IfcEntityInstanceData *e)
-
IfcDoorLiningProperties
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<double> v5_LiningDepth, boost::optional<double> v6_LiningThickness, boost::optional<double> v7_ThresholdDepth, boost::optional<double> v8_ThresholdThickness, boost::optional<double> v9_TransomThickness, boost::optional<double> v10_TransomOffset, boost::optional<double> v11_LiningOffset, boost::optional<double> v12_ThresholdOffset, boost::optional<double> v13_CasingThickness, boost::optional<double> v14_CasingDepth, ::Ifc2x3::IfcShapeAspect *v15_ShapeAspectStyle)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDoorLiningProperties>
-
struct
IfcDoorPanelOperationEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. HISTORY New Enumeration in IFC Release 2.0. IFC2x4 CHANGE Enumerator FIXEDPANELadded.
Swinging
DoubleActing
Sliding
Folding
Revolving
Rollingup
FixedPanel
NOTE Enumerator added in IFC2x4.
UserDefined
NotDefined
Figure 164 — Door operations
The opening direction of the door panels is given by the local placement of the IfcDoor. The positive y-axis determines the direction as shown in Figure 165.
Figure 165 — Door panel operations
NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations
Values:
-
enumerator
IfcDoorPanelOperation_SWINGING
¶
-
enumerator
IfcDoorPanelOperation_DOUBLE_ACTING
¶
-
enumerator
IfcDoorPanelOperation_SLIDING
¶
-
enumerator
IfcDoorPanelOperation_FOLDING
¶
-
enumerator
IfcDoorPanelOperation_REVOLVING
¶
-
enumerator
IfcDoorPanelOperation_ROLLINGUP
¶
-
enumerator
IfcDoorPanelOperation_USERDEFINED
¶
-
enumerator
IfcDoorPanelOperation_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcDoorPanelPositionEnum
¶ Public Types
-
enum
Value
¶ Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining.
HISTORY New Enumeration in IFC Release 2.x
Figure 166 shows the designation of a door panel with PanelPosition = LEFT and a door panel with PanelPosition = RIGHT within a door style with OperationType = DOUBLE_DOOR_SINGLE_SWING. The position is given as shown in the XZ plane of the local placement, looking into the direction of the positive Y axis.
Figure 166 — Door panel positions
Values:
-
enumerator
IfcDoorPanelPosition_LEFT
¶
-
enumerator
IfcDoorPanelPosition_MIDDLE
¶
-
enumerator
IfcDoorPanelPosition_RIGHT
¶
-
enumerator
IfcDoorPanelPosition_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDoorPanelProperties
: public Ifc2x3::IfcPropertySetDefinition A door panel is normally a door leaf that opens to allow people or goods to pass. The parameters of the door panel define the geometrically relevant parameter of the panel,
The IfcDoorPanelProperties are used to parametrically describe the shape and operation of door panels. The parametric definition can be added solely or additionally to the explicit shape representation of the door.
The IfcDoorStyle can define doors consisting of more then one panel. In this case, one instance of IfcDoorPanelProperties has to be included for each door panel. The PanelPosition attribute, in conjunction with the IfcDoorStyle.OperationType attribute, determines to which panel the IfcDoorPanelProperties apply. The IfcDoorPanelProperties are included in the list of properties , given by attribute HasPropertySets of the IfcDoorStyle. More information about the door panel can be included in the same list of the IfcDoorStyle using the IfcPropertySet for dynamic extensions.
HISTORY New Entity in IFC Release 2.0.
IFC2x4 CHANGE Supertype changed to new IfcPreDefinedPropertySet.
Geometry use definitions
The IfcDoorPanelProperties does not hold a geometric representation. However it defines parameters which can be used to create the shape of the door style (which is inserted by the IfcDoor into the spatial context of the project) as shown in Figure 173. The parameters of the IfcDoorPanelProperties define a standard door panel, including (if given) a proportional width to define non-uniform double swing (or sliding, or folding) doors. The outer boundary of the panel is determined by the occurrence parameter assigned to the IfcDoor, which inserts the IfcDoorStyle. It has to take the lining parameter into account as well.
The depth of the panel (swinging, double-acting, and sliding panels) is defined by the PanelDepth parameter.
PanelDepth
For door operation types that include more than one panel, the width of (at least) one panel is given by a normalised ratio measure. It determines the width of that panel, which is defined as a ratio of the overall width of the door opening.
PanelWidth
Figure 173 — Door panel properties
Public Types
-
typedef IfcTemplatedEntityList<IfcDoorPanelProperties>
list
Public Functions
-
bool
hasPanelDepth
() const Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties.
-
double
PanelDepth
() const Depth of the door panel, measured perpendicular to the plane of the door leaf.
-
void
setPanelDepth
(double v)
-
::Ifc2x3::IfcDoorPanelOperationEnum::Value
PanelOperation
() const The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced.
-
void
setPanelOperation
(::Ifc2x3::IfcDoorPanelOperationEnum::Value v)
-
bool
hasPanelWidth
() const Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties.
-
double
PanelWidth
() const Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType’s at IfcDoorStyle defining a door with more then one panel.
-
void
setPanelWidth
(double v)
-
::Ifc2x3::IfcDoorPanelPositionEnum::Value
PanelPosition
() const Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced.
-
void
setPanelPosition
(::Ifc2x3::IfcDoorPanelPositionEnum::Value v)
-
bool
hasShapeAspectStyle
() const Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorPanelProperties.
-
::Ifc2x3::IfcShapeAspect *
ShapeAspectStyle
() const Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door panel.
IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($).
-
void
setShapeAspectStyle
(::Ifc2x3::IfcShapeAspect *v)
-
const IfcParse::entity &
declaration
() const
-
IfcDoorPanelProperties
(IfcEntityInstanceData *e)
-
IfcDoorPanelProperties
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<double> v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional<double> v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect *v9_ShapeAspectStyle)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDoorPanelProperties>
-
class
IfcDoorStyle
: public Ifc2x3::IfcTypeProduct Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties.
The door entity, IfcDoor, defines a particular occurrence of a door inserted in the spatial context of a project. The actual parameter of the door and/or its shape is defined at the IfcDoorStyle, to which the IfcDoor is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinedByType. The IfcDoorStyle also defines the particular attributes for the lining, IfcDoorLiningProperties, and panels, IfcDoorPanelProperties.
HISTORYNew entity in IFC Release 2x.
IFC2x4 CHANGE The entity is deprecated and shall not be used. The new entity IfcDoorType shall be used instead.
Geometry use definitions
The IfcDoorStyle defines the baseline geometry, or the representation map, for all occurrences of the door style, given by the IfcDoor, pointing to this style. The representation of the door style may be given by the agreed set of minimal parameters, defined for the door lining and the door panel(s), or it may be given by a geometric representation used by the IfcRepresentationMap. The attribute ParameterTakesPrecedence decides, whether the set of parameters can be used to exactly represent the shape of the door style (TRUE), or whether the attached IfcRepresentationMap holds the exact representation (FALSE).
The IfcDoorStyleOperationTypeEnum defines the general layout of the door style. Depending on the enumerator, the appropriate instances of IfcDoorLiningProperties and IfcDoorPanelProperties are attached in the list of HasPropertySets. The IfcDoorStyleOperationTypeEnum mainly determines the hinge side (left hung, or right hung), the operation (swinging, sliding, folding, etc.)and the number of panels.
See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types.
Public Types
-
typedef IfcTemplatedEntityList<IfcDoorStyle>
list
Public Functions
-
::Ifc2x3::IfcDoorStyleOperationEnum::Value
OperationType
() const Type defining the general layout and operation of the door style.
-
void
setOperationType
(::Ifc2x3::IfcDoorStyleOperationEnum::Value v)
-
::Ifc2x3::IfcDoorStyleConstructionEnum::Value
ConstructionType
() const Type defining the basic construction and material type of the door.
-
void
setConstructionType
(::Ifc2x3::IfcDoorStyleConstructionEnum::Value v)
-
bool
ParameterTakesPrecedence
() const The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value.
-
void
setParameterTakesPrecedence
(bool v)
-
bool
Sizeable
() const The Boolean indicates, whether the attached IfcMappedRepresentation (if given) can be sized (using scale factor of transformation), or not (FALSE). If not, the IfcMappedRepresentation should be IfcShapeRepresentation of the IfcDoor (using IfcMappedItem as the Item) with the scale factor = 1.
-
void
setSizeable
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcDoorStyle
(IfcEntityInstanceData *e)
-
IfcDoorStyle
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDoorStyle>
-
struct
IfcDoorStyleConstructionEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration defines the basic types of construction of doors. The construction type relates to the main material (or material combination) used for making the door.
HISTORY New Enumeration in IFC Release 2x .
Values:
-
enumerator
IfcDoorStyleConstruction_ALUMINIUM
¶
-
enumerator
IfcDoorStyleConstruction_HIGH_GRADE_STEEL
¶
-
enumerator
IfcDoorStyleConstruction_STEEL
¶
-
enumerator
IfcDoorStyleConstruction_WOOD
¶
-
enumerator
IfcDoorStyleConstruction_ALUMINIUM_WOOD
¶
-
enumerator
IfcDoorStyleConstruction_ALUMINIUM_PLASTIC
¶
-
enumerator
IfcDoorStyleConstruction_PLASTIC
¶
-
enumerator
IfcDoorStyleConstruction_USERDEFINED
¶
-
enumerator
IfcDoorStyleConstruction_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcDoorStyleOperationEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. HISTORY New Enumeration in Release IFC2x.
Enumerator Description Figure
SINGLE_SWING_LEFT
Door with one panel that opens (swings) to the left. The hinges are on the left side as viewed in the direction of the positive y-axis. Note: Direction of swing (whether in or out) is determined at the IfcDoor.
SINGLE_SWING_RIGHT
Door with one panel that opens (swings) to the right. The hinges are on the right side as viewed in the direction of the positive y-axis. Note: Direction of swing (whether in or out) is determined at the IfcDoor.
DOUBLE_DOOR_ SINGLE_SWING
Door with two panels, one opens (swings) to the left the other opens (swings) to the right. Note: Direction of swing (whether in or out) is determined at the IfcDoor.
DOUBLE_SWING_LEFT
Door with one panel that swings in both directions and to the left in the main trafic direction. Also called double acting door. Note: Direction of main swing (whether in or out) is determined at the IfcDoor.
DOUBLE_SWING_RIGHT
Door with one panel that swings in both directions and to the right in the main trafic direction. Also called double acting door. Note: Direction of main swing (whether in or out) is determined at the IfcDoor.
DOUBLE_DOOR_ DOUBLE_SWING
Door with two panels, one swings in both directions and to the right in the main trafic direction the other swings also in both directions and to the left in the main trafic direction. Note: Direction of main swing (whether in or out) is determined at the IfcDoor.
DOUBLE_DOOR_ SINGLE_SWING_ OPPOSITE_LEFT
Door with two panels that both open to the left, one panel swings in one direction and the other panel swings in the opposite direction. Note: Direction of main swing (whether in or out) is determined at the IfcDoor.
DOUBLE_DOOR_ SINGLE_SWING_ OPPOSITE_RIGHT Door with two panels that both open to the right, one panel swings in one direction and the other panel swings in the opposite direction. Note: Direction of main swing (whether in or out) is determined at the IfcDoor.
SLIDING_TO_LEFT
Door with one panel that is sliding to the left.
SLIDING_TO_RIGHT
Door with one panel that is sliding to the right.
DOUBLE_DOOR_SLIDING
Door with two panels, one is sliding to the left the other is sliding to the right.
FOLDING_TO_LEFT
Door with one panel that is folding to the left.
FOLDING_TO_RIGHT Door with one panel that is folding to the right.
DOUBLE_DOOR_FOLDING
Door with two panels, one is folding to the left the other is folding to the right.
REVOLVING
An entrance door consisting of four leaves set in a form of a cross and revolving around a central vertical axis (the four panels are described by a single IfcDoor panel property).
ROLLINGUP
Door that opens by rolling up. Note: Whether it rolls up to the inside or outside is determined at the IfcDoor.
USERDEFINED User defined operation type
NOTDEFINED A door with a not defined operation type is considered as a door with a lining, but no panels. It is thereby always open.
Figure 167 — Door style operations
NOTE
Figures are shown in the ground view. Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations, the actual representation in the ground view might differ. Open to the outside is declared as open into the direction of the positive y-axis, determined by the ObjectPlacement at IfcDoor The location of the panel relative to the wall thickness is defined by theObjectPlacement at IfcDoor, and the IfcDoorLiningProperties.LiningOffset parameter.
Values:
-
enumerator
IfcDoorStyleOperation_SINGLE_SWING_LEFT
¶
-
enumerator
IfcDoorStyleOperation_SINGLE_SWING_RIGHT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_SWING_LEFT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_SWING_RIGHT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING
¶
-
enumerator
IfcDoorStyleOperation_SLIDING_TO_LEFT
¶
-
enumerator
IfcDoorStyleOperation_SLIDING_TO_RIGHT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING
¶
-
enumerator
IfcDoorStyleOperation_FOLDING_TO_LEFT
¶
-
enumerator
IfcDoorStyleOperation_FOLDING_TO_RIGHT
¶
-
enumerator
IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING
¶
-
enumerator
IfcDoorStyleOperation_REVOLVING
¶
-
enumerator
IfcDoorStyleOperation_ROLLINGUP
¶
-
enumerator
IfcDoorStyleOperation_USERDEFINED
¶
-
enumerator
IfcDoorStyleOperation_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDoseEquivalentMeasure
: public IfcUtil::IfcBaseType IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. Usually measured in Sievert (Sv, J/kg). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcDoseEquivalentMeasure
(IfcEntityInstanceData *e)
-
IfcDoseEquivalentMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcDraughtingCallout
: public Ifc2x3::IfcGeometricRepresentationItem Subclassed by Ifc2x3::IfcDimensionCurveDirectedCallout, Ifc2x3::IfcStructuredDimensionCallout
Public Types
-
typedef IfcTemplatedEntityList<IfcDraughtingCallout>
list
Public Functions
-
IfcEntityList::ptr
Contents
() const
-
void
setContents
(IfcEntityList::ptr v)
-
IfcTemplatedEntityList<IfcDraughtingCalloutRelationship>::ptr
IsRelatedFromCallout
() const
-
IfcTemplatedEntityList<IfcDraughtingCalloutRelationship>::ptr
IsRelatedToCallout
() const
-
const IfcParse::entity &
declaration
() const
-
IfcDraughtingCallout
(IfcEntityInstanceData *e)
-
IfcDraughtingCallout
(IfcEntityList::ptr v1_Contents)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDraughtingCallout>
-
class
IfcDraughtingCalloutRelationship
: public IfcUtil::IfcBaseEntity Subclassed by Ifc2x3::IfcDimensionCalloutRelationship, Ifc2x3::IfcDimensionPair
Public Types
-
typedef IfcTemplatedEntityList<IfcDraughtingCalloutRelationship>
list
Public Functions
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcDraughtingCalloutRelationship.
-
std::string
Name
() const
-
void
setName
(std::string v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcDraughtingCalloutRelationship.
-
std::string
Description
() const
-
void
setDescription
(std::string v)
-
::Ifc2x3::IfcDraughtingCallout *
RelatingDraughtingCallout
() const
-
void
setRelatingDraughtingCallout
(::Ifc2x3::IfcDraughtingCallout *v)
-
::Ifc2x3::IfcDraughtingCallout *
RelatedDraughtingCallout
() const
-
void
setRelatedDraughtingCallout
(::Ifc2x3::IfcDraughtingCallout *v)
-
const IfcParse::entity &
declaration
() const
-
IfcDraughtingCalloutRelationship
(IfcEntityInstanceData *e)
-
IfcDraughtingCalloutRelationship
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcDraughtingCallout *v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout *v4_RelatedDraughtingCallout)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDraughtingCalloutRelationship>
-
class
IfcDraughtingPreDefinedColour
: public Ifc2x3::IfcPreDefinedColour The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are:
‘black’, ‘red’, ‘green’, ‘blue’, ‘yellow’, ‘magenta’, ‘cyan’, ‘white’, ‘by layer’
NOTEThe IfcDraughtingPreDefinedColour is an entity that had been adopted from ISO 10303-202, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting.
The following table states the RGB values associated with the names given by the IfcDraughtingPreDefinedColour.
Colour name Red Green Blue
black 0 0 0
red 1.0 0 0
green 0 1.0 0
blue 0 0 1.0
yellow 1.0 1.0 0
magenta 1.0 0 1.0
cyan 0 1.0 1.0
white 1.0 1.0 1.0
by layer colour values obtained from IfcPresentationLayerWithStyle.
NOTECorresponding ISO 10303 name: draughting_pre_defined_colour. Please refer to ISO/IS 10303-202:1994 page 194 for the final definition of the formal standard.
HISTORYNew entity in IFC2x2.
Informal proposition
The value ‘by layer’ shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable).
Public Types
-
typedef IfcTemplatedEntityList<IfcDraughtingPreDefinedColour>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDraughtingPreDefinedColour
(IfcEntityInstanceData *e)
-
IfcDraughtingPreDefinedColour
(std::string v1_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDraughtingPreDefinedColour>
-
class
IfcDraughtingPreDefinedCurveFont
: public Ifc2x3::IfcPreDefinedCurveFont The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name.
NOTE The IfcDraughtingPreDefinedCurveFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46 Technical Corrigendum 2: Integrated generic resources: Visual presentation.
Figure 291 (from ISO 10303-46 TC2) illustrates predefined curve fonts.
Figure 291 — Draughting predefined curve font
NOTE If the IfcDraughtingPreDefinedCurveFont is used within an IfcCurveStyleFontAndScaling then the segment and space lengths that are given in the table are as such for the scale factor 1.0
NOTE Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcDraughtingPreDefinedCurveFont>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDraughtingPreDefinedCurveFont
(IfcEntityInstanceData *e)
-
IfcDraughtingPreDefinedCurveFont
(std::string v1_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDraughtingPreDefinedCurveFont>
-
class
IfcDraughtingPreDefinedTextFont
: public Ifc2x3::IfcPreDefinedTextFont The draughting pre defined text font is a pre defined text font for the purpose to identify a font by name. Allowable names are:
‘ISO 3098-1 font A’, ‘ISO 3098-1 font B’,
The ISO 3098-1 font A is the text font as denoted as Letterng A in clause 3 of ISO 3098-1, the ISO 3098-1 font B is the text font as denoted as Letterng B in clause 3 of ISO 3098-1.
NOTE The IfcDraughtingPreDefinedTextFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. Corresponding ISO 10303 name: draughting_pre_defined_text_font. Please refer to ISO/IS 10303-202:1994 page 196 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcDraughtingPreDefinedTextFont>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcDraughtingPreDefinedTextFont
(IfcEntityInstanceData *e)
-
IfcDraughtingPreDefinedTextFont
(std::string v1_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDraughtingPreDefinedTextFont>
-
class
IfcDuctFittingType
: public Ifc2x3::IfcFlowFittingType The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a duct fitting specification (i.e. the specific product information, that is common to all occurrences of that product type). Duct Fitting types may be exchanged without being already assigned to occurrences. Occurrences of IfcDuctFittingType are represented by instances of IfcDuctFitting.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_DuctFittingTypeCommon
Material Use Definition The material of the IfcDuctFittingType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:
‘Body’: Material from which the duct fitting is constructed. ‘Coating’: The outer coating, if applicable. ‘Insulation’: The insulating wrapping, if applicable. ‘Lining’: The inner lining, if applicable.
Port Use Definition The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcDuctFittingType>
list
Public Functions
-
::Ifc2x3::IfcDuctFittingTypeEnum::Value
PredefinedType
() const The type of duct fitting.
-
void
setPredefinedType
(::Ifc2x3::IfcDuctFittingTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDuctFittingType
(IfcEntityInstanceData *e)
-
IfcDuctFittingType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDuctFittingType>
-
struct
IfcDuctFittingTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism to generically identify the duct fitting type. Subcategories of duct fittings are not enumerated. The IfcDuctFittingTypeEnum contains the following:
BEND: A fitting with typically two ports used to change the direction of flow between connected elements. CONNECTOR: Connector fitting, typically used to join two ports together within a flow distribution system (e.g., a coupling used to join two duct segments). ENTRY: Entry fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., an outside air duct system intake opening). EXIT: Exit fitting, typically unconnected at one port and connected to a flow distribution system at the other (e.g., an exhaust air discharge opening). JUNCTION: A fitting with typically more than two ports used to redistribute flow among the ports and/or to change the direction of flow between connected elements (e.g, tee, cross, wye, etc.). OBSTRUCTION: A fitting with typically two ports used to obstruct or restrict flow between the connected elements (e.g., screen, perforated plate, etc.). TRANSITION: A fitting with typically two ports having different shapes or sizes. Can also be used to change the direction of flow between connected elements. USERDEFINED: User-defined fitting. NOTDEFINED: Undefined fitting.
HISTORY: New enumeration in IFC 2x2
Values:
-
enumerator
IfcDuctFittingType_BEND
¶
-
enumerator
IfcDuctFittingType_CONNECTOR
¶
-
enumerator
IfcDuctFittingType_ENTRY
¶
-
enumerator
IfcDuctFittingType_EXIT
¶
-
enumerator
IfcDuctFittingType_JUNCTION
¶
-
enumerator
IfcDuctFittingType_OBSTRUCTION
¶
-
enumerator
IfcDuctFittingType_TRANSITION
¶
-
enumerator
IfcDuctFittingType_USERDEFINED
¶
-
enumerator
IfcDuctFittingType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDuctSegmentType
: public Ifc2x3::IfcFlowSegmentType The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a duct segment specification (i.e. the specific product information, that is common to all occurrences of that product type). Duct Segment types may be exchanged without being already assigned to occurrences. Occurrences of IfcDuctSegmentType are represented by instances of IfcDuctSegment.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowSegmentType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_DuctSegmentTypeCommon
Material Use Definition The material of the IfcDuctSegmentType is defined by IfcMaterialProfileSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialProfileSet.MaterialProfiles[n].Name shall be used:
‘Body’: Material from which the duct segment is constructed. ‘Coating’: The outer coating, if applicable. ‘Insulation’: The insulating wrapping, if applicable. ‘Lining’: The inner lining, if applicable.
Port Use Definition The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcDuctSegmentType>
list
Public Functions
-
::Ifc2x3::IfcDuctSegmentTypeEnum::Value
PredefinedType
() const The type of duct segment.
-
void
setPredefinedType
(::Ifc2x3::IfcDuctSegmentTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDuctSegmentType
(IfcEntityInstanceData *e)
-
IfcDuctSegmentType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDuctSegmentType>
-
struct
IfcDuctSegmentTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration is used to identify the primary purpose of a duct segment. This is a very basic categorization mechanism to generically identify the duct segment type. Subcategories of duct segments are not enumerated. The IfcDuctSegmentTypeEnum contains the following:
RIGIDSEGMENT: A rigid segment is continuous linear segment of duct that cannot be deformed. FLEXIBLESEGMENT: A flexible segment is a continuous non-linear segment of duct that can be deformed and change the direction of flow. USERDEFINED: User-defined segment. NOTDEFINED: Undefined segment.
HISTORY: New enumeration in IFC 2x2
Values:
-
enumerator
IfcDuctSegmentType_RIGIDSEGMENT
¶
-
enumerator
IfcDuctSegmentType_FLEXIBLESEGMENT
¶
-
enumerator
IfcDuctSegmentType_USERDEFINED
¶
-
enumerator
IfcDuctSegmentType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDuctSilencerType
: public Ifc2x3::IfcFlowTreatmentDeviceType The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a duct silencer specification (i.e. the specific product information, that is common to all occurrences of that product type). Duct Silencer types may be exchanged without being already assigned to occurrences. Occurrences of IfcDuctSilencerType are represented by instances of IfcDuctSilencer.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTreatmentDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_DuctSilencerTypeCommon
Material Use Definition The material of the IfcDuctSilencerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcDuctSilencerType>
list
Public Functions
-
::Ifc2x3::IfcDuctSilencerTypeEnum::Value
PredefinedType
() const The type of duct silencer.
-
void
setPredefinedType
(::Ifc2x3::IfcDuctSilencerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcDuctSilencerType
(IfcEntityInstanceData *e)
-
IfcDuctSilencerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcDuctSilencerType>
-
struct
IfcDuctSilencerTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of duct silencers. The IfcDuctSilencerTypeEnum contains the following:
FLATOVAL: Flat-oval shaped duct silencer type. RECTANGULAR: Rectangular shaped duct silencer type. ROUND: Round duct silencer type. USERDEFINED: User-defined duct silencer type. NOTDEFINED: Undefined duct silencer type.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcDuctSilencerType_FLATOVAL
¶
-
enumerator
IfcDuctSilencerType_RECTANGULAR
¶
-
enumerator
IfcDuctSilencerType_ROUND
¶
-
enumerator
IfcDuctSilencerType_USERDEFINED
¶
-
enumerator
IfcDuctSilencerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcDynamicViscosityMeasure
: public IfcUtil::IfcBaseType IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium.
Usually measured in Pascal second (Pa s). Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcDynamicViscosityMeasure
(IfcEntityInstanceData *e)
-
IfcDynamicViscosityMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcEdge
: public Ifc2x3::IfcTopologicalRepresentationItem Definition from ISO/CD 10303-42:1992: An edge is the topological construct corresponding to the connection of two vertices. More abstractly, it may stand for a logical relationship between two vertices. The domain of an edge, if present, is a finite, non-self-intersecting open curve in RM, that is, a connected 1-dimensional manifold. The bounds of an edge are two vertices, which need not be distinct. The edge is oriented by choosing its traversal direction to run from the first to the second vertex. If the two vertices are the same, the edge is a self loop. The domain of the edge does not include its bounds, and 0 ≤ Ξ ≤ ∞. Associated with an edge may be a geometric curve to locate the edge in a coordinate space; this is represented by the edge curve (IfcEdgeCurve) subtype. The curve shall be finite and non-self-intersecting within the domain of the edge. An edge is a graph, so its multiplicity M and graph genus Ge may be determined by the graph traversal algorithm. Since M = E = 1, the Euler equation (1) reduces in the case to
where V = 1 or 2, and Ge = 1 or 0. Specifically, the topological edge defining data shall satisfy:
an edge has two vertices
the vertices need not be distinct
Equation (2) shall hold.
The geometry between the two vertices defaults to a straight line if no curve geometry is assigned using the subtype IfcEdgeCurve. The IfcEdge can therefore be used to exchange straight edges without an associated geometry provided by IfcLine or IfcPolyline thought IfcEdgeCurve.EdgeGeometry.
Figure 333 illustrates an example where the bounds of the IfcEdge are given by the EdgeStart and EdgeEnd; this also determines the direction of the edge. The location within a coordinate space is determined by the IfcVertexPoint type for EdgeStart and EdgeEnd. Since no edge geometry is assigned, it defaults to a straight line agreeing to the direction sense.
Figure 333 — Edge representation
NOTE Corresponding ISO 10303 entity: edge. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard.
HISTORY New Entity in IFC Release 2.0
Informal propositions:
The edge has dimensionality 1. The extend of an edge shall be finite and nonzero.
Subclassed by Ifc2x3::IfcEdgeCurve, Ifc2x3::IfcOrientedEdge, Ifc2x3::IfcSubedge
Public Types
-
typedef IfcTemplatedEntityList<IfcEdge>
list
Public Functions
-
::Ifc2x3::IfcVertex *
EdgeEnd
() const End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd.
-
const IfcParse::entity &
declaration
() const
-
IfcEdge
(IfcEntityInstanceData *e)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
class
IfcEdgeCurve
: public Ifc2x3::IfcEdge Definition from ISO/CD 10303-42:1992: An edge curve is a special subtype of edge which has its geometry fully defined. The geometry is defined by associating the edge with a curve which may be unbounded. As the topological and geometric directions may be opposed, an indicator (same sense) is used to identify whether the edge and curve directions agree or are opposed. The Boolean value indicates whether the curve direction agrees with (TRUE) or is in the opposite direction (FALSE) to the edge direction. Any geometry associated with the vertices of the edge shall be consistent with the edge geometry. Multiple edges can reference the same curve.
Figure 334 illustrates an example where the edge geometry is given by an unbounded curve, here IfcCircle. The bounds are provided by the EdgeStart and EdgeEnd, the topological direction of the IfcEdgeCurve opposes the direction of the IfcCircle by SameSense = FALSE.
Figure 334 — Edge curve
NOTE Corresponding ISO 10303 entity: edge_curve. Please refer to ISO/IS 10303-42:1994, p. 132 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included.
<blockquote class=”history” HISTORY New Entity in IFC2x.
Informal propositions:
The domain of the edge curve is formally defined to be the domain of its edge geometry as trimmed by the vertices. This domain does not include the vertices. An edge curve has non-zero finite extent. An edge curve is a manifold. An edge curve is arcwise connected. The edge start is not a part of the edge domain. The edge end is not a part of the edge domain. Vertex geometry shall be consistent with edge geometry.
Public Types
-
typedef IfcTemplatedEntityList<IfcEdgeCurve>
list
Public Functions
-
::Ifc2x3::IfcCurve *
EdgeGeometry
() const The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve.
-
bool
SameSense
() const This logical flag indicates whether (TRUE), or not (FALSE) the senses of the edge and the curve defining the edge geometry are the same. The sense of an edge is from the edge start vertex to the edge end vertex; the sense of a curve is in the direction of increasing parameter.
-
void
setSameSense
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcEdgeCurve
(IfcEntityInstanceData *e)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEdgeCurve>
-
class
IfcEdgeFeature
: public Ifc2x3::IfcFeatureElementSubtraction Subclassed by Ifc2x3::IfcChamferEdgeFeature, Ifc2x3::IfcRoundedEdgeFeature
Public Types
-
typedef IfcTemplatedEntityList<IfcEdgeFeature>
list
Public Functions
-
bool
hasFeatureLength
() const Whether the optional attribute FeatureLength is defined for this IfcEdgeFeature.
-
double
FeatureLength
() const
-
void
setFeatureLength
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcEdgeFeature
(IfcEntityInstanceData *e)
-
IfcEdgeFeature
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<double> v9_FeatureLength)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEdgeFeature>
-
class
IfcEdgeLoop
: public Ifc2x3::IfcLoop Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself.
Informal propositions:
The genus of the IfcEdgeLoop shall be 1 or greater. The Euler formula shall be satisfied:(number of vertices) + genus - (number of edges) = 1; No edge may be referenced more than once by the same IfcEdgeLoop with the same sense. For this purpose, an edge which is not an oriented edge is considered to be referenced with the sense TRUE.
NOTE Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard.
HISTORY New Entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcEdgeLoop>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcOrientedEdge>::ptr
EdgeList
() const A list of oriented edge entities which are concatenated together to form this path.
-
void
setEdgeList
(IfcTemplatedEntityList<::Ifc2x3::IfcOrientedEdge>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcEdgeLoop
(IfcEntityInstanceData *e)
-
IfcEdgeLoop
(IfcTemplatedEntityList<::Ifc2x3::IfcOrientedEdge>::ptr v1_EdgeList)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEdgeLoop>
-
class
IfcElectricalBaseProperties
: public Ifc2x3::IfcEnergyProperties Public Types
-
typedef IfcTemplatedEntityList<IfcElectricalBaseProperties>
list
Public Functions
-
bool
hasElectricCurrentType
() const Whether the optional attribute ElectricCurrentType is defined for this IfcElectricalBaseProperties.
-
::Ifc2x3::IfcElectricCurrentEnum::Value
ElectricCurrentType
() const
-
void
setElectricCurrentType
(::Ifc2x3::IfcElectricCurrentEnum::Value v)
-
double
InputVoltage
() const
-
void
setInputVoltage
(double v)
-
double
InputFrequency
() const
-
void
setInputFrequency
(double v)
-
bool
hasFullLoadCurrent
() const Whether the optional attribute FullLoadCurrent is defined for this IfcElectricalBaseProperties.
-
double
FullLoadCurrent
() const
-
void
setFullLoadCurrent
(double v)
-
bool
hasMinimumCircuitCurrent
() const Whether the optional attribute MinimumCircuitCurrent is defined for this IfcElectricalBaseProperties.
-
double
MinimumCircuitCurrent
() const
-
void
setMinimumCircuitCurrent
(double v)
-
bool
hasMaximumPowerInput
() const Whether the optional attribute MaximumPowerInput is defined for this IfcElectricalBaseProperties.
-
double
MaximumPowerInput
() const
-
void
setMaximumPowerInput
(double v)
-
bool
hasRatedPowerInput
() const Whether the optional attribute RatedPowerInput is defined for this IfcElectricalBaseProperties.
-
double
RatedPowerInput
() const
-
void
setRatedPowerInput
(double v)
-
int
InputPhase
() const
-
void
setInputPhase
(int v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricalBaseProperties
(IfcEntityInstanceData *e)
-
IfcElectricalBaseProperties
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<::Ifc2x3::IfcEnergySequenceEnum::Value> v5_EnergySequence, boost::optional<std::string> v6_UserDefinedEnergySequence, boost::optional<::Ifc2x3::IfcElectricCurrentEnum::Value> v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, boost::optional<double> v10_FullLoadCurrent, boost::optional<double> v11_MinimumCircuitCurrent, boost::optional<double> v12_MaximumPowerInput, boost::optional<double> v13_RatedPowerInput, int v14_InputPhase)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricalBaseProperties>
-
class
IfcElectricalCircuit
: public Ifc2x3::IfcSystem Public Types
-
typedef IfcTemplatedEntityList<IfcElectricalCircuit>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcElectricalCircuit
(IfcEntityInstanceData *e)
-
IfcElectricalCircuit
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricalCircuit>
-
class
IfcElectricalElement
: public Ifc2x3::IfcElement Public Types
-
typedef IfcTemplatedEntityList<IfcElectricalElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcElectricalElement
(IfcEntityInstanceData *e)
-
IfcElectricalElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricalElement>
-
class
IfcElectricApplianceType
: public Ifc2x3::IfcFlowTerminalType The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a electric appliance specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Appliance types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricApplianceType are represented by instances of IfcElectricAppliance.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_ElectricalDeviceCommon Pset_ElectricApplianceTypeCommon Pset_ElectricApplianceTypeDishwasher (DISHWASHER) Pset_ElectricApplianceTypeElectricCooker (ELECTRICCOOKER)
Material Use Definition The material of the IfcElectricApplianceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcElectricApplianceType>
list
Public Functions
-
::Ifc2x3::IfcElectricApplianceTypeEnum::Value
PredefinedType
() const Identifies the predefined types of electrical appliance from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcElectricApplianceTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricApplianceType
(IfcEntityInstanceData *e)
-
IfcElectricApplianceType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricApplianceType>
-
struct
IfcElectricApplianceTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified.
HISTORY: New type in IFC R2.0. Renamed from IfcElectricalApplianceTypeEnum if IFC 2x2.IFC 2x2 Addendum 1: Missing enumeration values added (ELECTRICHEATER, TUMBLEDRYER and WATERHEATER) IFC 2x4: ELECTRICHEATER changed to FREESTANDINGELECTRICHEATER and noted as being for occasional use. RADIANTHEATER removed as part of general ‘heater consolidation’. WATERHEATER, DIRECTWATERHEATER and INDIRECTWATERHEATER rationalized to FREESTANDINGWATERHEATER. WATERCOOLER changed to FREESTANDINGWATERCOOLER. COMPUTER, FACSIMILE (FAX), PRINTER, SCANNER, TELEPHONE, TV (TELEVISION) moved to IfcAudioVisualApplianceTypeEnum and IfcCommunicationsApplianceTypeEnum. KITCHENMACHINE added.
Enumeration
DISHWASHER: An appliance that has the primary function of washing dishes. ELECTRICCOOKER: An electrical appliance that has the primary function of cooking food (including oven, hob, grill). FREESTANDINGELECTRICHEATER: An electrical appliance that is used occasionally to provide heat. A freestanding electric heater is a ‘plugged’ appliance whose load may be removed from an electric circuit. FREESTANDINGFAN: An electrical appliance that is used occasionally to provide ventilation. A freestanding fan is a ‘plugged’ appliance whose load may be removed from an electric circuit. FREESTANDINGWATERHEATER: A small, local electrical appliance for heating water. A freestanding water heater is a ‘plugged’ appliance whose load may be removed from an electric circuit. FREESTANDINGWATERCOOLER: A small, local electrical appliance for cooling water. A freestanding water cooler is a ‘plugged’ appliance whose load may be removed from an electric circuit. FREEZER: An electrical appliance that has the primary function of storing food at temperatures below the freezing point of water. FRIDGE_FREEZER: An electrical appliance that combines the functions of a freezer and a refrigerator through the provision of separate compartments. KITCHENMACHINE: A specialized appliance used in commercial kitchens such as a mixer. HANDDRYER: An electrical appliance that has the primary function of drying hands. MICROWAVE: An electrical appliance that has the primary function of cooking food using microwaves. PHOTOCOPIER: A machine that has the primary function of reproduction of printed matter. REFRIGERATOR: An electrical appliance that has the primary function of storing food at low temperature but above the freezing point of water. TUMBLEDRYER: An electrical appliance that has the primary function of drying clothes. VENDINGMACHINE: An appliance that stores and vends goods including food, drink and goods of various types. WASHINGMACHINE: An appliance that has the primary function of washing clothes.
USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcElectricApplianceType_COMPUTER
¶
-
enumerator
IfcElectricApplianceType_DIRECTWATERHEATER
¶
-
enumerator
IfcElectricApplianceType_DISHWASHER
¶
-
enumerator
IfcElectricApplianceType_ELECTRICCOOKER
¶
-
enumerator
IfcElectricApplianceType_ELECTRICHEATER
¶
-
enumerator
IfcElectricApplianceType_FACSIMILE
¶
-
enumerator
IfcElectricApplianceType_FREESTANDINGFAN
¶
-
enumerator
IfcElectricApplianceType_FREEZER
¶
-
enumerator
IfcElectricApplianceType_FRIDGE_FREEZER
¶
-
enumerator
IfcElectricApplianceType_HANDDRYER
¶
-
enumerator
IfcElectricApplianceType_INDIRECTWATERHEATER
¶
-
enumerator
IfcElectricApplianceType_MICROWAVE
¶
-
enumerator
IfcElectricApplianceType_PHOTOCOPIER
¶
-
enumerator
IfcElectricApplianceType_PRINTER
¶
-
enumerator
IfcElectricApplianceType_REFRIGERATOR
¶
-
enumerator
IfcElectricApplianceType_RADIANTHEATER
¶
-
enumerator
IfcElectricApplianceType_SCANNER
¶
-
enumerator
IfcElectricApplianceType_TELEPHONE
¶
-
enumerator
IfcElectricApplianceType_TUMBLEDRYER
¶
-
enumerator
IfcElectricApplianceType_TV
¶
-
enumerator
IfcElectricApplianceType_VENDINGMACHINE
¶
-
enumerator
IfcElectricApplianceType_WASHINGMACHINE
¶
-
enumerator
IfcElectricApplianceType_WATERHEATER
¶
-
enumerator
IfcElectricApplianceType_WATERCOOLER
¶
-
enumerator
IfcElectricApplianceType_USERDEFINED
¶
-
enumerator
IfcElectricApplianceType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElectricCapacitanceMeasure
: public IfcUtil::IfcBaseType IfcElectricCapacitanceMeasure is a measure of the electric capacitance. Usually measured in Farad (F, C/V = A s/V). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcElectricCapacitanceMeasure
(IfcEntityInstanceData *e)
-
IfcElectricCapacitanceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcElectricChargeMeasure
: public IfcUtil::IfcBaseType IfcElectricChargeMeasure is a measure of the electric charge. Usually measured in Coulomb (C, A s). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcElectricChargeMeasure
(IfcEntityInstanceData *e)
-
IfcElectricChargeMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcElectricConductanceMeasure
: public IfcUtil::IfcBaseType IfcElectricConductanceMeasure is a measure of the electric conductance. Usually measured in Siemens (S, 1/Ohm = A/V). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcElectricConductanceMeasure
(IfcEntityInstanceData *e)
-
IfcElectricConductanceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
struct
IfcElectricCurrentEnum
¶ Public Types
-
class
IfcElectricCurrentMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. Usually measured in Ampere (A). Type: REAL
NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcElectricCurrentMeasure
(IfcEntityInstanceData *e)
-
IfcElectricCurrentMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcElectricDistributionPoint
: public Ifc2x3::IfcFlowController Public Types
-
typedef IfcTemplatedEntityList<IfcElectricDistributionPoint>
list
Public Functions
-
::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value
DistributionPointFunction
() const
-
void
setDistributionPointFunction
(::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v)
-
bool
hasUserDefinedFunction
() const Whether the optional attribute UserDefinedFunction is defined for this IfcElectricDistributionPoint.
-
std::string
UserDefinedFunction
() const
-
void
setUserDefinedFunction
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricDistributionPoint
(IfcEntityInstanceData *e)
-
IfcElectricDistributionPoint
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, boost::optional<std::string> v10_UserDefinedFunction)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricDistributionPoint>
-
struct
IfcElectricDistributionPointFunctionEnum
¶ Public Types
-
enum
Value
¶ Values:
-
enumerator
IfcElectricDistributionPointFunction_ALARMPANEL
¶
-
enumerator
IfcElectricDistributionPointFunction_CONSUMERUNIT
¶
-
enumerator
IfcElectricDistributionPointFunction_CONTROLPANEL
¶
-
enumerator
IfcElectricDistributionPointFunction_DISTRIBUTIONBOARD
¶
-
enumerator
IfcElectricDistributionPointFunction_GASDETECTORPANEL
¶
-
enumerator
IfcElectricDistributionPointFunction_INDICATORPANEL
¶
-
enumerator
IfcElectricDistributionPointFunction_MIMICPANEL
¶
-
enumerator
IfcElectricDistributionPointFunction_MOTORCONTROLCENTRE
¶
-
enumerator
IfcElectricDistributionPointFunction_SWITCHBOARD
¶
-
enumerator
IfcElectricDistributionPointFunction_USERDEFINED
¶
-
enumerator
IfcElectricDistributionPointFunction_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElectricFlowStorageDeviceType
: public Ifc2x3::IfcFlowStorageDeviceType The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a electric flow storage device specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Flow Storage Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricFlowStorageDeviceType are represented by instances of IfcElectricFlowStorageDevice.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowStorageDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_ElectricFlowStorageDeviceTypeCommon
Material Use Definition The material of the IfcElectricFlowStorageDeviceType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcElectricFlowStorageDeviceType>
list
Public Functions
-
::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value
PredefinedType
() const Identifies the predefined types of electric flow storage devices from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricFlowStorageDeviceType
(IfcEntityInstanceData *e)
-
IfcElectricFlowStorageDeviceType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricFlowStorageDeviceType>
-
struct
IfcElectricFlowStorageDeviceTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. HISTORY: New type in IFC 2x2
Enumeration
BATTERY: A device for storing energy in chemical form so that it can be released as electrical energy. CAPACITORBANK: A device that stores electrical energy when an external power supply is present using the electrical property of capacitance HARMONICFILTER: A device that constantly injects currents that precisely correspond to the harmonic components drawn by the load. UPS: A device that provides a time limited alternative source of power supply in the event of failure of the main supply.
USERDEFINED: User-defined type.
NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcElectricFlowStorageDeviceType_BATTERY
¶
-
enumerator
IfcElectricFlowStorageDeviceType_CAPACITORBANK
¶
-
enumerator
IfcElectricFlowStorageDeviceType_HARMONICFILTER
¶
-
enumerator
IfcElectricFlowStorageDeviceType_INDUCTORBANK
¶
-
enumerator
IfcElectricFlowStorageDeviceType_UPS
¶
-
enumerator
IfcElectricFlowStorageDeviceType_USERDEFINED
¶
-
enumerator
IfcElectricFlowStorageDeviceType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElectricGeneratorType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a electric generator specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Generator types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricGeneratorType are represented by instances of IfcElectricGenerator.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_ElectricGeneratorTypeCommon
Material Use Definition The material of the IfcElectricGeneratorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Composition Use Definition The IfcElectricGeneratorType may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcElectricGeneratorType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Aggregation use is defined for the following predefined types:
ENGINEGENERATOR: May contain IfcEngine components. Engine-Generator sets may optionally include an engine to indicate specific detail.
Port Use Definition The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcElectricGeneratorType>
list
Public Functions
-
::Ifc2x3::IfcElectricGeneratorTypeEnum::Value
PredefinedType
() const Identifies the predefined types of electric generators from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricGeneratorType
(IfcEntityInstanceData *e)
-
IfcElectricGeneratorType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricGeneratorType>
-
struct
IfcElectricGeneratorTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. HISTORY: New type in IFC 2x2. Values added in IFC 2x4.
Enumeration
CHP: Combined heat and power supply, used not only as a source of electric energy but also as a heating source for the building. It may therefore be not only part of an electrical system but also of a heating system. ENGINEGENERATOR: Electrical generator with a fuel-driven engine, for example a diesel-driven emergency power supply. STANDALONE: Electrical generator which does not include its source of kinetic energy, that is, a motor, engine, or turbine is modeled by a separate object. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcElectricGeneratorType_USERDEFINED
¶
-
enumerator
IfcElectricGeneratorType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElectricHeaterType
: public Ifc2x3::IfcFlowTerminalType Public Types
-
typedef IfcTemplatedEntityList<IfcElectricHeaterType>
list
Public Functions
-
::Ifc2x3::IfcElectricHeaterTypeEnum::Value
PredefinedType
() const
-
void
setPredefinedType
(::Ifc2x3::IfcElectricHeaterTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricHeaterType
(IfcEntityInstanceData *e)
-
IfcElectricHeaterType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricHeaterType>
-
struct
IfcElectricHeaterTypeEnum
¶ Public Types
-
class
IfcElectricMotorType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a electric motor specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Motor types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricMotorType are represented by instances of IfcElectricMotor.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_ElectricMotorTypeCommon
Material Use Definition The material of the IfcElectricMotorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcElectricMotorType>
list
Public Functions
-
::Ifc2x3::IfcElectricMotorTypeEnum::Value
PredefinedType
() const Identifies the predefined types of electric motor from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcElectricMotorTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricMotorType
(IfcEntityInstanceData *e)
-
IfcElectricMotorType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricMotorType>
-
struct
IfcElectricMotorTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. HISTORY: New type in IFC 2x2
Enumeration
DC: A motor using either generated or rectified D.C. power. INDUCTION: An alternating current motor in which the primary winding on one member (usually the stator) is connected to the power source and a secondary winding or a squirrel-cage secondary winding on the other member (usually the rotor) carries the induced current. There is no physical electrical connection to the secondary winding, its current is induced. POLYPHASE: A two or three-phase induction motor in which the windings, one for each phase, are evenly divided by the same number of electrical degrees.
RELUCTANCESYNCHRONOUS: A synchronous motor with a special rotor design which directly lines the rotor up with the rotating magnetic field of the stator, allowing for no slip under load.
SYNCHRONOUS: A motor that operates at a constant speed up to full load. The rotor speed is equal to the speed of the rotating magnetic field of the stator; there is no slip. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcElectricMotorType_DC
¶
-
enumerator
IfcElectricMotorType_INDUCTION
¶
-
enumerator
IfcElectricMotorType_POLYPHASE
¶
-
enumerator
IfcElectricMotorType_RELUCTANCESYNCHRONOUS
¶
-
enumerator
IfcElectricMotorType_SYNCHRONOUS
¶
-
enumerator
IfcElectricMotorType_USERDEFINED
¶
-
enumerator
IfcElectricMotorType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElectricResistanceMeasure
: public IfcUtil::IfcBaseType IfcElectricResistanceMeasure is a measure of the electric resistance. Usually measured in Ohm (V/A). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcElectricResistanceMeasure
(IfcEntityInstanceData *e)
-
IfcElectricResistanceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcElectricTimeControlType
: public Ifc2x3::IfcFlowControllerType The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a electric time control specification (i.e. the specific product information, that is common to all occurrences of that product type). Electric Time Control types may be exchanged without being already assigned to occurrences. Occurrences of IfcElectricTimeControlType are represented by instances of IfcElectricTimeControl.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_ElectricTimeControlTypeCommon
Material Use Definition The material of the IfcElectricTimeControlType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcElectricTimeControlType>
list
Public Functions
-
::Ifc2x3::IfcElectricTimeControlTypeEnum::Value
PredefinedType
() const Identifies the predefined types of electrical time control from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElectricTimeControlType
(IfcEntityInstanceData *e)
-
IfcElectricTimeControlType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElectricTimeControlType>
-
struct
IfcElectricTimeControlTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. HISTORY: New type in IFC 2x2
Enumeration
TIMECLOCK: A control that causes action to occur at set times. TIMEDELAY: A control that causes action to occur following a set duration. RELAY: Electromagnetically operated contactor for making or breaking a control circuit. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcElectricTimeControlType_TIMECLOCK
¶
-
enumerator
IfcElectricTimeControlType_TIMEDELAY
¶
-
enumerator
IfcElectricTimeControlType_RELAY
¶
-
enumerator
IfcElectricTimeControlType_USERDEFINED
¶
-
enumerator
IfcElectricTimeControlType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElectricVoltageMeasure
: public IfcUtil::IfcBaseType IfcElectricVoltageMeasure is a measure of electromotive force. Usually measured in Volts (V, W/A). Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcElectricVoltageMeasure
(IfcEntityInstanceData *e)
-
IfcElectricVoltageMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcElement
: public Ifc2x3::IfcProduct Definition from IAI: Generalization of all components that make up an AEC product. Those elements can be logically contained by a spatial structure element that constitutes a certain level within a project structure hierarchy (e.g., site, building, storey or space). This is done by using the IfcRelContainedInSpatialStructure relationship. Elements are physically existent objects, although they might be void elements, such as holes. Elements either remain permanently in the AEC product, or only temporarily, as formwork does. Elements can be either assembled on site or pre-manufactured and built in on site. EXAMPLEs of elements in a building construction context are walls, floors, windows and recesses. An element can have material and quantity information assigned through the IfcRelAssociatesMaterial and IfcRelDefinesByProperties relationship. In addition an element can be declared to be a specific occurrence of an element type (and thereby be defined by the element type properties) using the IfcRelDefinesByType relationship. An element can also be defined as an element assembly that is a group of semantically and topologically related elements that form a higher level part of the AEC product. Those element assemblies are defined by virtue of the IfcRelAggregates relationship. EXAMPLEs for element assembly are complete Roof Structures, made by several Roof Areas, or a Stair, composed by Flights and Landings. Elements that performs the same function may be grouped by an “Element Group By Function”. It is realized by an instance of IfcGroup with the ObjectType = ‘ElementGroupByFunction”. HISTORY New entity in IFC Release 1.0 Property Set Use Definition: The property sets relating to the IfcElement are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. Quantity Use Definition: The quantities relating to the IfcElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcElement. Geometry Use Definitions The geometric representation of any IfcElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations. A detailed specification for the local placement and shape representaion is introduced at the level of subtypes of IfcElement.
Subclassed by Ifc2x3::IfcBuildingElement, Ifc2x3::IfcDistributionElement, Ifc2x3::IfcElectricalElement, Ifc2x3::IfcElementAssembly, Ifc2x3::IfcElementComponent, Ifc2x3::IfcEquipmentElement, Ifc2x3::IfcFeatureElement, Ifc2x3::IfcFurnishingElement, Ifc2x3::IfcTransportElement, Ifc2x3::IfcVirtualElement
Public Types
-
typedef IfcTemplatedEntityList<IfcElement>
list
Public Functions
-
bool
hasTag
() const Whether the optional attribute Tag is defined for this IfcElement.
-
std::string
Tag
() const The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level.
-
void
setTag
(std::string v)
-
IfcTemplatedEntityList<IfcRelConnectsStructuralElement>::ptr
HasStructuralMember
() const
-
IfcTemplatedEntityList<IfcRelFillsElement>::ptr
FillsVoids
() const
-
IfcTemplatedEntityList<IfcRelConnectsElements>::ptr
ConnectedTo
() const
-
IfcTemplatedEntityList<IfcRelCoversBldgElements>::ptr
HasCoverings
() const
-
IfcTemplatedEntityList<IfcRelProjectsElement>::ptr
HasProjections
() const
-
IfcTemplatedEntityList<IfcRelReferencedInSpatialStructure>::ptr
ReferencedInStructures
() const
-
IfcTemplatedEntityList<IfcRelConnectsPortToElement>::ptr
HasPorts
() const
-
IfcTemplatedEntityList<IfcRelVoidsElement>::ptr
HasOpenings
() const
-
IfcTemplatedEntityList<IfcRelConnectsWithRealizingElements>::ptr
IsConnectionRealization
() const
-
IfcTemplatedEntityList<IfcRelSpaceBoundary>::ptr
ProvidesBoundaries
() const
-
IfcTemplatedEntityList<IfcRelConnectsElements>::ptr
ConnectedFrom
() const
-
IfcTemplatedEntityList<IfcRelContainedInSpatialStructure>::ptr
ContainedInStructure
() const
-
const IfcParse::entity &
declaration
() const
-
IfcElement
(IfcEntityInstanceData *e)
-
IfcElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElement>
-
class
IfcElementarySurface
: public Ifc2x3::IfcSurface Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation.
NOTE Corresponding ISO 10303 entity: elementary_surface. Only the subtype plane is incorporated as IfcPlane. The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). Please refer to ISO/IS 10303-42:1994, p. 69 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.5
Subclassed by Ifc2x3::IfcPlane
Public Types
-
typedef IfcTemplatedEntityList<IfcElementarySurface>
list
Public Functions
-
::Ifc2x3::IfcAxis2Placement3D *
Position
() const The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface.
-
void
setPosition
(::Ifc2x3::IfcAxis2Placement3D *v)
-
const IfcParse::entity &
declaration
() const
-
IfcElementarySurface
(IfcEntityInstanceData *e)
-
IfcElementarySurface
(::Ifc2x3::IfcAxis2Placement3D *v1_Position)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElementarySurface>
-
class
IfcElementAssembly
: public Ifc2x3::IfcElement The IfcElementAssembly represents complex element assemblies aggregated from several elements, such as discrete elements, building elements, or other elements. EXAMPLE Steel construction assemblies, such as trusses and different kinds of frames, can be represented by the IfcElementAssembly entity. Other examples include slab fields aggregated from a number of precast concrete slabs or reinforcement units made from several reinforcement bars. Also bathroom units, staircase sections and other premanufactured or precast elements are examples of the general IfcElementAssembly entity NOTE The IfcElementAssembly is a general purpose entity that is required to be decomposed. Also other subtypes of IfcElement can be decomposed, with some dedicated entities such as IfcWallElementedCase and IfcSlabElementedCase. The assembly structure can be nested, i.e. an IfcElementAssembly could be an aggregated part within another IfcElementAssembly. NOTE View definitions and/or implementer agreements may restrict the number of allowed levels of nesting. HISTORY New Entity for Release IFC2x Edition 2.
Containment Use Definition The IfcElementAssembly should have (and in most implementation scenarios it is mandatory) a relationship for its hierachical containment in the spatial structure of the project.
The IfcElementAssembly is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
The IfcElementAssembly shall represent an aggregate, i.e. it should have other elements, being subtypes of IfcElement, as contained (sub)parts.
The IfcElementAssembly is an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of an assembly are described by instances of subtypes of IfcElement. In this case, the containedsubtypes of IfcElement shall not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of those IfcElement’s shall be NIL.
Figure 27 illustrates spatial containment and element aggregation relationships.
Figure 27 — Element assembly containment
Geometry Use Definitions The geometric representation of IfcElementAssembly is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Local Placement The local placement for IfcElementAssembly is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations The geometry of an IfcElementAssembly is generally formed from its components, in which case it does not need to have an explicit geometric representation. In some cases it may be useful to also expose an own explicit representation of the aggregate. NOTE View definitions or implementer agreements may further constrain the applicability of certain shape representations at the IfcElementAssembly in respect of the shape representations of its parts. Informal proposition
The IfcElementAssembly shall have an aggregation relationship to the contained parts, i.e. the (INV) IsDecomposedBy relationship shall be utilzed.
Public Types
-
typedef IfcTemplatedEntityList<IfcElementAssembly>
list
Public Functions
-
bool
hasAssemblyPlace
() const Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly.
-
::Ifc2x3::IfcAssemblyPlaceEnum::Value
AssemblyPlace
() const A designation of where the assembly is intended to take place defined by an Enum.
-
void
setAssemblyPlace
(::Ifc2x3::IfcAssemblyPlaceEnum::Value v)
-
::Ifc2x3::IfcElementAssemblyTypeEnum::Value
PredefinedType
() const Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type.
IFC2x4 CHANGE The attribute has been changed to be optional.
-
void
setPredefinedType
(::Ifc2x3::IfcElementAssemblyTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcElementAssembly
(IfcEntityInstanceData *e)
-
IfcElementAssembly
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc2x3::IfcAssemblyPlaceEnum::Value> v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElementAssembly>
-
struct
IfcElementAssemblyTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: An enumeration defining the basic configuration types for element assemblies.
HISTORY New enumeration type in Release IFC2x Edition 2.
Enumeration
ACCESSORY_ASSEMBLY: Assembled accessories or components ARCH: A curved structure BEAM_GRID: Interconnected beams, located in one (typically horizontal) plane BRACED_FRAME: A rigid frame with additional bracing members GIRDER: A beam-like superstructure REINFORCEMENT_UNIT: Assembled reinforcement elements RIGID_FRAME: A structure built up of beams, columns, etc. with moment-resisting joints SLAB_FIELD: Slabs, laid out in one plane TRUSS: A structure built up of members with (quasi) pinned joints USERDEFINED: User-defined element assembly NOTDEFINED: Undefined element assembly
Values:
-
enumerator
IfcElementAssemblyType_ACCESSORY_ASSEMBLY
¶
-
enumerator
IfcElementAssemblyType_ARCH
¶
-
enumerator
IfcElementAssemblyType_BEAM_GRID
¶
-
enumerator
IfcElementAssemblyType_BRACED_FRAME
¶
-
enumerator
IfcElementAssemblyType_GIRDER
¶
-
enumerator
IfcElementAssemblyType_REINFORCEMENT_UNIT
¶
-
enumerator
IfcElementAssemblyType_RIGID_FRAME
¶
-
enumerator
IfcElementAssemblyType_SLAB_FIELD
¶
-
enumerator
IfcElementAssemblyType_TRUSS
¶
-
enumerator
IfcElementAssemblyType_USERDEFINED
¶
-
enumerator
IfcElementAssemblyType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcElementComponent
: public Ifc2x3::IfcElement An element component is a representation for minor items included in, added to or connecting to or between elements, which usually are not of interest from the overall building structure viewpoint. However, these small parts may have vital and load carrying functions within the construction. These items do not provide any actual space boundaries. Typical examples of IfcElementComponents include different kinds of fasteners and various accessories.
HISTORY New entity in IFC Release 2x2
It is often desirable to model a number of same-shaped element components by means of a single occurrence object, e.g. several bolts within a connection or a row of reinforcement elements. In this IFC release, this is possible by means of multiple mapped representation as documented below.
To express the multiplicity of element components also on a higher semantic level, an IfcElementQuantity should be provided via IfcRelDefinesByProperties. The quantity should contain an IfcQuantityCount named ‘Count’ with the number of components.
Geometry Use Definition
The geometric representation of IfcElementComponent is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:
Local Placement The local placement for IfcElementComponent is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcElement or IfcElementAssembly, which is used in the Decomposes inverse attribute, i.e. the local placement is defined relative to the local placement of the element or element assembly in which the component is contained. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Surface Model Representation
Any IfcElementComponent (if no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SurfaceModel’
Brep Representation
Any IfcElementComponent (if no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘Brep’
Mapped Representation
The mapped item, IfcMappedItem, should be used if appropriate as it allows for reusing the geometry definition of a type at occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’
Multiple Mapped Representation
A single instance of a subtype of IfcElementComponent can stand for several actual element components at once. In this case, the IfcShapeRepresentation contains as many mapped items as there are element components combined within this occurrence object:
Figure 151 illustrates multiple components modeled as a single occurrence object (here: IfcFastener)
Figure 151 — Element component mapped representation
Representation identifier and type are the same as in single mapped representation. The number of mapped items in the representation corresponds with the count of element components in the IfcElementQuantity.
Subclassed by Ifc2x3::IfcDiscreteAccessory, Ifc2x3::IfcFastener
Public Types
-
typedef IfcTemplatedEntityList<IfcElementComponent>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcElementComponent
(IfcEntityInstanceData *e)
-
IfcElementComponent
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElementComponent>
-
class
IfcElementComponentType
: public Ifc2x3::IfcElementType Definition from IAI: The element type (IfcElementComponentType) represents the supertype for element types which define lists of commonly shared property set definitions of various small parts and accessories and an optional set of product representations. It is used to define a supporting element mainly within structural and building services domains (i.e. the specific type information
common to all occurrences of that type).
HISTORY New entity in IFC Release 2x2
Subclassed by Ifc2x3::IfcDiscreteAccessoryType, Ifc2x3::IfcFastenerType
Public Types
-
typedef IfcTemplatedEntityList<IfcElementComponentType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcElementComponentType
(IfcEntityInstanceData *e)
-
IfcElementComponentType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElementComponentType>
-
struct
IfcElementCompositionEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: Enumeration that provides an indication, whether the spatial structure element or proxy represents a:
COMPLEX - a group or aggregation of similar elements
ELEMENT - a (undivided) element itself
PARTIAL - a subelement or part
HISTORY New enumeration in IFC Release 2.x
Values:
-
enumerator
IfcElementComposition_COMPLEX
¶
-
enumerator
IfcElementComposition_ELEMENT
¶
-
enumerator
IfcElementComposition_PARTIAL
¶
-
enumerator
-
enum
-
class
IfcElementQuantity
: public Ifc2x3::IfcPropertySetDefinition Definition from IAI: An IfcElementQuantity defines a set of derived measures of an element’s physical property. Elements could be spatial structure elements (like buildings, storeys, or spaces) or building elements (like walls, slabs, finishes). The IfcElementQuantity gets assigned to the element by using the IfcRelDefinesByProperties relationship. The optional MethodOfMeasurement attribute defines the code, e.g. from a standard method of measurement, which had been used to calculate the element quantity.
NOTE The recognizable values for the name and the method of measurement attributes have to be agreed upon in further agreement documents, such as implementers agreements. Some of these agreements might be limited to a certain region, to which the method of measurement applies.
The name attribute, given at the individual Quantities provides a recognizable semantic meaning of the element quantity. Both information is needed to establish a precise meaning for the measure value. An optional description may be assigned to each of the Quantities. All quantities assigned by a single instance of IfcElementQuantity are deemed to have been generated according to the same method of measurement. However several instances of IfcElementQuantity are assignable to an element, thus allowing for an element having quantities generated according to several methods of measurement.
EXAMPLE1 To exchange the net floor area of spaces in the German region (as IfcSpace), the name might be ‘Netto-Grundfläche’ (net floor area), and the method of measurement might be accordingly ‘DIN277-2’ (German industry norm no. 277 edition 2)
EXAMPLE2 The same instance of IfcSpace may have a different area measure assigned in the German region according to a housing regulation, the name would be ‘Wohnfläche’ and the method of measurement would be ‘2.BV’. It would be attached to the IfcSpace by a separate IfcRelDefinesByProperties relationship.
The IfcElementQuantity can have the following subtypes of IfcPhysicalQuantity within its SET of Quantities, which count for the basis measure types used:
count measure weight measure length measure area measure volume measure time measure
HISTORY New entity in IFC Release 2x. NOTE: It replaces the calcXxx attributes used in previous IFC Releases. IFC2x4 CHANGE Subtyped from new intermediate IfcPreDefinedPropertySet supertype.
Quantity Use Defintion Base quantities are quantity definitions that are independent of a particular method of measurement and therefore internationally applicable. Base quantities are defined as gross and net values and provided by measurement of the correct geometric shape representation of the element. The IFC specification includes a set of base quantity definition. See each subtype of IfcElement for applicable base quantities. The following general agreements apply for each base quantity set
IfcElementQuantity.Name = ‘BaseQuantities’ IfcElementQuantity.MethodOfMeasurement = NIL IfcElementQuantity.Quantities = SET of subtypes of IfcPhysicalSimpleQuantity with values for the Name attribute as published as part of the IFC specifciation.
Public Types
-
typedef IfcTemplatedEntityList<IfcElementQuantity>
list
Public Functions
-
bool
hasMethodOfMeasurement
() const Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity.
-
std::string
MethodOfMeasurement
() const Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements.
IFC2x2 Addendum 1 change: The attribute has been changed to be optional
-
void
setMethodOfMeasurement
(std::string v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcPhysicalQuantity>::ptr
Quantities
() const The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities.
-
void
setQuantities
(IfcTemplatedEntityList<::Ifc2x3::IfcPhysicalQuantity>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcElementQuantity
(IfcEntityInstanceData *e)
-
IfcElementQuantity
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_MethodOfMeasurement, IfcTemplatedEntityList<::Ifc2x3::IfcPhysicalQuantity>::ptr v6_Quantities)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElementQuantity>
-
class
IfcElementType
: public Ifc2x3::IfcTypeProduct Definition from IAI: The IfcElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
An element type is used to define the common properties of a certain type or style of an element that may be applied to instances of that element type to assign a specific style. Element types (the instantiable subtypes) may be exchanged without being already assigned to occurrences.
HISTORY New entity in Release IFC2x Edition 2
Subclassed by Ifc2x3::IfcBuildingElementType, Ifc2x3::IfcDistributionElementType, Ifc2x3::IfcElementComponentType, Ifc2x3::IfcFurnishingElementType, Ifc2x3::IfcSpatialStructureElementType, Ifc2x3::IfcTransportElementType
Public Types
-
typedef IfcTemplatedEntityList<IfcElementType>
list
Public Functions
-
bool
hasElementType
() const Whether the optional attribute ElementType is defined for this IfcElementType.
-
std::string
ElementType
() const The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute ‘PredefinedType’ is set to USERDEFINED.
-
void
setElementType
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcElementType
(IfcEntityInstanceData *e)
-
IfcElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcElementType>
-
class
IfcEllipse
: public Ifc2x3::IfcConic Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows:
C = SELF\IfcConic.Position.Location
x = SELF\IfcConic.Position.P[1]
y = SELF\IfcConic.Position.P[2]
z = SELF\IfcConic.Position.P[3]
R1 = SemiAxis1 R2 = SemiAxis2 and the ellipse is parameterized as:
The parameterization range is 0 £ u £ 2p (or 0 £ u £ 360 degree). In the placement coordinate system defined above, the ellipse is the equation C = 0, where
The positive sense of the ellipse at any point is in the tangent direction, T, to the curve at the point, where
The inherited Position.Location from IfcConic is the center of the IfcEllipse, and the inherited Position.P[1] from IfcConic the direction of the SemiAxis1.
NOTE Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system.
Figure 280 — Ellipse geometry
Public Types
-
typedef IfcTemplatedEntityList<IfcEllipse>
list
Public Functions
-
double
SemiAxis1
() const The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1.
-
void
setSemiAxis1
(double v)
-
double
SemiAxis2
() const The second radius of the ellipse which shall be positive.
-
void
setSemiAxis2
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcEllipse
(IfcEntityInstanceData *e)
-
IfcEllipse
(::Ifc2x3::IfcAxis2Placement *v1_Position, double v2_SemiAxis1, double v3_SemiAxis2)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEllipse>
-
class
IfcEllipseProfileDef
: public Ifc2x3::IfcParameterizedProfileDef IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute.
HISTORY New entity in IFC2x
Figure 317 illustrates parameters for the ellipse profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either:
IfcSweptSurface.Position IfcSweptAreaSolid.Position
Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The location of the position coordinate system defines the center of the ellipse. The SemiAxis1 attribute defines the first radius of the ellipse in the direction of the X axis, the SemiAxis2 attribute defines the second radius of the ellipse in the direction of the Y axis.
NOTE The semi axes of the ellipse are rectangular to each other by definition.
Figure 317 — Ellipse profile
Public Types
-
typedef IfcTemplatedEntityList<IfcEllipseProfileDef>
list
Public Functions
-
double
SemiAxis1
() const The first radius of the ellipse. It is measured along the direction of Position.P[1].
-
void
setSemiAxis1
(double v)
-
double
SemiAxis2
() const The second radius of the ellipse. It is measured along the direction of Position.P[2].
-
void
setSemiAxis2
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcEllipseProfileDef
(IfcEntityInstanceData *e)
-
IfcEllipseProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_SemiAxis1, double v5_SemiAxis2)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEllipseProfileDef>
-
class
IfcEnergyConversionDevice
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcEnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system. Its type is defined by IfcEnergyConversionDeviceType or its subtypes.
HISTORY: New entity in IFC R2.0.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Public Types
-
typedef IfcTemplatedEntityList<IfcEnergyConversionDevice>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcEnergyConversionDevice
(IfcEntityInstanceData *e)
-
IfcEnergyConversionDevice
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEnergyConversionDevice>
-
class
IfcEnergyConversionDeviceType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcEnergyConversionType defines a list of commonly shared property set definitions of an energy conversion device and an optional set of product representations. It is used to define an energy conversion device specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A energy conversion type is used to define the common properties of a energy conversion device that may be applied to many occurrences of that type. An energy conversion device is a building systems device that converts energy from one form into another such
as a boiler (i.e., combusting gas to heat water), chiller (i.e., using a refrigeration cycle to cool a
liquid), or a cooling coil (i.e., using the phase-change characteristics of a refrigerant to cool air). Energy conversion types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcEnergyConversionType are represented by instances of IfcEnergyConversionDevice.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcAirToAirHeatRecoveryType, Ifc2x3::IfcBoilerType, Ifc2x3::IfcChillerType, Ifc2x3::IfcCoilType, Ifc2x3::IfcCondenserType, Ifc2x3::IfcCooledBeamType, Ifc2x3::IfcCoolingTowerType, Ifc2x3::IfcElectricGeneratorType, Ifc2x3::IfcElectricMotorType, Ifc2x3::IfcEvaporativeCoolerType, Ifc2x3::IfcEvaporatorType, Ifc2x3::IfcHeatExchangerType, Ifc2x3::IfcHumidifierType, Ifc2x3::IfcMotorConnectionType, Ifc2x3::IfcSpaceHeaterType, Ifc2x3::IfcTransformerType, Ifc2x3::IfcTubeBundleType, Ifc2x3::IfcUnitaryEquipmentType
Public Types
-
typedef IfcTemplatedEntityList<IfcEnergyConversionDeviceType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcEnergyConversionDeviceType
(IfcEntityInstanceData *e)
-
IfcEnergyConversionDeviceType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEnergyConversionDeviceType>
-
class
IfcEnergyMeasure
: public IfcUtil::IfcBaseType IfcEnergyMeasure is a measure of energy required or used. Usually measured in Joules, (J, Nm). Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcEnergyMeasure
(IfcEntityInstanceData *e)
-
IfcEnergyMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcEnergyProperties
: public Ifc2x3::IfcPropertySetDefinition Subclassed by Ifc2x3::IfcElectricalBaseProperties
Public Types
-
typedef IfcTemplatedEntityList<IfcEnergyProperties>
list
Public Functions
-
bool
hasEnergySequence
() const Whether the optional attribute EnergySequence is defined for this IfcEnergyProperties.
-
::Ifc2x3::IfcEnergySequenceEnum::Value
EnergySequence
() const
-
void
setEnergySequence
(::Ifc2x3::IfcEnergySequenceEnum::Value v)
-
bool
hasUserDefinedEnergySequence
() const Whether the optional attribute UserDefinedEnergySequence is defined for this IfcEnergyProperties.
-
std::string
UserDefinedEnergySequence
() const
-
void
setUserDefinedEnergySequence
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcEnergyProperties
(IfcEntityInstanceData *e)
-
IfcEnergyProperties
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<::Ifc2x3::IfcEnergySequenceEnum::Value> v5_EnergySequence, boost::optional<std::string> v6_UserDefinedEnergySequence)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEnergyProperties>
-
struct
IfcEnergySequenceEnum
¶ Public Types
-
struct
IfcEnvironmentalImpactCategoryEnum
¶ Public Types
-
enum
Value
¶ Values:
-
enumerator
IfcEnvironmentalImpactCategory_COMBINEDVALUE
¶
-
enumerator
IfcEnvironmentalImpactCategory_DISPOSAL
¶
-
enumerator
IfcEnvironmentalImpactCategory_EXTRACTION
¶
-
enumerator
IfcEnvironmentalImpactCategory_INSTALLATION
¶
-
enumerator
IfcEnvironmentalImpactCategory_MANUFACTURE
¶
-
enumerator
IfcEnvironmentalImpactCategory_TRANSPORTATION
¶
-
enumerator
IfcEnvironmentalImpactCategory_USERDEFINED
¶
-
enumerator
IfcEnvironmentalImpactCategory_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcEnvironmentalImpactValue
: public Ifc2x3::IfcAppliedValue Public Types
-
typedef IfcTemplatedEntityList<IfcEnvironmentalImpactValue>
list
Public Functions
-
std::string
ImpactType
() const
-
void
setImpactType
(std::string v)
-
::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value
Category
() const
-
void
setCategory
(::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v)
-
bool
hasUserDefinedCategory
() const Whether the optional attribute UserDefinedCategory is defined for this IfcEnvironmentalImpactValue.
-
std::string
UserDefinedCategory
() const
-
void
setUserDefinedCategory
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcEnvironmentalImpactValue
(IfcEntityInstanceData *e)
-
IfcEnvironmentalImpactValue
(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcAppliedValueSelect *v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit *v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect *v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect *v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, boost::optional<std::string> v9_UserDefinedCategory)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEnvironmentalImpactValue>
-
class
IfcEquipmentElement
: public Ifc2x3::IfcElement Public Types
-
typedef IfcTemplatedEntityList<IfcEquipmentElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcEquipmentElement
(IfcEntityInstanceData *e)
-
IfcEquipmentElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEquipmentElement>
-
class
IfcEquipmentStandard
: public Ifc2x3::IfcControl Public Types
-
typedef IfcTemplatedEntityList<IfcEquipmentStandard>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcEquipmentStandard
(IfcEntityInstanceData *e)
-
IfcEquipmentStandard
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEquipmentStandard>
-
class
IfcEvaporativeCoolerType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a evaporative cooler specification (i.e. the specific product information, that is common to all occurrences of that product type). Evaporative Cooler types may be exchanged without being already assigned to occurrences. Occurrences of IfcEvaporativeCoolerType are represented by instances of IfcEvaporativeCooler.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_EvaporativeCoolerTypeCommon
Material Use Definition The material of the IfcEvaporativeCoolerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Media’: Heat exchanger media material.
Port Use Definition The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcEvaporativeCoolerType>
list
Public Functions
-
::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value
PredefinedType
() const Defines the type of evaporative cooler.
-
void
setPredefinedType
(::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcEvaporativeCoolerType
(IfcEntityInstanceData *e)
-
IfcEvaporativeCoolerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEvaporativeCoolerType>
-
struct
IfcEvaporativeCoolerTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of evaporative coolers. The IfcEvaporativeCoolerTypeEnum contains the following:
DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER: Direct evaporative random media air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with evaporative pads, usually of aspen wood or plastic fiber/foam. DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER: Direct evaporative rigid media air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with sheets of rigid, corrugated material as the wetted surface. DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER: Direct evaporative slingers packaged air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers with a water slinger in an evaporative cooling section and a fan section. DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER: Direct evaporative packaged rotary air cooler: Cools the air stream by evaporating water dircectly into the air stream using coolers that wet and wash the evaporative pad by rotating it through a water bath. DIRECTEVAPORATIVEAIRWASHER: Direct evaporative air washer: Cools the air stream by evaporating water dircectly into the air stream using coolers with spray-type air washer consist of a chamber or casing containing spray nozzles, and tank for collecting spray water, and an eliminator section for removing entrained drops of water from the air. INDIRECTEVAPORATIVEPACKAGEAIRCOOLER: Indirect evaporative package air cooler: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream. On one side of the heat exchanger, the secondary air stream is cooled by evaporation, while on the other side of heat exchanger, the primary air stream (conditioned air to be supplied to the room) is sensibly cooled by the heat exchanger surfaces. INDIRECTEVAPORATIVEWETCOIL: Indirect evaporative wet coil: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream. Water is sprayed directly on the tubes of the heat exchanger where latent cooling takes place and the vaporization of the water on the outside of the heat exchanger tubes allows the simultaneous heat and mass transfer which removes heat from the supply air on the tube side. INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER: Indirect evaporative cooling tower or coil cooler: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream using a combination of a cooling tower or other evaporative water cooler with a water-to-air heat exchanger coil and water circulating pump. INDIRECTDIRECTCOMBINATION: Indirect/Direct combination: Cools the air stream by evaporating water indirectly and without adding moisture into the air stream using a two-stage cooler with a first-stage indirect evaporative cooler and second-stage direct evaporative cooler. USERDEFINED: User-defined evaporative cooler type. NOTDEFINED: Undefined evaporative cooler type.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER
¶
-
enumerator
IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER
¶
-
enumerator
IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER
¶
-
enumerator
IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER
¶
-
enumerator
IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER
¶
-
enumerator
IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER
¶
-
enumerator
IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL
¶
-
enumerator
IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER
¶
-
enumerator
IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION
¶
-
enumerator
IfcEvaporativeCoolerType_USERDEFINED
¶
-
enumerator
IfcEvaporativeCoolerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcEvaporatorType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a evaporator specification (i.e. the specific product information, that is common to all occurrences of that product type). Evaporator types may be exchanged without being already assigned to occurrences. Occurrences of IfcEvaporatorType are represented by instances of IfcEvaporator.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_EvaporatorTypeCommon
Material Use Definition The material of the IfcEvaporatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Refrigerant’: Refrigerant material.
Port Use Definition The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcEvaporatorType>
list
Public Functions
-
::Ifc2x3::IfcEvaporatorTypeEnum::Value
PredefinedType
() const Defines the type of evaporator.
-
void
setPredefinedType
(::Ifc2x3::IfcEvaporatorTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcEvaporatorType
(IfcEntityInstanceData *e)
-
IfcEvaporatorType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcEvaporatorType>
-
struct
IfcEvaporatorTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of evaporators. The IfcEvaporatorTypeEnum contains the following:
DIRECTEXPANSION: Direct-expansion evaporator. DIRECTEXPANSIONSHELLANDTUBE: Direct-expansion evaporator where a refrigerant evaporates inside a series of baffles that channel the fluid throughout the shell side. DIRECTEXPANSIONTUBEINTUBE: Direct-expansion evaporator where a refrigerant evaporates inside one or more pairs of coaxial tubes. DIRECTEXPANSIONBRAZEDPLATE: Direct-expansion evaporator where a refrigerant evaporates inside plates brazed or welded together to make up an assembly of separate channels. FLOODEDSHELLANDTUBE: Evaporator in which refrigerant evaporates outside tubes. SHELLANDCOIL: Evaporator in which refrigerant evaporates inside a simple coiled tube immersed in the fluid to be cooled. USERDEFINED: User-defined evaporator type. NOTDEFINED: Undefined evaporator type.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE
¶
-
enumerator
IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE
¶
-
enumerator
IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE
¶
-
enumerator
IfcEvaporatorType_FLOODEDSHELLANDTUBE
¶
-
enumerator
IfcEvaporatorType_SHELLANDCOIL
¶
-
enumerator
IfcEvaporatorType_USERDEFINED
¶
-
enumerator
IfcEvaporatorType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcExtendedMaterialProperties
: public Ifc2x3::IfcMaterialProperties The IfcExtendedMaterialProperties assign a set of defined material properties to associated material definitions. This provides a mechanism to assign any material properties to material. Those material properties that are defined as part of the IFC specification are provided within the use definitions below. NOTE The usage of this entity has changed in IFC2x4, it is now used to express all material properties. The IfcProperty (instantiable subtypes) is used to express the individual material properties.
HISTORY New entity in Release IFC2x.
IFC2x4 CHANGE The attributes Name and Description are promoted to supertype, attribute ExtendedProperties has been renamed to Properties.
Extended property use definitions The following sets of material property definitions are part of this IFC release:
General Material Properties General Mechanical Properties
Steel Mechanical Properties Concrete Mechanical Properties Timber and Wood-based Mechanical Properties
General Thermal Properties General Hygroscopic Properties General Optical Properties General Water Properties General Fuel Properties General Products of Combustion Properties General Energy Calculation Properties
Public Types
-
typedef IfcTemplatedEntityList<IfcExtendedMaterialProperties>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr
ExtendedProperties
() const
-
void
setExtendedProperties
(IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr v)
-
bool
hasDescription
() const Whether the optional attribute Description is defined for this IfcExtendedMaterialProperties.
-
std::string
Description
() const
-
void
setDescription
(std::string v)
-
std::string
Name
() const
-
void
setName
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcExtendedMaterialProperties
(IfcEntityInstanceData *e)
-
IfcExtendedMaterialProperties
(::Ifc2x3::IfcMaterial *v1_Material, IfcTemplatedEntityList<::Ifc2x3::IfcProperty>::ptr v2_ExtendedProperties, boost::optional<std::string> v3_Description, std::string v4_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExtendedMaterialProperties>
-
class
IfcExternallyDefinedHatchStyle
: public Ifc2x3::IfcExternalReference Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style.
NOTE: The allowable values for the name source and item reference, by which the externally defined hatch style is identified, need to be determined by implementer agreements.
NOTE: Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY: New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedHatchStyle>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcExternallyDefinedHatchStyle
(IfcEntityInstanceData *e)
-
IfcExternallyDefinedHatchStyle
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedHatchStyle>
-
class
IfcExternallyDefinedSurfaceStyle
: public Ifc2x3::IfcExternalReference IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information.
NOTE In order to achieve expected results, the externally defined surface style should normally only be given in addition to an explicitly defined surface styles.
HISTORY New entity in IFC2x2.
IFC2x3 CHANGE The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility.
Public Types
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedSurfaceStyle>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcExternallyDefinedSurfaceStyle
(IfcEntityInstanceData *e)
-
IfcExternallyDefinedSurfaceStyle
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedSurfaceStyle>
-
class
IfcExternallyDefinedSymbol
: public Ifc2x3::IfcExternalReference An externally defined symbol is a symbol that gets its shape information by an agreed reference to an external source.
NOTE: The allowable symbol names and sources have to be established by implementers agreements.
NOTE: The IfcExternallyDefinedSymbol is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
NOTE Corresponding ISO 10303 name: externally_defined_symbol. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedSymbol>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcExternallyDefinedSymbol
(IfcEntityInstanceData *e)
-
IfcExternallyDefinedSymbol
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedSymbol>
-
class
IfcExternallyDefinedTextFont
: public Ifc2x3::IfcExternalReference Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font
NOTE Restrictions of the font source and font names to be used may be exposed by implementation guidelines.
NOTE Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedTextFont>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcExternallyDefinedTextFont
(IfcEntityInstanceData *e)
-
IfcExternallyDefinedTextFont
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExternallyDefinedTextFont>
-
class
IfcExternalReference
: public IfcUtil::IfcBaseEntity An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a dictionary entry, a classification notation, or a document reference within the external source.
Only the Location (as a URL) is given to describe the place where the information can be found. Also an optional Identification as a key to allow more specific references (as to sections or tables) is provided. The Identification defines a system interpretable method to identify the relevant part of information at the source. In addition a human interpretable Name can be assigned to identify the information subject, such as a classification code.
IfcExternalReference is an abstract supertype of all external reference entities.
HISTORY New entity in IFC2x.
Subclassed by Ifc2x3::IfcClassificationReference, Ifc2x3::IfcDocumentReference, Ifc2x3::IfcExternallyDefinedHatchStyle, Ifc2x3::IfcExternallyDefinedSurfaceStyle, Ifc2x3::IfcExternallyDefinedSymbol, Ifc2x3::IfcExternallyDefinedTextFont, Ifc2x3::IfcLibraryReference
Public Types
-
typedef IfcTemplatedEntityList<IfcExternalReference>
list
Public Functions
-
bool
hasLocation
() const Whether the optional attribute Location is defined for this IfcExternalReference.
-
std::string
Location
() const Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string.
IFC2x4 CHANGE The data type has been changed from IfcLabel to IfcURIReference.
-
void
setLocation
(std::string v)
-
bool
hasItemReference
() const Whether the optional attribute ItemReference is defined for this IfcExternalReference.
-
std::string
ItemReference
() const
-
void
setItemReference
(std::string v)
-
bool
hasName
() const Whether the optional attribute Name is defined for this IfcExternalReference.
-
std::string
Name
() const Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document).
-
void
setName
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcExternalReference
(IfcEntityInstanceData *e)
-
IfcExternalReference
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExternalReference>
-
class
IfcExtrudedAreaSolid
: public Ifc2x3::IfcSweptAreaSolid The IfcExtrudedAreaSolid is defined by sweeping a cross section provided by a profile definition. The direction of the extrusion is given by the ExtrudedDirection attribute and the length of the extrusion is given by the Depth attribute. If the planar area has inner boundaries (holes defined), then those holes shall be swept into holes of the solid. The extruded direction can be any direction which is not perpendicular to the z axis of the position coordinate system of the profile. The following definitions from ISO 10303-42 apply:
An extruded area solid is a solid defined by sweeping a bounded planar surface. The direction of translation is defined by a direction vector, and the length of the translation is defined by a distance depth. The planar area may have holes which will sweep into holes in the solid.
The ExtrudedDirection is given within the position coordinate system as defined by IfcSweptAreaSolid.Position. Extrusions are not restricted to be perpendicular to the extruded surface of the profile.
Figure 255 illustrates geometric parameters of the extruded area solid. The extruded area solid defines the extrusion of a 2D area (given by a profile definition) by an direction and depth. The result is a solid. The swept area is given by a profile definition. This profile is defined:
as a 2D bounded curve within the xy plane of the position coordinate system, as a 2D bounded curve with holes within the xy plane of the position coordinate system, or as a 2D primitive, defined within a 2D position coordinate system, that is placed relative to the xy plane of the position coordinate system
Figure 255 — Extruded area solid geometry
NOTE Corresponding ISO 10303-42 entity: extruded_area_solid. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The Position attribute has been added to position the cross section used for the linear extrusion.
HISTORY New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x.
Texture use definition For side faces, textures are aligned facing upright continuously along the sides with origin at the first point of an arbitrary profile, and following the outer bound of the profile counter-clockwise (as seen from above). For parameterized profiles, the origin is defined at the +Y extent for rounded profiles (having no sharp edge) and the first sharp edge counter-clockwise from the +Y extent for all other profiles. Textures are stretched or repeated on each side along the outer boundary of the profile according to RepeatS. Textures are stretched or repeated on each side along the extrusion axis according to RepeatT. For top and bottom caps, textures are aligned facing front-to-back, with the origin at the minimum X and Y extent. Textures are stretched or repeated on the top and bottom to the extent of each face according to RepeatS and RepeatT. For profiles with voids, textures are aligned facing upright along the inner side with origin at the first point of an arbitrary profile, and following the inner bound of the profile clockwise (as seen from above). For parameterized profiles, the origin of inner sides is defined at the +Y extent for rounded profiles (having no sharp edge such as hollow ellipses or rounded rectangles) and the first sharp edge clockwise from the +Y extent for all other profiles.
Figure 256 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcExtrudedAreaSolid having a profile of IfcIShapeProfileDef, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcIShapeProfileDef.OverallWidth, +0.5*IfcIShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcIShapeProfileDef.OverallWidth, -0.5*IfcIShapeProfileDef.OverallDepth).
Figure 256 — Extruded area solid textures
Public Types
-
typedef IfcTemplatedEntityList<IfcExtrudedAreaSolid>
list
Public Functions
-
::Ifc2x3::IfcDirection *
ExtrudedDirection
() const The direction in which the surface, provided by SweptArea is to be swept.
-
void
setExtrudedDirection
(::Ifc2x3::IfcDirection *v)
-
double
Depth
() const The distance the surface is to be swept along the ExtrudedDirection
-
void
setDepth
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcExtrudedAreaSolid
(IfcEntityInstanceData *e)
-
IfcExtrudedAreaSolid
(::Ifc2x3::IfcProfileDef *v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D *v2_Position, ::Ifc2x3::IfcDirection *v3_ExtrudedDirection, double v4_Depth)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcExtrudedAreaSolid>
-
class
IfcFace
: public Ifc2x3::IfcTopologicalRepresentationItem Definition from ISO/CD 10303-42:1992: A face is a topological entity of dimensionality 2 corresponding to the intuitive notion of a piece of surface bounded by loops. Its domain, if present, is an oriented, connected, finite 2-manifold in Rm. A face domain shall not have handles but it may have holes, each hole bounded by a loop. The domain of the underlying geometry of the face, if present, does not contain its bounds, and 0 < Ξ < ∞. A face is represented by its bounding loops, which are defined as face bounds. A face has a topological normal n and the tangent to a loop is t. For a loop bounding a face with defined geometry, the cross product n x t points toward the interior of the face. That is, each loop runs counter-clockwise around the face when viewed from above, if we consider the normal n to point up. With each loop is associated a BOOLEAN flag to signify whether the loop direction is oriented with respect to the face normal (TRUE) or should be reversed (FALSE).
A face shall have at least one bound, and the loops shall not intersect. One loop is optionally distinguished as the outer loop of the face. If so, it establishes a preferred way of embedding the face domain in the plane, in which the other bounding loops of the face are inside the outer bound. Because the face domain is arcwise connected, no inner loop will contain any other loop. This is true regardless of which embedding in the plane is chosen.
The edges and vertices referenced by the loops of a face form a graph, of which the individual loops are the connected components. The Euler equation (1) for this graph becomes:
where Gli is the graph genus of the i th loop.
NOTE Corresponding ISO 10303 entity: face. No subtypes of face have been incorporated into this IFC Release. Please refer to ISO/IS 10303-42:1994, p. 140 for the final definition of the formal standard. The WR1 has not been incorporated, since it is always satisfied, due to the fact that only poly loops exist for face bounds.
HISTORY New class in IFC Release 1.0
Informal propositions:
No edge shall be referenced by the face more than twice.
Distinct face bounds of the face shall have no common vertices. If geometry is present, distinct loops of the same face shall not intersect.
The face shall satisfy the Euler Equation: (number of vertices) - (number of edges) - (number of loops) + (sum of genus for loops) = 0.
Subclassed by Ifc2x3::IfcFaceSurface
Public Types
-
typedef IfcTemplatedEntityList<IfcFace>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcFaceBound>::ptr
Bounds
() const Boundaries of the face.
-
void
setBounds
(IfcTemplatedEntityList<::Ifc2x3::IfcFaceBound>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcFace
(IfcEntityInstanceData *e)
-
IfcFace
(IfcTemplatedEntityList<::Ifc2x3::IfcFaceBound>::ptr v1_Bounds)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFace>
-
class
IfcFaceBasedSurfaceModel
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set.
A connected face set may exist independently of a surface model.
NOTE Corresponding STEP entity: face_based_surface_model. Please refer to ISO/IS 10303-42:1994, p. 188 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 2x.
Informal propositions:
The connected face sets shall not overlap or intersect except at common faces, edges or vertices. The fbsm faces have dimensionality 2.
Public Types
-
typedef IfcTemplatedEntityList<IfcFaceBasedSurfaceModel>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcConnectedFaceSet>::ptr
FbsmFaces
() const The set of connected face sets comprising the face based surface model.
-
void
setFbsmFaces
(IfcTemplatedEntityList<::Ifc2x3::IfcConnectedFaceSet>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcFaceBasedSurfaceModel
(IfcEntityInstanceData *e)
-
IfcFaceBasedSurfaceModel
(IfcTemplatedEntityList<::Ifc2x3::IfcConnectedFaceSet>::ptr v1_FbsmFaces)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFaceBasedSurfaceModel>
-
class
IfcFaceBound
: public Ifc2x3::IfcTopologicalRepresentationItem Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face.
NOTE Corresponding ISO 10303 entity: face_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Subclassed by Ifc2x3::IfcFaceOuterBound
Public Types
-
typedef IfcTemplatedEntityList<IfcFaceBound>
list
Public Functions
-
bool
Orientation
() const This indicated whether (TRUE) or not (FALSE) the loop has the same sense when used to bound the face as when first defined. If sense is FALSE the senses of all its component oriented edges are implicitly reversed when used in the face.
-
void
setOrientation
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcFaceBound
(IfcEntityInstanceData *e)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFaceBound>
-
class
IfcFaceOuterBound
: public Ifc2x3::IfcFaceBound Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type.
NOTE Corresponding ISO 10303 entity: face_outer_bound. Please refer to ISO/IS 10303-42:1994, p. 139 for the final definition of the formal standard.
HISTORY New class in IFC Release 1.0
Public Types
-
typedef IfcTemplatedEntityList<IfcFaceOuterBound>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFaceOuterBound
(IfcEntityInstanceData *e)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFaceOuterBound>
-
class
IfcFaceSurface
: public Ifc2x3::IfcFace Definition from ISO/CD 10303-42:1992: A face surface (IfcFaceSurface) is a subtype of face in which the geometry is defined by an associated surface. The portion of the surface used by the face shall be embeddable in the plane as an open disk, possibly with holes. However, the union of the face with the edges and vertices of its bounding loops need not be embeddable in the plane. It may, for example, cover an entire sphere or torus. As both a face and a geometric surface have defined normal directions, a BOOLEAN flag (the orientation attribute) is used to indicate whether the surface normal agrees with (TRUE) or is opposed to (FALSE) the face normal direction. The geometry associated with any component of the loops of the face shall be consistent with the surface geometry, in the sense that the domains of all the vertex points and edge curves are contained in the face geometry surface. A surface may be referenced by more than one face surface.
NOTE Corresponding ISO 10303 entity: face_surface. Please refer to ISO/IS 10303-42:1994, p. 204 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included.
HISTORY New class in IFC2x
Informal propositions:
The domain of the face surface is formally defined to be the domain of its face geometry as trimmed by the loops, this domain does not include the bounding loops. A face surface has non zero finite extent. A face surface is a manifold. A face surface is arcwise connected. A face surface has surface genus 0. The loops are not part of the face domain. Loop geometry shall be consistent with face geometry. This implies that any edge - curves or vertex points used in defining the loops bounding the face surface shall lie on the face geometry. The loops of the face shall not intersect.
Public Types
-
typedef IfcTemplatedEntityList<IfcFaceSurface>
list
Public Functions
-
::Ifc2x3::IfcSurface *
FaceSurface
() const The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds.
-
void
setFaceSurface
(::Ifc2x3::IfcSurface *v)
-
bool
SameSense
() const This flag indicates whether the sense of the surface normal agrees with (TRUE), or opposes (FALSE), the sense of the topological normal to the face.
-
void
setSameSense
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcFaceSurface
(IfcEntityInstanceData *e)
-
IfcFaceSurface
(IfcTemplatedEntityList<::Ifc2x3::IfcFaceBound>::ptr v1_Bounds, ::Ifc2x3::IfcSurface *v2_FaceSurface, bool v3_SameSense)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFaceSurface>
-
class
IfcFacetedBrep
: public Ifc2x3::IfcManifoldSolidBrep Definition from ISO/CD 10303-42:1992: A faceted B-rep is a simple form of boundary representation model in which all faces are planar and all edges are straight lines. Unlike the B-rep model, edges and vertices are not represented explicitly in the model but are implicitly available through the poly loop entity. A faceted B-rep has to meet the same topological constraints as the manifold solid B-rep.
NOTE The faceted B-rep has been introduced in order to support the larger number of systems that allow boundary type solid representations with planar surfaces only.
NOTE Corresponding ISO 10303-42 entity: faceted_brep. Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In the current IFC Release faceted B-rep with voids is represented by an own subtype and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC data schema.
HISTORY New entity in IFC Release 1.0
Informal proposition:
All the bounding loops of all the faces of all the shells in the IfcFacetedBrep shall be of type IfcPolyLoop. All vertices shall be referenced by all polyloops, sharing the vertex. That is, each Cartesian point shall be referenced by at least three polyloops.
Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace.
Figure 257 — Faceted B-rep
Public Types
-
typedef IfcTemplatedEntityList<IfcFacetedBrep>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFacetedBrep
(IfcEntityInstanceData *e)
-
IfcFacetedBrep
(::Ifc2x3::IfcClosedShell *v1_Outer)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFacetedBrep>
-
class
IfcFacetedBrepWithVoids
: public Ifc2x3::IfcManifoldSolidBrep The IfcFacetedBrepWithVoids is a specialization of a faceted B-rep which contains one or more voids in its interior. The voids are represented as closed shells which are defined so that the shell normal point into the void.
NOTE Corresponding ISO 10303-42 entity: brep_with_voids (see note above). Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In IFC faceted B-rep with voids is represented by this subtype IfcFacetedBrepWithVoids and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994 between an instance of faceted_brep AND brep_with_voids. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC object model.
HISTORY New entity in IFC Release 1.0
IFC2x4 CHANGE Subtyping changed from IfcManifoldSolidBrep to IfcFacetedBrep with upward compatibility for file based exchange.
Informal propositions:
Each void shell shall be disjoint from the outer shell and from every other void shell Each void shell shall be enclosed within the outer shell but not within any other void shell. In particular the outer shell is not in the set of void shells Each shell in the IfcManifoldSolidBrep shall be referenced only once. All the bounding loops of all the faces of all the shells in the IfcFacetedBrep shall be of type IfcPolyLoop.
Public Types
-
typedef IfcTemplatedEntityList<IfcFacetedBrepWithVoids>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcClosedShell>::ptr
Voids
() const Set of closed shells defining voids within the solid.
-
void
setVoids
(IfcTemplatedEntityList<::Ifc2x3::IfcClosedShell>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcFacetedBrepWithVoids
(IfcEntityInstanceData *e)
-
IfcFacetedBrepWithVoids
(::Ifc2x3::IfcClosedShell *v1_Outer, IfcTemplatedEntityList<::Ifc2x3::IfcClosedShell>::ptr v2_Voids)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFacetedBrepWithVoids>
-
class
IfcFailureConnectionCondition
: public Ifc2x3::IfcStructuralConnectionCondition Definition from IAI: Defines forces at which a support or connection fails.
Applicability:
Point supports and connections.
HISTORY: New entity in IFC 2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcFailureConnectionCondition>
list
Public Functions
-
bool
hasTensionFailureX
() const Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition.
-
double
TensionFailureX
() const Tension force in x-direction leading to failure of the connection.
-
void
setTensionFailureX
(double v)
-
bool
hasTensionFailureY
() const Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition.
-
double
TensionFailureY
() const Tension force in y-direction leading to failure of the connection.
-
void
setTensionFailureY
(double v)
-
bool
hasTensionFailureZ
() const Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition.
-
double
TensionFailureZ
() const Tension force in z-direction leading to failure of the connection.
-
void
setTensionFailureZ
(double v)
-
bool
hasCompressionFailureX
() const Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition.
-
double
CompressionFailureX
() const Compression force in x-direction leading to failure of the connection.
-
void
setCompressionFailureX
(double v)
-
bool
hasCompressionFailureY
() const Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition.
-
double
CompressionFailureY
() const Compression force in y-direction leading to failure of the connection.
-
void
setCompressionFailureY
(double v)
-
bool
hasCompressionFailureZ
() const Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition.
-
double
CompressionFailureZ
() const Compression force in z-direction leading to failure of the connection.
-
void
setCompressionFailureZ
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcFailureConnectionCondition
(IfcEntityInstanceData *e)
-
IfcFailureConnectionCondition
(boost::optional<std::string> v1_Name, boost::optional<double> v2_TensionFailureX, boost::optional<double> v3_TensionFailureY, boost::optional<double> v4_TensionFailureZ, boost::optional<double> v5_CompressionFailureX, boost::optional<double> v6_CompressionFailureY, boost::optional<double> v7_CompressionFailureZ)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFailureConnectionCondition>
-
class
IfcFanType
: public Ifc2x3::IfcFlowMovingDeviceType The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a fan specification (i.e. the specific product information, that is common to all occurrences of that product type). Fan types may be exchanged without being already assigned to occurrences. Occurrences of IfcFanType are represented by instances of IfcFan.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowMovingDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FanTypeCommon Pset_FanTypeSmokeControl
Material Use Definition The material of the IfcFanType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Housing’: The material used to construct the fan housing. ‘Wheel’: The material used to construct the fan wheel.
Port Use Definition The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcFanType>
list
Public Functions
-
::Ifc2x3::IfcFanTypeEnum::Value
PredefinedType
() const Defines the type of fan typically used in building services.
-
void
setPredefinedType
(::Ifc2x3::IfcFanTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFanType
(IfcEntityInstanceData *e)
-
IfcFanType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFanType>
-
struct
IfcFanTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of fans. The IfcFanTypeEnum contains the following:
CENTRIFUGALFORWARDCURVED: Air flows through the impeller radially using blades that are forward curved. CENTRIFUGALRADIAL: Air flows through the impeller radially using blades that are uncurved or slightl forward curved. CENTRIFUGALBACKWARDINCLINEDCURVED: Air flows through the impeller radially using blades that are backward curved. CENTRIFUGALAIRFOIL: Air flows through the impeller radially using blades are airfoil shaped. TUBEAXIAL: Air flows through the impeller axially with reduced tip clearance and operating at higher tip speeds. VANEAXIAL: Air flows through the impeller axially with guide vanes and reduced running blade tip clearance. PROPELLORAXIAL: Air flows through the impeller axially and small hub-to-tip ratio impeller mounted in an orifice plate or inlet ring. USERDEFINED: User-defined fan type. NOTDEFINED: Undefined fan type.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcFanType_CENTRIFUGALFORWARDCURVED
¶
-
enumerator
IfcFanType_CENTRIFUGALRADIAL
¶
-
enumerator
IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED
¶
-
enumerator
IfcFanType_CENTRIFUGALAIRFOIL
¶
-
enumerator
IfcFanType_TUBEAXIAL
¶
-
enumerator
IfcFanType_VANEAXIAL
¶
-
enumerator
IfcFanType_PROPELLORAXIAL
¶
-
enumerator
IfcFanType_USERDEFINED
¶
-
enumerator
IfcFanType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcFastener
: public Ifc2x3::IfcElementComponent Definition from IAI: Representations of fixing parts which are used as fasteners to connect or join elements with other elements.
HISTORY New entity in IFC Release 2x2
IFC 2x4 change: Attribute PredefinedType added.
Subclassed by Ifc2x3::IfcMechanicalFastener
Public Types
-
typedef IfcTemplatedEntityList<IfcFastener>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFastener
(IfcEntityInstanceData *e)
-
IfcFastener
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFastener>
-
class
IfcFastenerType
: public Ifc2x3::IfcElementComponentType Definition from IAI: The element type (IfcFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define fasteners mainly within structural and building services domains (i.e. the specific type information
common to all occurrences of that type).
The occurrences of the IfcFastenerType are represented by instances of IfcFastener.
HISTORY New entity in IFC Release 2x2
IFC 2x4 change: Attribute PredefinedType added. Subtype IfcMechanicalFastenerType redefined as direct subtype of IfcElementComponentType.
Property Set Use Definition
The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute.
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_FastenerWeld (WELD)
Subclassed by Ifc2x3::IfcMechanicalFastenerType
Public Types
-
typedef IfcTemplatedEntityList<IfcFastenerType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFastenerType
(IfcEntityInstanceData *e)
-
IfcFastenerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFastenerType>
-
class
IfcFeatureElement
: public Ifc2x3::IfcElement Definition from IAI: Generalization of all existence dependent elements which modify the shape and appearance of the associated master element. The IfcFeatureElement offers the ability to handle shape modifiers as semantic objects within the IFC object model.
NOTE The term “feature” has a predefined meaning in a context of “feature-based modeling” and within steel construction work. It is introduced here in a broader sense to cover all existence dependent, but semantically described, modifiers of an element’s shape and appearance. It is envisioned that future releases enhance the feature-based capabilities of the IFC model.
In contrary to the aggregation, as used in IfcElementAssembly, that defines the aggregate as a container element, that has equally treated parts, the feature concept introduced by IfcFeatureElement defines the master element with subordinate parts as additions, or with voids or cut-outs as subtractions.
HISTORY New entity in Release IFC2x Edition 2. NOTE The entity is introduced as an upward compatible extension of the IFC2x platform. It is an intermediate abstract supertype without defining its own explicit attributes.
Containment Use Definition As a subordinate part being fully dependent on the master element the IfcFeatureElement shall have no independent containment relationship to the spatial structure.
The SELF\IfcElement.ContainedInStructure relationship shall be NIL.
Geometry Use Definition The geometric representation of IfcFeatureElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Local Placement The local placement for IfcFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the master IfcElement (its relevant subtypes), which is associated to the IfcFeatureElement by the appropriate relationship object. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations Any IfcFeatureElement can be represented by one or several geometric representations. A detailed specification is introduced at the level of subtypes. Only the general representation identifier ‘Box’ with representation type ‘BoundingBox’, and representation identifier ‘Body’ with representation type ‘Brep’ are defined here. Box Representation Any IfcFeatureElement may be represented as a bounding box, which shows the maximum extend of the body within the coordinated system established by the IfcLocalPlacement. The bounding box representation is the simplest geometric representation available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Box’ RepresentationType : ‘BoundingBox’
Body Representation The body representation of any IfcFeatureElement can have the following representation types: ‘Brep’. Other representation types might be specified at the level of subtypes. Brep Representation Type Any IfcFeatureElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Body’ RepresentationType : ‘Brep’
In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.
Subclassed by Ifc2x3::IfcFeatureElementAddition, Ifc2x3::IfcFeatureElementSubtraction
Public Types
-
typedef IfcTemplatedEntityList<IfcFeatureElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFeatureElement
(IfcEntityInstanceData *e)
-
IfcFeatureElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFeatureElement>
-
class
IfcFeatureElementAddition
: public Ifc2x3::IfcFeatureElement Definition from IAI: A specialization of the general feature element, that represents an existence dependent element which modifies the shape and appearance of the associated master element. The IfcFeatureElementAddition offers the ability to handle shape modifiers as semantic objects within the IFC object model that add to the shape of the master element.
HISTORY New entity in Release IFC2x Edition 2. NOTE The entity is introduced as an upward compatible extension of the IFC2x platform. It is an intermediate abstract supertype without defining its own explicit attributes.
The IfcFeatureElementAddition is associated to its master element by virtue of the objectified relationship IfcRelProjectsElement. This relationship implies a Boolean ‘union’ operation between the shape of the master element and the shape of the addition feature.
Containment use definition
The containment to the spatial structure is defined at the level of the supertype IfcFeatureElement
Geometry Use Definitions
The geometric representation of IfcFeatureElementAddition is given by the IfcProductDefinitionShape, allowing multiple geometric representations.
Local Placement
The local placement for IfcFeatureElementAddition is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement is always defined in relation to the local placement of the element to which the feature element is added:
The PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the same IfcElement, which is used in the HasAdditionFeature.RelatingElement inverse attribute.
Shape Representation
The geometry use definitions for the shape representation of the IfcFeatureElementAddition is given at the level of its subtypes.
Subclassed by Ifc2x3::IfcProjectionElement
Public Types
-
typedef IfcTemplatedEntityList<IfcFeatureElementAddition>
list
Public Functions
-
IfcTemplatedEntityList<IfcRelProjectsElement>::ptr
ProjectsElements
() const
-
const IfcParse::entity &
declaration
() const
-
IfcFeatureElementAddition
(IfcEntityInstanceData *e)
-
IfcFeatureElementAddition
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFeatureElementAddition>
-
class
IfcFeatureElementSubtraction
: public Ifc2x3::IfcFeatureElement The IfcFeatureElementSubtraction is specialization of the general feature element, that represents an existence dependent elements which modifies the shape and appearance of the associated master element. The IfcFeatureElementSubtraction offers the ability to handle shape modifiers as semantic objects within the IFC object model that subtract from the shape of the master element.
A single subtraction feature such as the subtype IfcOpeningElement is assigned by a single subtraction relationship IfcRelVoidsElement to one occurrences of IfcElement. It establishes a 1:1 relationship between the opening and the element. An element may have several IfcRelVoidsElement relationships, enabling several voids.
The voiding relationship between a master element and a subtraction feature is geometrically resolved by a Boolean difference operation.
HISTORY New entity in Release IFC2x Edition 2.
Containment use definition The IfcFeatureElementSubtraction shall have no independent containment relationship to the spatial structure. See explanation at supertype IfcFeatureElement Geometry Use Definitions The geometric representation of IfcFeatureElementSubtraction is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Local Placement The local placement for IfcFeatureElementSubtraction is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations. The local placement is always defined in relation to the local placement of the building element from which the feature element substration is substracted:
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcElement, which is used in the VoidsElements.RelatingElement inverse attribute.
Shape Representation The geometry use definitions for the shape representation of the IfcFeatureElementSubtraction is given at the level of its subtypes.
Subclassed by Ifc2x3::IfcEdgeFeature, Ifc2x3::IfcOpeningElement
Public Types
-
typedef IfcTemplatedEntityList<IfcFeatureElementSubtraction>
list
Public Functions
-
IfcTemplatedEntityList<IfcRelVoidsElement>::ptr
VoidsElements
() const
-
const IfcParse::entity &
declaration
() const
-
IfcFeatureElementSubtraction
(IfcEntityInstanceData *e)
-
IfcFeatureElementSubtraction
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFeatureElementSubtraction>
-
class
IfcFillAreaStyle
: public Ifc2x3::IfcPresentationStyle Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches.
An IfcFillAreaStyle provides the style table for presentation information assigned to annotation fill areas or surfaces for hatching and tiling. The IfcFillAreaStyle defines hatches as model hatches, that is, the distance between hatch lines, or the curve patterns of hatch lines are given in model space dimensions (that have to be scaled using the target plot scale). The IfcFillAreaStyle allows for the following combinations of defining the style of hatching and tiling:
Solid fill for areas and surfaces by only assigning IfcColour to the set of FillStyles. It then provides the background colour for the filled area or surface.
NOTE Color information of surfaces for rendering is assigned by using IfcSurfaceStyle, not by using IfcFillAreaStyle.
Vector based hatching for areas and surfaces based on a single row of hatch lines by assigning a single instance of IfcFillAreaStyleHatching to the set of FillStyles. If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching. Vector based hatching for areas and surfaces based on two (potentially crossing) rows of hatch lines by assigning two instances of IfcFillAreaStyleHatching to the set of FillStyles.
If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching.
NOTE Assigning more then two instances of IfcFillAreaStyleHatching to define three or more rows of hatch lines is not encouraged.
Tiling for areas and surfaces by assigning a single instance of IfcFillAreaStyleTiles to the set of FillStyles. If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the tiling.
IFC2x3 NOTE The use of IfcFillAreaStyleTiles is discouraged., as its definition might change is future releases.
Externally defined hatch style by assigning a single instance of IfcExternallyDefinedHatchStyle to the set of FillStyles. If an instance of IfcColour is assigned in addition to the set of FillStyles, it provides the background colour for the hatching.
Measures given to a hatch or tile pattern are given in global drawing length units.
NOTE Global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.
The measure values for hatch or tile pattern apply to the model space with a target plot scale provided for the correct appearance in the default plot scale. For different scale and projection dependent fill area styles a different instance of IfcFillAreaStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations.
NOTE the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale.
An IfcFillAreaStyle can be assigned to IfcFillArea via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or subtype IfcAnnotationFillAreaOccurrence.
NOTE Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcFillAreaStyle>
list
Public Functions
-
IfcEntityList::ptr
FillStyles
() const The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces.
-
void
setFillStyles
(IfcEntityList::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcFillAreaStyle
(IfcEntityInstanceData *e)
-
IfcFillAreaStyle
(boost::optional<std::string> v1_Name, IfcEntityList::ptr v2_FillStyles)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFillAreaStyle>
-
class
IfcFillAreaStyleHatching
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface.
The IfcFillAreaStyleHatching is used to define simple, vector-based hatching patterns, based on styled straight lines. The curve font, color and thickness is given by the HatchLineAppearance, the angle by the HatchLineAngle and the distance to the next hatch line by StartOfNextHatchLine, being either an offset distance or a vector.
NOTE If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset).
For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using thePatternStartPointOfReferenceHatchLine.
NOTE The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext.
NOTE The use of PointOfReferenceHatchLine is deprecated.
Figure 292 illustrates hatch attributes.
Example 1 This example shows simple hatching given by using a curve font “continuous” at HatchLineAppearance.
The distance of hatch lines is given by a positive length measure. The angle (here 45’ if measures in degree) is provided by HatchLineAngle.
The PatternStart is set to NIL ($) in this example. Example 2 This shows hatching from example 1 with using a different curve font at HatchLineAppearance. The distance of hatch lines is given by a positive length measure, therefore the font pattern start is at a point at the next hatch line given by a vector being perpendicular to the point of origin at the reference hatch line. The PatternStart is set to NIL ($) in this example. Example 3 This example uses hatching from example 2 with a vector to determine the pattern start of the next hatch lines. The pattern start is the beginning of the first visual curve font pattern segment at IfcCurveFont.CurveFont. The PatternStart is set to NIL ($) in this example. Example 4 This example uses hatching from example 3 where the pattern start is offset from the point of origin at the reference hatch line. That is, the first visible curve font pattern segment now does not start at the point of origin at the reference hatch line.
Example 5 This example uses hatching from example 4 where the hatch pattern is shifted against the underlying coordinate system. The point that is mapped to the insertion point of the IfcAnnotationFillAreaOccurrence now has an X and Y offset from the start of the reference hatch line. That is, the reference hatch line now does not go through the insertion point of the hatching.
Example 6 This example shows use of
IfcFillAreaStyleHatching attributes for two IfcFillAreaStyleHatching’s within one IfcFillAreaStyle. Note that the PatternStart now displaces both the reference hatch line from the point of origin and the start of the curve pattern. This can be used in cases when more than one IfcFillAreaStyleHatching is used in an IfcFillAreaStyle in order to place rows of hatch lines with an offset from each other.Figure 292 — Fill area style hatching
NOTE Corresponding ISO 10303 name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
IFC2x3 CHANGE The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed.
Public Types
-
typedef IfcTemplatedEntityList<IfcFillAreaStyleHatching>
list
Public Functions
-
::Ifc2x3::IfcCurveStyle *
HatchLineAppearance
() const The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line.
-
void
setHatchLineAppearance
(::Ifc2x3::IfcCurveStyle *v)
-
::Ifc2x3::IfcHatchLineDistanceSelect *
StartOfNextHatchLine
() const A repetition factor that determines the distance between adjacent hatch lines.
IFC2x Edition 3 CHANGE The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor.
-
void
setStartOfNextHatchLine
(::Ifc2x3::IfcHatchLineDistanceSelect *v)
-
bool
hasPointOfReferenceHatchLine
() const Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching.
-
::Ifc2x3::IfcCartesianPoint *
PointOfReferenceHatchLine
() const A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system.
IFC2x Edition 3 CHANGE The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL.
-
void
setPointOfReferenceHatchLine
(::Ifc2x3::IfcCartesianPoint *v)
-
bool
hasPatternStart
() const Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching.
-
::Ifc2x3::IfcCartesianPoint *
PatternStart
() const A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system.
IFC2x Edition 2 Addendum 2 CHANGE The attribute PatternStart has been made OPTIONAL.
-
void
setPatternStart
(::Ifc2x3::IfcCartesianPoint *v)
-
double
HatchLineAngle
() const A plane angle measure determining the direction of the parallel hatching lines.
-
void
setHatchLineAngle
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcFillAreaStyleHatching
(IfcEntityInstanceData *e)
-
IfcFillAreaStyleHatching
(::Ifc2x3::IfcCurveStyle *v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect *v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint *v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint *v4_PatternStart, double v5_HatchLineAngle)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFillAreaStyleHatching>
-
class
IfcFillAreaStyleTiles
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region.
NOTE Corresponding ISO 10303 name: fill_area_style_tiles. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcFillAreaStyleTiles>
list
Public Functions
-
::Ifc2x3::IfcOneDirectionRepeatFactor *
TilingPattern
() const A two direction repeat factor defining the shape and relative positioning of the tiles.
-
void
setTilingPattern
(::Ifc2x3::IfcOneDirectionRepeatFactor *v)
-
IfcEntityList::ptr
Tiles
() const A set of constituents of the tile.
-
void
setTiles
(IfcEntityList::ptr v)
-
double
TilingScale
() const The scale factor applied to each tile as it is placed in the annotation fill area.
-
void
setTilingScale
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcFillAreaStyleTiles
(IfcEntityInstanceData *e)
-
IfcFillAreaStyleTiles
(::Ifc2x3::IfcOneDirectionRepeatFactor *v1_TilingPattern, IfcEntityList::ptr v2_Tiles, double v3_TilingScale)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFillAreaStyleTiles>
-
class
IfcFillAreaStyleTileSymbolWithStyle
: public Ifc2x3::IfcGeometricRepresentationItem The fill area style tile symbol with style is a symbol that is used as a tile within an annotated tiling.
NOTE: The IfcFillAreaStyleTileSymbolWithStyle is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation.
NOTE: Corresponding ISO 10303 name: fill_area_style_tile_symbol_with_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY: New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcFillAreaStyleTileSymbolWithStyle>
list
Public Functions
-
::Ifc2x3::IfcAnnotationSymbolOccurrence *
Symbol
() const A styled item that is used as the annotation symbol for tiling the filled area.
IFC2x4 CHANGE The data type has been changed to IfcStyleItem.
NOTE Only IfcStyleItem’s that refer to a compatible geometric representation item and presentation style shall be used.
-
void
setSymbol
(::Ifc2x3::IfcAnnotationSymbolOccurrence *v)
-
const IfcParse::entity &
declaration
() const
-
IfcFillAreaStyleTileSymbolWithStyle
(IfcEntityInstanceData *e)
-
IfcFillAreaStyleTileSymbolWithStyle
(::Ifc2x3::IfcAnnotationSymbolOccurrence *v1_Symbol)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFillAreaStyleTileSymbolWithStyle>
-
class
IfcFilterType
: public Ifc2x3::IfcFlowTreatmentDeviceType The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a filter specification (i.e. the specific product information, that is common to all occurrences of that product type). Filter types may be exchanged without being already assigned to occurrences. Occurrences of IfcFilterType are represented by instances of IfcFilter.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTreatmentDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FilterTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_FilterTypeAirParticleFilter (AIRPARTICLEFILTER)
Material Use Definition The material of the IfcFilterType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Media’: The material that is used for filtering particulates from the fluid.
Port Use Definition The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcFilterType>
list
Public Functions
-
::Ifc2x3::IfcFilterTypeEnum::Value
PredefinedType
() const The type of air filter.
-
void
setPredefinedType
(::Ifc2x3::IfcFilterTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFilterType
(IfcEntityInstanceData *e)
-
IfcFilterType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFilterType>
-
struct
IfcFilterTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines the various types of filter typically used within building services distribution systems:
AIRPARTICLEFILTER: A filter used to remove particulates from air. COMPRESSEDAIRFILTER: A filter used to remove particulates from compressed air. ODORFILTER: A filter used to remove odors from air. OILFILTER: A filter used to remove particulates from oil. STRAINER: A filter used to remove particulates from a fluid. WATERFILTER: A filter used to remove particulates from water. USERDEFINED: User-defined filter type. NOTDEFINED: Undefined filter type.
HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4.
Values:
-
enumerator
IfcFilterType_AIRPARTICLEFILTER
¶
-
enumerator
IfcFilterType_ODORFILTER
¶
-
enumerator
IfcFilterType_OILFILTER
¶
-
enumerator
IfcFilterType_STRAINER
¶
-
enumerator
IfcFilterType_WATERFILTER
¶
-
enumerator
IfcFilterType_USERDEFINED
¶
-
enumerator
IfcFilterType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcFireSuppressionTerminalType
: public Ifc2x3::IfcFlowTerminalType The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a fire suppression terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Fire Suppression Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcFireSuppressionTerminalType are represented by instances of IfcFireSuppressionTerminal.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FireSuppressionTerminalTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_FireSuppressionTerminalTypeBreechingInlet (BREECHINGINLET) Pset_FireSuppressionTerminalTypeFireHydrant (FIREHYDRANT) Pset_FireSuppressionTerminalTypeHoseReel (HOSEREEL) Pset_FireSuppressionTerminalTypeSprinkler (SPRINKLER)
Material Use Definition The material of the IfcFireSuppressionTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Body’: The primary material from which the object is constructed. ‘Deflector’: The material used to construct the deflector plate.
Port Use Definition The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcFireSuppressionTerminalType>
list
Public Functions
-
::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value
PredefinedType
() const Identifies the predefined types of fire suppression terminal from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFireSuppressionTerminalType
(IfcEntityInstanceData *e)
-
IfcFireSuppressionTerminalType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFireSuppressionTerminalType>
-
struct
IfcFireSuppressionTerminalTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified.
HISTORY: New type in IFC 2x2
Enumeration
BREECHINGINLET: Symmetrical pipe fitting that unites two or more inlets into a single pipe (BS6100 330 114 adapted). A breeching inlet may be used on either a wet or dry riser. Used by fire services personnel for fast connection of fire appliance hose reels. May also be used for foam. FIREHYDRANT: Device, fitted to a pipe, through which a temporary supply of water may be provided (BS6100 330 6107). May also be termed a stand pipe. HOSEREEL: A supporting framework on which a hose may be wound (BS6100 155 8201). SPRINKLER: Device for sprinkling water from a pipe under pressure over an area (BS6100 100 3432). SPRINKLERDEFLECTOR: Device attached to a sprinkler to deflect the water flow into a spread pattern to cover the required area. USERDEFINED: User-defined type. NOTDEFINED: Underined type.
Values:
-
enumerator
IfcFireSuppressionTerminalType_BREECHINGINLET
¶
-
enumerator
IfcFireSuppressionTerminalType_FIREHYDRANT
¶
-
enumerator
IfcFireSuppressionTerminalType_HOSEREEL
¶
-
enumerator
IfcFireSuppressionTerminalType_SPRINKLER
¶
-
enumerator
IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR
¶
-
enumerator
IfcFireSuppressionTerminalType_USERDEFINED
¶
-
enumerator
IfcFireSuppressionTerminalType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcFlowController
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays. Its type is defined by IfcFlowControllerType or subtypes.
HISTORY: New entity in IFC R2.0.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Subclassed by Ifc2x3::IfcElectricDistributionPoint
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowController>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowController
(IfcEntityInstanceData *e)
-
IfcFlowController
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowController>
-
class
IfcFlowControllerType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowControllerType defines a list of commonly shared property set definitions of a flow controller and an optional set of product representations. It is used to define a flow controller specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A flow controller type is used to define the common properties of a flow controller that may be applied to many occurrences of that type. A flow controller is a device that regulates flow within a distribution system, such as a valve in a piping
system, modulating damper in an air distribution system, or electrical switch in an electrical distribution
system. Flow controller types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowControllerType are represented by instances of IfcFlowController or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcAirTerminalBoxType, Ifc2x3::IfcDamperType, Ifc2x3::IfcElectricTimeControlType, Ifc2x3::IfcFlowMeterType, Ifc2x3::IfcProtectiveDeviceType, Ifc2x3::IfcSwitchingDeviceType, Ifc2x3::IfcValveType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowControllerType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowControllerType
(IfcEntityInstanceData *e)
-
IfcFlowControllerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowControllerType>
-
struct
IfcFlowDirectionEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports).
SOURCE: A flow source, where a substance flows out of the connection. SINK: A flow sink, where a substance flows into the connection. SOURCEANDSINK: Both a source and sink, where a substance flows both into and out of the connection simultaneously. NOTDEFINED: Undefined flow direction.
HISTORY: New enumeration in IFC R2.0
Values:
-
enumerator
IfcFlowDirection_SOURCE
¶
-
enumerator
IfcFlowDirection_SINK
¶
-
enumerator
IfcFlowDirection_SOURCEANDSINK
¶
-
enumerator
IfcFlowDirection_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcFlowFitting
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes.
HISTORY: New entity in IFC R2.0.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowFitting>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowFitting
(IfcEntityInstanceData *e)
-
IfcFlowFitting
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowFitting>
-
class
IfcFlowFittingType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowFittingType defines a list of commonly shared property set definitions of a flow fitting and an optional set of product representations. It is used to define a flow fitting specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A flow fitting type is used to define the common properties of a flow fitting that may be applied to many occurrences of that type. A flow fitting is a device that is used to interconnect flow segments or other fittings within a distribution
system, such as a tee in a ducted system that branches flow into two directions, a junction box in an
electrical distribution system, etc. Flow fitting types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowFittingType are represented by instances of IfcFlowFitting or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcCableCarrierFittingType, Ifc2x3::IfcDuctFittingType, Ifc2x3::IfcJunctionBoxType, Ifc2x3::IfcPipeFittingType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowFittingType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowFittingType
(IfcEntityInstanceData *e)
-
IfcFlowFittingType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowFittingType>
-
class
IfcFlowInstrumentType
: public Ifc2x3::IfcDistributionControlElementType The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a flow instrument specification (i.e. the specific product information, that is common to all occurrences of that product type). Flow Instrument types may be exchanged without being already assigned to occurrences. Occurrences of IfcFlowInstrumentType are represented by instances of IfcFlowInstrument.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FlowInstrumentTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_FlowInstrumentTypePressureGauge (PRESSUREGAUGE) Pset_FlowInstrumentTypeThermometer (THERMOMETER)
Material Use Definition The material of the IfcFlowInstrumentType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowInstrumentType>
list
Public Functions
-
::Ifc2x3::IfcFlowInstrumentTypeEnum::Value
PredefinedType
() const Identifies the predefined types of flow instrument from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFlowInstrumentType
(IfcEntityInstanceData *e)
-
IfcFlowInstrumentType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowInstrumentType>
-
struct
IfcFlowInstrumentTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified.
HISTORY: New type in IFC 2x2
Enumeration
PRESSUREGAUGE: A device that reads and displays a pressure value at a point or the pressure difference between two points. THERMOMETER: A device that reads and displays a temperature value at a point. AMMETER: A device that reads and displays the current flow in a circuit. FREQUENCYMETER: A device that reads and displays the electrical frequency of an alternating current circuit. PHASEANGLEMETER: A device that reads and displays the phase angle of a phase in a polyphase electrical circuit. POWERFACTORMETER: A device that reads and displays the power factor of an electrical circuit. VOLTMETER_PEAK: A device that reads and displays the peak voltage in an electrical circuit. VOLTMETER_RMS: A device that reads and displays the RMS (mean) voltage in an electrical circuit. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcFlowInstrumentType_PRESSUREGAUGE
¶
-
enumerator
IfcFlowInstrumentType_THERMOMETER
¶
-
enumerator
IfcFlowInstrumentType_AMMETER
¶
-
enumerator
IfcFlowInstrumentType_FREQUENCYMETER
¶
-
enumerator
IfcFlowInstrumentType_POWERFACTORMETER
¶
-
enumerator
IfcFlowInstrumentType_PHASEANGLEMETER
¶
-
enumerator
IfcFlowInstrumentType_VOLTMETER_PEAK
¶
-
enumerator
IfcFlowInstrumentType_VOLTMETER_RMS
¶
-
enumerator
IfcFlowInstrumentType_USERDEFINED
¶
-
enumerator
IfcFlowInstrumentType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcFlowMeterType
: public Ifc2x3::IfcFlowControllerType The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a flow meter specification (i.e. the specific product information, that is common to all occurrences of that product type). Flow Meter types may be exchanged without being already assigned to occurrences. Occurrences of IfcFlowMeterType are represented by instances of IfcFlowMeter.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FlowMeterTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_FlowMeterTypeEnergyMeter (ENERGYMETER) Pset_FlowMeterTypeGasMeter (GASMETER) Pset_FlowMeterTypeOilMeter (OILMETER) Pset_FlowMeterTypeWaterMeter (WATERMETER)
Material Use Definition The material of the IfcFlowMeterType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowMeterType>
list
Public Functions
-
::Ifc2x3::IfcFlowMeterTypeEnum::Value
PredefinedType
() const Defines the type of flow meter.
-
void
setPredefinedType
(::Ifc2x3::IfcFlowMeterTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFlowMeterType
(IfcEntityInstanceData *e)
-
IfcFlowMeterType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowMeterType>
-
struct
IfcFlowMeterTypeEnum
¶ Public Types
-
enum
Value
¶ This enumeration defines various types of flow meter:
ENERGYMETER: An electric meter or energy meter is a device that measures the amount of electrical energy supplied to or produced by a residence, business or machine.
GASMETER: A device that measures the quantity of a gas or fuel.
OILMETER: A device that measures the quantity of oil.
WATERMETER: A device that measures the quantity of water.
USERDEFINED: User-defined meter type
NOTDEFINED: Undefined meter type
HISTORY: New enumeration in IFC 2x2
Values:
-
enumerator
IfcFlowMeterType_ELECTRICMETER
¶
-
enumerator
IfcFlowMeterType_ENERGYMETER
¶
-
enumerator
IfcFlowMeterType_FLOWMETER
¶
-
enumerator
IfcFlowMeterType_GASMETER
¶
-
enumerator
IfcFlowMeterType_OILMETER
¶
-
enumerator
IfcFlowMeterType_WATERMETER
¶
-
enumerator
IfcFlowMeterType_USERDEFINED
¶
-
enumerator
IfcFlowMeterType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcFlowMovingDevice
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes.
HISTORY: New entity in IFC R2x.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowMovingDevice>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowMovingDevice
(IfcEntityInstanceData *e)
-
IfcFlowMovingDevice
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowMovingDevice>
-
class
IfcFlowMovingDeviceType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowMovingDeviceType defines a list of commonly shared property set definitions of a flow moving device and an optional set of product representations. It is used to define a flow moving device specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A flow moving type is used to define the common properties of a flow moving device that may be applied to many occurrences of that type. A flow moving device is a device that is used to produce a pressure differential in a distribution system,
such as a pump, fan, compressor, etc. Flow moving types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowMovingDeviceType are represented by instances of IfcFlowMovingDevice.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcCompressorType, Ifc2x3::IfcFanType, Ifc2x3::IfcPumpType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowMovingDeviceType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowMovingDeviceType
(IfcEntityInstanceData *e)
-
IfcFlowMovingDeviceType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowMovingDeviceType>
-
class
IfcFlowSegment
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system.
HISTORY: New entity in IFC R2.0. IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
The IfcFlowSegment defines a particular occurrence of a segment inserted in the spatial context of a project. The parameters defining the type of the segment and/or its shape are defined by the IfcFlowSegmentType, which is related by the inverse relationship IsDefinedBy pointing to IfcRelDefinesByType.
Material Use Definition The material of the IfcFlowSegment is defined using one of the following entities:
IfcMaterialProfileSetUsage : for parametric segments, this defines the cross section and alignment to the ‘Axis’ representation, from which the ‘Body’ representation may be generated.
IfcMaterialProfileSet : for non-parametric segments (having fixed length or path), this may define the cross section for analysis purposes, however the ‘Body’ representation is independently generated.
IfcMaterialConstituentSet : for elements containing multiple materials where profiles are not applicable, this indicates materials at named parts.
IfcMaterial : for elements comprised of a single material where profiles are not applicable, this indicates the material.
The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFlowSegmentType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.
Representation Use Definition
Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an ‘Axis’ representation is defined, then the ‘Body’ representation may be generated using the ‘SweptSolid’ or ‘AdvancedSweptSolid’ representation types by sweeping the profile(s) along the axis.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowSegment>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowSegment
(IfcEntityInstanceData *e)
-
IfcFlowSegment
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowSegment>
-
class
IfcFlowSegmentType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowSegmentType defines a list of commonly shared property set definitions of a flow segment and an optional set of product representations. It is used to define a flow segment specification (i.e. the specific product information, that is common to all occurrences of that product type).
NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
A flow segment type is used to define the common properties of a flow segment that may be applied to many occurrences of that type. A flow segment is a section of a distribution system, such as a duct, pipe, conduit, etc. that typically has
only two ports. Flow segment types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowSegmentType are represented by instances of IfcFlowSegment or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Material Use Definition The material of the IfcDistributionFlowSegmentType is defined using one of the following entities:
IfcMaterialProfileSet : This defines the material cross section which may be used to generate the ‘Body’ representation at occurrences (for parametric definitions not having representation), or for analysis purposes.
IfcMaterialConstituentSet : For elements containing multiple materials where profiles are not applicable, this indicates materials at named aspects.
IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material.
Subclassed by Ifc2x3::IfcCableCarrierSegmentType, Ifc2x3::IfcCableSegmentType, Ifc2x3::IfcDuctSegmentType, Ifc2x3::IfcPipeSegmentType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowSegmentType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowSegmentType
(IfcEntityInstanceData *e)
-
IfcFlowSegmentType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowSegmentType>
-
class
IfcFlowStorageDevice
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage of a fluid such as a liquid or a gas (e.g., tank). Its type is defined by
IfcFlowStorageDeviceType or its subtypes.
HISTORY: New entity in IFC R2x.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowStorageDevice>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowStorageDevice
(IfcEntityInstanceData *e)
-
IfcFlowStorageDevice
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowStorageDevice>
-
class
IfcFlowStorageDeviceType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type).
A flow storage device is a device used for the temporary storage of a fluid (such as a tank) or the voltage potential induced by the induced electron flow (such as a battery). Flow storage types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowStorageDeviceType are represented by instances of IfcFlowStorageDevice or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcElectricFlowStorageDeviceType, Ifc2x3::IfcTankType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowStorageDeviceType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowStorageDeviceType
(IfcEntityInstanceData *e)
-
IfcFlowStorageDeviceType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowStorageDeviceType>
-
class
IfcFlowTerminal
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (e.g., air outlet, drain, water closet, sink, etc.). A terminal is typically a point at which a system interfaces with an external environment. Its type is defined by IfcFlowTerminalType or its subtypes.
HISTORY: New entity in IFC R2.0.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowTerminal>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowTerminal
(IfcEntityInstanceData *e)
-
IfcFlowTerminal
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowTerminal>
-
class
IfcFlowTerminalType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type).
A flow terminal type is used to define the common properties of a flow terminal that may be applied to many occurrences of that type. A flow terminal acts as a terminus or beginning element in a distribution system such as a ceiling register in a ducted air distribution system, a sink in a waste-water system, or a light fixture in an electrical lighting system. Flow terminal types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowTerminalType are represented by instances of IfcFlowTerminal or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcAirTerminalType, Ifc2x3::IfcElectricApplianceType, Ifc2x3::IfcElectricHeaterType, Ifc2x3::IfcFireSuppressionTerminalType, Ifc2x3::IfcGasTerminalType, Ifc2x3::IfcLampType, Ifc2x3::IfcLightFixtureType, Ifc2x3::IfcOutletType, Ifc2x3::IfcSanitaryTerminalType, Ifc2x3::IfcStackTerminalType, Ifc2x3::IfcWasteTerminalType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowTerminalType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowTerminalType
(IfcEntityInstanceData *e)
-
IfcFlowTerminalType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowTerminalType>
-
class
IfcFlowTreatmentDevice
: public Ifc2x3::IfcDistributionFlowElement The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes.
HISTORY: New entity in IFC R2x.
IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead.
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowTreatmentDevice>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowTreatmentDevice
(IfcEntityInstanceData *e)
-
IfcFlowTreatmentDevice
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowTreatmentDevice>
-
class
IfcFlowTreatmentDeviceType
: public Ifc2x3::IfcDistributionFlowElementType The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type).
A flow treatment device is a device used to change the physical properties of the medium, such as an air, oil
or water filter (used to remove particulates from the fluid), or a duct silencer (used to attenuate noise). Flow treatment types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences.
The occurrences of the IfcFlowTreatmentDeviceType are represented by instances of IfcFlowTreatmentDevice or its subtypes.
HISTORY: New entity in IFC Release 2x2.
Subclassed by Ifc2x3::IfcDuctSilencerType, Ifc2x3::IfcFilterType
Public Types
-
typedef IfcTemplatedEntityList<IfcFlowTreatmentDeviceType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFlowTreatmentDeviceType
(IfcEntityInstanceData *e)
-
IfcFlowTreatmentDeviceType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFlowTreatmentDeviceType>
-
class
IfcFluidFlowProperties
: public Ifc2x3::IfcPropertySetDefinition Public Types
-
typedef IfcTemplatedEntityList<IfcFluidFlowProperties>
list
Public Functions
-
::Ifc2x3::IfcPropertySourceEnum::Value
PropertySource
() const
-
void
setPropertySource
(::Ifc2x3::IfcPropertySourceEnum::Value v)
-
bool
hasFlowConditionTimeSeries
() const Whether the optional attribute FlowConditionTimeSeries is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcTimeSeries *
FlowConditionTimeSeries
() const
-
void
setFlowConditionTimeSeries
(::Ifc2x3::IfcTimeSeries *v)
-
bool
hasVelocityTimeSeries
() const Whether the optional attribute VelocityTimeSeries is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcTimeSeries *
VelocityTimeSeries
() const
-
void
setVelocityTimeSeries
(::Ifc2x3::IfcTimeSeries *v)
-
bool
hasFlowrateTimeSeries
() const Whether the optional attribute FlowrateTimeSeries is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcTimeSeries *
FlowrateTimeSeries
() const
-
void
setFlowrateTimeSeries
(::Ifc2x3::IfcTimeSeries *v)
-
::Ifc2x3::IfcMaterial *
Fluid
() const
-
void
setFluid
(::Ifc2x3::IfcMaterial *v)
-
bool
hasPressureTimeSeries
() const Whether the optional attribute PressureTimeSeries is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcTimeSeries *
PressureTimeSeries
() const
-
void
setPressureTimeSeries
(::Ifc2x3::IfcTimeSeries *v)
-
bool
hasUserDefinedPropertySource
() const Whether the optional attribute UserDefinedPropertySource is defined for this IfcFluidFlowProperties.
-
std::string
UserDefinedPropertySource
() const
-
void
setUserDefinedPropertySource
(std::string v)
-
bool
hasTemperatureSingleValue
() const Whether the optional attribute TemperatureSingleValue is defined for this IfcFluidFlowProperties.
-
double
TemperatureSingleValue
() const
-
void
setTemperatureSingleValue
(double v)
-
bool
hasWetBulbTemperatureSingleValue
() const Whether the optional attribute WetBulbTemperatureSingleValue is defined for this IfcFluidFlowProperties.
-
double
WetBulbTemperatureSingleValue
() const
-
void
setWetBulbTemperatureSingleValue
(double v)
-
bool
hasWetBulbTemperatureTimeSeries
() const Whether the optional attribute WetBulbTemperatureTimeSeries is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcTimeSeries *
WetBulbTemperatureTimeSeries
() const
-
void
setWetBulbTemperatureTimeSeries
(::Ifc2x3::IfcTimeSeries *v)
-
bool
hasTemperatureTimeSeries
() const Whether the optional attribute TemperatureTimeSeries is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcTimeSeries *
TemperatureTimeSeries
() const
-
void
setTemperatureTimeSeries
(::Ifc2x3::IfcTimeSeries *v)
-
bool
hasFlowrateSingleValue
() const Whether the optional attribute FlowrateSingleValue is defined for this IfcFluidFlowProperties.
-
::Ifc2x3::IfcDerivedMeasureValue *
FlowrateSingleValue
() const
-
void
setFlowrateSingleValue
(::Ifc2x3::IfcDerivedMeasureValue *v)
-
bool
hasFlowConditionSingleValue
() const Whether the optional attribute FlowConditionSingleValue is defined for this IfcFluidFlowProperties.
-
double
FlowConditionSingleValue
() const
-
void
setFlowConditionSingleValue
(double v)
-
bool
hasVelocitySingleValue
() const Whether the optional attribute VelocitySingleValue is defined for this IfcFluidFlowProperties.
-
double
VelocitySingleValue
() const
-
void
setVelocitySingleValue
(double v)
-
bool
hasPressureSingleValue
() const Whether the optional attribute PressureSingleValue is defined for this IfcFluidFlowProperties.
-
double
PressureSingleValue
() const
-
void
setPressureSingleValue
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcFluidFlowProperties
(IfcEntityInstanceData *e)
-
IfcFluidFlowProperties
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries *v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries *v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries *v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial *v9_Fluid, ::Ifc2x3::IfcTimeSeries *v10_PressureTimeSeries, boost::optional<std::string> v11_UserDefinedPropertySource, boost::optional<double> v12_TemperatureSingleValue, boost::optional<double> v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries *v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries *v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue *v16_FlowrateSingleValue, boost::optional<double> v17_FlowConditionSingleValue, boost::optional<double> v18_VelocitySingleValue, boost::optional<double> v19_PressureSingleValue)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFluidFlowProperties>
-
class
IfcFontStyle
: public IfcUtil::IfcBaseType Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes referred to as “roman” or “upright”), italic and oblique faces within a font family. Values are:
normal italic oblique
A value of ‘normal’ selects a font that is classified as ‘normal’ in the user agents font database, while ‘oblique’ selects a font that is labeled ‘oblique’. A value of ‘italic’ selects a font that is labeled ‘italic’, or, if that is not available, one labeled ‘oblique’. The font that is labeled ‘oblique’ in the user agents font database may actually have been generated by electronically slanting a normal font.
Fonts with Oblique, Slanted or Incline in their names will typically be labeled ‘oblique’ in the user agents font database. Fonts with Italic, Cursive or Kursiv in their names will typically be labeled ‘italic’.
NOTE Corresponding CSS1 definitions is font-style.
HISTORY New type in IFC2x3.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcFontStyle
(IfcEntityInstanceData *e)
-
IfcFontStyle
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcFontVariant
: public IfcUtil::IfcBaseType Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are:
normal small-caps
Another type of variation within a font family is the small-caps. In a small-caps font the lower case letters look similar to the uppercase ones, but in a smaller size and with slightly different proportions. The ‘font-variant’ property selects that font.
A value of ‘normal’ selects a font that is not a small-caps font, ‘small-caps’ selects a small-caps font. It is acceptable (but not required) in CSS1 if the small-caps font is a created by taking a normal font and replacing the lower case letters by scaled uppercase characters. As a last resort, uppercase letters will be used as replacement for a small-caps font.
NOTE Corresponding CSS1 definitions is font-variant.
HISTORY New type in IFC2x3.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcFontVariant
(IfcEntityInstanceData *e)
-
IfcFontVariant
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcFontWeight
: public IfcUtil::IfcBaseType Definition from CSS1 (W3C Recommendation): The ‘font-weight’ property selects the weight of the font. The values ‘100’ to ‘900’ form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword ‘normal’ is synonymous with ‘400’, and ‘bold’ is synonymous with ‘700’. Keywords other than ‘normal’ and ‘bold’ have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are:
normal bold 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
Fonts (the font data) typically have one or more properties whose values are names that are descriptive of the “weight” of a font. There is no accepted, universal meaning to these weight names. Their primary role is to distinguish faces of differing darkness within a single font family. Usage across font families is quite variant; for example a font that you might think of as being bold might be described as being Regular, Roman, Book, Medium, Semi- or DemiBold, Bold, or Black, depending on how black the “normal” face of the font is within the design. Because there is no standard usage of names, the weight property values in CSS1 are given on a numerical scale in which the value ‘400’ (or ‘normal’) corresponds to the “normal” text face for that family. The weight name associated with that face will typically be Book, Regular, Roman, Normal or sometimes Medium.
The association of other weights within a family to the numerical weight values is intended only to preserve the ordering of darkness within that family. However, the following heuristics tell how the assignment is done in typical cases:
If the font family already uses a numerical scale with nine values (such as with OpenType), the font weights should be mapped directly. If there is both a face labeled Medium and one labeled Book, Regular, Roman or Normal, then the Medium is normally assigned to the ‘500’. The font labeled “Bold” will often correspond to the weight value ‘700’. If there are fewer then 9 weights in the family, the default algorithm for filling the “holes” is as follows. If ‘500’ is unassigned, it will be assigned the same font as ‘400’. If any of the values ‘600’, ‘700’, ‘800’ or ‘900’ remains unassigned, they are assigned to the same face as the next darker assigned keyword, if any, or the next lighter one otherwise. If any of ‘300’, ‘200’ or ‘100’ remains unassigned, it is assigned to the next lighter assigned keyword, if any, or the next darker otherwise.
The following two examples illustrate the process. Assume four weights in the “Example1” family, from lightest to darkest: Regular, Medium, Bold, Heavy. And assume six weights in the “Example2” family: Book, Medium, Bold, Heavy, Black, ExtraBlack. Note how in the second example it has been decided not to assign “Example2 ExtraBlack” to anything.
Available faces | Assignments | Filling the holes——————-+————+—————-“Example1 Regular” | 400 | 100, 200, 300”Example1 Medium” | 500 |”Example1 Bold” | 700 | 600”Example1 Heavy” | 800 | 900 Available faces | Assignments | Filling the holes——————-+————+—————-“Example2 Book” | 400 | 100, 200, 300”Example2 Medium” | 500 |”Example2 Bold” | 700 | 600 “Example2 Heavy” | 800 |”Example2 Black” | 900 |”Example2 ExtraBlack” | (none) |
NOTE Corresponding CSS1 definitions is font-weight.
HISTORY New type in IFC2x2 Addendum 2.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcFontWeight
(IfcEntityInstanceData *e)
-
IfcFontWeight
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcFooting
: public Ifc2x3::IfcBuildingElement A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles.
HISTORY New entity in IFC2x2
Note, slab foundations are not instantiated as IfcFooting but as IfcSlab or IfcSlabStandardCase with a predefined type of IfcSlabTypeEnum.BASESLAB.
Property Set Use Definition
The following property set definitions are part of this IFC release:
Pset_FootingCommon: common property set for all footing occurrences. Pset_ReinforcementBarCountOfIndependentFooting: property set for independent IfcFooting occurrences. Pset_ReinforcementBarPitchOfContinuousFooting: property set for continuous IfcFooting occurrences.
Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.
Qto_FootingBaseQuantities
Geometry Use Definition
Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable.
Public Types
-
typedef IfcTemplatedEntityList<IfcFooting>
list
Public Functions
-
::Ifc2x3::IfcFootingTypeEnum::Value
PredefinedType
() const The generic type of the footing.
IFC 2x4 change: Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType.
-
void
setPredefinedType
(::Ifc2x3::IfcFootingTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFooting
(IfcEntityInstanceData *e)
-
IfcFooting
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFooting>
-
struct
IfcFootingTypeEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: Enumeration defining the generic footing type.
HISTORY New type in IFC Release 2x2 IFC 2x4 change: Item CAISSON_FOUNDATION added
ENUMERATION
CAISSON_FOUNDATION A foundation construction type used in underwater construction. FOOTING_BEAM Footing elements that are in bending and are supported clear of the ground. They will normally span between piers, piles or pile caps. They are distinguished from beams in the building superstructure since they will normally require a lower grade of finish. They are distinguished from STRIP_FOOTING since they are clear of the ground surface and hence require support to the lower face while the concrete is curing. PAD_FOOTING An element that transfers the load of a single column (possibly two) to the ground. PILE_CAP An element that transfers the load from a column or group of columns to a pier or pile or group of piers or piles. STRIP_FOOTING A linear element that transfers loads into the ground from either a continuous element, such as a wall, or from a series of elements, such as columns. USERDEFINED Special types of footings which meet specific local requirements. NOTDEFINED The type of footing is not defined.
Values:
-
enumerator
IfcFootingType_FOOTING_BEAM
¶
-
enumerator
IfcFootingType_PAD_FOOTING
¶
-
enumerator
IfcFootingType_PILE_CAP
¶
-
enumerator
IfcFootingType_STRIP_FOOTING
¶
-
enumerator
IfcFootingType_USERDEFINED
¶
-
enumerator
IfcFootingType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcForceMeasure
: public IfcUtil::IfcBaseType IfcForceMeasure is a measure of the force. Usually measured in Newton (N, kg m/s2). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcForceMeasure
(IfcEntityInstanceData *e)
-
IfcForceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcFrequencyMeasure
: public IfcUtil::IfcBaseType IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. Usually measured in cycles/s or Herz (Hz). Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcFrequencyMeasure
(IfcEntityInstanceData *e)
-
IfcFrequencyMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcFuelProperties
: public Ifc2x3::IfcMaterialProperties Public Types
-
typedef IfcTemplatedEntityList<IfcFuelProperties>
list
Public Functions
-
bool
hasCombustionTemperature
() const Whether the optional attribute CombustionTemperature is defined for this IfcFuelProperties.
-
double
CombustionTemperature
() const
-
void
setCombustionTemperature
(double v)
-
bool
hasCarbonContent
() const Whether the optional attribute CarbonContent is defined for this IfcFuelProperties.
-
double
CarbonContent
() const
-
void
setCarbonContent
(double v)
-
bool
hasLowerHeatingValue
() const Whether the optional attribute LowerHeatingValue is defined for this IfcFuelProperties.
-
double
LowerHeatingValue
() const
-
void
setLowerHeatingValue
(double v)
-
bool
hasHigherHeatingValue
() const Whether the optional attribute HigherHeatingValue is defined for this IfcFuelProperties.
-
double
HigherHeatingValue
() const
-
void
setHigherHeatingValue
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcFuelProperties
(IfcEntityInstanceData *e)
-
IfcFuelProperties
(::Ifc2x3::IfcMaterial *v1_Material, boost::optional<double> v2_CombustionTemperature, boost::optional<double> v3_CarbonContent, boost::optional<double> v4_LowerHeatingValue, boost::optional<double> v5_HigherHeatingValue)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFuelProperties>
-
class
IfcFurnishingElement
: public Ifc2x3::IfcElement Definition from IAI: Generalization of all furniture related objects. Furnishing objects are characterized as being
pre-manufactured and assembled on-site, or manufactured on-site (built-in)
Thus furnishing elements can either be movable, or not (as the built-ins). HISTORY New entity in IFC Release 2x. IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4. Geometry Use Definitions: The geometric representation of IfcFurnishingElement is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representation. Local Placement The local placement for IfcFurnishingElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement , which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations Any IfcFurnishingElement can be represented by one or several geometric representations. This includes the general representation types ‘BoundingBox’, ‘GeometricCurveSet’, ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’ being defined here. Bounding Box Representation Any IfcFurnishingElement may be represented as a bounding box, which shows the maximum extend of the body within the coordinated system established by the IfcLocalPlacement. The bounding box representation is the simplest geometric representation available. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Box’ RepresentationType : ‘BoundingBox’
Foot Print Representation The foot print representation of IfcFurnishingElement is given by either a single or multiple 2D points and curves. The representation identifier and type of this geometric representation are:
IfcShapeRepresentation.RepresentationIdentifier = ‘FootPrint’ IfcShapeRepresentation.RepresentationType = ‘GeometricCurveSet’
SurfaceModel Representation Any IfcFurnishingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape. The representation identifier and type of this geometric representation are:
IfcShapeRepresentation.RepresentationIdentifier = ‘Body’ IfcShapeRepresentation.RepresentationType = ‘SurfaceModel’
Brep Representation Any IfcFurnishingElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape. The representation identifier and type of this geometric representation are:
IfcShapeRepresentation.RepresentationIdentifier = ‘Body’ IfcShapeRepresentation.RepresentationType = ‘Brep’
MappedRepresentation The IfcMappedItem should always be used in appropriate cases as it allows for reusing the geometry definition of the furnishing type for all occurrences of the same type. The representation identifier and type of this geometric representation are:
IfcShapeRepresentation.RepresentationIdentifier = ‘FootPrint’, or ‘Body’ (depending of the representation map) IfcShapeRepresentation.RepresentationType = ‘MappedRepresentation’
Public Types
-
typedef IfcTemplatedEntityList<IfcFurnishingElement>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFurnishingElement
(IfcEntityInstanceData *e)
-
IfcFurnishingElement
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFurnishingElement>
-
class
IfcFurnishingElementType
: public Ifc2x3::IfcElementType Definition from IAI: The IfcFurnishingElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (i.e. the specific product information, that is common to all occurrences of that product type). NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. A furnishing element type is used to define the common properties of a certain type of a furnishing element that may be applied to many instances of that feature type to assign a specific style. Furnishing element types (or the instantiable subtypes) may be exchanged without being already assigned to occurrences. The occurrences of the IfcFurnishingElementType are represented by instances of IfcFurnishingElement (or its subtypes). HISTORYNew entity in Release IFC2x Edition 2. IFC2x3 CHANGE The entity has been made non-abstract IFC2x4 CHANGE The entity is marked as deprecated for instantiation - will be made ABSTRACT after IFC2x4.
Subclassed by Ifc2x3::IfcFurnitureType, Ifc2x3::IfcSystemFurnitureElementType
Public Types
-
typedef IfcTemplatedEntityList<IfcFurnishingElementType>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFurnishingElementType
(IfcEntityInstanceData *e)
-
IfcFurnishingElementType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFurnishingElementType>
-
class
IfcFurnitureStandard
: public Ifc2x3::IfcControl Public Types
-
typedef IfcTemplatedEntityList<IfcFurnitureStandard>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcFurnitureStandard
(IfcEntityInstanceData *e)
-
IfcFurnitureStandard
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFurnitureStandard>
-
class
IfcFurnitureType
: public Ifc2x3::IfcFurnishingElementType The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements applicable assignment of process types
It is used to define a furniture specification (i.e. the specific product information, that is common to all occurrences of that product type). Furniture types may be exchanged without being already assigned to occurrences. Occurrences of IfcFurnitureType are represented by instances of IfcFurniture.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFurnishingElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_FurnitureTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_FurnitureTypeChair (CHAIR) Pset_FurnitureTypeDesk (DESK) Pset_FurnitureTypeFileCabinet (FILECABINET) Pset_FurnitureTypeTable (TABLE)
Material Use Definition The material of the IfcFurnitureType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Finish’: The finish, typically at visible aspects of the furniture. ‘Frame’: The frame from which the object is constructed. ‘Hardware’: Finish hardware such as knobs or handles. ‘Padding’: Padding such as cushions. ‘Panel’: Panels such as glass.
Composition Use Definition The IfcFurnitureType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcFurnitureType and RelatedObjects contains one or more components. Components are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Composition use is defined for the following predefined types:
(All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components.
Public Types
-
typedef IfcTemplatedEntityList<IfcFurnitureType>
list
Public Functions
-
::Ifc2x3::IfcAssemblyPlaceEnum::Value
AssemblyPlace
() const A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list.
-
void
setAssemblyPlace
(::Ifc2x3::IfcAssemblyPlaceEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcFurnitureType
(IfcEntityInstanceData *e)
-
IfcFurnitureType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcFurnitureType>
-
class
IfcGasTerminalType
: public Ifc2x3::IfcFlowTerminalType Public Types
-
typedef IfcTemplatedEntityList<IfcGasTerminalType>
list
Public Functions
-
::Ifc2x3::IfcGasTerminalTypeEnum::Value
PredefinedType
() const
-
void
setPredefinedType
(::Ifc2x3::IfcGasTerminalTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcGasTerminalType
(IfcEntityInstanceData *e)
-
IfcGasTerminalType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGasTerminalType>
-
struct
IfcGasTerminalTypeEnum
¶ Public Types
-
class
IfcGeneralMaterialProperties
: public Ifc2x3::IfcMaterialProperties Public Types
-
typedef IfcTemplatedEntityList<IfcGeneralMaterialProperties>
list
Public Functions
-
bool
hasMolecularWeight
() const Whether the optional attribute MolecularWeight is defined for this IfcGeneralMaterialProperties.
-
double
MolecularWeight
() const
-
void
setMolecularWeight
(double v)
-
bool
hasPorosity
() const Whether the optional attribute Porosity is defined for this IfcGeneralMaterialProperties.
-
double
Porosity
() const
-
void
setPorosity
(double v)
-
bool
hasMassDensity
() const Whether the optional attribute MassDensity is defined for this IfcGeneralMaterialProperties.
-
double
MassDensity
() const
-
void
setMassDensity
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcGeneralMaterialProperties
(IfcEntityInstanceData *e)
-
IfcGeneralMaterialProperties
(::Ifc2x3::IfcMaterial *v1_Material, boost::optional<double> v2_MolecularWeight, boost::optional<double> v3_Porosity, boost::optional<double> v4_MassDensity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeneralMaterialProperties>
-
class
IfcGeneralProfileProperties
: public Ifc2x3::IfcProfileProperties Subclassed by Ifc2x3::IfcStructuralProfileProperties
Public Types
-
typedef IfcTemplatedEntityList<IfcGeneralProfileProperties>
list
Public Functions
-
bool
hasPhysicalWeight
() const Whether the optional attribute PhysicalWeight is defined for this IfcGeneralProfileProperties.
-
double
PhysicalWeight
() const
-
void
setPhysicalWeight
(double v)
-
bool
hasPerimeter
() const Whether the optional attribute Perimeter is defined for this IfcGeneralProfileProperties.
-
double
Perimeter
() const
-
void
setPerimeter
(double v)
-
bool
hasMinimumPlateThickness
() const Whether the optional attribute MinimumPlateThickness is defined for this IfcGeneralProfileProperties.
-
double
MinimumPlateThickness
() const
-
void
setMinimumPlateThickness
(double v)
-
bool
hasMaximumPlateThickness
() const Whether the optional attribute MaximumPlateThickness is defined for this IfcGeneralProfileProperties.
-
double
MaximumPlateThickness
() const
-
void
setMaximumPlateThickness
(double v)
-
bool
hasCrossSectionArea
() const Whether the optional attribute CrossSectionArea is defined for this IfcGeneralProfileProperties.
-
double
CrossSectionArea
() const
-
void
setCrossSectionArea
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcGeneralProfileProperties
(IfcEntityInstanceData *e)
-
IfcGeneralProfileProperties
(boost::optional<std::string> v1_ProfileName, ::Ifc2x3::IfcProfileDef *v2_ProfileDefinition, boost::optional<double> v3_PhysicalWeight, boost::optional<double> v4_Perimeter, boost::optional<double> v5_MinimumPlateThickness, boost::optional<double> v6_MaximumPlateThickness, boost::optional<double> v7_CrossSectionArea)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeneralProfileProperties>
-
class
IfcGeometricCurveSet
: public Ifc2x3::IfcGeometricSet Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves.
The IfcGeometricCurveSet is used for the exchange of shape representations consisting of (2D or 3D) points and curves only.
NOTE: Corresponding ISO 10303-42 entity: geometric_set. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard.
HISTORY: New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcGeometricCurveSet>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcGeometricCurveSet
(IfcEntityInstanceData *e)
-
IfcGeometricCurveSet
(IfcEntityList::ptr v1_Elements)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeometricCurveSet>
-
struct
IfcGeometricProjectionEnum
¶ Public Types
-
enum
Value
¶ IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type.
GRAPH_VIEW: Geometric display representation that shows an abstract, often 1D element representation, e.g. representing a wall by its axis line. SKETCH_VIEW: Geometric display representation that shows an abstract, often 2D element representation, e.g. representing a wall by its two foot print edges, surpressing any inner layer representation. MODEL_VIEW: Geometric display representation that shows a full 3D element representation, e.g. representing a wall by its volumetric body. PLAN_VIEW: Geometric display representation that shows a full 2D element representation, the level of detail often depends on the target scale, e.g. representing a wall by its two foot print edges and the edges of all inner layers. The projection is shown in ground view as seen from above. REFLECTED_PLAN_VIEW: Geometric display representation that shows a full 2D element representation, the level of detail often depends on the target scale, e.g. representing a wall by its two foot print edges and the edges of all inner layers. The projection is shown in ground view as seen from below. SECTION_VIEW: Geometric display representation that shows a full 2D element representation, the level of detail often depends on the target scale, e.g. representing a wall by its two inner/outer edges and the edges of all inner layers, if the element is cut by the section line. ELEVATION_VIEW: Geometric display representation that shows a full 2D element representation, the level of detail often depends on the target scale, e.g. representing a wall by its bounding edges if the element is within an elevation view. USERDEFINED: A user defined specification is given by the value of the UserDefinedTargetView attribute. NOTDEFINED: No specification given.
HISTORY: New Type in Release IFC2x2.
Values:
-
enumerator
IfcGeometricProjection_GRAPH_VIEW
¶
-
enumerator
IfcGeometricProjection_SKETCH_VIEW
¶
-
enumerator
IfcGeometricProjection_MODEL_VIEW
¶
-
enumerator
IfcGeometricProjection_PLAN_VIEW
¶
-
enumerator
IfcGeometricProjection_REFLECTED_PLAN_VIEW
¶
-
enumerator
IfcGeometricProjection_SECTION_VIEW
¶
-
enumerator
IfcGeometricProjection_ELEVATION_VIEW
¶
-
enumerator
IfcGeometricProjection_USERDEFINED
¶
-
enumerator
IfcGeometricProjection_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcGeometricRepresentationContext
: public Ifc2x3::IfcRepresentationContext Definition from ISO/CD 10303-42:1992: A geometric representation context is a representation context in which the geometric representation items are geometrically founded. A geometric representation context is a distinct coordinate space, spatially unrelated to other coordinate spaces.
IfcGeometricRepresentationContext defines the context that applies to several shape representations of products within a project. It defines the type of the context in which the shape representation is defined, and the numeric precision applicable to the geometric representation items defined in this context. In addition it can be used to offset the project coordinate system from a global point of origin, using the WorldCoordinateSystem attribute.
As shown in Figure 329, the TrueNorth attribute should be provided if the y axis of the WorldCoordinateSystem does not point to the global northing. Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system as established by the attribute WorldCoordinateSystem. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to [0.,1.] - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. The direction is provided within project coordinate system and identifies the true north direction (see figure).
Figure 329 — Geometric representation context true north
NOTEThe inherited attribute ContextType shall have one of the following recognized values: ‘Sketch’, ‘Outline’, ‘Design’, ‘Detail’, ‘Model’, ‘Plan’, ‘NotDefined’.
The use of one instance of IfcGeometricRepresentationContext to represent the model (3D) view is mandatory, the use of a second instance of IfcGeometricRepresentationContext to represent the plan (2D) view is optional (but needs to be given, if there are scale dependent plan views), the additional scale or view dependent contexts need to be handled by using the subtype IfcGeometricRepresentationSubContext pointing to the model view (or the plan view) as the ParentContext.
Figure 330 illustrates use of representation contexts defined at IfcProject for 3D model and 2D plan context, including sub context definitions for different target scales.
Figure 330 — Geometric representation context use
NOTE The definition of this class relates to the ISO 10303 entity geometric_representation_context. Please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard.
HISTORYNew Entity in IFC Release 2.0
IFC2x3 CHANGEApplicable values for ContextType are only ‘Model’, ‘Plan’, and’NotDefined’. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed.
Subclassed by Ifc2x3::IfcGeometricRepresentationSubContext
Public Types
-
typedef IfcTemplatedEntityList<IfcGeometricRepresentationContext>
list
Public Functions
-
int
CoordinateSpaceDimension
() const The integer dimension count of the coordinate space modeled in a geometric representation context.
-
void
setCoordinateSpaceDimension
(int v)
-
bool
hasPrecision
() const Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext.
-
double
Precision
() const Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models.
-
void
setPrecision
(double v)
-
::Ifc2x3::IfcAxis2Placement *
WorldCoordinateSystem
() const Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project.
Note it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.).
-
void
setWorldCoordinateSystem
(::Ifc2x3::IfcAxis2Placement *v)
-
bool
hasTrueNorth
() const Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext.
-
::Ifc2x3::IfcDirection *
TrueNorth
() const Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction.
-
void
setTrueNorth
(::Ifc2x3::IfcDirection *v)
-
IfcTemplatedEntityList<IfcGeometricRepresentationSubContext>::ptr
HasSubContexts
() const
-
const IfcParse::entity &
declaration
() const
-
IfcGeometricRepresentationContext
(IfcEntityInstanceData *e)
-
IfcGeometricRepresentationContext
(boost::optional<std::string> v1_ContextIdentifier, boost::optional<std::string> v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional<double> v4_Precision, ::Ifc2x3::IfcAxis2Placement *v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection *v6_TrueNorth)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeometricRepresentationContext>
-
class
IfcGeometricRepresentationItem
: public Ifc2x3::IfcRepresentationItem Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of:
being a Cartesian point or a direction
referencing directly a Cartesian point or direction
referencing indirectly a Cartesian point or direction
An indirect reference to a Cartesian point or direction means that a given geometric item references the Cartesian point or direction through one or more intervening geometry or topology items.
EXAMPLE: Consider a circle. It gains its geometric position and orientation by virtue of a reference to axis2_placement (IfcAxis2Placement) that is turn references a cartesian_point (IfcCartesianPoint) and several directions (IfcDirection).
EXAMPLE: Consider a manifold brep. A manifold_solid_brep (IfcManifoldSolidBrep) is a geometric_representation_item (IfcGeometricRepresentationItem) that through several layers of topological_representation_item’s (IfcTopologicalRepresentationItem) references poly loops (IfcPolyLoop). Through additional intervening entities poly loops reference cartesian_point’s (IfcCartesianPoint).
The derivation of the dimensionality of the IfcGeometricRepresentationItem is different to ISO 10303; there is a specific derived attribute at each class that defines the dimensionality, whereas ISO 10303 does it for the representation_context and requires all geometric_representation_item’s to have the same dimensionality therein.
The definition of swept area solids as geometric representation items is different to ISO 10303; it is based on a set of predefined profiles (or cross sections), that is, a set of parameterized geometric primitives widely supported in the industry. Those profiles are used to create volumes through extrusion, revolution and cross section based sweep operations.
NOTE: Corresponding ISO 10303 entity: geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 22 for the final definition of the formal standard. The following changes have been made: It does not inherit from ISO/IS 10303-43:1994 entity representation_item. The derived attribute Dim is demoted to the appropriate subtypes. The WR1 has not been incorporated. Not all subtypes that are in ISO/IS 10303-42:1994 have been added to the current IFC Release.
HISTORY: New entity in IFC Release 1.5
Subclassed by Ifc2x3::IfcAnnotationFillArea, Ifc2x3::IfcAnnotationSurface, Ifc2x3::IfcBooleanResult, Ifc2x3::IfcBoundingBox, Ifc2x3::IfcCartesianTransformationOperator, Ifc2x3::IfcCompositeCurveSegment, Ifc2x3::IfcCsgPrimitive3D, Ifc2x3::IfcCurve, Ifc2x3::IfcDefinedSymbol, Ifc2x3::IfcDirection, Ifc2x3::IfcDraughtingCallout, Ifc2x3::IfcFaceBasedSurfaceModel, Ifc2x3::IfcFillAreaStyleHatching, Ifc2x3::IfcFillAreaStyleTiles, Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle, Ifc2x3::IfcGeometricSet, Ifc2x3::IfcHalfSpaceSolid, Ifc2x3::IfcLightSource, Ifc2x3::IfcOneDirectionRepeatFactor, Ifc2x3::IfcPlacement, Ifc2x3::IfcPlanarExtent, Ifc2x3::IfcPoint, Ifc2x3::IfcSectionedSpine, Ifc2x3::IfcShellBasedSurfaceModel, Ifc2x3::IfcSolidModel, Ifc2x3::IfcSurface, Ifc2x3::IfcTextLiteral, Ifc2x3::IfcVector
Public Types
-
typedef IfcTemplatedEntityList<IfcGeometricRepresentationItem>
list
Public Functions
-
const IfcParse::entity &
declaration
() const
-
IfcGeometricRepresentationItem
(IfcEntityInstanceData *e)
-
IfcGeometricRepresentationItem
()
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeometricRepresentationItem>
-
class
IfcGeometricRepresentationSubContext
: public Ifc2x3::IfcGeometricRepresentationContext IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext.
The IfcGeometricRepresentationSubContext is used to define semantically distinguished representation types for different information content, dependent on the representation view and the target scale. It can be used to control the level of detail of the shape representation that is most applicable to this geometric representation context. addition the sub context is used to control the later appearance of the IfcShapeRepresentation within a plot view.
NOTE If the IfcShapeRepresentation using this sub context has IfcStyledItem’s assigned to the Items, the presentation style information (e.g. IfcCurveStyle, IfcTextStyle) associated with the IfcStyledItem is given in target plot dimensions. For example, a line thickness (IfcCurveStyle.CurveWidth) is given by a thickness measure relating to the thickness for a plot within the (range of) target scale.
Each IfcProduct can then have several instances of subtypes of IfcRepresentation, each being assigned to a different geometric representation context (IfcGeometricRepresentationContext or IfcGeometricRepresentationSubContext). The application can then choose the most appropriate representation for showing the geometric shape of the product, depending on the target view and scale.
NOTE The provision of a model view (IfcGeometricRepresentationContext.ContextType = ‘Model’) is mandatory. Instances of IfcGeometricRepresentationSubContext relate to it as its ParentContext.
EXAMPLE Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object.
HISTORY New entity in Release IFC 2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcGeometricRepresentationSubContext>
list
Public Functions
-
::Ifc2x3::IfcGeometricRepresentationContext *
ParentContext
() const Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north.
-
void
setParentContext
(::Ifc2x3::IfcGeometricRepresentationContext *v)
-
bool
hasTargetScale
() const Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext.
-
double
TargetScale
() const The target plot scale of the representation to which this representation context applies. Scale indicates the target plot scale for the representation sub context, all annotation styles are given in plot dimensions according to this target plot scale. If multiple instances of IfcGeometricRepresentationSubContext are given having the same TargetView value, the target plot scale applies up to the next smaller scale, or up to unlimited small scale.
Note: Scale 1:100 (given as 0.01 within TargetScale) is bigger then 1:200 (given as 0.005 within TargetScale).
-
void
setTargetScale
(double v)
-
::Ifc2x3::IfcGeometricProjectionEnum::Value
TargetView
() const Target view of the representation to which this representation context applies.
-
void
setTargetView
(::Ifc2x3::IfcGeometricProjectionEnum::Value v)
-
bool
hasUserDefinedTargetView
() const Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext.
-
std::string
UserDefinedTargetView
() const User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED.
-
void
setUserDefinedTargetView
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcGeometricRepresentationSubContext
(IfcEntityInstanceData *e)
-
IfcGeometricRepresentationSubContext
(boost::optional<std::string> v1_ContextIdentifier, boost::optional<std::string> v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext *v7_ParentContext, boost::optional<double> v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional<std::string> v10_UserDefinedTargetView)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeometricRepresentationSubContext>
-
class
IfcGeometricSet
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available.
The IfcGeometricSet is used for the exchange of shape representations consisting of (2D or 3D) points, curves, and/or surfaces, which do not have a topological structure (such as connected face sets or shells) and are not solid models (such as swept solids, CSG or Brep)
NOTE: Corresponding ISO 10303-42 entity: geometric_set. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. Please refer to ISO/IS 10303-42:1994, p. 190 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 2x.
Subclassed by Ifc2x3::IfcGeometricCurveSet
Public Types
-
typedef IfcTemplatedEntityList<IfcGeometricSet>
list
Public Functions
-
IfcEntityList::ptr
Elements
() const The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality.
-
void
setElements
(IfcEntityList::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcGeometricSet
(IfcEntityInstanceData *e)
-
IfcGeometricSet
(IfcEntityList::ptr v1_Elements)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGeometricSet>
-
class
IfcGloballyUniqueId
: public IfcUtil::IfcBaseType An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally Unique Identifier (GUID) which is an auto-generated 128-bit number. Since this identifier is required for all IFC object instances, it is desirable to compress it to reduce overhead. The encoding of the base 64 character set is shown below:
123456
0123456789012345678901234567890123456789012345678901234567890123
“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$”;
The resulting string is a fixed 22 character length string to be exchanged within the IFC exchange file structure.
Refer to the BuildingSMART website (www.buildingsmart-tech.org) for more information and sample encoding algorithms.
HISTORY New type in IFC R1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcGloballyUniqueId
(IfcEntityInstanceData *e)
-
IfcGloballyUniqueId
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
struct
IfcGlobalOrLocalEnum
¶ Public Types
-
enum
Value
¶ This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type.
NOTE The world coordinate system is given by the IfcGeometricRepresentationContext.WorldCoordinateSystem and is unique within the project. The local (or object) coordinate system is given by IfcProduct.ObjectPlacement and is used by all IfcRepresentation’s within the IfcProduct.Representation.
HISTORY: New type in IFC2x2.
Values:
-
enumerator
IfcGlobalOrLocal_GLOBAL_COORDS
¶
-
enumerator
IfcGlobalOrLocal_LOCAL_COORDS
¶
-
enumerator
-
enum
-
class
IfcGrid
: public Ifc2x3::IfcProduct IfcGrid ia a planar design grid defined in 3D space used as an aid in locating structural and design elements. The position of the grid (ObjectPlacement) is defined by a 3D coordinate system (and thereby the design grid can be used in plan, section or in any position relative to the world coordinate system). The position can be relative to the object placement of other products or grids. The XY plane of the 3D coordinate system is used to place the grid axes, which are 2D curves (for example, line, circle, trimmed curve, polyline, or composite curve). The inherited attributes Name and Description can be used to define a descriptive name of the grid and to indicate the grid’s purpose.A grid is defined by (normally) two, or (in case of a triangular grid) three lists of grid axes. The following table shows some examples. A grid may support a rectangular layout (Figure 28), a radial layout (Figure 29), or a triangular layout (Figure 30).
Figure 28 — Grid rectangular layout Figure 29 — Grid radial layout Figure 30 — Grid triangular layout
The grid axes, defined within the design grid, are those elements to which project objects will be placed relatively using the IfcGridPlacement.
HISTORY New entity in IFC Release 1.0. Informal Proposition
Grid axes, which are referenced in different lists of axes (UAxes, VAxes, WAxes) shall not be parallel. Grid axes should be defined such as there are no two grid axes which intersect twice (see Figure 31).
left side: ambiguous intersections A1 and A2, a grid containing such grid axes is not a valid design grid. right side: the conflict can be resolved by splitting one grid axis in a way, such as no ambiguous intersections exist.
Figure 31 — Grid intersections
Geometry Use Definitions The geometric representation of IfcGrid is given by the IfcProductDefinitionShape, allowing geometric representations. Included are: Local Placement The local placement for IfcGrid is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Geometric Representations Currently, the use of a 2D ‘FootPrint’ representation of type ‘GeometricCurveSet’ is supported. GeometricCurveSet representation The 2D geometric representation of IfcGrid is defined using the ‘GeometricCurveSet’ geometry. The following attribute values should be inserted
IfcShapeRepresentation.RepresentationIdentifier = ‘FootPrint’. IfcShapeRepresentation.RepresentationType = ‘GeometricCurveSet’ .
The following constraints apply to the 2D representation:
The IfcGeometricCurveSet shall be an (and the only) Item of the IfcShapeRepresentation. It should contain an IfcGeometricCurveSet containing subtypes of IfcCurve, each representing a grid axis. Applicable subtypes of IfcCurve are: IfcPolyline, IfcCircle, IfcTrimmedCurve (based on BaseCurve referencing IfcLine or IfcCircle). Each subtype of IfcCurve may have a curve style assigned, using IfcAnnotationCurveOccurrence referencing IfcCurveStyle. Optionally the grid axis labels may be added as IfcTextLiteral, and they may have text styles assigned, using IfcAnnotationTextOccurrence referencing IfcTextStyle.
As shown in Figure 32, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includesIfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet.
Figure 32 — Grid layout
As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of thegrid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid.
Figure 33 — Grid representation
Public Types
-
typedef IfcTemplatedEntityList<IfcGrid>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr
UAxes
() const List of grid axes defining the first row of grid lines.
-
void
setUAxes
(IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr
VAxes
() const List of grid axes defining the second row of grid lines.
-
void
setVAxes
(IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr v)
-
bool
hasWAxes
() const Whether the optional attribute WAxes is defined for this IfcGrid.
-
IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr
WAxes
() const List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid.
-
void
setWAxes
(IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr v)
-
IfcTemplatedEntityList<IfcRelContainedInSpatialStructure>::ptr
ContainedInStructure
() const
-
const IfcParse::entity &
declaration
() const
-
IfcGrid
(IfcEntityInstanceData *e)
-
IfcGrid
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr v8_UAxes, IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr v9_VAxes, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcGridAxis>::ptr> v10_WAxes)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGrid>
-
class
IfcGridAxis
: public IfcUtil::IfcBaseEntity An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid.
HISTORY New entity in IFC Release 1.0
Geometry use definitions The standard geometric representation of IfcGridAxis is defined using a 2D curve entity. Grid axes are normally defined by an offset to another axis. The IfcOffsetCurve2D supports this concept. Each grid axis has a sense given by the parameterization of the curve. The attribute SameSense is an indicator of whether or not the sense of the grid axis agrees with, or opposes, that of the underlying curve. As shown in Figure 242, the grid axis is defined as a 2D curve within the xy plane of the position coordinate system. Any curve can be used to define a grid axis, most common is the use of IfcLine for linear grids and IfcCircle for radial grids. Most grids are defined by a pair of axis lists, each defined by a base grid axis and axes given by an offset to the base axis. The use of IfcOffsetCurve2D as underlying AxisCurve supports this concept.
Figure 242 — Grid axis
Public Types
-
typedef IfcTemplatedEntityList<IfcGridAxis>
list
Public Functions
-
bool
hasAxisTag
() const Whether the optional attribute AxisTag is defined for this IfcGridAxis.
-
std::string
AxisTag
() const The tag or name for this grid axis.
-
void
setAxisTag
(std::string v)
-
::Ifc2x3::IfcCurve *
AxisCurve
() const Underlying curve which provides the geometry for this grid axis.
-
bool
SameSense
() const Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis.
-
void
setSameSense
(bool v)
-
IfcTemplatedEntityList<IfcGrid>::ptr
PartOfW
() const
-
IfcTemplatedEntityList<IfcGrid>::ptr
PartOfV
() const
-
IfcTemplatedEntityList<IfcGrid>::ptr
PartOfU
() const
-
IfcTemplatedEntityList<IfcVirtualGridIntersection>::ptr
HasIntersections
() const
-
const IfcParse::entity &
declaration
() const
-
IfcGridAxis
(IfcEntityInstanceData *e)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGridAxis>
-
class
IfcGridPlacement
: public Ifc2x3::IfcObjectPlacement IfcGridPlacement provides a specialization of IfcObjectPlacement in which the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. The location of the object coordinate system is given by the attribute PlacementLocation. It is defined as an IfcVirtualGridIntersection, that is, an intersection between two grid axes with optional offsets. The axis direction of the x-axis of the object coordinate system is given either:
PlacementRefDirection = NIL: by the tangent of the first grid axis (PlacementLocation.IntersectingAxes[1]) at the virtual intersection (maybe using the offset curve, if PlacementLocation.OffsetDistances is given); PlacementRefDirection = IfcDirection: by the explicitly provided direction information; PlacementRefDirection = IfcVirtualGridIntersection: by the tangent between the virtual grid intersection of PlacementLocation and the virtual grid intersection of PlacementRefDirection. Offsets as potentially provided in the IfcVirtualGridIntersection’s of PlacementLocation and PlacementRefDirection have to be taken into account.
The direction of the y-axis of the IfcGridPlacement is the orthogonal complement to the x-axis. The plane defined by the x and y axis shall be co-planar to the xy plane of the local placement of the IfcGrid. The direction of the z-axis is the orientation of the cross product of the x-axis and the y-axis, i.e. the z-axis of the IfcGridPlacement shall be co-linear to the z-axis of the local placement of the IfcGrid.
NOTE The IfcGrid local placement, that can be provided relative to the local placement of another spatial structure element, has to be taken into account for calculating the absolute placement of the virtual grid intersection.
NOTE The PlacementLocation.OffsetDistances[3] and the PlacementRefDirection.OffsetDistances[3] shall either not be assigned or should have the same z offset value.
HISTORY New entity in IFC Release 1.5. The entity name was changed from IfcConstrainedPlacement in IFC Release 2x.
IFC2x4 CHANGE Attribute data type of PlacementRefDirection has been changed to IfcGridPlacementDirectionSelect.
Geometry use definitions The following examples show the usage of placement location and direction for an IfcGridPlacement.
Figure 243 illustrates the case where PlacementRefDirection is not given - the object coordinate system is defined by:
its location: given by the virtual grid intersection of PlacementLocation its x-axis direction: given by the tangent of the first intersecting axis in the offset location of the virtual grid intersection
Figure 243 — Grid placement
Figure 244 illustrates the case where PlacementRefDirection is given as an IfcDirection- the object coordinate system is defined by:
its location: given by the virtual grid intersection of PlacementLocation its x-axis direction: given by the DirectionRatios of the IfcDirection, only the ratios for x and y are taken into account,
Figure 244 — Grid placement with direction
Figure 245 illustrates the case where PlacementRefDirection is given as an IfcVirtualGridIntersection- the object coordinate system is defined by:
its location: given by the virtual grid intersection of PlacementLocation its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection.
Figure 245 — Grid placement with intersection
Public Types
-
typedef IfcTemplatedEntityList<IfcGridPlacement>
list
Public Functions
-
::Ifc2x3::IfcVirtualGridIntersection *
PlacementLocation
() const Placement of the object coordinate system defined by the intersection of two grid axes.
-
void
setPlacementLocation
(::Ifc2x3::IfcVirtualGridIntersection *v)
-
bool
hasPlacementRefDirection
() const Whether the optional attribute PlacementRefDirection is defined for this IfcGridPlacement.
-
::Ifc2x3::IfcVirtualGridIntersection *
PlacementRefDirection
() const Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement.
IFC2x4 CHANGE The select of an explict direction has been added.
-
void
setPlacementRefDirection
(::Ifc2x3::IfcVirtualGridIntersection *v)
-
const IfcParse::entity &
declaration
() const
-
IfcGridPlacement
(IfcEntityInstanceData *e)
-
IfcGridPlacement
(::Ifc2x3::IfcVirtualGridIntersection *v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection *v2_PlacementRefDirection)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGridPlacement>
-
class
IfcGroup
: public Ifc2x3::IfcObject IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects.
NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an aggregation of products that may have its own position and shape representation.
EXAMPLE An example for a group is a system, since it groups elements under the aspect of their role, regardless of their position in a building.
A group can hold any collection of objects (beingproducts, processes, controls, resources, actors or other groups). Thus groups can be nested. An object can be part of zero, one, or many groups. Grouping relationships are not required to be hierarchical nor do they imply a dependency.
NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an hierarchical aggregation of products.
A group can be exchanged without having already objects within the group collection.
HISTORY New entity in IFC Release 1.0.
IFC2x4 CHANGE The inverse IsGroupedBy relationship is set to 0..n
Relationship use definition The group collection is handled by an instance of IfcRelAssignsToGroup, which assigns all group members to the IfcGroup.
Objects: included in group using IfcRelAssignsToGroup
Groups are assigned to other objects (such as a process or a resource) by the relationship object that refers to the corresponding object:
Process: assigned using IfcRelAssignsToProcess Resource: assigned using IfcRelAssignsToResource
Groups can be subjected to a control. The control information is then assigned:
Controls: affecting the group using IfcRelAssignsToControl
Subclassed by Ifc2x3::IfcAsset, Ifc2x3::IfcCondition, Ifc2x3::IfcInventory, Ifc2x3::IfcStructuralLoadGroup, Ifc2x3::IfcStructuralResultGroup, Ifc2x3::IfcSystem, Ifc2x3::IfcZone
Public Types
-
typedef IfcTemplatedEntityList<IfcGroup>
list
Public Functions
-
IfcTemplatedEntityList<IfcRelAssignsToGroup>::ptr
IsGroupedBy
() const
-
const IfcParse::entity &
declaration
() const
-
IfcGroup
(IfcEntityInstanceData *e)
-
IfcGroup
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcGroup>
-
class
IfcHalfSpaceSolid
: public Ifc2x3::IfcGeometricRepresentationItem Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset.
NOTE A half space is not a subtype of solid model (IfcSolidModel), half space solids are only useful as operands in Boolean expressions.
NOTE Corresponding STEP entity: half_space_solid. Please refer to ISO/IS 10303-42:1994, p. 185 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item.
HISTORY New class in IFC Release 1.5
Informal propositions:
The base surface shall divide the domain into exactly two subsets. If the half space solid is of subtype boxed half space (IfcBoxedHalfSpace), the domain in question is that of the attribute enclosure. In all other cases the domain is all of space and the base surface shall be unbounded. The base surface shall be an unbounded surface (subtype of IfcElementarySurface).
Figure 258 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only.
Figure 258 — Half space solid geometry
Subclassed by Ifc2x3::IfcBoxedHalfSpace, Ifc2x3::IfcPolygonalBoundedHalfSpace
Public Types
-
typedef IfcTemplatedEntityList<IfcHalfSpaceSolid>
list
Public Functions
-
::Ifc2x3::IfcSurface *
BaseSurface
() const Surface defining side of half space.
-
void
setBaseSurface
(::Ifc2x3::IfcSurface *v)
-
bool
AgreementFlag
() const The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE.
-
void
setAgreementFlag
(bool v)
-
const IfcParse::entity &
declaration
() const
-
IfcHalfSpaceSolid
(IfcEntityInstanceData *e)
-
IfcHalfSpaceSolid
(::Ifc2x3::IfcSurface *v1_BaseSurface, bool v2_AgreementFlag)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcHalfSpaceSolid>
-
class
IfcHeatExchangerType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a heat exchanger specification (i.e. the specific product information, that is common to all occurrences of that product type). Heat Exchanger types may be exchanged without being already assigned to occurrences. Occurrences of IfcHeatExchangerType are represented by instances of IfcHeatExchanger.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_HeatExchangerTypeCommon
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_HeatExchangerTypePlate (PLATE)
Material Use Definition The material of the IfcHeatExchangerType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Shell’: Material used to construct the shell of the heat exchanger.
Port Use Definition The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcHeatExchangerType>
list
Public Functions
-
::Ifc2x3::IfcHeatExchangerTypeEnum::Value
PredefinedType
() const Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.).
-
void
setPredefinedType
(::Ifc2x3::IfcHeatExchangerTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcHeatExchangerType
(IfcEntityInstanceData *e)
-
IfcHeatExchangerType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcHeatExchangerType>
-
struct
IfcHeatExchangerTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of heat exchangers. The IfcHeatExchangerTypeEnum contains the following:
PLATE: Plate heat exchanger. SHELLANDTUBE: Shell and Tube heat exchanger. USERDEFINED: User-defined heat exchanger type. NOTDEFINED: Undefined heat exchanger type.
HISTORY: New enumeration in IFC R2x.
Values:
-
enumerator
IfcHeatExchangerType_PLATE
¶
-
enumerator
IfcHeatExchangerType_SHELLANDTUBE
¶
-
enumerator
IfcHeatExchangerType_USERDEFINED
¶
-
enumerator
IfcHeatExchangerType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcHeatFluxDensityMeasure
: public IfcUtil::IfcBaseType IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. Usually measured in W/m2 (J/s m2). Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcHeatFluxDensityMeasure
(IfcEntityInstanceData *e)
-
IfcHeatFluxDensityMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcHeatingValueMeasure
: public IfcUtil::IfcBaseType IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned.
HISTORY: This is new type in IFC2x2.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcHeatingValueMeasure
(IfcEntityInstanceData *e)
-
IfcHeatingValueMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcHourInDay
: public IfcUtil::IfcBaseType Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcHourInDay
(IfcEntityInstanceData *e)
-
IfcHourInDay
(int v)
-
operator int
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcHumidifierType
: public Ifc2x3::IfcEnergyConversionDeviceType The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a humidifier specification (i.e. the specific product information, that is common to all occurrences of that product type). Humidifier types may be exchanged without being already assigned to occurrences. Occurrences of IfcHumidifierType are represented by instances of IfcHumidifier.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_HumidifierTypeCommon
Material Use Definition The material of the IfcHumidifierType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcHumidifierType>
list
Public Functions
-
::Ifc2x3::IfcHumidifierTypeEnum::Value
PredefinedType
() const Defines the type of humidifier.
-
void
setPredefinedType
(::Ifc2x3::IfcHumidifierTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcHumidifierType
(IfcEntityInstanceData *e)
-
IfcHumidifierType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcHumidifierType>
-
struct
IfcHumidifierTypeEnum
¶ Public Types
-
enum
Value
¶ Enumeration defining the typical types of humidifiers. The IfcHumidifierTypeEnum contains the following:
STEAMINJECTION: Water vapor is added into the airstream through direction steam injection. ADIABATICAIRWASHER: Water vapor is added into the airstream through adiabatic evaporation using an air washing element. ADIABATICPAN: Water vapor is added into the airstream through adiabatic evaporation using a pan. ADIABATICWETTEDELEMENT: Water vapor is added into the airstream through adiabatic evaporation using a wetted element. ADIABATICATOMIZING: Water vapor is added into the airstream through adiabatic evaporation using an atomizing element. ADIABATICULTRASONIC: Water vapor is added into the airstream through adiabatic evaporation using an ultrasonic element. ADIABATICRIGIDMEDIA: Water vapor is added into the airstream through adiabatic evaporation using a rigid media. ADIABATICCOMPRESSEDAIRNOZZLE: Water vapor is added into the airstream through adiabatic evaporation using a compressed air nozzle. ASSISTEDELECTRIC: Water vapor is added into the airstream through water heated evaporation using an electric heater. ASSISTEDNATURALGAS: Water vapor is added into the airstream through water heated evaporation using a natural gas heater. ASSISTEDPROPANE: Water vapor is added into the airstream through water heated evaporation using a propane heater. ASSISTEDBUTANE: Water vapor is added into the airstream through water heated evaporation using a butane heater. ASSISTEDSTEAM: Water vapor is added into the airstream through water heated evaporation using a steam heater. USERDEFINED: User-defined humidifier type. NOTDEFINED: Undefined humidifier type.
HISTORY: New enumeration in IFC 2x2.
Values:
-
enumerator
IfcHumidifierType_STEAMINJECTION
¶
-
enumerator
IfcHumidifierType_ADIABATICAIRWASHER
¶
-
enumerator
IfcHumidifierType_ADIABATICPAN
¶
-
enumerator
IfcHumidifierType_ADIABATICWETTEDELEMENT
¶
-
enumerator
IfcHumidifierType_ADIABATICATOMIZING
¶
-
enumerator
IfcHumidifierType_ADIABATICULTRASONIC
¶
-
enumerator
IfcHumidifierType_ADIABATICRIGIDMEDIA
¶
-
enumerator
IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE
¶
-
enumerator
IfcHumidifierType_ASSISTEDELECTRIC
¶
-
enumerator
IfcHumidifierType_ASSISTEDNATURALGAS
¶
-
enumerator
IfcHumidifierType_ASSISTEDPROPANE
¶
-
enumerator
IfcHumidifierType_ASSISTEDBUTANE
¶
-
enumerator
IfcHumidifierType_ASSISTEDSTEAM
¶
-
enumerator
IfcHumidifierType_USERDEFINED
¶
-
enumerator
IfcHumidifierType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcHygroscopicMaterialProperties
: public Ifc2x3::IfcMaterialProperties Public Types
-
typedef IfcTemplatedEntityList<IfcHygroscopicMaterialProperties>
list
Public Functions
-
bool
hasUpperVaporResistanceFactor
() const Whether the optional attribute UpperVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties.
-
double
UpperVaporResistanceFactor
() const
-
void
setUpperVaporResistanceFactor
(double v)
-
bool
hasLowerVaporResistanceFactor
() const Whether the optional attribute LowerVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties.
-
double
LowerVaporResistanceFactor
() const
-
void
setLowerVaporResistanceFactor
(double v)
-
bool
hasIsothermalMoistureCapacity
() const Whether the optional attribute IsothermalMoistureCapacity is defined for this IfcHygroscopicMaterialProperties.
-
double
IsothermalMoistureCapacity
() const
-
void
setIsothermalMoistureCapacity
(double v)
-
bool
hasVaporPermeability
() const Whether the optional attribute VaporPermeability is defined for this IfcHygroscopicMaterialProperties.
-
double
VaporPermeability
() const
-
void
setVaporPermeability
(double v)
-
bool
hasMoistureDiffusivity
() const Whether the optional attribute MoistureDiffusivity is defined for this IfcHygroscopicMaterialProperties.
-
double
MoistureDiffusivity
() const
-
void
setMoistureDiffusivity
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcHygroscopicMaterialProperties
(IfcEntityInstanceData *e)
-
IfcHygroscopicMaterialProperties
(::Ifc2x3::IfcMaterial *v1_Material, boost::optional<double> v2_UpperVaporResistanceFactor, boost::optional<double> v3_LowerVaporResistanceFactor, boost::optional<double> v4_IsothermalMoistureCapacity, boost::optional<double> v5_VaporPermeability, boost::optional<double> v6_MoistureDiffusivity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcHygroscopicMaterialProperties>
-
class
IfcIdentifier
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning.
Type: STRING of up to 255 characters
NOTE Corresponding STEP name: identifier, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 2x. IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory.
As a merely machine-readable string for identification purposes, an identifier is usually machine-generated and locale-independent (in contrast to human-readable labels, IfcLabel).
Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1…-16 and of 2-byte Unicode characters.
Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcIdentifier
(IfcEntityInstanceData *e)
-
IfcIdentifier
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcIlluminanceMeasure
: public IfcUtil::IfcBaseType IfcIlluminanceMeasure is a measure of the illuminance. Usually measured in Lux (lx, Lumen/m2 = Candela Steradian/m2). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcIlluminanceMeasure
(IfcEntityInstanceData *e)
-
IfcIlluminanceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcImageTexture
: public Ifc2x3::IfcSurfaceTexture An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided.
The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:
The ImageTexture node defines a texture map by specifying an image file and general parameters for mapping to geometry. The texture is read from the URL specified by the url field. When the url field contains no [resolvable] values, texturing is disabled. Browsers shall support the JPEG and PNG (see ISO/IEC 15948) image file formats. Texture nodes that require support for the PNG image format shall interpret the PNG pixel formats in the following way:
Greyscale pixels without alpha or simple transparency are treated as intensity textures. >Greyscale pixels with alpha or simple transparency are treated as intensity plus alpha textures. RGB pixels without alpha channel or simple transparency are treated as full RGB textures. RGB pixels with alpha channel or simple transparency are treated as full RGB plus alpha textures.
If the image specifies colours as indexed-colour (that is, palettes or colourmaps), the following semantics should be used (note that greyscale refers to a palette entry with equal red, green, and blue values):
If all the colours in the palette are greyscale and there is no transparency chunk, it is treated as an intensity texture. If all the colours in the palette are greyscale and there is a transparency chunk, it is treated as an intensity plus opacity texture. >If any colour in the palette is not grey and there is no transparency chunk, it is treated as a full RGB texture. If any colour in the palette is not grey and there is a transparency chunk, it is treated as a full RGB plus alpha texture.
Texture nodes that require support for JPEG files shall interpret JPEG files as follows:
Greyscale files (number of components equals 1) are treated as intensity textures. YCbCr files are treated as full RGB textures. No other JPEG file types are required. It is recommended that other JPEG files are treated as a full RGB textures.
Texture nodes that recommend support for GIF files shall follow the applicable semantics described above for the PNG format.
The Uniform Resource Locator (URL) is a form of an URI and specified in RFC1738 by IETF. It supports resources located on a particular server being accessed by a particular protocol (usually http), and resources located at a local machine.
NOTE Exchange files following the ifcZIP convention may include a sub directory structure for image resources to be stored together with the product data set.
NOTE The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
HISTORY New entity in Release IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcImageTexture>
list
Public Functions
-
std::string
UrlReference
() const Location, provided as an URI, at which the image texture is electronically published.
-
void
setUrlReference
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcImageTexture
(IfcEntityInstanceData *e)
-
IfcImageTexture
(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D *v4_TextureTransform, std::string v5_UrlReference)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcImageTexture>
-
class
IfcInductanceMeasure
: public IfcUtil::IfcBaseType IfcInductanceMeasure is a measure of the inductance. Usually measure in Henry (H, Weber/A = V s/A). Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcInductanceMeasure
(IfcEntityInstanceData *e)
-
IfcInductanceMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcInteger
: public IfcUtil::IfcBaseType IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list.
In principle, the domain of IfcInteger (being an Integer) is all integer numbers. Here the number of bits used for the IfcInteger representation is unconstrained, but in practice it is implementation specific.
Type: INTEGER
HISTORY New type in IFC Release 1.5.1.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcInteger
(IfcEntityInstanceData *e)
-
IfcInteger
(int v)
-
operator int
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcIntegerCountRateMeasure
: public IfcUtil::IfcBaseType IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time.
EXAMPLE: This measure may be used for measuring integer units per second or per hour. For example, it may be used to measure the number of books per hour passing along a part of a mechanical book handling system, the number of people per hour travelling along a moving walkway or the number of vehicles per hour travelling along a section of road.
Type: INTEGER
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcIntegerCountRateMeasure
(IfcEntityInstanceData *e)
-
IfcIntegerCountRateMeasure
(int v)
-
operator int
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
struct
IfcInternalOrExternalEnum
¶ Public Types
-
enum
Value
¶ Definition from IAI: This enumeration defines the different types of space boundaries in terms of either being inside the building or outside the building. Enumeration:
INTERNAL
IfcSpaceBoundary The space boundary faces a physical or virtual element where there is an internal space on the other side.
EXTERNAL
IfcSpaceBoundary The space boundary faces a physical or virtual element where there is an external space on the other side (i.e. air). Or it is the space boundary of that external space against the building.
EXTERNAL_EARTH
IfcSpaceBoundary The space boundary faces a physical or virtual element where there is earth (or terrain) on the other side. Or it is the space boundary of that earth (or terrain object) external space against the building.
EXTERNAL_WATER
IfcSpaceBoundary The space boundary faces a physical or virtual element where there is water (water component of terrain) on the other side. Or it is the space boundary of that object representing water external space against the building.
EXTERNAL_FIRE
IfcSpaceBoundary The space boundary faces a physical or virtual element where there is another building on the other side. Or it is the space boundary of that other neighbor building against the building in question.
NOTDEFINED
No information available.
HISTORY: New enumeration in IFC Release 2.0 IFC2x4 CHANGE: Enumeration no longer applicable to IfcSpace. The following enumerators are added: EXTERNAL_EARTH, EXTERNAL_WATER, EXTERNAL_FIRE.
Values:
-
enumerator
IfcInternalOrExternal_INTERNAL
¶
-
enumerator
IfcInternalOrExternal_EXTERNAL
¶
-
enumerator
IfcInternalOrExternal_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcInventory
: public Ifc2x3::IfcGroup An inventory is a list of items within an enterprise.
Various types of inventory can be included. These are identified by the range of values within the inventory type enumeration which includes space, asset, and furniture. User defined inventories can also be defined for lists of particular types of element such as may be required in operating and maintenance instructions. Such inventories should be constrained to contain a list of elements of a restricted type.There are a number of actors that can be associated with an inventory, each actor having a role. Actors within the scope of the project are indicated using the IfcRelAssignsToActor relationship in which case roles should be defined through the IfcActorRole class; otherwise principal actors are identified as attributes of the class. In the existence of both, direct attributes take precedence.There are a number of costs that can be associated with an inventory, each cost having a role. These are specified through the CurrentValue and OriginalValue attributes.HISTORY: New entity in IFC2.0. Modified in IFC2x4 to make all attributes optional and remove Where Rule.
Assignment Use Definition The IfcInventory may have assignments of its own using the IfcRelAssignsToGroup relationship where RelatingGroup refers to the IfcInventory and RelatedObjects contains one or more objects of the following types: IfcAsset: Assets included in the inventory.
IfcElement: Elements such as furniture included in the inventory.
IfcSpace: Spaces included in the inventory.
Public Types
-
typedef IfcTemplatedEntityList<IfcInventory>
list
Public Functions
-
::Ifc2x3::IfcInventoryTypeEnum::Value
InventoryType
() const
-
void
setInventoryType
(::Ifc2x3::IfcInventoryTypeEnum::Value v)
-
::Ifc2x3::IfcActorSelect *
Jurisdiction
() const The organizational unit to which the inventory is applicable.
-
void
setJurisdiction
(::Ifc2x3::IfcActorSelect *v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcPerson>::ptr
ResponsiblePersons
() const Persons who are responsible for the inventory.
-
void
setResponsiblePersons
(IfcTemplatedEntityList<::Ifc2x3::IfcPerson>::ptr v)
-
::Ifc2x3::IfcCalendarDate *
LastUpdateDate
() const The date on which the last update of the inventory was carried out.
IFC2x4 CHANGE Type changed from IfcDateTimeSelect.
-
void
setLastUpdateDate
(::Ifc2x3::IfcCalendarDate *v)
-
bool
hasCurrentValue
() const Whether the optional attribute CurrentValue is defined for this IfcInventory.
-
::Ifc2x3::IfcCostValue *
CurrentValue
() const An estimate of the current cost value of the inventory.
-
void
setCurrentValue
(::Ifc2x3::IfcCostValue *v)
-
bool
hasOriginalValue
() const Whether the optional attribute OriginalValue is defined for this IfcInventory.
-
::Ifc2x3::IfcCostValue *
OriginalValue
() const An estimate of the original cost value of the inventory.
-
void
setOriginalValue
(::Ifc2x3::IfcCostValue *v)
-
const IfcParse::entity &
declaration
() const
-
IfcInventory
(IfcEntityInstanceData *e)
-
IfcInventory
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect *v7_Jurisdiction, IfcTemplatedEntityList<::Ifc2x3::IfcPerson>::ptr v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate *v9_LastUpdateDate, ::Ifc2x3::IfcCostValue *v10_CurrentValue, ::Ifc2x3::IfcCostValue *v11_OriginalValue)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcInventory>
-
struct
IfcInventoryTypeEnum
¶ Public Types
-
enum
Value
¶ IfcInventoryTypeEnum defines the types of inventory that can be defined. HISTORY: New Enumeration in IFC Release 2.0
Enumeration:
ASSETINVENTORY: A collection of asset instances of type IfcAsset SPACEINVENTORY: A collection of space instances of type IfcSpace FURNITUREINVENTORY: A collection of furniture instances of type IfcFurnishingElement USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcInventoryType_ASSETINVENTORY
¶
-
enumerator
IfcInventoryType_SPACEINVENTORY
¶
-
enumerator
IfcInventoryType_FURNITUREINVENTORY
¶
-
enumerator
IfcInventoryType_USERDEFINED
¶
-
enumerator
IfcInventoryType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcIonConcentrationMeasure
: public IfcUtil::IfcBaseType IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L.
HISTORY: New type in IFC2x2.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcIonConcentrationMeasure
(IfcEntityInstanceData *e)
-
IfcIonConcentrationMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcIrregularTimeSeries
: public Ifc2x3::IfcTimeSeries In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern.
EXAMPLE: A circulating pump cycles on and off at unpredictable times as dictated by the demands on the piping system; the amount of light in a classroom varies depending on when the lights are manually switched on and off and and how many lamps are controlled by each switch.
HISTORY: New entity in IFC 2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcIrregularTimeSeries>
list
Public Functions
-
IfcTemplatedEntityList<::Ifc2x3::IfcIrregularTimeSeriesValue>::ptr
Values
() const The collection of time series values.
-
void
setValues
(IfcTemplatedEntityList<::Ifc2x3::IfcIrregularTimeSeriesValue>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcIrregularTimeSeries
(IfcEntityInstanceData *e)
-
IfcIrregularTimeSeries
(std::string v1_Name, boost::optional<std::string> v2_Description, ::Ifc2x3::IfcDateTimeSelect *v3_StartTime, ::Ifc2x3::IfcDateTimeSelect *v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional<std::string> v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit *v8_Unit, IfcTemplatedEntityList<::Ifc2x3::IfcIrregularTimeSeriesValue>::ptr v9_Values)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcIrregularTimeSeries>
-
class
IfcIrregularTimeSeriesValue
: public IfcUtil::IfcBaseEntity The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point.
HISTORY: New entity in IFC 2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcIrregularTimeSeriesValue>
list
Public Functions
-
::Ifc2x3::IfcDateTimeSelect *
TimeStamp
() const The specification of the time point.
-
void
setTimeStamp
(::Ifc2x3::IfcDateTimeSelect *v)
-
IfcEntityList::ptr
ListValues
() const A list of time-series values. At least one value is required.
-
void
setListValues
(IfcEntityList::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcIrregularTimeSeriesValue
(IfcEntityInstanceData *e)
-
IfcIrregularTimeSeriesValue
(::Ifc2x3::IfcDateTimeSelect *v1_TimeStamp, IfcEntityList::ptr v2_ListValues)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcIrregularTimeSeriesValue>
-
class
IfcIShapeProfileDef
: public Ifc2x3::IfcParameterizedProfileDef IfcIShapeProfileDef defines a section profile that provides the defining parameters of a symmetrical ‘I’ section to be used by the swept surface geometry or the swept area solid. The I-shape profile has values for its overall depth, width and its web and flange thickness. Additionally a fillet radius may be given. It represents a I-section that is symmetrical about its major and minor axes; and that has both top and bottom flanges being equal and centred on the web.
IfcIShapeProfileDef can also be used to model I sections with sloped or rounded flanges. The slope and radius cannot be expressed in explicit attributes, but they may be retrieved by reference to an external document or library. See IfcProfileDef for guidance on external references for profile definitions.
HISTORY New entity in IFC2x.
IFC2x4 CHANGE Type of FilletRadius relaxed to allow for zero radius.
Figure 318 illustrates parameters of the I-shape profile definition.
Position
The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of:
by using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). Parameter
The parameterized profile is defined by a set of parameter attributes, see attribute definition below.
Note: The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid
Position
The profile is inserted into the underlying coordinate system of the swept area solid by using the Position attribute. In this example (cardinal point of lower left corner) the attribute values of IfcAxis2Placement2D are:
Location = IfcCartesianPoint(,) RefDirection = NIL (defaults to 1.,0.)
Parameter If the FilletRadius is given, it is equally applied to all four corners created by the web and flanges.
Figure 318 — I-shape profile
Subclassed by Ifc2x3::IfcAsymmetricIShapeProfileDef
Public Types
-
typedef IfcTemplatedEntityList<IfcIShapeProfileDef>
list
Public Functions
-
double
OverallWidth
() const Total extent of the width, defined parallel to the x axis of the position coordinate system.
-
void
setOverallWidth
(double v)
-
double
OverallDepth
() const Total extent of the depth, defined parallel to the y axis of the position coordinate system.
-
void
setOverallDepth
(double v)
-
double
WebThickness
() const Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system.
-
void
setWebThickness
(double v)
-
double
FlangeThickness
() const Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system.
-
void
setFlangeThickness
(double v)
-
bool
hasFilletRadius
() const Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef.
-
double
FilletRadius
() const The fillet between the web and the flange.
-
void
setFilletRadius
(double v)
-
const IfcParse::entity &
declaration
() const
-
IfcIShapeProfileDef
(IfcEntityInstanceData *e)
-
IfcIShapeProfileDef
(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional<std::string> v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D *v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional<double> v8_FilletRadius)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcIShapeProfileDef>
-
class
IfcIsothermalMoistureCapacityMeasure
: public IfcUtil::IfcBaseType IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. Usually measured in m3/kg. Type: REAL
HISTORY New type in IFC Release 2x.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcIsothermalMoistureCapacityMeasure
(IfcEntityInstanceData *e)
-
IfcIsothermalMoistureCapacityMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcJunctionBoxType
: public Ifc2x3::IfcFlowFittingType The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a junction box specification (i.e. the specific product information, that is common to all occurrences of that product type). Junction Box types may be exchanged without being already assigned to occurrences. Occurrences of IfcJunctionBoxType are represented by instances of IfcJunctionBox.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowFittingType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_JunctionBoxTypeCommon
Material Use Definition The material of the IfcJunctionBoxType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcJunctionBoxType>
list
Public Functions
-
::Ifc2x3::IfcJunctionBoxTypeEnum::Value
PredefinedType
() const Identifies the predefined types of junction boxes from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcJunctionBoxTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcJunctionBoxType
(IfcEntityInstanceData *e)
-
IfcJunctionBoxType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcJunctionBoxType>
-
struct
IfcJunctionBoxTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. HISTORY: New type in IFC 2x2. Values added in IFC 2x4.
POWER: Contains cables, outlets, and/or switches for electrical power. DATA: Contains cables, outlets, and/or switches for communications use. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcJunctionBoxType_USERDEFINED
¶
-
enumerator
IfcJunctionBoxType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcKinematicViscosityMeasure
: public IfcUtil::IfcBaseType IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. Usually measured in m2/s. Type: REAL
HISTORY New type in IFC Release 2.0.
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcKinematicViscosityMeasure
(IfcEntityInstanceData *e)
-
IfcKinematicViscosityMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcLabel
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning.
Type: STRING of up to 255 characters
NOTE Corresponding STEP name: label, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 2x. IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory.
As a human-readable string for naming purposes, a label is usually human-specified and locale-dependent (in contrast to purely machine-readable identifiers, IfcIdentifier).
Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1…-16 and of 2-byte Unicode characters.
Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label.
Subclassed by Ifc2x3::IfcBoxAlignment
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcLabel
(IfcEntityInstanceData *e)
-
IfcLabel
(std::string v)
-
operator std::string
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcLaborResource
: public Ifc2x3::IfcConstructionResource An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work.
HISTORY: New Entity in IFC Release 2.0. Base type and documentation extended in IFC 2x4.
IFC2x4 CHANGE: The attribute Skillset has been deleted; use LongDescription to describe the skillset.
The purpose of an IfcLaborResource is to identify a skillset that may be required or used. The skillset identified may be (for instance) chargehand, foreman, labourer, plumbers mate etc. and provides a designation of a particular level of skill. It can be used to identify the generic type of labor resource that is required for a purpose without having to be specific about the actor (person or organization) providing the resource occurrence. It may be particularly useful when creating an overall plan for a process or processes. For instance, within maintenance or work planning there may be a known task that needs to be done which is planned to require a ‘chargehand pipe fitter’. There may be several such labor resources available and so the need to identify which will be used is not necessary at the planning stage.
At a later stage, individual actors can be determined for the labor resources. This is achieved through specifiying the actor through IfcActor. The actor is then identified as the labour resource occurrence through the IfcRelAssignsToResource.RelatedResource attribute. The IfcLaborResource provides the IfcRelAssignsToResource.RelatingResource attribute.
Use definitions for composition, assignment, constraints, time series, and baselines are described at the base type IfcConstructionResource.
Type use definition IfcLaborResource defines the occurrence of any labor resource; common information about labor resource types is handled by IfcLaborResourceType. The IfcLaborResourceType (if present) may establish the common type name, common properties, common productivities for various task types using IfcRelAssignsToProcess. The IfcLaborResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.
Quantity use definition The quantities relating to the IfcLaborResource are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement.
Qto_LaborResourceBaseQuantities: base quantities for all labor resources.
Assignment use definition In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations.
Figure 194 — Labor resource assignment use
Public Types
-
typedef IfcTemplatedEntityList<IfcLaborResource>
list
Public Functions
-
bool
hasSkillSet
() const Whether the optional attribute SkillSet is defined for this IfcLaborResource.
-
std::string
SkillSet
() const
-
void
setSkillSet
(std::string v)
-
const IfcParse::entity &
declaration
() const
-
IfcLaborResource
(IfcEntityInstanceData *e)
-
IfcLaborResource
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_ResourceIdentifier, boost::optional<std::string> v7_ResourceGroup, boost::optional<::Ifc2x3::IfcResourceConsumptionEnum::Value> v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit *v9_BaseQuantity, boost::optional<std::string> v10_SkillSet)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcLaborResource>
-
class
IfcLampType
: public Ifc2x3::IfcFlowTerminalType The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a lamp specification (i.e. the specific product information, that is common to all occurrences of that product type). Lamp types may be exchanged without being already assigned to occurrences. Occurrences of IfcLampType are represented by instances of IfcLamp.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_LampTypeCommon
Material Use Definition The material of the IfcLampType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Bulb’: Material from which the bulb is constructed (e.g. glass). ‘Conductor’: Material from which the conductor is constructed. ‘Filament’: Material from which the filament is constructed.
Port Use Definition The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcLampType>
list
Public Functions
-
::Ifc2x3::IfcLampTypeEnum::Value
PredefinedType
() const Identifies the predefined types of lamp from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcLampTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcLampType
(IfcEntityInstanceData *e)
-
IfcLampType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcLampType>
-
struct
IfcLampTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcLampTypeEnum defines the range of different types of lamp available.
HISTORY: New type in IFC 2x2 Addendum 1
Enumeration
COMPACTFLUORESCENT: A fluorescent lamp having a compact form factor produced by shaping the tube. FLUORESCENT: A typically tubular discharge lamp in which most of the light is emitted by one or several layers of phosphors excited by ultraviolet radiation from the discharge. HALOGEN: an incandescent lamp in which a tungsten filament is sealed into a compact transport envelope filled with an inert gas and a small amount of halogen such as iodine or bromine. HIGHPRESSUREMERCURY: A discharge lamp in which most of the light is emitted by exciting mercury at high pressure. HIGHPRESSURESODIUM: A discharge lamp in which most of the light is emitted by exciting sodium at high pressure. LED: a solid state lamp that uses light-emitting diodes as the source of light. METALHALIDE: A discharge lamp in which most of the light is emitted by exciting a metal halide. OLED: a solid state lamp that uses light-emitting diodes as the source of light whose emissive electroluminescent layer is composed of a film of organic compounds. TUNGSTENFILAMENT: A lamp that emits light by passing an electrical current through a tungsten wire filament in a near vacuum. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcLampType_COMPACTFLUORESCENT
¶
-
enumerator
IfcLampType_FLUORESCENT
¶
-
enumerator
IfcLampType_HIGHPRESSUREMERCURY
¶
-
enumerator
IfcLampType_HIGHPRESSURESODIUM
¶
-
enumerator
IfcLampType_METALHALIDE
¶
-
enumerator
IfcLampType_TUNGSTENFILAMENT
¶
-
enumerator
IfcLampType_USERDEFINED
¶
-
enumerator
IfcLampType_NOTDEFINED
¶
-
enumerator
-
enum
-
struct
IfcLayerSetDirectionEnum
¶ Public Types
-
enum
Value
¶ IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets.
ENUMERATION
AXIS1: Usually x-axis. AXIS2: Usually y-axis. AXIS3: Usually z-axis.
HISTORY: New Type in IFC2x.
Values:
-
enumerator
IfcLayerSetDirection_AXIS1
¶
-
enumerator
IfcLayerSetDirection_AXIS2
¶
-
enumerator
IfcLayerSetDirection_AXIS3
¶
-
enumerator
-
enum
-
class
IfcLengthMeasure
: public IfcUtil::IfcBaseType Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. Usually measured in millimeters (mm). Type: REAL
NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.
HISTORY New type in IFC Release 1.5.1.
Subclassed by Ifc2x3::IfcPositiveLengthMeasure
Public Functions
-
const IfcParse::type_declaration &
declaration
() const
-
IfcLengthMeasure
(IfcEntityInstanceData *e)
-
IfcLengthMeasure
(double v)
-
operator double
() const
Public Static Functions
-
const IfcParse::type_declaration &
Class
()
-
const IfcParse::type_declaration &
-
class
IfcLibraryInformation
: public IfcUtil::IfcBaseEntity An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library.
NOTE The complete definition of the information in an external library is out of scope in this IFC release.
HISTORY New Entity in IFC2x.
IFC2x4 CHANGE Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse).
Public Types
-
typedef IfcTemplatedEntityList<IfcLibraryInformation>
list
Public Functions
-
std::string
Name
() const The name which is used to identify the library.
-
void
setName
(std::string v)
-
bool
hasVersion
() const Whether the optional attribute Version is defined for this IfcLibraryInformation.
-
std::string
Version
() const Identifier for the library version used for reference.
-
void
setVersion
(std::string v)
-
bool
hasPublisher
() const Whether the optional attribute Publisher is defined for this IfcLibraryInformation.
-
::Ifc2x3::IfcOrganization *
Publisher
() const Information of the organization that acts as the library publisher.
-
void
setPublisher
(::Ifc2x3::IfcOrganization *v)
-
bool
hasVersionDate
() const Whether the optional attribute VersionDate is defined for this IfcLibraryInformation.
-
::Ifc2x3::IfcCalendarDate *
VersionDate
() const Date of the referenced version of the library.
IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
-
void
setVersionDate
(::Ifc2x3::IfcCalendarDate *v)
-
bool
hasLibraryReference
() const Whether the optional attribute LibraryReference is defined for this IfcLibraryInformation.
-
IfcTemplatedEntityList<::Ifc2x3::IfcLibraryReference>::ptr
LibraryReference
() const
-
void
setLibraryReference
(IfcTemplatedEntityList<::Ifc2x3::IfcLibraryReference>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcLibraryInformation
(IfcEntityInstanceData *e)
-
IfcLibraryInformation
(std::string v1_Name, boost::optional<std::string> v2_Version, ::Ifc2x3::IfcOrganization *v3_Publisher, ::Ifc2x3::IfcCalendarDate *v4_VersionDate, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcLibraryReference>::ptr> v5_LibraryReference)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcLibraryInformation>
-
class
IfcLibraryReference
: public Ifc2x3::IfcExternalReference An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation.
The ifcLibraryReference additionally provides the capability to handle multilingual library entries. The Language attribute then holds the language tag for the language used by the strings kept in the Name and the Description attribute.
HISTORY New Entity in IFC2.0.
IFC2x4 CHANGE Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship).
Public Types
-
typedef IfcTemplatedEntityList<IfcLibraryReference>
list
Public Functions
-
IfcTemplatedEntityList<IfcLibraryInformation>::ptr
ReferenceIntoLibrary
() const
-
const IfcParse::entity &
declaration
() const
-
IfcLibraryReference
(IfcEntityInstanceData *e)
-
IfcLibraryReference
(boost::optional<std::string> v1_Location, boost::optional<std::string> v2_ItemReference, boost::optional<std::string> v3_Name)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcLibraryReference>
-
struct
IfcLightDistributionCurveEnum
¶ Public Types
-
enum
Value
¶ There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121:
TYPE_A: Type A is basically not used. For completeness the Type A Photometry equals the Type B rotated 90° around the Z-Axis counter clockwise. TYPE_B: Type B is sometimes used for floodlights. The B-Plane System has a horizontal axis. B-Angles are valid from -180° to +180° with B 0° at the bottom and B180°/B-180° at the top, β-Angles are valid from -90° to +90°. (See Figure 302.) TYPE_C: Type C is the recommended standard system. The C-Plane system equals a globe with a vertical axis. C-Angles are valid from 0° to 360°, γ-Angles are valid from 0° (south pole) to 180° (north pole). (See Figure 302.)
<table
B-Type System C-Type System
Figure 302 — Light distribution curves
HISTORY This is a new enumeration in IFC2x2.
Values:
-
enumerator
IfcLightDistributionCurve_TYPE_A
¶
-
enumerator
IfcLightDistributionCurve_TYPE_B
¶
-
enumerator
IfcLightDistributionCurve_TYPE_C
¶
-
enumerator
IfcLightDistributionCurve_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcLightDistributionData
: public IfcUtil::IfcBaseEntity IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the
A angle; if the IfcLightDistributionCurveEnum is set to TYPE_A B angle; if the IfcLightDistributionCurveEnum is set to TYPE_B C angle; if the IfcLightDistributionCurveEnum is set to TYPE_C
For each MainPlaneAngle (considered as being the row of a table) a list of SecondaryPlaneAngle’s are given (considered to be the columns of a table). They are either the:
α angle; if the IfcLightDistributionCurveEnum is set to TYPE_A β angle; if the IfcLightDistributionCurveEnum is set to TYPE_B γ angle; if the IfcLightDistributionCurveEnum is set to TYPE_C
For each pair of MainPlaneAngle and SecondaryPlaneAngle the LuminousIntensity is provided (the unit is given by the IfcUnitAssignment referring to the LuminousIntensityDistributionUnit, normally cd/klm).
HISTORY: New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcLightDistributionData>
list
Public Functions
-
double
MainPlaneAngle
() const The main plane angle (A, B or C angles, according to the light distribution curve chosen).
-
void
setMainPlaneAngle
(double v)
-
std::vector<double>
SecondaryPlaneAngle
() const The list of secondary plane angles (the α, β or γ angles) according to the light distribution curve chosen.
NOTE: The SecondaryPlaneAngle and LuminousIntensity lists are corresponding lists.
-
void
setSecondaryPlaneAngle
(std::vector<double> v)
-
std::vector<double>
LuminousIntensity
() const The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen.
-
void
setLuminousIntensity
(std::vector<double> v)
-
const IfcParse::entity &
declaration
() const
-
IfcLightDistributionData
(IfcEntityInstanceData *e)
-
IfcLightDistributionData
(double v1_MainPlaneAngle, std::vector<double> v2_SecondaryPlaneAngle, std::vector<double> v3_LuminousIntensity)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcLightDistributionData>
-
struct
IfcLightEmissionSourceEnum
¶ Public Types
-
enum
Value
¶ IfcLightEmissionSourceEnum defines the range of different types of light emitter available.
HISTORY: New type in IFC2x2.
Enumeration
COMPACTFLUORESCENT FLUORESCENT HIGHPRESSUREMERCURY HIGHPRESSURESODIUM LIGHTEMITTINGDIODE LOWPRESSURESODIUM LOWVOLTAGEHALOGEN MAINVOLTAGEHALOGEN METALHALIDE TUNGSTENFILAMENT NOTDEFINED
Values:
-
enumerator
IfcLightEmissionSource_COMPACTFLUORESCENT
¶
-
enumerator
IfcLightEmissionSource_FLUORESCENT
¶
-
enumerator
IfcLightEmissionSource_HIGHPRESSUREMERCURY
¶
-
enumerator
IfcLightEmissionSource_HIGHPRESSURESODIUM
¶
-
enumerator
IfcLightEmissionSource_LIGHTEMITTINGDIODE
¶
-
enumerator
IfcLightEmissionSource_LOWPRESSURESODIUM
¶
-
enumerator
IfcLightEmissionSource_LOWVOLTAGEHALOGEN
¶
-
enumerator
IfcLightEmissionSource_MAINVOLTAGEHALOGEN
¶
-
enumerator
IfcLightEmissionSource_METALHALIDE
¶
-
enumerator
IfcLightEmissionSource_TUNGSTENFILAMENT
¶
-
enumerator
IfcLightEmissionSource_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcLightFixtureType
: public Ifc2x3::IfcFlowTerminalType The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include:
common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types
It is used to define a light fixture specification (i.e. the specific product information, that is common to all occurrences of that product type). Light Fixture types may be exchanged without being already assigned to occurrences. Occurrences of IfcLightFixtureType are represented by instances of IfcLightFixture.
HISTORY: New entity in IFC2x2
Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ElectricalDeviceCommon Pset_LightFixtureTypeCommon Pset_LightFixtureTypeThermal
The following property set definitions are applicable to this entity according to the PredefinedType attribute:
Pset_LightFixtureTypeSecurityLighting (SECURITYLIGHTING)
Material Use Definition The material of the IfcLightFixtureType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
‘Casing’: Material from which the casing is constructed.
Port Use Definition The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions.
Public Types
-
typedef IfcTemplatedEntityList<IfcLightFixtureType>
list
Public Functions
-
::Ifc2x3::IfcLightFixtureTypeEnum::Value
PredefinedType
() const Identifies the predefined types of light fixture from which the type required may be set.
-
void
setPredefinedType
(::Ifc2x3::IfcLightFixtureTypeEnum::Value v)
-
const IfcParse::entity &
declaration
() const
-
IfcLightFixtureType
(IfcEntityInstanceData *e)
-
IfcLightFixtureType
(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc2x3::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType)
Public Static Functions
-
const IfcParse::entity &
Class
()
-
typedef IfcTemplatedEntityList<IfcLightFixtureType>
-
struct
IfcLightFixtureTypeEnum
¶ Public Types
-
enum
Value
¶ The IfcLightFixtureTypeEnum defines the range of different types of light fixture available.
HISTORY: New type in IFC 2x Edition 2IFC 2x4: SECURITYLIGHTING added
Enumeration
POINTSOURCE: A light fixture that is considered to have negligible area and that emit light with approximately equal intensity in all directions. A light fixture containing a tungsten, halogen or similar bulb is an example of a point source. DIRECTIONSOURCE: A light fixture that is considered to have a length or surface area from which it emits light in a direction. A light fixture containing one or more fluorescent lamps is an example of a direction source. SECURITYLIGHTING: A light fixture having specific purpose of directing occupants in an emergency, such as an illuminated exit sign or emergency flood light. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.
Values:
-
enumerator
IfcLightFixtureType_POINTSOURCE
¶
-
enumerator
IfcLightFixtureType_DIRECTIONSOURCE
¶
-
enumerator
IfcLightFixtureType_USERDEFINED
¶
-
enumerator
IfcLightFixtureType_NOTDEFINED
¶
-
enumerator
-
enum
-
class
IfcLightIntensityDistribution
: public IfcUtil::IfcBaseEntity IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute.
New entity in IFC2x2.
Public Types
-
typedef IfcTemplatedEntityList<IfcLightIntensityDistribution>
list
Public Functions
-
::Ifc2x3::IfcLightDistributionCurveEnum::Value
LightDistributionCurve
() const Standardized light distribution curve used to define the luminous intensity of the light in all directions.
-
void
setLightDistributionCurve
(::Ifc2x3::IfcLightDistributionCurveEnum::Value v)
-
IfcTemplatedEntityList<::Ifc2x3::IfcLightDistributionData>::ptr
DistributionData
() const Light distribution data applied to the light source. It is defined by a list of main plane angles (B or C according to the light distribution curve chosen) that includes (for each B or C angle) a second list of secondary plane angles (the β or γ angles) and the according luminous intensity distribution measures.
-
void
setDistributionData
(IfcTemplatedEntityList<::Ifc2x3::IfcLightDistributionData>::ptr v)
-
const IfcParse::entity &
declaration
() const
-
IfcLightIntensityDistribution
(IfcEntityInstanceData *e)
-
typedef IfcTemplatedEntityList<IfcLightIntensityDistribution>
-
typedef IfcUtil::IfcBaseClass