IFC 4.3.0.0 (IFC4X3) final

8.3.3.2 IfcMetric

8.3.3.2.1 Semantic definition

An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives.

IfcMetric is a subtype of IfcConstraint and may be associated with any subtype of IfcRoot through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcResourceConstraintRelationship.

The aim of IfcMetric is to capture the quantitative aspects of a constraint.

dot_neato IfcResourceConstraintRelationship IfcResource ConstraintRelationship IfcQuantityWeight IfcQuantityWeight Name: NetWeight WeightValue: 20 IfcResourceConstraintRelationship->IfcQuantityWeight Related Resource Objects[1] IfcObjective IfcObjective Name: Safe lifting weight LogicalAggregator: LOGICALAND ObjectiveQualifier: HEALTHANDSAFETY IfcResourceConstraintRelationship->IfcObjective Relating Constraint IfcElementQuantity IfcElementQuantity IfcElementQuantity->IfcQuantityWeight Quantities[1] IfcMetric2 IfcMetric Benchmark: GREATERTHANOREQUALTO DataValue: 19 IfcObjective->IfcMetric2 BenchmarkValues[1] IfcMetric IfcMetric Benchmark: LESSTHANOREQUALTO DataValue: 21 IfcObjective->IfcMetric BenchmarkValues[2] IfcReference2 IfcReference AttributeIdentifier: WeightValue IfcMetric2->IfcReference2 ReferencePath IfcReference IfcReference AttributeIdentifier: WeightValue IfcMetric->IfcReference ReferencePath
Figure 8.3.3.2.A — An example user defined constraint.

8.3.3.2.2 Entity inheritance

8.3.3.2.3 Attributes

# Attribute Type Description
IfcConstraint (9)
1 Name IfcLabel

A human-readable name to be used for the constraint.

2 Description OPTIONAL IfcText

A human-readable description that may apply additional information about a constraint.

3 ConstraintGrade IfcConstraintEnum

Enumeration that qualifies the type of constraint.

4 ConstraintSource OPTIONAL IfcLabel

Any source material, such as a code or standard, from which the constraint originated.

5 CreatingActor OPTIONAL IfcActorSelect

Person and/or organization that has created the constraint.

6 CreationTime OPTIONAL IfcDateTime

Time when information specifying the constraint instance was created.

7 UserDefinedGrade OPTIONAL IfcLabel

Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED.

HasExternalReferences SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects

Reference to an external references, e.g. library, classification, or document information, that are associated to the constraint.

PropertiesForConstraint SET [0:?] OF IfcResourceConstraintRelationship FOR RelatingConstraint

Reference to the properties to which the constraint is applied.

Click to show 9 hidden inherited attributes Click to hide 9 inherited attributes
IfcMetric (4)
8 Benchmark IfcBenchmarkEnum

Enumeration that identifies the type of benchmark data.

9 ValueSource OPTIONAL IfcLabel

Reference source for data values.

If DataValue refers to an IfcTable, this attribute identifies the relevent column identified by IfcTableColumn.Identifier.

10 DataValue OPTIONAL IfcMetricValueSelect

The value to be compared on associated objects. A null value indicates comparison to null.

11 ReferencePath OPTIONAL IfcReference

Optional path to an attribute to be constrained on associated objects. If provided, the metric may be validated by resolving the path to the current value on associated object(s), and comparing such value with DataValue according to the Benchmark.

Table 8.3.3.2.B

8.3.3.2.4 Formal representation

ENTITY IfcMetric
 SUBTYPE OF (IfcConstraint);
	Benchmark : IfcBenchmarkEnum;
	ValueSource : OPTIONAL IfcLabel;
	DataValue : OPTIONAL IfcMetricValueSelect;
	ReferencePath : OPTIONAL IfcReference;
END_ENTITY;

8.3.3.2.5 References

8.3.3.2.6 Changelog

  • attributes, ReferencePath
  • attributes DataValue is_optional, Changed from False to True