IfcMove

Definition from IAI: An IfcMove is an activity that moves people, groups within an organization or complete organizations together with their associated furniture and equipment from one place to another. The objects to be moved, normally people, equipment, and furniture, are assigned by the IfcRelAssignsToProcess relationship.

> HISTORY: New Entity in IFC Release 2.0
> PunchList attribute datatype changed from IfcLabel to IfcText

### Use Definitions

Actors, equipment and furniture are moved from one IfcSpatialStructureElement to another. The IfcSpatialStructureElement to be moved from and that to be moved to are assigned to the IfcMove class using the IfcRelAssignsToProcess relationship.

The actors (as IfcActor), equipment and furnitures to be moved are assigned to the IfcMove using the IfcRelAssignsToProcess relationship

Each IfcMove must have a name. This requirement is enforced by a rule.

The inherited attribute OperatesOn refers to the IfcRelAssignsToProcess relationship, keeping the reference to IfcActor, IfcEquipmentElement and IfcFurnishingElement. The QuantityInProcess attribute at the relationship object can be used to specify a quantity of the objects to be moved.

Constraints may be applied to a move through instances of the IfcConstraint class (or its subtypes) that are associated through the IfcRelAssociatesConstraint relationship class

Moves can be nested, i.e. a move object can contain other (more detailed) move objects. This is handled by the IfcRelNests relationship pointing (with RelatingObject) to the containing move and (with RelatedObjects) to the contained (sub)moves.

Moves are assigned to a move schedule (represented as IfcWorkSchedule with Purpose attribute 'Move') by using the IfcRelAssignsTask relationship.

EXPRESS specification:

ENTITY IfcMove
SUBTYPE OF ( | IfcTask);
MoveFrom | : | IfcSpatialStructureElement;
MoveTo | : | IfcSpatialStructureElement;
PunchList | : | OPTIONAL LIST [1:?] OF UNIQUE IfcText;
WHERE
WR1 | : | SIZEOF(SELF\IfcProcess.OperatesOn) >= 1;
WR2 | : | SIZEOF(QUERY(temp <* OperatesOn | SIZEOF(QUERY(temp2 <* temp.RelatedObjects | ('IFCKERNEL.IFCACTOR' IN TYPEOF (temp2)) OR ('IFCPRODUCTEXTENSION.IFCEQUIPMENTELEMENT' IN TYPEOF (temp2)) OR ('IFCPRODUCTEXTENSION.IFCFURNISHINGELEMENT' IN TYPEOF (temp2)) )) >=1 )) >= 1;
WR3 | : | EXISTS(SELF\IfcRoot.Name);
END_ENTITY;

Attribute definitions:

MoveFrom | : | The place from which actors and their associated equipment are moving.
MoveTo | : | The place to which actors and their associated equipment are moving.
PunchList | : | A list of points concerning a move that require attention.

Formal Propositions:

WR1 | : | There has to be a reference to the IfcRelAssignsToProcess relationship referencing the objects to be moved.
WR2 | : | At least on furnishing or equipment object should be assigned to the move.
WR3 | : | The Name attribute has to be provided for the move.

Inheritance graph

ENTITY IfcMove;
ENTITY IfcRoot;
GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;
ENTITY IfcObjectDefinition;
INVERSE
HasAssignments | : | SET OF IfcRelAssigns FOR RelatedObjects;
IsDecomposedBy | : | SET OF IfcRelDecomposes FOR RelatingObject;
Decomposes | : | SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
HasAssociations | : | SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject;
ObjectType | : | OPTIONAL IfcLabel;
INVERSE
IsDefinedBy | : | SET OF IfcRelDefines FOR RelatedObjects;
ENTITY IfcProcess;
INVERSE
OperatesOn | : | SET OF IfcRelAssignsToProcess FOR RelatingProcess;
IsSuccessorFrom | : | SET OF IfcRelSequence FOR RelatedProcess;
IsPredecessorTo | : | SET OF IfcRelSequence FOR RelatingProcess;
ENTITY IfcTask;
TaskId | : | IfcIdentifier;
Status | : | OPTIONAL IfcLabel;
WorkMethod | : | OPTIONAL IfcLabel;
IsMilestone | : | BOOLEAN;
Priority | : | OPTIONAL INTEGER;
ENTITY IfcMove;
MoveFrom | : | IfcSpatialStructureElement;
MoveTo | : | IfcSpatialStructureElement;
PunchList | : | OPTIONAL LIST [1:?] OF UNIQUE IfcText;
END_ENTITY;