IfcRecurrencePattern

Natural language names
Wiederholungsmuster
Recurrence Pattern
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4 4.0.0.0
    IfcRecurrencePatternADDED
Semantic definitions at the entity
Entity definition

IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type.

IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months.

HISTORY  New entity in IFC4.

Attribute definitions
#AttributeTypeCardinalityDescription G
1RecurrenceTypeIfcRecurrenceTypeEnum Defines the recurrence type that gives meaning to the used attributes and decides about possible attribute combinations, i.e. what attributes are needed to fully describe the pattern type. X
2DayComponentIfcDayInMonthNumber? S[1:?] The position of the specified day in a month. X
3WeekdayComponentIfcDayInWeekNumber? S[1:?] The weekday name of the specified day in a week. X
4MonthComponentIfcMonthInYearNumber? S[1:?] The position of the specified month in a year. X
5PositionIfcInteger? The position of the specified component, e.g. the 3rd (position=3) Tuesday (weekday component) in a month. A negative position value is used to define the last position of the component (-1), the next to last position (-2) etc. X
6IntervalIfcInteger? An interval can be given according to the pattern type. An interval value of 2 can for instance every two days, weeks, months, years. An empty interval value is regarded as 1. The used interval values should be in a reasonable range, e.g. not 0 or <0. X
7OccurrencesIfcInteger? Defines the number of occurrences of this pattern, e.g. a weekly event might be defined to occur 5 times before it stops. X
8TimePeriodsIfcTimePeriod? L[1:?] List of time periods that are defined by a start and end time of the recurring element (day). The order of the list should reflect the sequence of the time periods. X
Inherited definitions from supertypes
Entity inheritance
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcRecurrencePattern
1RecurrenceTypeIfcRecurrenceTypeEnum Defines the recurrence type that gives meaning to the used attributes and decides about possible attribute combinations, i.e. what attributes are needed to fully describe the pattern type. X
2DayComponentIfcDayInMonthNumber? S[1:?] The position of the specified day in a month. X
3WeekdayComponentIfcDayInWeekNumber? S[1:?] The weekday name of the specified day in a week. X
4MonthComponentIfcMonthInYearNumber? S[1:?] The position of the specified month in a year. X
5PositionIfcInteger? The position of the specified component, e.g. the 3rd (position=3) Tuesday (weekday component) in a month. A negative position value is used to define the last position of the component (-1), the next to last position (-2) etc. X
6IntervalIfcInteger? An interval can be given according to the pattern type. An interval value of 2 can for instance every two days, weeks, months, years. An empty interval value is regarded as 1. The used interval values should be in a reasonable range, e.g. not 0 or <0. X
7OccurrencesIfcInteger? Defines the number of occurrences of this pattern, e.g. a weekly event might be defined to occur 5 times before it stops. X
8TimePeriodsIfcTimePeriod? L[1:?] List of time periods that are defined by a start and end time of the recurring element (day). The order of the list should reflect the sequence of the time periods. X
Formal representations
XML Specification
 <xs:element name="IfcRecurrencePattern" type="ifc:IfcRecurrencePattern" substitutionGroup="ifc:Entity" nillable="true"/>
 <xs:complexType name="IfcRecurrencePattern">
  <xs:complexContent>
   <xs:extension base="ifc:Entity">
    <xs:sequence>
     <xs:element name="TimePeriods" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcTimePeriod" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcTimePeriod"/>
       <xs:attribute ref="ifc:cType" fixed="list"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="RecurrenceType" type="ifc:IfcRecurrenceTypeEnum" use="optional"/>
    <xs:attribute name="DayComponent" use="optional">
     <xs:simpleType>
      <xs:restriction>
       <xs:simpleType>
        <xs:list itemType="ifc:IfcDayInMonthNumber"/>
       </xs:simpleType>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="WeekdayComponent" use="optional">
     <xs:simpleType>
      <xs:restriction>
       <xs:simpleType>
        <xs:list itemType="ifc:IfcDayInWeekNumber"/>
       </xs:simpleType>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="MonthComponent" use="optional">
     <xs:simpleType>
      <xs:restriction>
       <xs:simpleType>
        <xs:list itemType="ifc:IfcMonthInYearNumber"/>
       </xs:simpleType>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Position" type="ifc:IfcInteger" use="optional"/>
    <xs:attribute name="Interval" type="ifc:IfcInteger" use="optional"/>
    <xs:attribute name="Occurrences" type="ifc:IfcInteger" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcRecurrencePattern;
  RecurrenceType : IfcRecurrenceTypeEnum;
  DayComponent : OPTIONAL SET [1:?] OF IfcDayInMonthNumber;
  WeekdayComponent : OPTIONAL SET [1:?] OF IfcDayInWeekNumber;
  MonthComponent : OPTIONAL SET [1:?] OF IfcMonthInYearNumber;
  Position : OPTIONAL IfcInteger;
  Interval : OPTIONAL IfcInteger;
  Occurrences : OPTIONAL IfcInteger;
  TimePeriods : OPTIONAL LIST [1:?] OF IfcTimePeriod;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcTaskTimeRecurring IfcWorkTime

Link to this page  Link to this page