Define By Type
Overview
Used to define the type object that sets the type for an occurrence.
The occurrence is defined as a legal subtype of IfcObject. Within this functional part, the decomposition of IfcObject into the legal set of entities whose type can be defined is not undertaken. The general assumption is that any subtype of IfcObject can be type type defined.
Results
The type of an object is defined.
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Select the entities for which properties are to be defined | IfcObject <subtypes> | |||
| Define the property sets that are to be contained by the type object | IfcTypeObject.HasPropertySets::IfcPropertySet | |||
| Specify the type object to be used as the type specification for the objects | IfcRelDefinesByType.RelatingType ::TypeObject (IfcPropertySet is the subtype target in fp_define_property_set) |
|||
| Specify the set of objects whose type is to be defined | IfcRelDefinesByType.RelatedObjects::IfcObject | |||
| Set the global unique identifier | IfcRelDefinesByType.GlobalId::IfcGloballyUniqueId | |||
| Assert the owner history of the relationship | IfcRelDefinesByType.OwnerHistory::fp_apply_owner_history | |||
| Specify a name of the relationship | IfcRelDefinesByType.Name::IfcLabel | |||
| Specify a description of the relationship | IfcRelDefinesByType.Description::IfcText |
IFC Entities Required
- IfcObject
- IfcPropertyDefinition
- IfcPropertySetDefinition
- IfcRelationship
- IfcRelDefines
- IfcRelDefinesByType
- IfcRoot
- IfcTypeObject
IFC Datatypes Required
- IfcGloballyUniqueId
- IfcLabel
- IfcText
IFC Functions Required
- -
IDM Functional Parts Required
- fp_apply_owner_history
- fp_define_property_set
EXPRESS Schema
SCHEMA FP_DEFINE_BY_TYPE;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
ENTITY IfcObject
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
ObjectType : OPTIONAL IfcLabel;
INVERSE
IsDefinedBy : SET OF IfcRelDefines FOR RelatedObjects;
WHERE
WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
END_ENTITY;
ENTITY IfcRoot
ABSTRACT SUPERTYPE OF (ONEOF(IfcObject, IfcPropertyDefinition, IfcRelationship));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE OF (ONEOF(IfcPropertySetDefinition, IfcTypeObject))
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcPropertySetDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcPropertyDefinition);
INVERSE
DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
END_ENTITY;
ENTITY IfcRelDefines
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRelationship);
RelatedObjects : SET [1:?] OF IfcObject;
END_ENTITY;
ENTITY IfcRelationship
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcRelDefinesByType
SUBTYPE OF(IfcRelDefines);
RelatingType : IfcTypeObject;
END_ENTITY;
ENTITY IfcTypeObject
SUBTYPE OF(IfcPropertyDefinition);
ApplicableOccurrence : OPTIONAL IfcLabel;
HasPropertySets : OPTIONAL LIST [1:?] OF UNIQUE IfcPropertySetDefinition;
INVERSE
ObjectTypeOf : SET [0:1] OF IfcRelDefinesByType FOR RelatingType;
WHERE
WR1 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY fp_define_property_set
SUBTYPE OF(IfcPropertySetDefinition);
END_ENTITY;
END_SCHEMA;