#### 8.3.3.1 IfcConstraint

| Contrainte
| Beschränkung

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.

IfcConstraint may be associated with any subtype of IfcRoot (unless restricted in specific subtypes) through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.

A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime.

A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences

> HISTORY New entity in IFC2.0

> IFC4 CHANGE CreationTime changed to IfcDateTime for ISO 8601 representation, HasExternalReferences new inverse attribute.

XSD Specification:

<xs:element name="IfcConstraint" type="ifc:IfcConstraint" abstract="true" substitutionGroup="ifc:Entity" nillable="true"/>
<xs:complexType name="IfcConstraint" abstract="true">
<xs:complexContent>
<xs:extension base="ifc:Entity">
<xs:attribute name="Name" type="ifc:IfcLabel" use="optional"/>
<xs:attribute name="ConstraintGrade" type="ifc:IfcConstraintEnum" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcConstraint

| ABSTRACT SUPERTYPE OF(ONEOF(IfcMetric, IfcObjective));

Name | : | IfcLabel;
Description | : | OPTIONAL IfcText;
ConstraintGrade | : | IfcConstraintEnum;
ConstraintSource | : | OPTIONAL IfcLabel;
CreatingActor | : | OPTIONAL IfcActorSelect;
CreationTime | : | OPTIONAL IfcDateTime;
UserDefinedGrade | : | OPTIONAL IfcLabel;

| INVERSE

| WHERE

WR11 | : | (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR ((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade));

END_ENTITY;

EXPRESS-G diagram

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 IfcConstraintEnum. When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED.

Formal Propositions:

WR11 | : | The attribute UserDefinedGrade must be asserted when the value of the IfcConstraintGradeEnum is set to USERDEFINED.

Inheritance Graph:

ENTITY IfcConstraint

| ENTITY IfcConstraint

Name | : | IfcLabel;
Description | : | OPTIONAL IfcText;
ConstraintGrade | : | IfcConstraintEnum;
ConstraintSource | : | OPTIONAL IfcLabel;
CreatingActor | : | OPTIONAL IfcActorSelect;
CreationTime | : | OPTIONAL IfcDateTime;
UserDefinedGrade | : | OPTIONAL IfcLabel;

| INVERSE

END_ENTITY;

Link to this page