5.3.3.1 IfcRelSequence
| Abfolgebeziehung zwischen Prozessen - Relation |
IfcRelSequence is a
sequential relationship between processes where one process
must occur before the other in time and where the timing of
the relationship may be described as a type of sequence.
The relating process
(IfcRelSequence.RelatingProcess) is considered to be
the predecessor in the relationship (has precedence) whilst
the related process (IfcRelSequence.RelatedProcess)
is the successor.
IfcRelSequence is defined as one-to-one
relationship; therefore it assigns one predecessor to one
successor.
HISTORY New entity in IFC1.0.
IFC4 CHANGE Relocated to IfcProcessExtension schema.
TimeLag and SequenceType made optional.
USERDEFINED added to the IfcSequenceType
enumeration. UserDefinedSequenceType attribute
added. WHERE rule controlling use of the USERDEFINED
enumeration added.
Use definitions
IfcRelSequence is used to describe the logical
sequence relationship that exists between two processes.
This logical relationship identifies that there is a
predecessor or relating process and a successor or related
process. In IFC, there may be one predecessor and one
successor in the relationship. Many occurrences of
IfcRelSequence may exist to describe the sequence
relationships of a predecessor task with many successor
tasks or of many predecessor tasks with one successor task,
thus enabling a m:n sequence relationship between tasks.
Please note that sequence relationships can be used to define
dependencies between process occurrences but also between
process types (for further information see IfcRelDefinesByObject
and IfcTaskType). In case of defining dependencies between
process occurrences sequence relationships should stay
within the limits of a directed, non-cyclic graph.
A sequence type may be set for a sequence. For tasks
assigned to a work schedule, it is expected that the
sequence type will be asserted. For a process map, where
the sequence relationship between processes is simply a
logical flow, it need not be asserted.
A time lag may be assigned to a sequence, and the sequence
type defines the way in which the time lag applies to the
sequence either as a ratio or percentage of time duration
(e.g. start successor task when predecessor is 50%
complete) or as a time measure (e.g. start successor task 1
week after commencement of the predecessor task). Care
should be used when assigning a time lag to a sequence
depending on the setting of the sequence type since there
is no checking that the time lag value is in keeping with
the sequence type set.
XSD Specification:
<xs:element name="IfcRelSequence" type="ifc:IfcRelSequence" substitutionGroup="ifc:IfcRelConnects" nillable="true"/>
<xs:complexType name="IfcRelSequence">
<xs:complexContent>
<xs:extension base="ifc:IfcRelConnects">
<xs:sequence>
<xs:element name="RelatingProcess" type="ifc:IfcProcess" nillable="true"/>
<xs:element name="RelatedProcess" type="ifc:IfcProcess" nillable="true"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
EXPRESS Specification:
|
RelatingProcess | : | IfcProcess; |
RelatedProcess | : | IfcProcess; |
TimeLag | : | OPTIONAL IfcStrippedOptional; |
SequenceType | : | OPTIONAL IfcStrippedOptional; |
UserDefinedSequenceType | : | OPTIONAL IfcStrippedOptional; |
|
|
AvoidInconsistentSequence | : | RelatingProcess :<>: RelatedProcess; | CorrectSequenceType | : | (SequenceType <> IfcSequenceEnum.USERDEFINED) OR ((SequenceType = IfcSequenceEnum.USERDEFINED) AND EXISTS(UserDefinedSequenceType)); |
|
Attribute Definitions:
RelatingProcess | : |
Reference to the process, that is the predecessor.
|
RelatedProcess | : |
Reference to the process, that is the successor.
|
UserDefinedSequenceType | : |
Allows for specification of user defined type of the sequence
beyond the enumeration values (START_START, START_FINISH,
FINISH_START, FINISH_FINISH) provided by SequenceType
attribute of type IfcSequenceEnum. When a value is
provided for attribute UserDefinedSequenceType in
parallel the attribute SequenceType shall have
enumeration value USERDEFINED.
IFC4 CHANGE Attribute added
|
Formal Propositions:
AvoidInconsistentSequence | : | The RelatingProcess shall not point to the same instance as the RelatedProcess.
|
CorrectSequenceType | : | The attribute UserDefinedSequenceType must be asserted when the value of SequenceType is set to USERDEFINED. |
Inheritance Graph:
|
RelatingProcess | : | IfcProcess; |
RelatedProcess | : | IfcProcess; |
TimeLag | : | OPTIONAL IfcStrippedOptional; |
SequenceType | : | OPTIONAL IfcStrippedOptional; |
UserDefinedSequenceType | : | OPTIONAL IfcStrippedOptional; |
|
Link to this page