Log In   View a printable version of the current page.
Define Quantity (FP)
Added by Jeffrey Wix, last edited by Jeffrey Wix on Jan 29, 2007  (view change)
Labels: 
(None)


Define Quantity

Overview

Provides the means by which a quantity that is defined by a method of measurement may be defined for an object.
'Methods of measurement' are frequently used as the basis on which elements may be measured for inclusion in cost or progress submissions. They may include sets of rules that determine how the measurement should be established and the units of measure in which it should be expressed. The rules may be developed from some abstract concepts of measurement rather than actual values (such as length, area etc.) that might otherwise be physically associated with an object or that might be derived through knowledge of the geometric representation of an object.
For example, consider a straight section of pipework with a 90? bend at one end and a square tee at the other end.
The actual length of the pipe section (as cut and fitted) is measured as the distance between each physical end. In geometric terms, it is normally measured as shown; that is the length of piping between the end of the bend to which it is connected and the end of the tee to which it is connected. The actual fitting elements can also be determined as being a tee and a bend.
A method of measurement might however set a rule that the length should be measured as the distance between the ends of the section of pipe if they were projected to a point at which they would meet with an adjacent section of pipe. This would mean that the measured length would be greater than the actual length but would be considered satisfactory under the rules of the method of measurement for costing.
A further rule might be that instead of determining the type of each fitting, all fittings would be treated as being the same (called a 'counted fitting' in this example).
The information presented in this functional part includes:

  • Method of measurement to be used for quantity definition
  • Name and (if required) description of the quantity to be measured
  • Named physical quantities with values and units appropriately set
  • Additional discriminator, quality and usage attributes for complex quantities comprising sets of values
  • Specification of objects for which the quantities are defined.

Results

Specification of quantities for objects according to a defined method of measurement.

Description Entity/Pset/Functional Part MAN REC OPT
Define the physical quantity to be used        

If the physical quantity being measured is a simple quantity, then one of the following must be asserted:

 

Note that a simple quantity is a single unit of measure and IfcQauntityXXX (where XXX is the extended name as shown) is a subtype of IfcPhysicalSimpleQuantity)

       

A count of a number of items

IfcQuantityCount.CountValue::IfcCountMeasure    

A measure of length

IfcQuantityLength.LengthValue::IfcLengthMeasure    

A measure of area

IfcQuantityArea.AreaValue::IfcAreaMeasure    

A measure of volume

IfcQuantityVolume.VolumeValue::IfcVolumeMeasure    

A measure of weight

IfcQuantityWeight.WeightValue::IfcWeightMeasure    

A measure of time

IfcQuantityTime.TimeValue::IfcTimeMeasure    

If the physical quantity being measured is a complex quantity:

 

Where a complex quantity is a set of simple quantities that all apply to a given component or aspect of the element.

       

Determine the set of physical quantities to be assigned using the simple quantity specifications above.

IfcPhysicalComplexQuantity.HasQuantities::IfcPhysicalSimpleQuantity    

Identify the discrimination used to distinguish the complex quantity.

 

Examples of discriminations are 'layer', 'steel bar diameter' etc.

IfcPhysicalComplexQuantity.Discrimination::IfcLabel    

Indicate a quality of the quantities that are grouped under the complex quantity

IfcPhysicalComplexQuantity.Quality::IfcLabel    

Indicate a usage type of the quantities that are grouped under the complex quantity

IfcPhysicalComplexQuantity.Usage::IfcLabel    

Assert the name of the physical quantity

 

This could be a name like 'gross area' (to distinguish it from the a 'net area')

IfcQuantityXXX.Name::IfcLabel
OR
IfcPhysicalComplexQuantity.Name::IfcLabel
   

Describe the physical quantity as required

IfcQuantityXXX.Description::IfcLabel
OR
IfcPhysicalComplexQuantity. Description::IfcLabel
   

Select the unit of measure in which the physical quantity is to be asserted.

 

_If no unit of measure is to be assigned, then this attribute should not be asserted. Otherwise, it must be asserted. _

IfcQuantityXXX.Unit::fp_unit
OR
IfcPhysicalComplexQuantity. Unit::fp_unit
   
Identify the method of measurement to be used        

Set the method of measurement to be used for measuring the quantity to be defined.

 

The method of measurement will typically be defined as a set of measurement rules for use in a particular place. For instance, measurement of areas in the US might be measured according to the BOMA method whilst quantities for costing in the UK could be measured according to SMM6 (6th edition of the Standard Method of Measurement)

IfcElementQuantity.MethodOfMeasurement::IfcLabel    
Identify the quantities to be measured        

Assert the name of the quantity to be measured.

 

This could be a name like 'Buildable Area'. Alternatively, it could be a more complete name that could be used as part of a description within a bill of quantities.

IfcElementQuantity.Name::IfcLabel    

Describe the quantity to be measured.

 

This is an optional value that can be used. In the example above, the buildable area might be described as being 'the maximum area of a site on which a building or buildings might be placed'. Descriptions can be used to further enhance information in bills of quantities.

IfcElementQuantity.Description::IfcLabel    
Assign the quantity        

Set the physical quantity to the element quantity.

 

IfcPhysicalQuantity may be a set of simple and complex quantities. At least one quantity that is either an IfcPhysicalSimpleQuantity (using IfcQuantityXXX subtypes) or an IfcPhysicalComplexQuantity must be asserted.

IfcElementQuantity.Quantities::IfcPhysicalQuantity    
Define the quantity for the object        

Define the occurrence of IfcElementQuantity for one or more occurrences of a subtype of IfcObject.

fp_define_by_properties    

IFC Entities Required

  • IfcElementQuantity
  • IfcPhysicalQuantity
  • IfcPhysicalComplexQuantity
  • IfcPhysicalSimpleQuantity
  • IfcPropertyDefinition
  • IfcPropertySetDefinition
  • IfcQuantityArea
  • IfcQuantityCount
  • IfcQuantityLength
  • IfcQuantityTime
  • IfcQuantityVolume
  • IfcQuantityWeight
  • IfcRoot

IFC Datatypes Required

  • IfcAreaMeasure
  • IfcCountMeasure
  • IfcGloballyUniqueId
  • IfcLabel
  • IfcLengthMeasure
  • IfcMassMeasure
  • IfcText
  • IfcTimeMeasure
  • IfcVolumeMeasure

IFC Functions Required

  • -

IFC Property Sets Required

  • -

IDM Functional Parts Required

  • fp_apply_owner_history
  • fp_define_by_properties
  • fp_unit

EXPRESS-G

EXPRESS Schema

SCHEMA FP_DEFINE_QUANTITY;

  TYPE IfcAreaMeasure = REAL;
  END_TYPE;

  TYPE IfcCountMeasure = NUMBER;
  END_TYPE;

  TYPE IfcGloballyUniqueId = STRING (22) FIXED;
  END_TYPE;

  TYPE IfcLabel = STRING;
  END_TYPE;

  TYPE IfcLengthMeasure = REAL;
  END_TYPE;

  TYPE IfcMassMeasure = REAL;
  END_TYPE;

  TYPE IfcText = STRING;
  END_TYPE;

  TYPE IfcTimeMeasure = REAL;
  END_TYPE;

  TYPE IfcVolumeMeasure = REAL;
  END_TYPE;

  ENTITY IfcRoot
    ABSTRACT SUPERTYPE;
      GlobalId     : IfcGloballyUniqueId;
      Name         : OPTIONAL IfcLabel;
      Description  : OPTIONAL IfcText;
      OwnerHistory : fp_apply_owner_history;
    UNIQUE
      UR1 : GlobalId;
  END_ENTITY;

  ENTITY IfcPropertyDefinition
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcRoot);
  END_ENTITY;

  ENTITY IfcPropertySetDefinition
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcPropertyDefinition);
  END_ENTITY;

  ENTITY IfcElementQuantity
    SUBTYPE OF(IfcPropertySetDefinition);
      MethodOfMeasurement : OPTIONAL IfcLabel;
      Quantities          : SET [1:?] OF IfcPhysicalQuantity;
  END_ENTITY;

  ENTITY IfcPhysicalQuantity
    ABSTRACT SUPERTYPE OF (ONEOF(IfcPhysicalComplexQuantity, IfcPhysicalSimpleQuantity));
      Name          : IfcLabel;
      Description   : OPTIONAL IfcText;
    INVERSE
      PartOfComplex : SET [0:1] OF IfcPhysicalComplexQuantity FOR HasQuantities;
  END_ENTITY;

  ENTITY IfcPhysicalComplexQuantity
    SUBTYPE OF(IfcPhysicalQuantity);
      HasQuantities  : SET [1:?] OF IfcPhysicalQuantity;
      Discrimination : IfcLabel;
      Quality        : OPTIONAL IfcLabel;
      Usage          : OPTIONAL IfcLabel;
    WHERE
      WR21 : SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0;
  END_ENTITY;

  ENTITY IfcPhysicalSimpleQuantity
    ABSTRACT SUPERTYPE OF (ONEOF(IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight))
    SUBTYPE OF(IfcPhysicalQuantity);
      Unit : OPTIONAL fp_unit;
  END_ENTITY;

  ENTITY IfcQuantityArea
    SUBTYPE OF(IfcPhysicalSimpleQuantity);
      AreaValue : IfcAreaMeasure;
    WHERE
      WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
             (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.AREAUNIT);
      WR22 : AreaValue >= 0;
  END_ENTITY;

  ENTITY IfcQuantityCount
    SUBTYPE OF(IfcPhysicalSimpleQuantity);
      CountValue : IfcCountMeasure;
    WHERE
      WR1 : CountValue >= 0;
  END_ENTITY;

  ENTITY IfcQuantityLength
    SUBTYPE OF(IfcPhysicalSimpleQuantity);
      LengthValue : IfcLengthMeasure;
    WHERE
      WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
             (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.LENGTHUNIT);
      WR22 : LengthValue >= 0;
  END_ENTITY;

  ENTITY IfcQuantityTime
    SUBTYPE OF(IfcPhysicalSimpleQuantity);
      TimeValue : IfcTimeMeasure;
    WHERE
      WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
             (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.TIMEUNIT);
      WR22 : TimeValue >= 0;
  END_ENTITY;

  ENTITY IfcQuantityVolume
    SUBTYPE OF(IfcPhysicalSimpleQuantity);
      VolumeValue : IfcVolumeMeasure;
    WHERE
      WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
             (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.VOLUMEUNIT);
      WR22 : VolumeValue >= 0;
  END_ENTITY;

  ENTITY IfcQuantityWeight
    SUBTYPE OF(IfcPhysicalSimpleQuantity);
      WeightValue : IfcMassMeasure;
    WHERE
      WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR
             (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.MASSUNIT);
      WR22 : WeightValue >= 0;
  END_ENTITY;

  ENTITY fp_apply_owner_history;
  END_ENTITY;

  ENTITY fp_define_by_properties;
  END_ENTITY;

  ENTITY fp_unit;
  END_ENTITY;

END_SCHEMA;

Examples of Quantities

Example 1: Setting the length of electrical cables

In the example, cables and cores are geometrical represented as a simple line in the drawing. These are intended to signify connections between components and do not necessarily represent actual routes that cables/cores would actually take.
Each electrical connection occurrence is here modelled as an IfcFlowSegment that is defined by type as a cable segment. In the example, particular properties of the segment are not elaborated. The occurrences here reference the cable route 1>2>3 in the diagram.

Measurement of the flow segment may be undertaken in various ways. For this example, two measurement are shown.

  • Measurement A is taken in the direct line 1 - 2 - 3 with allowance made for drop at each point.
  • Measurement B is taken from point 1, rising up and then travelling orthogonally across the space to the mid point and then to the light where it drops to 2. This is repeated to connect to 3.

For the purposes of the example, method of measurement A is shown as MoM-A with a length value of 5m for each part (i.e. two flow segments sharing the same quantity measurement).

#100 = IFCOWNERHISTORY ( ... );
#200 = IFCORGANIZATION ($,'IAI',$,$,$);
#300 = IFCSIUNIT (.LENGTHUNIT.,$,.METRE.,#301);
#301 = IFCDIMENSIONALEXPONENTS (1,0,0,0,0,0,0);

#500 = IFCFLOWSEGMENT ('gabcdeghijklmnopqrst500',#100,'Cable Segment',$,$,$,$,$);
#501 = IFCFLOWSEGMENT ('gabcdeghijklmnopqrst501',#100,'Cable Segment',$,$,$,$,$);

#600 = IFCELEMENTQUANTITY ('gabcdeghijklmnopqrst600',#100,$,$,'MoM-A',(#601));
#601 = IFCQUANTITYLENGTH ('Cable length','Most direct route',#300,5.0);

#700 = IFCRELDEFINESBYPROPERTIES ('gabcdeghijklmnopqrst700',#100,$,$,(#500,#501),#600);

Method of measurement B is shown as MoM-B with a length value of 6.4m for the first segment and 6.7m for the second segment.

#100 = IFCOWNERHISTORY ( ... );
#200 = IFCORGANIZATION ($,'IAI',$,$,$);
#300 = IFCSIUNIT (.LENGTHUNIT.,$,.METRE.,#301);
#301 = IFCDIMENSIONALEXPONENTS (1,0,0,0,0,0,0);

#500 = IFCFLOWSEGMENT ('gabcdeghijklmnopqrst500',#100,'Cable Segment',$,$,$,$,$);
#501 = IFCFLOWSEGMENT ('gabcdeghijklmnopqrst501',#100,'Cable Segment',$,$,$,$,$);

#600 = IFCELEMENTQUANTITY ('gabcdeghijklmnopqrst600',#100,$,$,'MoM-A',(#601));
#601 = IFCQUANTITYLENGTH ('Cable length','Most direct route',#300,6.4);
#610 = IFCELEMENTQUANTITY ('gabcdeghijklmnopqrst610',#100,$,$,'MoM-A',(#611));
#611 = IFCQUANTITYLENGTH ('Cable length','Most direct route',#300,6.7);

#700 = IFCRELDEFINESBYPROPERTIES ('gabcdeghijklmnopqrst700',#100,$,$,(#500),#600);
#701 = IFCRELDEFINESBYPROPERTIES ('gabcdeghijklmnopqrst701',#100,$,$,(#501),#610);

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators