IfcConstraint

Natural language names
Beschränkung
Constraint
Contrainte
Semantic definitions at the entity
Entity definition

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.

Constraints may be subdivided into user-defined constraints and system-defined constraints. User-defined constraints are applied by a user and are restricted to high-level definitions such as object properties. System-defined constraints may apply to any object attribute, are typically defined by an application to enforce data validation or parametric behavior, and are intended to be enforced by applications but not to be directly editable by an end-user.

IfcConstraint may be associated with any subtype of IfcObjectDefinition or IfcPropertyDefinition through the IfcRelAssociatesConstraint relationship to indicate a system-defined constraint, or may be associated with IfcResourceObjectSelect (such as IfcPropertySingleValue) by IfcResourceConstraintRelationship to indicate a user-defined constraint.

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.
Attribute definitions
#AttributeTypeCardinalityDescription G
1NameIfcLabel A human-readable name to be used for the constraint.X
2DescriptionIfcText? A human-readable description that may apply additional information about a constraint.X
3ConstraintGradeIfcConstraintEnum Enumeration that qualifies the type of constraint.X
4ConstraintSourceIfcLabel? Any source material, such as a code or standard, from which the constraint originated. X
5CreatingActorIfcActorSelect? Person and/or organization that has created the constraint.X
6CreationTimeIfcDateTime? Time when information specifying the constraint instance was created.X
7UserDefinedGradeIfcLabel? 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.X
HasExternalReferencesIfcExternalReferenceRelationship
@RelatedResourceObjects
S[0:?]Reference to an external references, e.g. library, classification, or document information, that are associated to the constraint.
IFC4 CHANGE New inverse attribute.
X
PropertiesForConstraintIfcResourceConstraintRelationship
@RelatingConstraint
S[0:?]Reference to the properties to which the constraint is applied.X
Formal Propositions
RuleDescription
WR11The attribute UserDefinedGrade must be asserted when the value of the IfcConstraintGradeEnum is set to USERDEFINED.
Inherited definitions from supertypes
Entity inheritance IfcMetric IfcObjective
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcConstraint
1NameIfcLabel A human-readable name to be used for the constraint.X
2DescriptionIfcText? A human-readable description that may apply additional information about a constraint.X
3ConstraintGradeIfcConstraintEnum Enumeration that qualifies the type of constraint.X
4ConstraintSourceIfcLabel? Any source material, such as a code or standard, from which the constraint originated. X
5CreatingActorIfcActorSelect? Person and/or organization that has created the constraint.X
6CreationTimeIfcDateTime? Time when information specifying the constraint instance was created.X
7UserDefinedGradeIfcLabel? 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.X
HasExternalReferencesIfcExternalReferenceRelationship
@RelatedResourceObjects
S[0:?]Reference to an external references, e.g. library, classification, or document information, that are associated to the constraint.
IFC4 CHANGE New inverse attribute.
X
PropertiesForConstraintIfcResourceConstraintRelationship
@RelatingConstraint
S[0:?]Reference to the properties to which the constraint is applied.X
Formal representations
XML 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:sequence>
     <xs:element name="CreatingActor" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcActorSelect"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="Name" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="Description" type="ifc:IfcText" use="optional"/>
    <xs:attribute name="ConstraintGrade" type="ifc:IfcConstraintEnum" use="optional"/>
    <xs:attribute name="ConstraintSource" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="CreationTime" type="ifc:IfcDateTime" use="optional"/>
    <xs:attribute name="UserDefinedGrade" type="ifc:IfcLabel" 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
  HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects;
  PropertiesForConstraint : SET [0:?] OF IfcResourceConstraintRelationship FOR RelatingConstraint;
 WHERE
  WR11 : (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR
((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade));
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcRelAssociatesConstraint IfcObjective IfcResourceConstraintRelationship IfcResourceObjectSelect

Link to this page  Link to this page