IfcConstraint
Definition from IAI: An IfcConstraint is used to define a
constraint or limiting value or boundary condition that may be applied to an
object or to the value of a property.
HISTORY: New Entity in IFC Release
2.0
Use Definition
IfcConstraint may be associated with any subtype of
IfcObject through the IfcRelAssociatesConstraint relationship in
the IfcControlExtension schema.
A constraint may aggregate other constraints through the
IfcConstraintAggregationRelationship through which a logical association
between constraints may be applied.
A constraint must have a name applied through the
IfcConstraint.Name attribute and optionally, a description through
IfcConstraint.Description. For instance, when undertaking a move
(instantiated through the IfcMove class), a constraint may be named as a
'Move Start Constraint' or 'Move End Constraint' and described using one of a
possible range of move constraints as shown in the table below.
Application of constraints to moves as indicated
by this example replaces the use of IfcActionTimeControl class which is now
deleted.
Constraint Description |
Definition |
Benchmark |
Grade |
ASSOONASPOSSIBLE |
Action should commence at the earliest possible
opportunity. |
GREATERTHANOREQUALTO |
SOFT |
MUSTSTARTON |
Action must start at a prescribed date/time. |
EQUALTO |
HARD |
MUSTSTARTBEFORE |
Action must start before a prescribed date/time. |
LESSTHANOREQUALTO |
HARD |
MUSTSTARTAFTER |
Action must not start before a prescribed
date/time. |
GREATERTHANOREQUALTO |
HARD |
MAYSTARTAFTER |
Action may start at any time following a prescribed
date/time. |
GREATERTHANOREQUALTO |
SOFT |
MUSTFINISHON |
Action must be complete at or by a prescribed
date/time. |
EQUALTO |
HARD |
MUSTFINISHBEFORE |
Action must be complete before a prescribed
date/time. |
LESSTHANOREQUALTO |
HARD |
The constraint is instantiated as the class IfcMetric and uses a
Date/Time value through IfcMetricValue. An appropriate benchmark is
applied according to the requirement of the constraint (as indicated). The
grade of the constraint (hard, soft, advisory) must be specified through
IfcConstraint.ConstraintGrade whilst the time at which the constraint is
created may be optionally asserted through
IfcConstraint.ConstraintTime.
EXPRESS specification:
|
|
|
WR11
|
:
|
(ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR
((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade));
|
|
|
|
Attribute definitions:
Name
|
:
|
A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance).
|
Description
|
:
|
A description that may apply additional information about a constraint.
|
ConstraintGrade
|
:
|
Enumeration that qualifies the type of constraint.
|
ConstraintSource
|
:
|
Any source material, such as a code or standard, from which the constraint originated.
|
CreatingActor
|
:
|
Person and/or organization that has created the constraint.
|
CreationTime
|
:
|
Time when information specifying the constraint instance was created.
|
UserDefinedGrade
|
:
|
Allows for specification of user defined grade of the constraint beyond the enumeration values (hard,
soft, advisory) provided by ConstraintGrade attribute of type <I>IfcConstraintEnum</I>.
When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall
have enumeration value USERDEFINED.
|
ClassifiedAs
|
:
|
Reference to the constraint classifications through objectified relationship.
|
RelatesConstraints
|
:
|
References to the objetified relationships that relate other constraints with this constraint.
|
IsRelatedWith
|
:
|
References to the objectified relationships that relate this constraint with other constraints.
|
PropertiesForConstraint
|
:
|
Reference to the properties to which the constraint is applied.
|
Aggregates
|
:
|
Reference to the relationships that collect other constraints into this aggregate constraint.
|
IsAggregatedIn
|
:
|
Reference to the relationships that relate this constraint into aggregate constraints.
|
Formal Propositions:
WR11
|
:
|
The attribute UserDefinedGrade must be asserted when the value of the IfcConstraintGradeEnum is set to
USERDEFINED.
|
Inheritance graph