Link to Index Page

 IDL Definition for IfcKernel 

Link to Documentation Link to EXPRESS-G Diagram Link to EXPRESS Definition

module IfcKernel{


#include "IfcPropertyTypeResource


IfcContainmentTypeEnum


enum IfcContainmentTypeEnum {ProjectContainer, SiteContainer, BuildingContainer, BuildingStoreyContainer, SpaceContainer} ;


IfcProxyTypeEnum


enum IfcProxyTypeEnum {Product, Process, Control, Document, Resource} ;


IfcResourceTypeEnum


enum IfcResourceTypeEnum {Labor, Equipment, Material} ;


IfcSequenceTypeEnum


enum IfcSequenceTypeEnum {Start_Start, Start_Finish, Finish_Start, Finish_Finish} ;


IfcObjectWithPlacementSelect_select


enum IfcObjectWithPlacementSelect_select  {
    IfcObjectWithPlacementSelect__IfcProduct,
    IfcObjectWithPlacementSelect__IfcModelingAid,
    IfcObjectWithPlacementSelect__IfcProject
    };


IfcObjectWithPlacementSelect


union IfcObjectWithPlacementSelect switch (IfcObjectWithPlacementSelect_select) {
    case IfcObjectWithPlacementSelect__IfcProduct : I_Product c1 ;
    case IfcObjectWithPlacementSelect__IfcModelingAid : I_ModelingAid c2 ;
    case IfcObjectWithPlacementSelect__IfcProject : I_Project c3 ;
    };


I_PropertyTypeDef__list


typedef sequence<IfcPropertyTypeResource::I_PropertyTypeDef> I_PropertyTypeDef__list;


I_OccurrencePropertySet__list


typedef sequence<IfcPropertyTypeResource::I_OccurrencePropertySet> I_OccurrencePropertySet__list;


I_PropertySet__list


typedef sequence<IfcPropertyTypeResource::I_PropertySet> I_PropertySet__list;


I_RelGroups__set


typedef sequence<I_RelGroups> I_RelGroups__set;


I_RelNests__bounded_set


typedef sequence<I_RelNests> I_RelNests__bounded_set;


I_RelNests__set


typedef sequence<I_RelNests> I_RelNests__set;


I_RelContains__bounded_set


typedef sequence<I_RelContains> I_RelContains__bounded_set;


I_RelContains__set


typedef sequence<I_RelContains> I_RelContains__set;


IfcActorSelect__set


typedef sequence<IfcPropertyResource::IfcActorSelect> IfcActorSelect__set;


I_RelSequence__set


typedef sequence<I_RelSequence> I_RelSequence__set;


I_RelProcessesProducts__bounded_set


typedef sequence<I_RelProcessesProducts> I_RelProcessesProducts__bounded_set;


I_RelUsesResource__set


typedef sequence<I_RelUsesResource> I_RelUsesResource__set;


I_RelProcessesProducts__set


typedef sequence<I_RelProcessesProducts> I_RelProcessesProducts__set;


I_Object__list


typedef sequence<I_Object> I_Object__list;


I_Product__list


typedef sequence<I_Product> I_Product__list;


I_Control

Link to Documentation

interface I_Control  : I_Object {
    }; 


I_Document

Link to Documentation

interface I_Document  : I_Object {
    }; 


I_Group

Link to Documentation

interface I_Group  : I_Object {
    attribute string GroupPurpose ;
    readonly attribute I_RelGroups GroupedBy ;
    }; 


I_LocalPlacement

Link to Documentation

interface I_LocalPlacement  : I_ModelingAid {
    attribute IfcObjectWithPlacementSelect PlacementRelTo ;
    attribute IfcGeometryResource::IfcAxis2Placement RelativePlacement ;
    }; 


I_ModelingAid

Link to Documentation

interface I_ModelingAid  : I_Root {
    }; 


I_Object

Link to Documentation

interface I_Object  : I_Root {
    attribute IfcUtilityResource::I_OwnerHistory OwnerHistory ;
    attribute I_PropertyTypeDef__list TypeDefinitions ;
    attribute I_OccurrencePropertySet__list OccurrenceProperties ;
    attribute I_PropertySet__list ExtendedProperties ;
    readonly attribute I_RelGroups__set PartOfGroups ;
    readonly attribute I_RelNests__bounded_set Nests ;
    readonly attribute I_RelNests__set IsNestedBy ;
    readonly attribute I_RelContains__bounded_set Contains ;
    readonly attribute I_RelContains__set IsContainedBy ;
    }; 


I_Process

Link to Documentation

interface I_Process  : I_Object {
    attribute IfcActorSelect__set PerformedBy ;
    attribute IfcPropertyResource::I_ClassificationList Classification ;
    readonly attribute I_RelSequence__set IsSuccessorFrom ;
    readonly attribute I_RelSequence__set IsPredecessorTo ;
    readonly attribute I_RelProcessesProducts__bounded_set ProcessesProducts ;
    readonly attribute I_RelUsesResource__set UsesResources ;
    }; 


I_Product

Link to Documentation

interface I_Product  : I_Object {
    attribute I_LocalPlacement LocalPlacement ;
    attribute IfcPropertyTypeResource::I_ProductShape ProductShape ;
    attribute IfcPropertyResource::I_Cost ProductCost ;
    attribute IfcPropertyResource::I_ClassificationList Classification ;
    readonly attribute I_RelProcessesProducts__set ProcessedInProcesses ;
    }; 


I_Project

Link to Documentation

interface I_Project  : I_Object {
    attribute IfcMeasureResource::I_UnitAssignment UnitsInContext ;
    attribute IfcUtilityResource::I_ProjectTeamRegistry ProjectTeam ;
    attribute IfcUtilityResource::I_ProjectAppRegistry ProjectApps ;
    attribute IfcPropertyResource::I_ClassificationList Classification ;
    attribute IfcGeometryResource::IfcAxis2Placement AbsolutePlacement ;
    attribute IfcPropertyResource::I_ProjectMaterialRegistry ProjectMaterials ;
    }; 


I_Proxy

Link to Documentation

interface I_Proxy  : I_Object {
    attribute IfcProxyTypeEnum ProxyType ;
    attribute I_LocalPlacement LocalPlacement ;
    attribute IfcPropertyTypeResource::I_ProductShape ProductShape ;
    }; 


I_Relationship

Link to Documentation

interface I_Relationship  : I_Root {
    attribute IfcUtilityResource::I_OwnerHistory OwnerHistory ;
    attribute I_PropertySet__list ExtendedProperties ;
    attribute Bool RelatedIsDependent ;
    attribute Bool RelatingIsDependent ;
    }; 


I_RelContains

Link to Documentation

interface I_RelContains  : I_Relationship {
    attribute I_Object RelatingObject ;
    attribute I_Object__list RelatedObjects ;
    attribute IfcContainmentTypeEnum RelationshipType ;
    attribute Bool ContainedOrReferenced ;
    }; 


I_RelNests

Link to Documentation

interface I_RelNests  : I_Relationship {
    attribute I_Object RelatingObject ;
    attribute I_Object__list RelatedObjects ;
    }; 


I_RelGroups

Link to Documentation

interface I_RelGroups  : I_Relationship {
    attribute I_Group RelatingGroup ;
    attribute I_Object__list RelatedObjects ;
    }; 


I_RelProcessesProducts

Link to Documentation

interface I_RelProcessesProducts  : I_Relationship {
    attribute I_Process RelatingProcess ;
    attribute I_Product__list RelatedProducts ;
    attribute Logical InOrOut ;
    }; 


I_RelSequence

Link to Documentation

interface I_RelSequence  : I_Relationship {
    attribute I_Process RelatingProcess ;
    attribute I_Process RelatedProcess ;
    attribute IfcMeasureResource::IfcTimeDurationMeasure TimeLag ;
    attribute IfcSequenceTypeEnum SequenceType ;
    }; 


I_RelUsesResource

Link to Documentation

interface I_RelUsesResource  : I_Relationship {
    attribute I_Process RelatingProcess ;
    attribute I_Resource RelatedResource ;
    attribute IfcMeasureResource::IfcTimeDurationMeasure ResourceDuration ;
    attribute double ResourceQuantity ;
    attribute IfcPropertyResource::I_Cost ResourceUseCost ;
    }; 


I_Resource

Link to Documentation

interface I_Resource  : I_Object {
    attribute IfcResourceTypeEnum GenericType ;
    attribute string Descriptor ;
    attribute IfcPropertyResource::I_Cost UnitCost ;
    readonly attribute I_RelUsesResource__set UsedInProcesses ;
    }; 


I_Root

Link to Documentation

interface I_Root  {
    attribute IfcUtilityResource::IfcGloballyUniqueId ProjectId ;
    }; 


}; // end module IfcKernel