Log In   View a printable version of the current page.
Set Organisation (FP)
Added by Janice Wix, last edited by Janice Wix on Feb 25, 2007  (view change)
Labels: 
(None)


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      

Set the organization name

IfcOrganization.Name::IfcLabel    

Provide a description about the nature of the organization

IfcOrganization.Description::IfcText    

Set an identifier for the organization

IfcOrganization.Id::IfcIdentifier    

Identify the address(es) at which the organization is located

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
     

Set the name of the role being played.


A predefined list of possible role names is provided. Selection can be from this list or a user defined role selected.

IfcActorRole.Role::IfcRoleEnum    

Set the name of the user defined role


If a user defined role is selected from the previous step, then a name must be assigned by the user to the role. This is enforced by a WHERE rule.

IfcActorRole.UserDefinedRole::IfcLabel    

Provide a description about the role

IfcActorRole.Description::IfcText    
Assign the role(s) to the organization IfcOrganization.Roles::IfcActorRole    
For describing the hierarchical relationship between parts of the organization      

Determine the organization that will act as the parent in the hierarchy

IfcOrganizationRelationship.RelatingOrganization::IfcOrganization    

Determine the organization(s) that will act as the child(ren) in the hierarchy

IfcOrganizationRelationship.RelatedOrganizations::IfcOrganization    

Set the organization relationship name

IfcOrganizationRelationship.Name::IfcLabel    

Provide a description about the nature of the organizational relationship

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));

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators