Any object or property may have associated constraints indicating a qualitative objective or a quantitative metric to be met.
Constraints based on metrics are measurable, such that the status of a metric being valid is computer-interpretable. Metric constraints are based on simple conditional logic such as greater than a particular value or included within a specified list or table. Constraints may be combine multiple metrics using boolean logic such as AND, OR, XOR, or NOT.
Figure 25 illustrates an instance diagram.
![]() |
Figure 25 — Constraint |
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="c08b264c-f7c6-479f-af7f-5d645c130ea8" name="Constraint" status="sample" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
<Rules>
<AttributeRule AttributeName="HasAssociations">
<EntityRules>
<EntityRule EntityName="IfcRelAssociatesConstraint">
<AttributeRules>
<AttributeRule AttributeName="Name">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="RelatingConstraint">
<EntityRules>
<EntityRule EntityName="IfcObjective">
<AttributeRules>
<AttributeRule AttributeName="BenchmarkValues">
<EntityRules>
<EntityRule EntityName="IfcMetric">
<AttributeRules>
<AttributeRule AttributeName="Benchmark">
<EntityRules>
<EntityRule EntityName="IfcBenchmarkEnum" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>