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 <
-
typedef IfcTemplatedEntityList<IfcBoundaryFaceCondition>
-
typedef IfcUtil::IfcBaseClass