IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.5.3.5 IfcRecurrencePattern(重复模式)

8.5.3.5.1 语义定义(Semantic definition)

IfcRecurrencePattern 基于规则的重复周期定义重复时间段,例如每周的星期一或每月的第三个星期二。其余属性(如 DayComponentPositionInterval)的取值取决于指定的重复类型。

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.A

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;

8.5.3.5.5 参考文献