8.5.3.5 IfcRecurrencePattern(重复模式)
8.5.3.5.1 语义定义(Semantic definition)
IfcRecurrencePattern 基于规则的重复周期定义重复时间段,例如每周的星期一或每月的第三个星期二。其余属性(如 DayComponent、Position 和 Interval)的取值取决于指定的重复类型。
IfcRecurrencePattern 支持多种重复模式,这些模式通过类型定义(IfcRecurrencePattern.RecurrenceType)进行区分,该类型定义用于提供给定值的含义。可通过指定的 IfcTimePeriod 实例进一步约束适用的时间,从而为每个适用的日、周或月启用时间段,例如在7:00至12:00之间以及13:00至17:00之间。
8.5.3.5.2 实体继承(Entity inheritance)
8.5.3.5.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRecurrencePattern (8) | |||
| 1 | RecurrenceType | IfcRecurrenceTypeEnum |
定义重复类型,该类型为所使用的属性赋予含义,并决定可能的属性组合,即需要哪些属性来完整描述模式类型。 |
| 2 | DayComponent | OPTIONAL SET [1:?] OF IfcDayInMonthNumber |
指定日期在一周中的星期名称。 |
| 3 | WeekdayComponent | OPTIONAL SET [1:?] OF IfcDayInWeekNumber |
指定月份在年份中的位置。 |
| 4 | MonthComponent | OPTIONAL SET [1:?] OF IfcMonthInYearNumber |
指定组件的位置,例如月份中的第三个(位置=3)星期二(星期组件)。负位置值用于定义组件的最后一个位置(-1)、倒数第二个位置(-2)等。 |
| 5 | Position | OPTIONAL IfcInteger |
可根据模式类型给出间隔。例如,间隔值为2可以表示每两天、每两周、每两个月或每两年。空的间隔值被视为1。使用的间隔值应在合理范围内,例如不应为0或<0。 |
| 6 | Interval | OPTIONAL IfcInteger |
由重复元素(日)的开始和结束时间定义的时间段列表。列表的顺序应反映时间段的顺序。 |
| 7 | Occurrences | OPTIONAL IfcInteger |
定义此模式的重复次数,例如,每周事件可能被定义为在停止前发生5次。 |
| 8 | TimePeriods | OPTIONAL LIST [1:?] OF IfcTimePeriod |
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. |
8.5.3.5.4 形式化表示(Formal representation)
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;