Set Organisation
Overview
This functional part defines a named and structured grouping that has a corporate identity. It may be used to describe a whole organization such as a company. Alternatively, it may be used to describe a particular grouping within an organization such as a division, a department, a working group etc.Additionally, the relationship between organization groupings and with the whole organization can be described.
The information that can be captured about an organization includes:
- Name (by which it is normally known)
- Identifier (which could be a classification such as an industrial code or a departmental reference)
- A description that provides further information about the nature of the organization
- A list of roles that are played by the organization within the context of the project
- A list of addresses at which the organization is located
For further information concerning address options including postal and telecommunications addresses, refer to the functional part fp_address.
Results
Declares the existence of an organization, its location(s) and the role(s) it plays on a project
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Specify the organization | ||||
|
IfcOrganization.Name::IfcLabel | |||
|
IfcOrganization.Description::IfcText | |||
|
IfcOrganization.Id::IfcIdentifier | |||
|
IfcOrganization.Addresses::fp_address | |||
| Specify the role(s) of the organization.
Provide the information as described below for each role that the organization plays in the context of the project |
||||
|
IfcActorRole.Role::IfcRoleEnum | |||
|
IfcActorRole.UserDefinedRole::IfcLabel | |||
|
IfcActorRole.Description::IfcText | |||
| Assign the role(s) to the organization | IfcOrganization.Roles::IfcActorRole | |||
| For describing the hierarchical relationship between parts of the organization | ||||
|
IfcOrganizationRelationship.RelatingOrganization::IfcOrganization | |||
|
IfcOrganizationRelationship.RelatedOrganizations::IfcOrganization | |||
|
IfcOrganizationRelationship.Name::IfcLabel | |||
|
IfcOrganizationRelationship.Description::IfcText |
IFC Entities Required
- IfcActorRole
- IfcOrganization
- IfcOrganizationRelationship
IFC Datatypes Required
- IfcIdentifier
- IfcLabel
- IfcRoleEnum
- IfcText
IFC Functions Required
- -
IFC Property Sets Required
- -
IDM Functional Parts Required
- fp_address
EXPRESS Schema
SCHEMA FP_SET_ORGANIZATION;
TYPE IfcRoleEnum = ENUMERATION OF
(SUPPLIER,
MANUFACTURER,
CONTRACTOR,
SUBCONTRACTOR,
ARCHITECT,
STRUCTURALENGINEER,
COSTENGINEER,
CLIENT,
BUILDINGOWNER,
BUILDINGOPERATOR,
MECHANICALENGINEER,
ELECTRICALENGINEER,
PROJECTMANAGER,
FACILITIESMANAGER,
CIVILENGINEER,
COMISSIONINGENGINEER,
ENGINEER,
OWNER,
CONSULTANT,
CONSTRUCTIONMANAGER,
FIELDCONSTRUCTIONMANAGER,
RESELLER,
USERDEFINED);
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
ENTITY IfcOrganization;
Id : OPTIONAL IfcIdentifier;
Name : IfcLabel;
Description : OPTIONAL IfcText;
Roles : OPTIONAL LIST [1:?] OF IfcActorRole;
Addresses : OPTIONAL LIST [1:?] OF fp_address;
INVERSE
IsRelatedBy : SET OF IfcOrganizationRelationship FOR RelatedOrganizations;
Relates : SET OF IfcOrganizationRelationship FOR RelatingOrganization;
END_ENTITY;
ENTITY IfcActorRole;
Role : IfcRoleEnum;
UserDefinedRole : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
WHERE
WR1 : (Role <> IfcRoleEnum.USERDEFINED) OR
((Role = IfcRoleEnum.USERDEFINED) AND
EXISTS(SELF.UserDefinedRole));
END_ENTITY;
ENTITY IfcOrganizationRelationship;
Name : IfcLabel;
Description : OPTIONAL IfcText;
RelatingOrganization : IfcOrganization;
RelatedOrganizations : SET [1:?] OF IfcOrganization;
END_ENTITY;
ENTITY fp_address;
INVERSE
OfOrganization : SET OF IfcOrganization FOR Addresses;
END_ENTITY;
END_SCHEMA;
Examples of Organization
Example 1: Setting the Organization Name and Role
This example identifies ACE Construction, an organization that describes itself as a leading construction company. It will play the role of contractor on the project based on its office whose postal address is PO Box 9999, Thatcham, Berkshire RG18 99ZZ, UK.
/* identifying the organization */ #100=IFCORGANIZATION($,'ACE Construction','Leading construction company',(#200),#300); /* specifying the role of the organization */ #200=IFCACTORROLE(.CONTRACTOR.,$,$); /* the date and time at which the exchange is current */ #300=IFCPOSTALADDRESS($,$,'PO Box 9999','Thatcham','Berkshire','RG18 99ZZ','UK');
Example 2: Establishing the Organization Relationship
In this example, the planning and construction departments of ACE Construction are identified within the organization hierarchy for the project. Each department is located at the same address as the parent. Note that, in this case, roles are not asserted for the departments.
/* identifying the organization */
#100=IFCORGANIZATION($,'ACE Construction','Leading construction company',(#200),(#300));
#101=IFCORGANIZATION($,'Planning Dept',$,$,(#300));
#102=IFCORGANIZATION($,'Construction Dept',$,$,(#300));
/* specifying the role of the organization */
#200=IFCACTORROLE(.CONTRACTOR.,$,$);
/* the date and time at which the exchange is current */
#300=IFCPOSTALADDRESS($,$,'PO Box 9999','Thatcham','Berkshire','RG18 99ZZ','UK');
/* establishing the organization hierarchy */
#400=IFCORGANIZATIONRELATIONSHIP('Project hierachy',$,#100,(#101,#102));