Link to Index Page

 EXPRESS Definition for IfcKernel 

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

SCHEMA IfcKernel;


REFERENCE FROM IfcUtilityResource (
    IfcGloballyUniqueId
   ,IfcOwnerHistory 
   ,IfcProjectTeamRegistry
   ,IfcProjectAppRegistry );


REFERENCE FROM IfcMeasureResource (
    IfcUnitAssignment
   ,IfcUnit
   ,IfcDerivedUnit
   ,IfcNamedUnit
   ,IfcSiUnit
   ,IfcConversionBasedUnit
   ,IfcContextDependentUnit
   ,IfcTimeDurationMeasure);


REFERENCE FROM IfcGeometryResource (
    IfcAxis2Placement
   ,IfcAxis2Placement2D
   ,IfcAxis2Placement3D );


REFERENCE FROM IfcPropertyTypeResource (
    IfcPropertyTypeDef
   ,IfcPropertySet
   ,IfcOccurrencePropertySet
   ,IfcSharedPropertySet
   ,IfcProductShape
   ,IfcShapeAspect );


REFERENCE FROM IfcPropertyResource (
    IfcActorSelect
   ,IfcPerson
   ,IfcOrganization
   ,IfcPersonAndOrganization
   ,IfcCost
   ,IfcClassificationList
   ,IfcProjectMaterialRegistry
   ,IfcDateTimeSelect
   ,IfcCalendarDate
   ,IfcDateAndTime
   ,IfcLocalTime );


IfcContainmentTypeEnum

Link to Documentation

TYPE IfcContainmentTypeEnum = ENUMERATION OF (
    ProjectContainer
   ,SiteContainer
   ,BuildingContainer
   ,BuildingStoreyContainer
   ,SpaceContainer);
END_TYPE;


IfcProxyTypeEnum

Link to Documentation

TYPE IfcProxyTypeEnum = ENUMERATION OF (
    Product
   ,Process
   ,Control
   ,Document
   ,Resource );
END_TYPE;


IfcResourceTypeEnum

Link to Documentation

TYPE IfcResourceTypeEnum = ENUMERATION OF (
    Labor
   ,Equipment
   ,Material );
END_TYPE;


IfcSequenceTypeEnum

Link to Documentation

TYPE IfcSequenceTypeEnum = ENUMERATION OF (
    Start_Start
   ,Start_Finish
   ,Finish_Start
   ,Finish_Finish );
END_TYPE;


IfcObjectWithPlacementSelect

Link to Documentation

TYPE IfcObjectWithPlacementSelect = SELECT (
    IfcProduct
   ,IfcModelingAid
   ,IfcProject);
END_TYPE;


IfcControl

Link to Documentation

ENTITY IfcControl
 ABSTRACT SUPERTYPE
 SUBTYPE OF (IfcObject);
END_ENTITY;


IfcDocument

Link to Documentation

ENTITY IfcDocument
 ABSTRACT SUPERTYPE
 SUBTYPE OF (IfcObject);
END_ENTITY;


IfcGroup

Link to Documentation

ENTITY IfcGroup
 SUBTYPE OF (IfcObject);
    GroupPurpose         : OPTIONAL STRING;
 INVERSE
    GroupedBy            : IfcRelGroups FOR RelatingGroup;
END_ENTITY;


IfcLocalPlacement

Link to Documentation

ENTITY IfcLocalPlacement
 SUBTYPE OF (IfcModelingAid);
    PlacementRelTo       : OPTIONAL IfcObjectWithPlacementSelect;
    RelativePlacement    : IfcAxis2Placement;
END_ENTITY;


IfcModelingAid

Link to Documentation

ENTITY IfcModelingAid
 ABSTRACT SUPERTYPE OF (ONEOF(
    IfcLocalPlacement))
 SUBTYPE OF (IfcRoot);
END_ENTITY;


IfcObject

Link to Documentation

ENTITY IfcObject
 ABSTRACT SUPERTYPE OF (ONEOF(
    IfcProduct
   ,IfcProcess
   ,IfcControl
   ,IfcDocument
   ,IfcGroup
   ,IfcProject
   ,IfcProxy
   ,IfcResource))
 SUBTYPE OF (IfcRoot);
    OwnerHistory         : IfcOwnerHistory;
    TypeDefinitions      : LIST [0:?] OF IfcPropertyTypeDef;
    OccurrenceProperties : LIST [0:?] OF IfcOccurrencePropertySet;
    ExtendedProperties   : LIST [0:?] OF IfcPropertySet;
 INVERSE
    PartOfGroups  : SET [0:?] OF IfcRelGroups FOR RelatedObjects;
    Nests         : SET [0:1] OF IfcRelNests FOR RelatingObject;
    IsNestedBy    : SET [0:?] OF IfcRelNests FOR RelatedObjects;
    Contains      : SET [0:2] OF IfcRelContains FOR RelatingObject;
    IsContainedBy : SET [0:?] OF IfcRelContains FOR RelatedObjects;
WHERE
    WR21: SIZEOF(QUERY(temp <* ExtendedProperties |
           ('IFCPROPERTYTYPERESOURCE.IFCOCCURRENCEPROPERTYSET' IN TYPEOF(temp))
           OR
           ('IFCPROPERTYTYPERESOURCE.IFCSHAREDPROPERTYSET' IN TYPEOF(temp))))
           = 0;
END_ENTITY;


IfcProcess

Link to Documentation

ENTITY IfcProcess
 ABSTRACT SUPERTYPE
 SUBTYPE OF (IfcObject);
    PerformedBy          : SET [0:?] OF IfcActorSelect;
    Classification       : OPTIONAL IfcClassificationList;
 INVERSE
    IsSuccessorFrom      : SET [0:?] OF IfcRelSequence 
                           FOR RelatedProcess;
    IsPredecessorTo      : SET [0:?] OF IfcRelSequence 
                           FOR RelatingProcess;
    ProcessesProducts    : SET [0:2] OF IfcRelProcessesProducts
                           FOR RelatingProcess;
    UsesResources        : SET [0:?] OF IfcRelUsesResource
                           FOR RelatingProcess;
END_ENTITY;


IfcProduct

Link to Documentation

ENTITY IfcProduct
  ABSTRACT SUPERTYPE
  SUBTYPE OF (IfcObject);
    LocalPlacement       : IfcLocalPlacement;
    ProductShape         : OPTIONAL IfcProductShape;
    ProductCost          : OPTIONAL IfcCost;
    Classification       : OPTIONAL IfcClassificationList;
 INVERSE
    ProcessedInProcesses : SET [0:?] OF IfcRelProcessesProducts
                           FOR RelatedProducts;
END_ENTITY;


IfcProject

Link to Documentation

ENTITY IfcProject
 SUBTYPE OF (IfcObject);
    UnitsInContext       : IfcUnitAssignment;
    ProjectTeam          : IfcProjectTeamRegistry;
    ProjectApps          : IfcProjectAppRegistry;
    Classification       : OPTIONAL IfcClassificationList;
    AbsolutePlacement    : IfcAxis2Placement;
    ProjectMaterials     : IfcProjectMaterialRegistry;
END_ENTITY;


IfcProxy

Link to Documentation

ENTITY IfcProxy
 SUBTYPE OF (IfcObject);
    ProxyType            : IfcProxyTypeEnum;
    LocalPlacement       : OPTIONAL IfcLocalPlacement;
    ProductShape         : OPTIONAL IfcProductShape;
 WHERE
    WR31: NOT(EXISTS(SELF\IfcObject.TypeDefinitions));
    WR32: HIINDEX(SELF\IfcObject.OccurrenceProperties) = 0;
    WR33: ((ProxyType = IfcProxyTypeEnum.Product) AND (EXISTS(LocalPlacement)))
           OR
          ((ProxyType <> IfcProxyTypeEnum.Product) AND NOT(EXISTS(LocalPlacement)));
END_ENTITY;


IfcRelationship

Link to Documentation

ENTITY IfcRelationship
  ABSTRACT SUPERTYPE OF (ONEOF(
    IfcRelNests
   ,IfcRelSequence
   ,IfcRelGroups
   ,IfcRelContains
   ,IfcRelUsesResource
   ,IfcRelProcessesProducts))
 SUBTYPE OF (IfcRoot);
    OwnerHistory         : IfcOwnerHistory;
    ExtendedProperties   : LIST [0:?] OF IfcPropertySet;
    RelatedIsDependent   : BOOLEAN;
    RelatingIsDependent  : BOOLEAN;
END_ENTITY;


IfcRelContains

Link to Documentation

ENTITY IfcRelContains
 SUBTYPE OF (IfcRelationship);
    RelatingObject        : IfcObject;
    RelatedObjects        : LIST [1:?] OF IfcObject;
    RelationshipType      : IfcContainmentTypeEnum;
    ContainedOrReferenced : BOOLEAN;
 WHERE
    WR31: SIZEOF(QUERY(Temp <* RelatedObjects |
            RelatingObject :=: Temp)) = 0;
END_ENTITY;


IfcRelNests

Link to Documentation

ENTITY IfcRelNests
 SUBTYPE OF (IfcRelationship);
    RelatingObject       : IfcObject;
    RelatedObjects       : LIST [1:?] OF IfcObject;
 WHERE
    WR31: SIZEOF(QUERY(Temp <* RelatedObjects |
           RelatingObject :=: Temp)) = 0;
    WR32: SIZEOF(QUERY(Temp <* RelatedObjects |
           NOT(TYPEOF(RelatingObject) <= TYPEOF(Temp)))) = 0;
    WR33: (SELF\IfcRelationship.RelatedIsDependent = TRUE) AND
          (SELF\IfcRelationship.RelatingIsDependent = FALSE);
    WR34: NOT('IFCKERNEL.IFCPRODUCT'IN TYPEOF(RelatingObject));
END_ENTITY;


IfcRelGroups

Link to Documentation

ENTITY IfcRelGroups
 SUBTYPE OF (IfcRelationship);
    RelatingGroup : IfcGroup;
    RelatedObjects : LIST [1:?] OF IfcObject;
 WHERE
    WR31: SIZEOF(QUERY(Temp <* RelatedObjects |
           RelatingGroup :=: Temp)) = 0;
    WR32: (SELF\IfcRelationship.RelatedIsDependent = TRUE) AND
          (SELF\IfcRelationship.RelatingIsDependent = FALSE);
END_ENTITY;


IfcRelProcessesProducts

Link to Documentation

ENTITY IfcRelProcessesProducts
 SUBTYPE OF (IfcRelationship);
    RelatingProcess : IfcProcess;
    RelatedProducts : LIST [1:?] OF IfcProduct;
    InOrOut         : LOGICAL;
END_ENTITY;


IfcRelSequence

Link to Documentation

ENTITY IfcRelSequence
 SUBTYPE OF (IfcRelationship);
    RelatingProcess : IfcProcess;
    RelatedProcess  : IfcProcess;
    TimeLag         : IfcTimeDurationMeasure;
    SequenceType    : IfcSequenceTypeEnum;
 WHERE
    WR31: RelatingProcess :<>: RelatedProcess;
END_ENTITY;


IfcRelUsesResource

Link to Documentation

ENTITY IfcRelUsesResource
 SUBTYPE OF (IfcRelationship);
    RelatingProcess  : IfcProcess;
    RelatedResource  : IfcResource;
    ResourceDuration : IfcTimeDurationMeasure;
    ResourceQuantity : REAL;
    ResourceUseCost  : OPTIONAL IfcCost;
END_ENTITY;


IfcResource

Link to Documentation

ENTITY IfcResource
 SUBTYPE OF (IfcObject);
    GenericType     : IfcResourceTypeEnum;
    Descriptor      : OPTIONAL STRING;
    UnitCost        : OPTIONAL IfcCost; 
 INVERSE
    UsedInProcesses : SET [0:?] OF IfcRelUsesResource
                      FOR RelatedResource;
END_ENTITY;


IfcRoot

Link to Documentation

ENTITY IfcRoot
 ABSTRACT SUPERTYPE OF( ONEOF(
    IfcObject
   ,IfcRelationship
   ,IfcModelingAid));
    ProjectId       : IfcGloballyUniqueId;
 UNIQUE
    UR1: ProjectId;
END_ENTITY;


END_SCHEMA; -- IfcKernel